UNPKG

xtralife-api

Version:

Xtralife.cloud business logic shared between components

107 lines (98 loc) 3.64 kB
module.exports = { "com.clanofthecloud.cloudbuilder.azerty": { init: function() { console.log("com.clanofthecloud.cloudbuilder Game init hook") }, __testTimer: function (params, customData, mod) { return this.timer.add('com.clanofthecloud.cloudbuilder.azerty', params.user_id, { expirySeconds: 2, timerId: 'testTimerFromBatch', description: 'Test', customData: { verifKey: "testTimerFromBatch" } }, 'timerTrigger'); }, __timerTrigger: async function (params, customData, mod) { console.log("--> timer batch triggered: ", params.customData.verifKey); return await this.virtualfs.write(params.domain, params.user_id, params.customData.verifKey, Date.now()) }, __testkvcreate: function (params, customData, mod) { return this.kv.create('com.clanofthecloud.cloudbuilder.azerty', params.user_id, 'fromBatch', 'works too', {}); }, __testkvget: function (params, customData, mod) { return this.kv.get('com.clanofthecloud.cloudbuilder.azerty', params.user_id, 'fromBatch'); }, __testkvset: function (params, customData, mod) { return this.kv.set('com.clanofthecloud.cloudbuilder.azerty', params.user_id, 'fromBatch', 'still works'); }, __testkvchangeACL: function (params, customData, mod) { return this.kv.changeACL('com.clanofthecloud.cloudbuilder.azerty', params.user_id, 'fromBatch', 'still works'); }, __testkvdel: function (params, customData, mod) { return this.kv.del('com.clanofthecloud.cloudbuilder.azerty', params.user_id, 'fromBatch'); }, __runWithLock: function (params, customData, mod) { console.log("Acquired lock " + params.counter); return new mod.Q(function (resolve, reject) { setTimeout(function () { console.log("Releasing lock " + params.counter); resolve(); }, 100); }); }, __runWithLockCopy: function (params, customData, mod) { console.log("Acquired lock " + params.counter); return new mod.Q(function (resolve, reject) { setTimeout(function () { console.log("Releasing lock " + params.counter); resolve(); }, 100); }); }, __runWithLockTooLong: function (params, customData, mod) { console.log("Acquired lock " + params.counter); return new mod.Q(function (resolve, reject) { setTimeout(function () { console.log("Exceeding 200ms runtime " + params.counter); resolve(); }, 250); }); }, __testRecursiveTimer: function (params, customData, mod) { "use strict"; var self = this; var { user_id } = params; var timerObject = { timerId: "timerId", expirySeconds: 2, description: "description", customData: { test: "hello", verifKey: "testTimerFromBatch" } }; return self.timer.add(self.game.getPrivateDomain(), user_id, timerObject, "testRecursiveTimer", ) .then(result => { return mod.debug(result); }) .catch(err => { return mod.debug(err); }); }, __testLoginExternal: function (params, customData, mod) { return this.game.loginExternal("customNetwork", params, {}) .then(gamer => { return mod.debug(JSON.stringify(gamer)); }) .catch(err => { return mod.debug(err); }); }, "__auth_customNetwork_comclanofthecloudcloudbuilder": function (params, customData, mod) { return { verified: params.id == params.secret, id: params.id }; }, "__auth_http_comclanofthecloudcloudbuilder": function (params, customData, mod) { var { user_id, user_token } = params; return this.game.http.get("http://localhost:4444/auth?id=" + user_id + "&token=" + user_token) .then((res) => { return { verified: res.body.valid == true } }); }, } };