52 lines
1.5 KiB
JavaScript
Executable File
52 lines
1.5 KiB
JavaScript
Executable File
#!/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));
|
|
})();
|