@fonoster/ctl 0.7.43 → 0.7.45
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/README.md +1 -1
- package/bin/run.js +3 -3
- package/dist/AuthenticatedCommand.d.ts +6 -0
- package/dist/AuthenticatedCommand.js +92 -0
- package/dist/BaseCommand.d.ts +1 -1
- package/dist/BaseCommand.js +1 -1
- package/dist/commands/apikeys/create.d.ts +10 -0
- package/dist/commands/apikeys/create.js +99 -0
- package/dist/commands/apikeys/delete.d.ts +9 -0
- package/dist/commands/apikeys/delete.js +87 -0
- package/dist/commands/apikeys/list.d.ts +9 -0
- package/dist/commands/apikeys/list.js +105 -0
- package/dist/commands/apikeys/regenerate.d.ts +9 -0
- package/dist/commands/apikeys/regenerate.js +91 -0
- package/dist/commands/applications/create.d.ts +4 -4
- package/dist/commands/applications/create.js +9 -18
- package/dist/commands/applications/delete.d.ts +5 -5
- package/dist/commands/applications/delete.js +11 -23
- package/dist/commands/applications/get.d.ts +5 -5
- package/dist/commands/applications/get.js +4 -17
- package/dist/commands/applications/list.d.ts +5 -5
- package/dist/commands/applications/list.js +5 -18
- package/dist/commands/applications/update.d.ts +5 -5
- package/dist/commands/applications/update.js +11 -26
- package/dist/commands/bug.js +1 -1
- package/dist/commands/feedback.js +2 -2
- package/dist/commands/secrets/create.d.ts +6 -0
- package/dist/commands/secrets/create.js +106 -0
- package/dist/commands/secrets/delete.d.ts +9 -0
- package/dist/commands/secrets/delete.js +87 -0
- package/dist/commands/secrets/get.d.ts +9 -0
- package/dist/commands/secrets/get.js +95 -0
- package/dist/commands/secrets/list.d.ts +9 -0
- package/dist/commands/secrets/list.js +99 -0
- package/dist/commands/secrets/update.d.ts +9 -0
- package/dist/commands/secrets/update.js +116 -0
- package/dist/commands/sipnet/acls/create.d.ts +6 -0
- package/dist/commands/sipnet/acls/create.js +107 -0
- package/dist/commands/sipnet/acls/delete.d.ts +9 -0
- package/dist/commands/sipnet/acls/delete.js +87 -0
- package/dist/commands/sipnet/acls/get.d.ts +9 -0
- package/dist/commands/sipnet/acls/get.js +100 -0
- package/dist/commands/sipnet/acls/list.d.ts +9 -0
- package/dist/commands/sipnet/acls/list.js +99 -0
- package/dist/commands/sipnet/acls/update.d.ts +9 -0
- package/dist/commands/sipnet/acls/update.js +123 -0
- package/dist/commands/sipnet/agents/create.d.ts +6 -0
- package/dist/commands/sipnet/agents/create.js +132 -0
- package/dist/commands/sipnet/agents/delete.d.ts +9 -0
- package/dist/commands/sipnet/agents/delete.js +87 -0
- package/dist/commands/sipnet/agents/get.d.ts +9 -0
- package/dist/commands/sipnet/agents/get.js +109 -0
- package/dist/commands/sipnet/agents/list.d.ts +9 -0
- package/dist/commands/sipnet/agents/list.js +99 -0
- package/dist/commands/sipnet/agents/update.d.ts +9 -0
- package/dist/commands/sipnet/agents/update.js +149 -0
- package/dist/commands/sipnet/calls/create.d.ts +13 -0
- package/dist/commands/sipnet/calls/create.js +156 -0
- package/dist/commands/sipnet/calls/get.d.ts +9 -0
- package/dist/commands/sipnet/calls/get.js +104 -0
- package/dist/commands/sipnet/calls/list.d.ts +9 -0
- package/dist/commands/sipnet/calls/list.js +108 -0
- package/dist/commands/sipnet/credentials/create.d.ts +6 -0
- package/dist/commands/sipnet/credentials/create.js +110 -0
- package/dist/commands/sipnet/credentials/delete.d.ts +9 -0
- package/dist/commands/sipnet/credentials/delete.js +87 -0
- package/dist/commands/sipnet/credentials/get.d.ts +9 -0
- package/dist/commands/sipnet/credentials/get.js +100 -0
- package/dist/commands/sipnet/credentials/list.d.ts +9 -0
- package/dist/commands/sipnet/credentials/list.js +99 -0
- package/dist/commands/sipnet/credentials/update.d.ts +9 -0
- package/dist/commands/sipnet/credentials/update.js +121 -0
- package/dist/commands/sipnet/domains/create.d.ts +6 -0
- package/dist/commands/sipnet/domains/create.js +107 -0
- package/dist/commands/sipnet/domains/delete.d.ts +9 -0
- package/dist/commands/sipnet/domains/delete.js +87 -0
- package/dist/commands/sipnet/domains/get.d.ts +9 -0
- package/dist/commands/sipnet/domains/get.js +100 -0
- package/dist/commands/sipnet/domains/list.d.ts +9 -0
- package/dist/commands/sipnet/domains/list.js +99 -0
- package/dist/commands/sipnet/domains/update.d.ts +9 -0
- package/dist/commands/sipnet/domains/update.js +118 -0
- package/dist/commands/sipnet/numbers/create.d.ts +6 -0
- package/dist/commands/sipnet/numbers/create.js +148 -0
- package/dist/commands/sipnet/numbers/delete.d.ts +9 -0
- package/dist/commands/sipnet/numbers/delete.js +87 -0
- package/dist/commands/sipnet/numbers/get.d.ts +9 -0
- package/dist/commands/{numbers → sipnet/numbers}/get.js +7 -13
- package/dist/commands/sipnet/numbers/linkTwilioNumber.d.ts +10 -0
- package/dist/commands/{numbers → sipnet/numbers}/linkTwilioNumber.js +12 -17
- package/dist/commands/sipnet/numbers/list.d.ts +9 -0
- package/dist/commands/{numbers → sipnet/numbers}/list.js +9 -14
- package/dist/commands/sipnet/numbers/update.d.ts +9 -0
- package/dist/commands/sipnet/numbers/update.js +136 -0
- package/dist/commands/sipnet/trunks/create.d.ts +6 -0
- package/dist/commands/sipnet/trunks/create.js +156 -0
- package/dist/commands/sipnet/trunks/delete.d.ts +9 -0
- package/dist/commands/sipnet/trunks/delete.js +87 -0
- package/dist/commands/sipnet/trunks/get.d.ts +9 -0
- package/dist/commands/sipnet/trunks/get.js +120 -0
- package/dist/commands/sipnet/trunks/list.d.ts +9 -0
- package/dist/commands/sipnet/trunks/list.js +99 -0
- package/dist/commands/sipnet/trunks/update.d.ts +9 -0
- package/dist/commands/sipnet/trunks/update.js +174 -0
- package/dist/commands/workspaces/current.js +1 -1
- package/dist/commands/workspaces/list.js +1 -1
- package/dist/commands/workspaces/login.js +2 -2
- package/dist/commands/workspaces/logout.d.ts +3 -3
- package/dist/commands/workspaces/logout.js +7 -6
- package/dist/commands/workspaces/use.d.ts +3 -3
- package/dist/commands/workspaces/use.js +8 -8
- package/dist/config/getCurrentWorkspace.d.ts +1 -1
- package/dist/config/getCurrentWorkspace.js +1 -5
- package/dist/errorHandler.d.ts +2 -0
- package/dist/errorHandler.js +31 -0
- package/dist/utils/calculateFutureDate.d.ts +2 -0
- package/dist/utils/calculateFutureDate.js +37 -0
- package/dist/utils/getOutboundUri.d.ts +7 -0
- package/dist/utils/getOutboundUri.js +10 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/package.json +6 -7
- package/dist/commands/numbers/get.d.ts +0 -9
- package/dist/commands/numbers/linkTwilioNumber.d.ts +0 -10
- package/dist/commands/numbers/list.d.ts +0 -9
package/README.md
CHANGED
package/bin/run.js
CHANGED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as SDK from "@fonoster/sdk";
|
|
2
|
+
import { Command } from "@oclif/core";
|
|
3
|
+
import { BaseCommand } from "./BaseCommand";
|
|
4
|
+
export declare abstract class AuthenticatedCommand<T extends typeof Command> extends BaseCommand<T> {
|
|
5
|
+
protected createSdkClient(): Promise<SDK.Client>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.AuthenticatedCommand = void 0;
|
|
46
|
+
/* eslint-disable import/no-unresolved */
|
|
47
|
+
/*
|
|
48
|
+
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
49
|
+
* http://github.com/fonoster/fonoster
|
|
50
|
+
*
|
|
51
|
+
* This file is part of Fonoster
|
|
52
|
+
*
|
|
53
|
+
* Licensed under the MIT License (the "License");
|
|
54
|
+
* you may not use this file except in compliance with
|
|
55
|
+
* the License. You may obtain a copy of the License at
|
|
56
|
+
*
|
|
57
|
+
* https://opensource.org/licenses/MIT
|
|
58
|
+
*
|
|
59
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
60
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
61
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
62
|
+
* See the License for the specific language governing permissions and
|
|
63
|
+
* limitations under the License.
|
|
64
|
+
*/
|
|
65
|
+
const SDK = __importStar(require("@fonoster/sdk"));
|
|
66
|
+
const BaseCommand_1 = require("./BaseCommand"); // Adjust the import based on your structure
|
|
67
|
+
const config_1 = require("./config");
|
|
68
|
+
const constants_1 = require("./constants");
|
|
69
|
+
class AuthenticatedCommand extends BaseCommand_1.BaseCommand {
|
|
70
|
+
createSdkClient() {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
const workspaces = (0, config_1.getConfig)(constants_1.CONFIG_FILE);
|
|
73
|
+
const currentWorkspace = (0, config_1.getCurrentWorkspace)(workspaces);
|
|
74
|
+
if (!currentWorkspace) {
|
|
75
|
+
throw new Error("No active workspace found. Please login to a Workspace.");
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const client = new SDK.Client({
|
|
79
|
+
endpoint: currentWorkspace.endpoint,
|
|
80
|
+
accessKeyId: `WO${currentWorkspace.workspaceRef.replaceAll("-", "")}`,
|
|
81
|
+
allowInsecure: this.flags.insecure
|
|
82
|
+
});
|
|
83
|
+
yield client.loginWithApiKey(currentWorkspace.accessKeyId, currentWorkspace.accessKeySecret);
|
|
84
|
+
return client;
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
this.error("Failed to initialize the SDK client. Please try by login to the Workspace again.", { exit: 1 });
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.AuthenticatedCommand = AuthenticatedCommand;
|
package/dist/BaseCommand.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Command, Interfaces } from "@oclif/core";
|
|
2
2
|
export type Args<T extends typeof Command> = Interfaces.InferredArgs<T["args"]>;
|
|
3
3
|
export declare abstract class BaseCommand<T extends typeof Command> extends Command {
|
|
4
|
-
static baseFlags: {
|
|
4
|
+
static readonly baseFlags: {
|
|
5
5
|
insecure: Interfaces.BooleanFlag<boolean>;
|
|
6
6
|
};
|
|
7
7
|
protected flags: Flags<T>;
|
package/dist/BaseCommand.js
CHANGED
|
@@ -74,7 +74,7 @@ exports.BaseCommand = BaseCommand;
|
|
|
74
74
|
BaseCommand.baseFlags = {
|
|
75
75
|
insecure: core_1.Flags.boolean({
|
|
76
76
|
char: "i",
|
|
77
|
-
description: "allow connections to a server
|
|
77
|
+
description: "allow connections to a server with no TLS",
|
|
78
78
|
default: false
|
|
79
79
|
})
|
|
80
80
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AuthenticatedCommand } from "../../AuthenticatedCommand";
|
|
2
|
+
export default class Create extends AuthenticatedCommand<typeof Create> {
|
|
3
|
+
static readonly description = "create an API key for the active Workspace";
|
|
4
|
+
static readonly examples: string[];
|
|
5
|
+
static readonly flags: {
|
|
6
|
+
expiration: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
role: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
/* eslint-disable import/no-unresolved */
|
|
46
|
+
/*
|
|
47
|
+
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
48
|
+
* http://github.com/fonoster/fonoster
|
|
49
|
+
*
|
|
50
|
+
* This file is part of Fonoster
|
|
51
|
+
*
|
|
52
|
+
* Licensed under the MIT License (the "License");
|
|
53
|
+
* you may not use this file except in compliance with
|
|
54
|
+
* the License. You may obtain a copy of the License at
|
|
55
|
+
*
|
|
56
|
+
* https://opensource.org/licenses/MIT
|
|
57
|
+
*
|
|
58
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
59
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
60
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
61
|
+
* See the License for the specific language governing permissions and
|
|
62
|
+
* limitations under the License.
|
|
63
|
+
*/
|
|
64
|
+
const SDK = __importStar(require("@fonoster/sdk"));
|
|
65
|
+
const core_1 = require("@oclif/core");
|
|
66
|
+
const AuthenticatedCommand_1 = require("../../AuthenticatedCommand");
|
|
67
|
+
class Create extends AuthenticatedCommand_1.AuthenticatedCommand {
|
|
68
|
+
run() {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const { flags } = yield this.parse(Create);
|
|
71
|
+
const sdkClient = yield this.createSdkClient();
|
|
72
|
+
const apiKeys = new SDK.ApiKeys(sdkClient);
|
|
73
|
+
const result = yield apiKeys.createApiKey({
|
|
74
|
+
role: flags.role
|
|
75
|
+
});
|
|
76
|
+
this.log("Access Key regenerated successfully!");
|
|
77
|
+
this.log(`Access Key ID: ${result.accessKeyId}`);
|
|
78
|
+
this.log(`Access Key Secret: ${result.accessKeySecret}`);
|
|
79
|
+
this.log("");
|
|
80
|
+
this.warn("This is the only time the Access Key Secret will be shown.\nPlease copy it and store it securely!");
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
Create.description = "create an API key for the active Workspace";
|
|
85
|
+
Create.examples = ["<%= config.bin %> <%= command.id %>"];
|
|
86
|
+
Create.flags = {
|
|
87
|
+
expiration: core_1.Flags.string({
|
|
88
|
+
char: "e",
|
|
89
|
+
description: "API Key expiration time in days(e.g. 10d) or months(e.g. 10m)",
|
|
90
|
+
required: false
|
|
91
|
+
}),
|
|
92
|
+
role: core_1.Flags.string({
|
|
93
|
+
char: "r",
|
|
94
|
+
description: "API Key role",
|
|
95
|
+
default: "WORKSPACE_ADMIN",
|
|
96
|
+
required: false
|
|
97
|
+
})
|
|
98
|
+
};
|
|
99
|
+
exports.default = Create;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthenticatedCommand } from "../../AuthenticatedCommand";
|
|
2
|
+
export default class Delete extends AuthenticatedCommand<typeof Delete> {
|
|
3
|
+
static readonly description = "delete an API key from the active Workspace";
|
|
4
|
+
static readonly examples: string[];
|
|
5
|
+
static readonly args: {
|
|
6
|
+
ref: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
/* eslint-disable import/no-unresolved */
|
|
46
|
+
/*
|
|
47
|
+
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
48
|
+
* http://github.com/fonoster/fonoster
|
|
49
|
+
*
|
|
50
|
+
* This file is part of Fonoster
|
|
51
|
+
*
|
|
52
|
+
* Licensed under the MIT License (the "License");
|
|
53
|
+
* you may not use this file except in compliance with
|
|
54
|
+
* the License. You may obtain a copy of the License at
|
|
55
|
+
*
|
|
56
|
+
* https://opensource.org/licenses/MIT
|
|
57
|
+
*
|
|
58
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
59
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
60
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
61
|
+
* See the License for the specific language governing permissions and
|
|
62
|
+
* limitations under the License.
|
|
63
|
+
*/
|
|
64
|
+
const SDK = __importStar(require("@fonoster/sdk"));
|
|
65
|
+
const core_1 = require("@oclif/core");
|
|
66
|
+
const AuthenticatedCommand_1 = require("../../AuthenticatedCommand");
|
|
67
|
+
class Delete extends AuthenticatedCommand_1.AuthenticatedCommand {
|
|
68
|
+
run() {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const { args } = yield this.parse(Delete);
|
|
71
|
+
const { ref } = args;
|
|
72
|
+
const client = yield this.createSdkClient();
|
|
73
|
+
const applications = new SDK.ApiKeys(client);
|
|
74
|
+
yield applications.deleteApiKey(ref);
|
|
75
|
+
this.log("Done!");
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
Delete.description = "delete an API key from the active Workspace";
|
|
80
|
+
Delete.examples = ["<%= config.bin %> <%= command.id %>"];
|
|
81
|
+
Delete.args = {
|
|
82
|
+
ref: core_1.Args.string({
|
|
83
|
+
description: "the ApiKey to delete from the Workspace",
|
|
84
|
+
required: true
|
|
85
|
+
})
|
|
86
|
+
};
|
|
87
|
+
exports.default = Delete;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthenticatedCommand } from "../../AuthenticatedCommand";
|
|
2
|
+
export default class List extends AuthenticatedCommand<typeof List> {
|
|
3
|
+
static readonly description = "display all API keys in the active Workspace";
|
|
4
|
+
static readonly examples: string[];
|
|
5
|
+
static readonly flags: {
|
|
6
|
+
"page-size": import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
/* eslint-disable import/no-unresolved */
|
|
49
|
+
/*
|
|
50
|
+
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
51
|
+
* http://github.com/fonoster/fonoster
|
|
52
|
+
*
|
|
53
|
+
* This file is part of Fonoster
|
|
54
|
+
*
|
|
55
|
+
* Licensed under the MIT License (the "License");
|
|
56
|
+
* you may not use this file except in compliance with
|
|
57
|
+
* the License. You may obtain a copy of the License at
|
|
58
|
+
*
|
|
59
|
+
* https://opensource.org/licenses/MIT
|
|
60
|
+
*
|
|
61
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
62
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
63
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
64
|
+
* See the License for the specific language governing permissions and
|
|
65
|
+
* limitations under the License.
|
|
66
|
+
*/
|
|
67
|
+
const SDK = __importStar(require("@fonoster/sdk"));
|
|
68
|
+
const core_1 = require("@oclif/core");
|
|
69
|
+
const cliui_1 = __importDefault(require("cliui"));
|
|
70
|
+
const AuthenticatedCommand_1 = require("../../AuthenticatedCommand");
|
|
71
|
+
class List extends AuthenticatedCommand_1.AuthenticatedCommand {
|
|
72
|
+
run() {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const { flags } = yield this.parse(List);
|
|
75
|
+
const client = yield this.createSdkClient();
|
|
76
|
+
const apiKeys = new SDK.ApiKeys(client);
|
|
77
|
+
const response = yield apiKeys.listApiKeys({
|
|
78
|
+
pageSize: parseInt(flags["page-size"])
|
|
79
|
+
});
|
|
80
|
+
const ui = (0, cliui_1.default)({ width: 170 });
|
|
81
|
+
ui.div({ text: "REF", padding: [0, 0, 0, 0], width: 40 }, { text: "ACCESS KEY ID", padding: [0, 0, 0, 0], width: 38 }, { text: "ROLE", padding: [0, 0, 0, 0], width: 20 }, { text: "EXPIRATION", padding: [0, 0, 0, 0], width: 10 });
|
|
82
|
+
response.items.forEach((application) => {
|
|
83
|
+
ui.div({ text: application.ref, padding: [0, 0, 0, 0], width: 40 }, { text: application.accessKeyId, padding: [0, 0, 0, 0], width: 38 }, { text: application.role, padding: [0, 0, 0, 0], width: 20 }, {
|
|
84
|
+
text: application.expiresAt
|
|
85
|
+
? new Date(application.expiresAt).toISOString()
|
|
86
|
+
: "Never",
|
|
87
|
+
padding: [0, 0, 0, 0],
|
|
88
|
+
width: 10
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
this.log(ui.toString());
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
List.description = "display all API keys in the active Workspace";
|
|
96
|
+
List.examples = ["<%= config.bin %> <%= command.id %>"];
|
|
97
|
+
List.flags = {
|
|
98
|
+
"page-size": core_1.Flags.string({
|
|
99
|
+
char: "s",
|
|
100
|
+
description: "the number of items to show",
|
|
101
|
+
default: "1000",
|
|
102
|
+
required: false
|
|
103
|
+
})
|
|
104
|
+
};
|
|
105
|
+
exports.default = List;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthenticatedCommand } from "../../AuthenticatedCommand";
|
|
2
|
+
export default class Regenerate extends AuthenticatedCommand<typeof Regenerate> {
|
|
3
|
+
static readonly description = "generate a new access key secret for an API key";
|
|
4
|
+
static readonly examples: string[];
|
|
5
|
+
static readonly args: {
|
|
6
|
+
ref: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
/* eslint-disable import/no-unresolved */
|
|
46
|
+
/*
|
|
47
|
+
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
48
|
+
* http://github.com/fonoster/fonoster
|
|
49
|
+
*
|
|
50
|
+
* This file is part of Fonoster
|
|
51
|
+
*
|
|
52
|
+
* Licensed under the MIT License (the "License");
|
|
53
|
+
* you may not use this file except in compliance with
|
|
54
|
+
* the License. You may obtain a copy of the License at
|
|
55
|
+
*
|
|
56
|
+
* https://opensource.org/licenses/MIT
|
|
57
|
+
*
|
|
58
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
59
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
60
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
61
|
+
* See the License for the specific language governing permissions and
|
|
62
|
+
* limitations under the License.
|
|
63
|
+
*/
|
|
64
|
+
const SDK = __importStar(require("@fonoster/sdk"));
|
|
65
|
+
const core_1 = require("@oclif/core");
|
|
66
|
+
const AuthenticatedCommand_1 = require("../../AuthenticatedCommand");
|
|
67
|
+
class Regenerate extends AuthenticatedCommand_1.AuthenticatedCommand {
|
|
68
|
+
run() {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const { args } = yield this.parse(Regenerate);
|
|
71
|
+
const { ref } = args;
|
|
72
|
+
const client = yield this.createSdkClient();
|
|
73
|
+
const apiKeys = new SDK.ApiKeys(client);
|
|
74
|
+
const result = yield apiKeys.regenerateApiKey(ref);
|
|
75
|
+
this.log("Access Key created successfully!");
|
|
76
|
+
this.log(`Access Key ID: ${result.accessKeyId}`);
|
|
77
|
+
this.log(`Access Key Secret: ${result.accessKeySecret}`);
|
|
78
|
+
this.log("");
|
|
79
|
+
this.warn("This is the only time the Access Key Secret will be shown.\nPlease copy it and store it securely!");
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
Regenerate.description = "generate a new access key secret for an API key";
|
|
84
|
+
Regenerate.examples = ["<%= config.bin %> <%= command.id %>"];
|
|
85
|
+
Regenerate.args = {
|
|
86
|
+
ref: core_1.Args.string({
|
|
87
|
+
description: "the Application to update",
|
|
88
|
+
required: true
|
|
89
|
+
})
|
|
90
|
+
};
|
|
91
|
+
exports.default = Regenerate;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default class Create extends
|
|
3
|
-
static description
|
|
4
|
-
static examples: string[];
|
|
1
|
+
import { AuthenticatedCommand } from "../../AuthenticatedCommand";
|
|
2
|
+
export default class Create extends AuthenticatedCommand<typeof Create> {
|
|
3
|
+
static readonly description = "add a new Application to the active Workspace";
|
|
4
|
+
static readonly examples: string[];
|
|
5
5
|
run(): Promise<void>;
|
|
6
6
|
}
|
|
@@ -41,6 +41,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
41
41
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
42
|
});
|
|
43
43
|
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
44
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
48
|
/* eslint-disable import/no-unresolved */
|
|
46
49
|
/*
|
|
@@ -63,18 +66,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
63
66
|
*/
|
|
64
67
|
const SDK = __importStar(require("@fonoster/sdk"));
|
|
65
68
|
const prompts_1 = require("@inquirer/prompts");
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
class Create extends BaseCommand_1.BaseCommand {
|
|
69
|
+
const AuthenticatedCommand_1 = require("../../AuthenticatedCommand");
|
|
70
|
+
const errorHandler_1 = __importDefault(require("../../errorHandler"));
|
|
71
|
+
class Create extends AuthenticatedCommand_1.AuthenticatedCommand {
|
|
70
72
|
run() {
|
|
71
73
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
const { flags } = yield this.parse(Create);
|
|
73
|
-
const workspaces = (0, config_1.getConfig)(constants_1.CONFIG_FILE);
|
|
74
|
-
const currentWorkspace = workspaces.find((w) => w.active);
|
|
75
|
-
if (!currentWorkspace) {
|
|
76
|
-
this.error("No active workspace found.");
|
|
77
|
-
}
|
|
78
74
|
this.log("This utility will help you create an Application.");
|
|
79
75
|
this.log("Press ^C at any time to quit.");
|
|
80
76
|
const answers = {
|
|
@@ -143,22 +139,17 @@ class Create extends BaseCommand_1.BaseCommand {
|
|
|
143
139
|
return;
|
|
144
140
|
}
|
|
145
141
|
try {
|
|
146
|
-
const client =
|
|
147
|
-
endpoint: currentWorkspace.endpoint,
|
|
148
|
-
accessKeyId: `WO${currentWorkspace.workspaceRef.replaceAll("-", "")}`,
|
|
149
|
-
allowInsecure: flags.insecure
|
|
150
|
-
});
|
|
151
|
-
yield client.loginWithApiKey(currentWorkspace.accessKeyId, currentWorkspace.accessKeySecret);
|
|
142
|
+
const client = yield this.createSdkClient();
|
|
152
143
|
const applications = new SDK.Applications(client);
|
|
153
144
|
yield applications.createApplication(answers);
|
|
154
145
|
this.log("Done!");
|
|
155
146
|
}
|
|
156
147
|
catch (e) {
|
|
157
|
-
this.error(
|
|
148
|
+
(0, errorHandler_1.default)(e, this.error.bind(this));
|
|
158
149
|
}
|
|
159
150
|
});
|
|
160
151
|
}
|
|
161
152
|
}
|
|
162
|
-
Create.description = "
|
|
153
|
+
Create.description = "add a new Application to the active Workspace";
|
|
163
154
|
Create.examples = ["<%= config.bin %> <%= command.id %>"];
|
|
164
155
|
exports.default = Create;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default class Delete extends
|
|
3
|
-
static description
|
|
4
|
-
static examples: string[];
|
|
5
|
-
static args: {
|
|
1
|
+
import { AuthenticatedCommand } from "../../AuthenticatedCommand";
|
|
2
|
+
export default class Delete extends AuthenticatedCommand<typeof Delete> {
|
|
3
|
+
static readonly description = "delete an Application from the active Workspace";
|
|
4
|
+
static readonly examples: string[];
|
|
5
|
+
static readonly args: {
|
|
6
6
|
ref: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
run(): Promise<void>;
|