@m-ld/gateway
Version:
m-ld gateway for services
30 lines • 2.77 kB
JavaScript
import * as ablyModule from '@m-ld/m-ld/ext/ably';
import { CloneFactory, Env } from '../lib/index.js';
import * as xirsys from '@m-ld/io-web-runtime/dist/server/xirsys';
// noinspection JSUnusedGlobalSymbols
export class AblyCloneFactory extends CloneFactory {
initialise(address) { }
async clone(config, dataDir, principal) {
return super.clone(Env.mergeConfig(config, {
// When using Ably, the authorisation key is an Ably key
ably: { key: config.auth.key }
}), dataDir, principal);
}
// TODO: This is a duplication of m-ld-cli/ext/ably.js
async remotes(config) {
// Load WRTC config from Xirsys if available
if ('xirsys' in config)
config.wrtc = await xirsys.loadWrtcConfig(config.xirsys);
if ('wrtc' in config)
return ablyModule.AblyWrtcRemotes;
else
return ablyModule.AblyRemotes;
}
async reusableConfig(config, remotesAuth, who) {
const { ably } = config;
return Env.mergeConfig(super.reusableConfig(config, remotesAuth, who), { ably }, {
ably: { key: false, apiKey: false } // Remove Ably secrets
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJseUNsb25lRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hYmx5L0FibHlDbG9uZUZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFVBQVUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQXFCLFlBQVksRUFBRSxHQUFHLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxLQUFLLE1BQU0sTUFBTSx5Q0FBeUMsQ0FBQztBQU1sRSxxQ0FBcUM7QUFDckMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQVk7SUFDaEQsVUFBVSxDQUFDLE9BQWUsSUFBRyxDQUFDO0lBRTlCLEtBQUssQ0FBQyxLQUFLLENBQ1QsTUFBeUIsRUFDekIsT0FBZSxFQUNmLFNBQTRCO1FBRTVCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUN6Qyx3REFBd0Q7WUFDeEQsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1NBQy9CLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQXlCO1FBQ3JDLDRDQUE0QztRQUM1QyxJQUFJLFFBQVEsSUFBSSxNQUFNO1lBQ3BCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxJQUFJLE1BQU0sSUFBSSxNQUFNO1lBQ2xCLE9BQU8sVUFBVSxDQUFDLGVBQWUsQ0FBQzs7WUFFbEMsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUNsQixNQUF5QixFQUN6QixXQUE4QixFQUM5QixHQUFTO1FBRVQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUN4QixPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDL0UsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsc0JBQXNCO1NBQzNELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9