Files
Genarrative/scripts/spacetime-authorize-migration-operator.mjs
kdletters 1ccb8a710d
Some checks failed
CI / verify (push) Has been cancelled
Add migration token parameters to Jenkins deploy flows
2026-04-30 10:48:58 +08:00

42 lines
1.1 KiB
JavaScript

#!/usr/bin/env node
import {
callSpacetimeProcedure,
callSpacetimeProcedureViaCli,
ensureProcedureOk,
parseArgs,
} from './spacetime-migration-common.mjs';
try {
const options = parseArgs(process.argv.slice(2));
if (!options.operatorIdentity) {
throw new Error('必须传入 --operator-identity。');
}
const input = {
bootstrap_secret: options.bootstrapSecret || '',
operator_identity_hex: options.operatorIdentity,
note: options.note || '',
};
if (options.useHttp && !options.token) {
throw new Error('--use-http 需要同时传入 --token。');
}
const result = options.useHttp
? await callSpacetimeProcedure(options, 'authorize_database_migration_operator', input)
: await callSpacetimeProcedureViaCli(
options,
'authorize_database_migration_operator',
input,
);
ensureProcedureOk(result);
console.log(
`[spacetime:migration:operator] 已授权 ${result.operator_identity_hex ?? options.operatorIdentity}`,
);
} catch (error) {
console.error(
`[spacetime:migration:operator] ${error instanceof Error ? error.message : String(error)}`,
);
process.exit(1);
}