@access-tokens/cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -0
- package/README.md +412 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +141 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/generate.d.ts +9 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +33 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/issue.d.ts +16 -0
- package/dist/commands/issue.d.ts.map +1 -0
- package/dist/commands/issue.js +36 -0
- package/dist/commands/issue.js.map +1 -0
- package/dist/commands/list.d.ts +16 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +53 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/register.d.ts +18 -0
- package/dist/commands/register.d.ts.map +1 -0
- package/dist/commands/register.js +33 -0
- package/dist/commands/register.js.map +1 -0
- package/dist/commands/restore.d.ts +13 -0
- package/dist/commands/restore.d.ts.map +1 -0
- package/dist/commands/restore.js +16 -0
- package/dist/commands/restore.js.map +1 -0
- package/dist/commands/revoke.d.ts +14 -0
- package/dist/commands/revoke.d.ts.map +1 -0
- package/dist/commands/revoke.js +20 -0
- package/dist/commands/revoke.js.map +1 -0
- package/dist/commands/sync.d.ts +14 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +197 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/update.d.ts +17 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +33 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/config/loader.d.ts +17 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +138 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schemas.d.ts +52 -0
- package/dist/config/schemas.d.ts.map +1 -0
- package/dist/config/schemas.js +67 -0
- package/dist/config/schemas.js.map +1 -0
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +18 -0
- package/dist/main.js.map +1 -0
- package/dist/utils/client-factory.d.ts +4 -0
- package/dist/utils/client-factory.d.ts.map +1 -0
- package/dist/utils/client-factory.js +13 -0
- package/dist/utils/client-factory.js.map +1 -0
- package/dist/utils/date-parser.d.ts +3 -0
- package/dist/utils/date-parser.d.ts.map +1 -0
- package/dist/utils/date-parser.js +21 -0
- package/dist/utils/date-parser.js.map +1 -0
- package/dist/utils/diff.d.ts +17 -0
- package/dist/utils/diff.d.ts.map +1 -0
- package/dist/utils/diff.js +66 -0
- package/dist/utils/diff.js.map +1 -0
- package/dist/utils/logger.d.ts +17 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +62 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/permissions.d.ts +2 -0
- package/dist/utils/permissions.d.ts.map +1 -0
- package/dist/utils/permissions.js +55 -0
- package/dist/utils/permissions.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.issueCommand = issueCommand;
|
|
4
|
+
const loader_1 = require("../config/loader");
|
|
5
|
+
const client_factory_1 = require("../utils/client-factory");
|
|
6
|
+
const date_parser_1 = require("../utils/date-parser");
|
|
7
|
+
const logger_1 = require("../utils/logger");
|
|
8
|
+
async function issueCommand(options) {
|
|
9
|
+
const logger = new logger_1.Logger(options);
|
|
10
|
+
const loader = new loader_1.ConfigLoader(options.configDir);
|
|
11
|
+
const endpointConfig = await loader.resolveEndpointFromOptions(options);
|
|
12
|
+
const client = (0, client_factory_1.createClient)(endpointConfig);
|
|
13
|
+
const expiresAt = options.expiresAt
|
|
14
|
+
? (0, date_parser_1.parseDate)(options.expiresAt)
|
|
15
|
+
: undefined;
|
|
16
|
+
logger.verbose(`Issuing token for ${options.owner}...`);
|
|
17
|
+
const result = await client.issue({
|
|
18
|
+
owner: options.owner,
|
|
19
|
+
isAdmin: options.admin,
|
|
20
|
+
expiresAt: expiresAt || undefined,
|
|
21
|
+
});
|
|
22
|
+
if (options.json) {
|
|
23
|
+
logger.json(result);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
logger.success("Token issued successfully!");
|
|
27
|
+
logger.info("");
|
|
28
|
+
logger.info("TOKEN (save this securely, it won't be shown again):");
|
|
29
|
+
logger.info(result.token);
|
|
30
|
+
logger.info("");
|
|
31
|
+
logger.info(`Token ID: ${result.record.tokenId}`);
|
|
32
|
+
logger.info(`Owner: ${result.record.owner}`);
|
|
33
|
+
logger.info(`Admin: ${result.record.isAdmin}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=issue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":";;AAoBA,oCAgCC;AApDD,6CAAgD;AAChD,4DAAuD;AACvD,sDAAiD;AACjD,4CAAyC;AAiBlC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,IAAA,6BAAY,EAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS;QACjC,CAAC,CAAC,IAAA,uBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;QAC9B,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,CAAC,OAAO,CAAC,qBAAqB,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,KAAK;QACtB,SAAS,EAAE,SAAS,IAAI,SAAS;KAClC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type ListOptions = {
|
|
2
|
+
endpoint?: string;
|
|
3
|
+
url?: string;
|
|
4
|
+
adminToken?: string;
|
|
5
|
+
authPath?: string;
|
|
6
|
+
adminPath?: string;
|
|
7
|
+
includeRevoked?: boolean;
|
|
8
|
+
includeExpired?: boolean;
|
|
9
|
+
includeSecretPhc?: boolean;
|
|
10
|
+
configDir?: string;
|
|
11
|
+
json?: boolean;
|
|
12
|
+
verbose?: boolean;
|
|
13
|
+
quiet?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare function listCommand(options: ListOptions): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BrE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listCommand = listCommand;
|
|
4
|
+
const loader_1 = require("../config/loader");
|
|
5
|
+
const client_factory_1 = require("../utils/client-factory");
|
|
6
|
+
const date_parser_1 = require("../utils/date-parser");
|
|
7
|
+
const logger_1 = require("../utils/logger");
|
|
8
|
+
async function listCommand(options) {
|
|
9
|
+
const logger = new logger_1.Logger(options);
|
|
10
|
+
const loader = new loader_1.ConfigLoader(options.configDir);
|
|
11
|
+
const endpointConfig = await loader.resolveEndpointFromOptions(options);
|
|
12
|
+
const client = (0, client_factory_1.createClient)(endpointConfig);
|
|
13
|
+
logger.verbose(`Fetching tokens from ${endpointConfig.url}...`);
|
|
14
|
+
const tokens = await client.list({
|
|
15
|
+
includeRevoked: options.includeRevoked,
|
|
16
|
+
includeExpired: options.includeExpired,
|
|
17
|
+
includeSecretPhc: options.includeSecretPhc,
|
|
18
|
+
});
|
|
19
|
+
if (options.json) {
|
|
20
|
+
logger.json(tokens);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
if (tokens.length === 0) {
|
|
24
|
+
logger.info("No tokens found");
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
logger.info(`Found ${tokens.length} token(s):\n`);
|
|
28
|
+
for (const token of tokens) {
|
|
29
|
+
displayToken(token, logger);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function displayToken(token, logger) {
|
|
35
|
+
logger.info(`Token ID: ${token.tokenId}`);
|
|
36
|
+
logger.info(` Owner: ${token.owner}`);
|
|
37
|
+
logger.info(` Admin: ${token.isAdmin}`);
|
|
38
|
+
logger.info(` Created: ${(0, date_parser_1.formatDate)(token.createdAt)}`);
|
|
39
|
+
if (token.lastUsedAt) {
|
|
40
|
+
logger.info(` Last Used: ${(0, date_parser_1.formatDate)(token.lastUsedAt)}`);
|
|
41
|
+
}
|
|
42
|
+
if (token.expiresAt) {
|
|
43
|
+
logger.info(` Expires: ${(0, date_parser_1.formatDate)(token.expiresAt)}`);
|
|
44
|
+
}
|
|
45
|
+
if (token.revokedAt) {
|
|
46
|
+
logger.info(` Revoked: ${(0, date_parser_1.formatDate)(token.revokedAt)}`);
|
|
47
|
+
}
|
|
48
|
+
if (token.secretPhc) {
|
|
49
|
+
logger.info(` Secret PHC: ${token.secretPhc}`);
|
|
50
|
+
}
|
|
51
|
+
logger.info("");
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":";;AAsBA,kCA4BC;AAhDD,6CAAgD;AAChD,4DAAuD;AACvD,sDAAkD;AAClD,4CAAyC;AAiBlC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,IAAA,6BAAY,EAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,CAAC,OAAO,CAAC,wBAAwB,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC/B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC;YAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAkB,EAAE,MAAc;IACtD,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAA,wBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAA,wBAAU,EAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,cAAc,IAAA,wBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,cAAc,IAAA,wBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type RegisterOptions = {
|
|
2
|
+
endpoint?: string;
|
|
3
|
+
url?: string;
|
|
4
|
+
adminToken?: string;
|
|
5
|
+
authPath?: string;
|
|
6
|
+
adminPath?: string;
|
|
7
|
+
tokenId: string;
|
|
8
|
+
secretPhc: string;
|
|
9
|
+
owner: string;
|
|
10
|
+
admin?: boolean;
|
|
11
|
+
expiresAt?: string;
|
|
12
|
+
configDir?: string;
|
|
13
|
+
json?: boolean;
|
|
14
|
+
verbose?: boolean;
|
|
15
|
+
quiet?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export declare function registerCommand(options: RegisterOptions): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=register.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B7E"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerCommand = registerCommand;
|
|
4
|
+
const loader_1 = require("../config/loader");
|
|
5
|
+
const client_factory_1 = require("../utils/client-factory");
|
|
6
|
+
const date_parser_1 = require("../utils/date-parser");
|
|
7
|
+
const logger_1 = require("../utils/logger");
|
|
8
|
+
async function registerCommand(options) {
|
|
9
|
+
const logger = new logger_1.Logger(options);
|
|
10
|
+
const loader = new loader_1.ConfigLoader(options.configDir);
|
|
11
|
+
const endpointConfig = await loader.resolveEndpointFromOptions(options);
|
|
12
|
+
const client = (0, client_factory_1.createClient)(endpointConfig);
|
|
13
|
+
const expiresAt = options.expiresAt
|
|
14
|
+
? (0, date_parser_1.parseDate)(options.expiresAt)
|
|
15
|
+
: undefined;
|
|
16
|
+
logger.verbose(`Registering token ${options.tokenId}...`);
|
|
17
|
+
const record = await client.register({
|
|
18
|
+
tokenId: options.tokenId,
|
|
19
|
+
secretPhc: options.secretPhc,
|
|
20
|
+
owner: options.owner,
|
|
21
|
+
isAdmin: options.admin,
|
|
22
|
+
expiresAt: expiresAt || undefined,
|
|
23
|
+
});
|
|
24
|
+
if (options.json) {
|
|
25
|
+
logger.json(record);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
logger.success(`Token ${options.tokenId} registered successfully!`);
|
|
29
|
+
logger.info(`Owner: ${record.owner}`);
|
|
30
|
+
logger.info(`Admin: ${record.isAdmin}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":";;AAsBA,0CA6BC;AAnDD,6CAAgD;AAChD,4DAAuD;AACvD,sDAAiD;AACjD,4CAAyC;AAmBlC,KAAK,UAAU,eAAe,CAAC,OAAwB;IAC5D,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,IAAA,6BAAY,EAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS;QACjC,CAAC,CAAC,IAAA,uBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;QAC9B,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,CAAC,OAAO,CAAC,qBAAqB,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,KAAK;QACtB,SAAS,EAAE,SAAS,IAAI,SAAS;KAClC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CAAC,SAAS,OAAO,CAAC,OAAO,2BAA2B,CAAC,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type RestoreOptions = {
|
|
2
|
+
endpoint?: string;
|
|
3
|
+
url?: string;
|
|
4
|
+
adminToken?: string;
|
|
5
|
+
authPath?: string;
|
|
6
|
+
adminPath?: string;
|
|
7
|
+
tokenId: string;
|
|
8
|
+
configDir?: string;
|
|
9
|
+
verbose?: boolean;
|
|
10
|
+
quiet?: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare function restoreCommand(options: RestoreOptions): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=restore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.restoreCommand = restoreCommand;
|
|
4
|
+
const loader_1 = require("../config/loader");
|
|
5
|
+
const client_factory_1 = require("../utils/client-factory");
|
|
6
|
+
const logger_1 = require("../utils/logger");
|
|
7
|
+
async function restoreCommand(options) {
|
|
8
|
+
const logger = new logger_1.Logger(options);
|
|
9
|
+
const loader = new loader_1.ConfigLoader(options.configDir);
|
|
10
|
+
const endpointConfig = await loader.resolveEndpointFromOptions(options);
|
|
11
|
+
const client = (0, client_factory_1.createClient)(endpointConfig);
|
|
12
|
+
logger.verbose(`Restoring token ${options.tokenId}...`);
|
|
13
|
+
await client.restore(options.tokenId);
|
|
14
|
+
logger.success(`Token ${options.tokenId} restored successfully`);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=restore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":";;AAgBA,wCAaC;AA7BD,6CAAgD;AAChD,4DAAuD;AACvD,4CAAyC;AAclC,KAAK,UAAU,cAAc,CAAC,OAAuB;IAC1D,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,IAAA,6BAAY,EAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,CAAC,OAAO,CAAC,mBAAmB,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC;IAExD,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,MAAM,CAAC,OAAO,CAAC,SAAS,OAAO,CAAC,OAAO,wBAAwB,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type RevokeOptions = {
|
|
2
|
+
endpoint?: string;
|
|
3
|
+
url?: string;
|
|
4
|
+
adminToken?: string;
|
|
5
|
+
authPath?: string;
|
|
6
|
+
adminPath?: string;
|
|
7
|
+
tokenId: string;
|
|
8
|
+
expiresAt?: string;
|
|
9
|
+
configDir?: string;
|
|
10
|
+
verbose?: boolean;
|
|
11
|
+
quiet?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare function revokeCommand(options: RevokeOptions): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=revoke.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke.d.ts","sourceRoot":"","sources":["../../src/commands/revoke.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBzE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.revokeCommand = revokeCommand;
|
|
4
|
+
const loader_1 = require("../config/loader");
|
|
5
|
+
const client_factory_1 = require("../utils/client-factory");
|
|
6
|
+
const date_parser_1 = require("../utils/date-parser");
|
|
7
|
+
const logger_1 = require("../utils/logger");
|
|
8
|
+
async function revokeCommand(options) {
|
|
9
|
+
const logger = new logger_1.Logger(options);
|
|
10
|
+
const loader = new loader_1.ConfigLoader(options.configDir);
|
|
11
|
+
const endpointConfig = await loader.resolveEndpointFromOptions(options);
|
|
12
|
+
const client = (0, client_factory_1.createClient)(endpointConfig);
|
|
13
|
+
const expiresAt = options.expiresAt
|
|
14
|
+
? (0, date_parser_1.parseDate)(options.expiresAt)
|
|
15
|
+
: undefined;
|
|
16
|
+
logger.verbose(`Revoking token ${options.tokenId}...`);
|
|
17
|
+
await client.revoke(options.tokenId, { expiresAt: expiresAt || undefined });
|
|
18
|
+
logger.success(`Token ${options.tokenId} revoked successfully`);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=revoke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke.js","sourceRoot":"","sources":["../../src/commands/revoke.ts"],"names":[],"mappings":";;AAkBA,sCAiBC;AAnCD,6CAAgD;AAChD,4DAAuD;AACvD,sDAAiD;AACjD,4CAAyC;AAelC,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,IAAA,6BAAY,EAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS;QACjC,CAAC,CAAC,IAAA,uBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;QAC9B,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,CAAC,OAAO,CAAC,kBAAkB,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC;IAEvD,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;IAE5E,MAAM,CAAC,OAAO,CAAC,SAAS,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type SyncOptions = {
|
|
2
|
+
config: string;
|
|
3
|
+
endpoint?: string;
|
|
4
|
+
url?: string;
|
|
5
|
+
adminToken?: string;
|
|
6
|
+
authPath?: string;
|
|
7
|
+
adminPath?: string;
|
|
8
|
+
dryRun?: boolean;
|
|
9
|
+
configDir?: string;
|
|
10
|
+
verbose?: boolean;
|
|
11
|
+
quiet?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare function syncCommand(options: SyncOptions): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDrE"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.syncCommand = syncCommand;
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
const loader_1 = require("../config/loader");
|
|
9
|
+
const client_factory_1 = require("../utils/client-factory");
|
|
10
|
+
const date_parser_1 = require("../utils/date-parser");
|
|
11
|
+
const diff_1 = require("../utils/diff");
|
|
12
|
+
const logger_1 = require("../utils/logger");
|
|
13
|
+
const permissions_1 = require("../utils/permissions");
|
|
14
|
+
async function syncCommand(options) {
|
|
15
|
+
const logger = new logger_1.Logger(options);
|
|
16
|
+
const loader = new loader_1.ConfigLoader(options.configDir);
|
|
17
|
+
const userConfig = await loader.loadUserConfig();
|
|
18
|
+
const syncConfig = await loader.loadSyncConfig(options.config);
|
|
19
|
+
await (0, permissions_1.checkFilePermissions)(options.config, !!syncConfig.defaults?.adminToken ||
|
|
20
|
+
Object.values(syncConfig.endpoints || {}).some((e) => !!e.adminToken));
|
|
21
|
+
if (!syncConfig.tokens || syncConfig.tokens.length === 0) {
|
|
22
|
+
logger.warn("No tokens defined in sync config");
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const targetEndpoints = resolveTargetEndpoints({
|
|
26
|
+
options,
|
|
27
|
+
userConfig,
|
|
28
|
+
syncConfig,
|
|
29
|
+
loader,
|
|
30
|
+
logger,
|
|
31
|
+
});
|
|
32
|
+
logger.info(`Syncing ${syncConfig.tokens.length} token(s) to ${targetEndpoints.length} endpoint(s)...`);
|
|
33
|
+
logger.info("");
|
|
34
|
+
for (const { name, config: endpointConfig } of targetEndpoints) {
|
|
35
|
+
logger.info(`=== Endpoint: ${name || endpointConfig.url} ===`);
|
|
36
|
+
await syncToEndpoint({
|
|
37
|
+
endpointConfig,
|
|
38
|
+
tokens: syncConfig.tokens,
|
|
39
|
+
dryRun: options.dryRun || false,
|
|
40
|
+
logger,
|
|
41
|
+
});
|
|
42
|
+
logger.info("");
|
|
43
|
+
}
|
|
44
|
+
if (options.dryRun) {
|
|
45
|
+
logger.info("Dry run completed - no changes were made");
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
logger.success("Sync completed successfully!");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function resolveTargetEndpoints({ options, userConfig, syncConfig, loader, logger, }) {
|
|
52
|
+
const targetEndpoints = [];
|
|
53
|
+
if (options.url) {
|
|
54
|
+
const optionsWithUrl = { ...options, url: options.url };
|
|
55
|
+
const config = loader.resolveDirectEndpointConfig(optionsWithUrl, userConfig?.defaults);
|
|
56
|
+
targetEndpoints.push({ name: null, config });
|
|
57
|
+
}
|
|
58
|
+
else if (options.endpoint) {
|
|
59
|
+
const endpointNames = options.endpoint.split(",").map((e) => e.trim());
|
|
60
|
+
const mergedConfig = loader.mergeConfigs(userConfig, syncConfig);
|
|
61
|
+
for (const name of endpointNames) {
|
|
62
|
+
const config = loader.resolveEndpointConfig(name, mergedConfig);
|
|
63
|
+
targetEndpoints.push({ name, config });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
if (!syncConfig.endpoints ||
|
|
68
|
+
Object.keys(syncConfig.endpoints).length === 0) {
|
|
69
|
+
throw new Error("No endpoints specified. Either provide --endpoint, --url, or define endpoints in sync config");
|
|
70
|
+
}
|
|
71
|
+
const mergedConfig = loader.mergeConfigs(userConfig, syncConfig);
|
|
72
|
+
for (const name of Object.keys(syncConfig.endpoints)) {
|
|
73
|
+
try {
|
|
74
|
+
const config = loader.resolveEndpointConfig(name, mergedConfig);
|
|
75
|
+
targetEndpoints.push({ name, config });
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
logger.warn(`Skipping endpoint '${name}': ${error instanceof Error ? error.message : String(error)}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (targetEndpoints.length === 0) {
|
|
83
|
+
throw new Error("No valid endpoints found to sync to");
|
|
84
|
+
}
|
|
85
|
+
return targetEndpoints;
|
|
86
|
+
}
|
|
87
|
+
async function syncToEndpoint({ endpointConfig, tokens, dryRun, logger, }) {
|
|
88
|
+
const client = (0, client_factory_1.createClient)(endpointConfig);
|
|
89
|
+
const tokenIds = tokens.map((t) => t.tokenId);
|
|
90
|
+
logger.verbose(`Fetching ${tokenIds.length} token(s)...`);
|
|
91
|
+
const { found } = await client.batchLoad(new Set(tokenIds), {
|
|
92
|
+
includeSecretPhc: true,
|
|
93
|
+
});
|
|
94
|
+
const remoteTokens = new Map(found.map((t) => [t.tokenId, t]));
|
|
95
|
+
const now = Math.floor(Date.now() / 1000);
|
|
96
|
+
for (const definition of tokens) {
|
|
97
|
+
const isExpired = definition.expiresAt != null && definition.expiresAt < now;
|
|
98
|
+
if (isExpired) {
|
|
99
|
+
logger.verbose(`Token ${definition.tokenId} is expired, skipping`);
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const remote = remoteTokens.get(definition.tokenId);
|
|
103
|
+
const diff = (0, diff_1.compareTokens)(definition, remote);
|
|
104
|
+
if (!diff.exists) {
|
|
105
|
+
if (definition.secretPhc) {
|
|
106
|
+
if (dryRun) {
|
|
107
|
+
logger.dryRun(`Would register token ${definition.tokenId} for ${definition.owner}`);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
logger.verbose(`Registering token ${definition.tokenId}...`);
|
|
111
|
+
await client.register({
|
|
112
|
+
tokenId: definition.tokenId,
|
|
113
|
+
secretPhc: definition.secretPhc,
|
|
114
|
+
owner: definition.owner,
|
|
115
|
+
isAdmin: definition.isAdmin,
|
|
116
|
+
expiresAt: definition.expiresAt || undefined,
|
|
117
|
+
});
|
|
118
|
+
logger.success(`Registered token ${definition.tokenId} for ${definition.owner}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
logger.warn(`Token ${definition.tokenId} not found and no secretPhc provided - skipping`);
|
|
123
|
+
}
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
if (diff.needsRevoke) {
|
|
127
|
+
if (dryRun) {
|
|
128
|
+
logger.dryRun(`Would revoke token ${definition.tokenId}`);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
logger.verbose(`Revoking token ${definition.tokenId}...`);
|
|
132
|
+
await client.revoke(definition.tokenId, {
|
|
133
|
+
expiresAt: definition.expiresAt || undefined,
|
|
134
|
+
});
|
|
135
|
+
logger.info(`Revoked token ${definition.tokenId}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else if (diff.needsRestore) {
|
|
139
|
+
if (dryRun) {
|
|
140
|
+
logger.dryRun(`Would restore token ${definition.tokenId}`);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
logger.verbose(`Restoring token ${definition.tokenId}...`);
|
|
144
|
+
await client.restore(definition.tokenId);
|
|
145
|
+
logger.info(`Restored token ${definition.tokenId}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (diff.needsUpdate) {
|
|
149
|
+
const updates = {};
|
|
150
|
+
for (const change of diff.changes) {
|
|
151
|
+
if (change.field === "owner") {
|
|
152
|
+
(0, assert_1.default)(typeof change.newValue === "string", "owner must be a string");
|
|
153
|
+
updates.owner = change.newValue;
|
|
154
|
+
}
|
|
155
|
+
else if (change.field === "isAdmin") {
|
|
156
|
+
(0, assert_1.default)(typeof change.newValue === "boolean", "isAdmin must be a boolean");
|
|
157
|
+
updates.isAdmin = change.newValue;
|
|
158
|
+
}
|
|
159
|
+
else if (change.field === "secretPhc") {
|
|
160
|
+
updates.secretPhc = definition.secretPhc;
|
|
161
|
+
}
|
|
162
|
+
else if (change.field === "expiresAt") {
|
|
163
|
+
(0, assert_1.default)(typeof change.newValue === "number" || change.newValue === null, "expiresAt must be a number or null");
|
|
164
|
+
updates.expiresAt = change.newValue;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (dryRun) {
|
|
168
|
+
const changeList = diff.changes
|
|
169
|
+
.map((c) => {
|
|
170
|
+
if (c.field === "expiresAt") {
|
|
171
|
+
let oldVal = "null";
|
|
172
|
+
if (c.oldValue != null) {
|
|
173
|
+
(0, assert_1.default)(typeof c.oldValue === "number", "expiresAt oldValue must be a number");
|
|
174
|
+
oldVal = (0, date_parser_1.formatDate)(c.oldValue);
|
|
175
|
+
}
|
|
176
|
+
let newVal = "null";
|
|
177
|
+
if (c.newValue != null) {
|
|
178
|
+
(0, assert_1.default)(typeof c.newValue === "number", "expiresAt newValue must be a number");
|
|
179
|
+
newVal = (0, date_parser_1.formatDate)(c.newValue);
|
|
180
|
+
}
|
|
181
|
+
return `${c.field}: ${oldVal} → ${newVal}`;
|
|
182
|
+
}
|
|
183
|
+
return `${c.field}: ${String(c.oldValue)} → ${String(c.newValue)}`;
|
|
184
|
+
})
|
|
185
|
+
.join(", ");
|
|
186
|
+
logger.dryRun(`Would update token ${definition.tokenId}: ${changeList}`);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
logger.verbose(`Updating token ${definition.tokenId}...`);
|
|
190
|
+
await client.update(definition.tokenId, updates);
|
|
191
|
+
const changeList = diff.changes.map((c) => c.field).join(", ");
|
|
192
|
+
logger.info(`Updated token ${definition.tokenId}: ${changeList}`);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type UpdateOptions = {
|
|
2
|
+
endpoint?: string;
|
|
3
|
+
url?: string;
|
|
4
|
+
adminToken?: string;
|
|
5
|
+
authPath?: string;
|
|
6
|
+
adminPath?: string;
|
|
7
|
+
tokenId: string;
|
|
8
|
+
owner?: string;
|
|
9
|
+
admin?: boolean;
|
|
10
|
+
secretPhc?: string;
|
|
11
|
+
expiresAt?: string;
|
|
12
|
+
configDir?: string;
|
|
13
|
+
verbose?: boolean;
|
|
14
|
+
quiet?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare function updateCommand(options: UpdateOptions): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCzE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateCommand = updateCommand;
|
|
4
|
+
const loader_1 = require("../config/loader");
|
|
5
|
+
const client_factory_1 = require("../utils/client-factory");
|
|
6
|
+
const date_parser_1 = require("../utils/date-parser");
|
|
7
|
+
const logger_1 = require("../utils/logger");
|
|
8
|
+
async function updateCommand(options) {
|
|
9
|
+
const logger = new logger_1.Logger(options);
|
|
10
|
+
const loader = new loader_1.ConfigLoader(options.configDir);
|
|
11
|
+
const endpointConfig = await loader.resolveEndpointFromOptions(options);
|
|
12
|
+
const client = (0, client_factory_1.createClient)(endpointConfig);
|
|
13
|
+
const updates = {};
|
|
14
|
+
if (options.owner !== undefined) {
|
|
15
|
+
updates.owner = options.owner;
|
|
16
|
+
}
|
|
17
|
+
if (options.admin !== undefined) {
|
|
18
|
+
updates.isAdmin = options.admin;
|
|
19
|
+
}
|
|
20
|
+
if (options.secretPhc !== undefined) {
|
|
21
|
+
updates.secretPhc = options.secretPhc;
|
|
22
|
+
}
|
|
23
|
+
if (options.expiresAt !== undefined) {
|
|
24
|
+
updates.expiresAt = (0, date_parser_1.parseDate)(options.expiresAt);
|
|
25
|
+
}
|
|
26
|
+
if (Object.keys(updates).length === 0) {
|
|
27
|
+
throw new Error("No updates specified. Use --owner, --admin, --secret-phc, or --expires-at");
|
|
28
|
+
}
|
|
29
|
+
logger.verbose(`Updating token ${options.tokenId}...`);
|
|
30
|
+
await client.update(options.tokenId, updates);
|
|
31
|
+
logger.success(`Token ${options.tokenId} updated successfully`);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":";;AAqBA,sCAuCC;AA5DD,6CAAgD;AAChD,4DAAuD;AACvD,sDAAiD;AACjD,4CAAyC;AAkBlC,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,IAAA,6BAAY,EAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,OAAO,GAKT,EAAE,CAAC;IAEP,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,CAAC,SAAS,GAAG,IAAA,uBAAS,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,kBAAkB,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC;IAEvD,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE9C,MAAM,CAAC,OAAO,CAAC,SAAS,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Config, EndpointConfig, MergedEndpointConfig } from "./schemas";
|
|
2
|
+
export declare class ConfigLoader {
|
|
3
|
+
private readonly userConfigPath;
|
|
4
|
+
constructor(userConfigPath?: string);
|
|
5
|
+
loadUserConfig(): Promise<Config | null>;
|
|
6
|
+
loadSyncConfig(syncConfigPath: string): Promise<Config>;
|
|
7
|
+
private loadConfig;
|
|
8
|
+
mergeConfigs(userConfig: Config | null, syncConfig: Config): Config;
|
|
9
|
+
resolveEndpointConfig(endpointName: string, config: Config): MergedEndpointConfig;
|
|
10
|
+
resolveDirectEndpointConfig(config: EndpointConfig & {
|
|
11
|
+
url: string;
|
|
12
|
+
}, defaults?: Config["defaults"]): MergedEndpointConfig;
|
|
13
|
+
resolveEndpointFromOptions(options: EndpointConfig & {
|
|
14
|
+
endpoint?: string;
|
|
15
|
+
}): Promise<MergedEndpointConfig>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,MAAM,EAEN,cAAc,EACd,oBAAoB,EACrB,MAAM,WAAW,CAAC;AAEnB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,cAAc,CAAC,EAAE,MAAM;IAM7B,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASxC,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAQ/C,UAAU;IAcxB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IA2BnE,qBAAqB,CACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,oBAAoB;IAwBvB,2BAA2B,CACzB,MAAM,EAAE,cAAc,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,EACxC,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,GAC5B,oBAAoB;IAejB,0BAA0B,CAC9B,OAAO,EAAE,cAAc,GAAG;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GACA,OAAO,CAAC,oBAAoB,CAAC;CAejC"}
|