#!/usr/bin/env node const colors = require('colors'); const {Meta} = require("../dist"); let { argv } = require('yargs') .usage('Usage: $0 -m http://localhost:63380 -n publickeys') .example( '$0 -m http://localhost:63380 -n publickeys', 'Fetches the public keys blob from the meta server' ) .option('m', { alias: 'metaurl', describe: 'The URL for the meta service', demandOption: 'The meta url is required', type: 'string', nargs: 1, }) .option('n', { alias: 'name', describe: 'The name of the resource to be fetched from the meta service', demandOption: 'The name of the resource is required', type: 'string', nargs: 1, }) .option('t', { alias: 'type', describe: 'The type of resource to be fetched from the meta service\n' + 'Options: `user`, `phone` and `custom`\n' + 'Defaults to `custom`', type: 'string', nargs: 1, }) .epilog('Grassroots Economics (c) 2021') .wrap(null); const metaUrl = argv.m; const resourceName = argv.n; let type = argv.t; if (type === undefined) { type = 'custom' } (async () => { const identifier = await Meta.getIdentifier(resourceName, type); console.log(colors.cyan(`Meta server storage identifier: ${identifier}`)); const metaResponse = await Meta.get(identifier, metaUrl); if (typeof metaResponse !== "object") { console.error(colors.red('Metadata get failed!')); } console.log(colors.green(metaResponse)); })();