Server:
const ParseServer = require('parse-server').ParseServer;
const RedisCacheAdapter = require('parse-server').RedisCacheAdapter
const http = require('http');
const firebaseAuthAdapter = require('parse-server-firebase-auth-adapter');
const databaseUri = process.env.DATABASE_URI;
const cloudCodeMain = process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js';
const appId = process.env.APP_ID;
const masterKey = process.env.MASTER_KEY;
const serverURL = process.env.SERVER_URL || 'http://localhost:1337/parse'
const cacheRedisURL = process.env.CACHE_REDIS_URL;
const liveQueryRedisURL = process.env.LIVE_QUERY_REDIS_URL;
const port = process.env.PORT || 1337;
const mountPath = process.env.MOUNT_PATH || '/parse';
const mode = process.env.SERVER_MODE || '';
const gcsProjectId = process.env.GCS_PROJECTID || '';
const gcsBucket = process.env.GCS_BUCKET || '';
const config = {
databaseURI: databaseUri,
cloud: cloudCodeMain,
appId: appId,
masterKey: masterKey,
serverURL: serverURL,
cacheAdapter: new RedisCacheAdapter({
url: cacheRedisURL,
}),
liveQuery: {
classNames: ['MyClass'],
redisURL: liveQueryRedisURL,
},
filesAdapter : {
module: "@parse/gcs-files-adapter",
options: {
projectId: gcsProjectId,
bucket: gcsBucket
}
},
auth: {
firebase: firebaseAuthAdapter
}
}
console.log(JSON.stringify(config));
let enableLiveQuery = false;
if (mode === 'liveQuery') {
enableLiveQuery = true;
}
const app = express();
const api = new ParseServer(config);
app.use(mountPath, api);
const httpServer = http.createServer(app);
httpServer.listen(port,()=>{
console.log('server running on port ' + port);
});
if (enableLiveQuery) {
console.log('livequery server is running..');
ParseServer.createLiveQueryServer(httpServer, {
appId: appId,
masterKey: masterKey,
serverURL: serverURL,
redisURL: liveQueryRedisURL,
});
}
module.exports = {
app,
config,
};
Flutter Parse:
await Parse().initialize(
keyParseApplicationId,
keyParseServerUrl,
debug: true,
liveQueryUrl: keyLiveQueryUrl,
coreStore: await CoreStoreSharedPrefsImp.getInstance(),
autoSendSessionId: true,
);