apipay 0.6.0 → 0.7.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/dist/commands/pay/remove.d.ts +1 -1
- package/dist/commands/pay/remove.js +11 -11
- package/dist/commands/pay/remove.js.map +1 -1
- package/dist/commands/setup.d.ts +5 -7
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +120 -123
- package/dist/commands/setup.js.map +1 -1
- package/dist/lib/config.d.ts +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +4 -1
- package/dist/lib/config.js.map +1 -1
- package/package.json +1 -1
- package/oclif.manifest.json +0 -1156
|
@@ -3,7 +3,7 @@ export default class PayRemove extends ApiKeyCommand {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static args: {
|
|
6
|
-
|
|
6
|
+
cuid: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
run(): Promise<void>;
|
|
9
9
|
}
|
|
@@ -7,22 +7,22 @@ export default class PayRemove extends ApiKeyCommand {
|
|
|
7
7
|
static description = "Remove a payment link (payment request)";
|
|
8
8
|
static examples = [
|
|
9
9
|
"<%= config.bin %> pay:remove",
|
|
10
|
-
"<%= config.bin %> pay:remove
|
|
10
|
+
"<%= config.bin %> pay:remove ckabcdef1234567890",
|
|
11
11
|
];
|
|
12
12
|
static args = {
|
|
13
|
-
|
|
14
|
-
description: "
|
|
13
|
+
cuid: Args.string({
|
|
14
|
+
description: "CUID of the payment link to remove",
|
|
15
15
|
required: false,
|
|
16
16
|
}),
|
|
17
17
|
};
|
|
18
18
|
async run() {
|
|
19
19
|
const { args } = await this.parse(PayRemove);
|
|
20
|
-
let
|
|
20
|
+
let cuid = args.cuid;
|
|
21
21
|
console.log("");
|
|
22
22
|
console.log(chalk.bold(" Remove Payment Link"));
|
|
23
23
|
console.log(chalk.gray(" ───────────────────"));
|
|
24
24
|
console.log("");
|
|
25
|
-
if (!
|
|
25
|
+
if (!cuid) {
|
|
26
26
|
this.spinner.start("Fetching payment links...");
|
|
27
27
|
try {
|
|
28
28
|
const result = await this.api.get("/client/payment-requests", "apikey");
|
|
@@ -36,7 +36,7 @@ export default class PayRemove extends ApiKeyCommand {
|
|
|
36
36
|
console.log(chalk.gray("No payment links found. Nothing to remove."));
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
cuid = await select({
|
|
40
40
|
message: "Select a payment link to remove:",
|
|
41
41
|
choices: prs.map((pr) => ({
|
|
42
42
|
value: maskLongString(pr.publicId),
|
|
@@ -49,18 +49,18 @@ export default class PayRemove extends ApiKeyCommand {
|
|
|
49
49
|
this.handleError(error);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
if (!
|
|
52
|
+
if (!cuid)
|
|
53
53
|
return;
|
|
54
|
-
this.spinner.start(`Removing payment link ${
|
|
54
|
+
this.spinner.start(`Removing payment link ${cuid.substring(0, 8)}...`);
|
|
55
55
|
try {
|
|
56
|
-
await this.api.delete(`/client/payment-requests/${
|
|
56
|
+
await this.api.delete(`/client/payment-requests/${cuid}`, "apikey");
|
|
57
57
|
this.spinner.succeed("Payment link removed successfully!");
|
|
58
58
|
if (this.jsonOutput) {
|
|
59
|
-
this.outputJson({ success: true, removedId:
|
|
59
|
+
this.outputJson({ success: true, removedId: cuid });
|
|
60
60
|
}
|
|
61
61
|
else {
|
|
62
62
|
console.log("");
|
|
63
|
-
success(`Removed payment link ${chalk.cyan(
|
|
63
|
+
success(`Removed payment link ${chalk.cyan(cuid)}`);
|
|
64
64
|
console.log("");
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/commands/pay/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAC,MAAM,yBAAyB,CAAC;AAEhF,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,aAAa;IACnD,MAAM,CAAU,WAAW,GAAG,yCAAyC,CAAC;IAExE,MAAM,CAAU,QAAQ,GAAG;QAC1B,8BAA8B;QAC9B,
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/commands/pay/remove.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/setup.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { BaseCommand } from "../lib/base-command.js";
|
|
2
2
|
/**
|
|
3
3
|
* `apipay setup` — Guided setup wizard.
|
|
4
|
-
* Walks
|
|
5
|
-
* 1. Login (
|
|
6
|
-
* 2. Generate API key
|
|
7
|
-
* 3. Add bank account
|
|
8
|
-
* 4. Register webhook
|
|
9
|
-
*
|
|
10
|
-
* Resumes from the last incomplete step automatically.
|
|
4
|
+
* Walks users through the complete setup flow every time:
|
|
5
|
+
* 1. Login (skipped only if already authenticated)
|
|
6
|
+
* 2. Generate / confirm API key (always refetched from API)
|
|
7
|
+
* 3. Add bank account (always refetched from API)
|
|
8
|
+
* 4. Register webhook (always refetched from API)
|
|
11
9
|
*/
|
|
12
10
|
export default class Setup extends BaseCommand {
|
|
13
11
|
static description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAuBnD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC7C,OAAgB,WAAW,SAC0D;IAErF,OAAgB,QAAQ,WAA+B;IAEjD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAsKZ,iBAAiB;YAgBjB,kBAAkB;IAYhC,OAAO,CAAC,cAAc;CActB"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import { BaseCommand } from "../lib/base-command.js";
|
|
3
|
-
import {
|
|
3
|
+
import { getAuth, getApiKey, isLoggedIn, markStepComplete } from "../lib/config.js";
|
|
4
4
|
import { SETUP_STEPS } from "../lib/constants.js";
|
|
5
5
|
import { banner, createTable, info, kvLine, maskAccountNumber, maskLongString, statusBadge, stepLabel, success, } from "../lib/formatters.js";
|
|
6
6
|
import { promptConfirm } from "../lib/prompts.js";
|
|
@@ -12,13 +12,11 @@ import PayCreate from "./pay/create.js";
|
|
|
12
12
|
import WebhooksAdd from "./webhooks/add.js";
|
|
13
13
|
/**
|
|
14
14
|
* `apipay setup` — Guided setup wizard.
|
|
15
|
-
* Walks
|
|
16
|
-
* 1. Login (
|
|
17
|
-
* 2. Generate API key
|
|
18
|
-
* 3. Add bank account
|
|
19
|
-
* 4. Register webhook
|
|
20
|
-
*
|
|
21
|
-
* Resumes from the last incomplete step automatically.
|
|
15
|
+
* Walks users through the complete setup flow every time:
|
|
16
|
+
* 1. Login (skipped only if already authenticated)
|
|
17
|
+
* 2. Generate / confirm API key (always refetched from API)
|
|
18
|
+
* 3. Add bank account (always refetched from API)
|
|
19
|
+
* 4. Register webhook (always refetched from API)
|
|
22
20
|
*/
|
|
23
21
|
export default class Setup extends BaseCommand {
|
|
24
22
|
static description = "Set up ApiPay interactively — login, generate API key, add bank, register webhook";
|
|
@@ -26,133 +24,133 @@ export default class Setup extends BaseCommand {
|
|
|
26
24
|
async run() {
|
|
27
25
|
banner();
|
|
28
26
|
console.log(chalk.gray("Initializing ApiPay SDK..."));
|
|
29
|
-
|
|
30
|
-
const nextStep = getNextIncompleteStep();
|
|
31
|
-
if (!nextStep) {
|
|
32
|
-
await this.printFinalSummary();
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
if (completed.length > 0) {
|
|
36
|
-
info(`Resuming setup from step ${completed.length + 1}/${SETUP_STEPS.length}...`);
|
|
37
|
-
await this.printChecklist(completed);
|
|
38
|
-
console.log("");
|
|
39
|
-
}
|
|
27
|
+
console.log("");
|
|
40
28
|
const totalSteps = SETUP_STEPS.length;
|
|
41
|
-
// Step 1: Login
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
console.log(chalk.gray(" Sign in to your account or create a new one at https://my.apipay.vn/signup \n"));
|
|
45
|
-
await Login.run([]);
|
|
46
|
-
console.log("");
|
|
47
|
-
}
|
|
48
|
-
// Step 2: API Key
|
|
49
|
-
if (!completed.includes("api-key")) {
|
|
50
|
-
if (!isLoggedIn()) {
|
|
51
|
-
this.error("Login is required before proceeding. Run `apipay login` first.", { exit: 1 });
|
|
52
|
-
}
|
|
53
|
-
console.log(stepLabel(2, totalSteps, "Generate API Key"));
|
|
54
|
-
console.log(chalk.gray(" Create an API key to authenticate your integration.\n"));
|
|
55
|
-
await KeysCreate.run([]);
|
|
56
|
-
console.log("");
|
|
57
|
-
}
|
|
58
|
-
// Step 3: Add Bank
|
|
59
|
-
if (!completed.includes("bank")) {
|
|
60
|
-
if (!getApiKey()) {
|
|
61
|
-
this.error("API key is required. Run `apipay keys:create` first.", {
|
|
62
|
-
exit: 1,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
console.log(stepLabel(3, totalSteps, "Add Bank Account"));
|
|
66
|
-
console.log(chalk.gray(" Connect a bank account to start receiving payments.\n"));
|
|
67
|
-
// Check for existing bank accounts first
|
|
68
|
-
let existingBanks = [];
|
|
29
|
+
// Step 1: Login — skip only if token is valid (verified via /me)
|
|
30
|
+
let tokenValid = false;
|
|
31
|
+
if (isLoggedIn()) {
|
|
69
32
|
try {
|
|
70
|
-
this.spinner.start("
|
|
71
|
-
const data = await this.api.
|
|
72
|
-
|
|
73
|
-
? data
|
|
74
|
-
: (data?.message ?? data?.data ?? data ?? []);
|
|
75
|
-
if (!Array.isArray(existingBanks))
|
|
76
|
-
existingBanks = [];
|
|
33
|
+
this.spinner.start("Verifying session...");
|
|
34
|
+
const data = await this.api.post("/auth/me", undefined, "jwt");
|
|
35
|
+
const user = data?.data ?? data;
|
|
77
36
|
this.spinner.stop();
|
|
37
|
+
const name = user?.name ?? user?.email ?? getAuth()?.email ?? "there";
|
|
38
|
+
info(`✓ Welcome back, ${chalk.cyan(name)}!`);
|
|
39
|
+
console.log("");
|
|
40
|
+
tokenValid = true;
|
|
78
41
|
}
|
|
79
42
|
catch {
|
|
80
43
|
this.spinner.stop();
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
if (existingBanks.length > 0) {
|
|
84
|
-
info(`You already have ${existingBanks.length} bank account(s):`);
|
|
44
|
+
info("Session expired. Please log in again.");
|
|
85
45
|
console.log("");
|
|
86
|
-
for (const b of existingBanks) {
|
|
87
|
-
kvLine(`${b.bankShortName ?? b.bankName ?? "—"} ${maskAccountNumber(b.accountNumber ?? "")}`, statusBadge(b.status ?? "UNKNOWN"));
|
|
88
|
-
}
|
|
89
|
-
console.log("");
|
|
90
|
-
const addAnother = await promptConfirm("Would you like to add another bank account?", false);
|
|
91
|
-
if (addAnother) {
|
|
92
|
-
await BanksAdd.run([]);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
markStepComplete("bank");
|
|
96
|
-
success("Using existing bank account.");
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
await BanksAdd.run([]);
|
|
101
46
|
}
|
|
47
|
+
}
|
|
48
|
+
if (!tokenValid) {
|
|
49
|
+
console.log(stepLabel(1, totalSteps, "Authenticate with ApiPay"));
|
|
50
|
+
console.log(chalk.gray(" Sign in to your account or create a new one at https://my.apipay.vn/signup \n"));
|
|
51
|
+
await Login.run([]);
|
|
102
52
|
console.log("");
|
|
103
53
|
}
|
|
104
|
-
// Step
|
|
105
|
-
if (!
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
54
|
+
// Step 2: API Key — always refetch and allow create/keep
|
|
55
|
+
if (!isLoggedIn()) {
|
|
56
|
+
this.error("Login is required before proceeding. Run `apipay login` first.", { exit: 1 });
|
|
57
|
+
}
|
|
58
|
+
console.log(stepLabel(2, totalSteps, "Generate API Key"));
|
|
59
|
+
console.log(chalk.gray(" Create an API key to authenticate your integration.\n"));
|
|
60
|
+
await KeysCreate.run([]);
|
|
61
|
+
console.log("");
|
|
62
|
+
// Step 3: Add Bank — always refetch from API
|
|
63
|
+
if (!getApiKey()) {
|
|
64
|
+
this.error("API key is required. Run `apipay keys:create` first.", {
|
|
65
|
+
exit: 1,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
console.log(stepLabel(3, totalSteps, "Add Bank Account"));
|
|
69
|
+
console.log(chalk.gray(" Connect a bank account to start receiving payments.\n"));
|
|
70
|
+
let existingBanks = [];
|
|
71
|
+
try {
|
|
72
|
+
this.spinner.start("Checking existing bank accounts...");
|
|
73
|
+
const data = await this.api.get("/client/banks", "apikey");
|
|
74
|
+
existingBanks = Array.isArray(data)
|
|
75
|
+
? data
|
|
76
|
+
: (data?.message ?? data?.data ?? data ?? []);
|
|
77
|
+
if (!Array.isArray(existingBanks))
|
|
78
|
+
existingBanks = [];
|
|
79
|
+
this.spinner.stop();
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
this.spinner.stop();
|
|
83
|
+
// Non-fatal: proceed to add flow if fetch fails
|
|
84
|
+
}
|
|
85
|
+
if (existingBanks.length > 0) {
|
|
86
|
+
info(`You already have ${existingBanks.length} bank account(s):`);
|
|
87
|
+
console.log("");
|
|
88
|
+
for (const b of existingBanks) {
|
|
89
|
+
kvLine(`${b.bankShortName ?? b.bankName ?? "—"} ${maskAccountNumber(b.accountNumber ?? "")}`, statusBadge(b.status ?? "UNKNOWN"));
|
|
110
90
|
}
|
|
111
|
-
console.log(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
try {
|
|
116
|
-
this.spinner.start("Checking existing webhooks...");
|
|
117
|
-
const data = await this.api.get("/client/webhooks", "apikey");
|
|
118
|
-
existingWebhooks = Array.isArray(data)
|
|
119
|
-
? data
|
|
120
|
-
: (data?.data ?? data ?? []);
|
|
121
|
-
if (!Array.isArray(existingWebhooks))
|
|
122
|
-
existingWebhooks = [];
|
|
123
|
-
this.spinner.stop();
|
|
91
|
+
console.log("");
|
|
92
|
+
const addAnother = await promptConfirm("Would you like to add another bank account?", false);
|
|
93
|
+
if (addAnother) {
|
|
94
|
+
await BanksAdd.run([]);
|
|
124
95
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
96
|
+
else {
|
|
97
|
+
markStepComplete("bank");
|
|
98
|
+
success("Using existing bank account.");
|
|
128
99
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
await BanksAdd.run([]);
|
|
103
|
+
}
|
|
104
|
+
console.log("");
|
|
105
|
+
// Step 4: Add Webhook — always refetch from API
|
|
106
|
+
if (!getApiKey()) {
|
|
107
|
+
this.error("API key is required. Run `apipay keys:create` first.", {
|
|
108
|
+
exit: 1,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
console.log(stepLabel(4, totalSteps, "Register Webhook"));
|
|
112
|
+
console.log(chalk.gray(" Set up a webhook to receive transaction notifications.\n"));
|
|
113
|
+
let existingWebhooks = [];
|
|
114
|
+
try {
|
|
115
|
+
this.spinner.start("Checking existing webhooks...");
|
|
116
|
+
const data = await this.api.get("/client/webhooks", "apikey");
|
|
117
|
+
existingWebhooks = Array.isArray(data)
|
|
118
|
+
? data
|
|
119
|
+
: (data?.data ?? data ?? []);
|
|
120
|
+
if (!Array.isArray(existingWebhooks))
|
|
121
|
+
existingWebhooks = [];
|
|
122
|
+
this.spinner.stop();
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
this.spinner.stop();
|
|
126
|
+
// Non-fatal: proceed to add flow if fetch fails
|
|
127
|
+
}
|
|
128
|
+
if (existingWebhooks.length > 0) {
|
|
129
|
+
info(`You already have ${existingWebhooks.length} webhook(s):`);
|
|
130
|
+
console.log("");
|
|
131
|
+
const table = createTable(["URL", "Type", "Status", "Bank"], existingWebhooks.map((w) => [
|
|
132
|
+
w.webhookUrl ? maskLongString(w.webhookUrl) : "—",
|
|
133
|
+
w.type ?? "—",
|
|
134
|
+
statusBadge(w.isActive ? "ACTIVE" : "INACTIVE"),
|
|
135
|
+
w.bankAccount?.bankShortName
|
|
136
|
+
? `${w.bankAccount.bankShortName} ${maskAccountNumber(w.bankAccount.accountNumber ?? "")}`
|
|
137
|
+
: "—",
|
|
138
|
+
]));
|
|
139
|
+
console.log(table);
|
|
140
|
+
console.log("");
|
|
141
|
+
const addAnother = await promptConfirm("Would you like to add another webhook?", false);
|
|
142
|
+
if (addAnother) {
|
|
143
|
+
await WebhooksAdd.run([]);
|
|
150
144
|
}
|
|
151
145
|
else {
|
|
152
|
-
|
|
146
|
+
markStepComplete("webhook");
|
|
147
|
+
success("Using existing webhook.");
|
|
153
148
|
}
|
|
154
|
-
console.log("");
|
|
155
149
|
}
|
|
150
|
+
else {
|
|
151
|
+
await WebhooksAdd.run([]);
|
|
152
|
+
}
|
|
153
|
+
console.log("");
|
|
156
154
|
await this.printFinalSummary();
|
|
157
155
|
}
|
|
158
156
|
async printFinalSummary() {
|
|
@@ -161,7 +159,7 @@ export default class Setup extends BaseCommand {
|
|
|
161
159
|
console.log(chalk.green.bold(" ║ ✓ Setup Complete! ║"));
|
|
162
160
|
console.log(chalk.green.bold(" ╚══════════════════════════════════════╝"));
|
|
163
161
|
console.log("");
|
|
164
|
-
this.printChecklist(
|
|
162
|
+
this.printChecklist();
|
|
165
163
|
console.log("");
|
|
166
164
|
info(`Dashboard: ${chalk.underline.cyan("https://my.apipay.vn")}`);
|
|
167
165
|
info(`Docs: ${chalk.underline.cyan("https://docs.apipay.vn")}`);
|
|
@@ -176,7 +174,7 @@ export default class Setup extends BaseCommand {
|
|
|
176
174
|
await PayCreate.run([]);
|
|
177
175
|
}
|
|
178
176
|
}
|
|
179
|
-
printChecklist(
|
|
177
|
+
printChecklist() {
|
|
180
178
|
const labels = {
|
|
181
179
|
login: "Login",
|
|
182
180
|
"api-key": "API Key",
|
|
@@ -184,9 +182,8 @@ export default class Setup extends BaseCommand {
|
|
|
184
182
|
webhook: "Webhook",
|
|
185
183
|
};
|
|
186
184
|
for (const step of SETUP_STEPS) {
|
|
187
|
-
const
|
|
188
|
-
const
|
|
189
|
-
const label = done ? chalk.white(labels[step]) : chalk.gray(labels[step]);
|
|
185
|
+
const icon = chalk.green("✓");
|
|
186
|
+
const label = chalk.white(labels[step]);
|
|
190
187
|
console.log(` ${icon} ${label}`);
|
|
191
188
|
}
|
|
192
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export interface CliConfig {
|
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Get the singleton config store.
|
|
36
|
-
* Persists to ~/.config/apipay/config.json
|
|
36
|
+
* Persists to ~/.config/apipay/config.json
|
|
37
37
|
*/
|
|
38
38
|
export declare function getStore(): Conf<CliConfig>;
|
|
39
39
|
export declare function getAuth(): AuthConfig | undefined;
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAA8B,KAAK,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE;QACN,cAAc,EAAE,SAAS,EAAE,CAAC;KAC5B,CAAC;CACF;AA6CD;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAS1C;AAID,wBAAgB,OAAO,IAAI,UAAU,GAAG,SAAS,CAEhD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAG9C;AAED,wBAAgB,SAAS,IAAI,IAAI,CAGhC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAID,wBAAgB,SAAS,IAAI,YAAY,GAAG,SAAS,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAGjD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAID,wBAAgB,iBAAiB,IAAI,SAAS,EAAE,CAK/C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAMtD;AAED,wBAAgB,qBAAqB,IAAI,SAAS,GAAG,IAAI,CAIxD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAMtC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAMxC;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAE/B"}
|
package/dist/lib/config.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import Conf from "conf";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import os from "node:os";
|
|
2
4
|
import { API_BASE_URL, DASHBOARD_URL } from "./constants.js";
|
|
3
5
|
const schema = {
|
|
4
6
|
apiBaseUrl: {
|
|
@@ -43,12 +45,13 @@ const schema = {
|
|
|
43
45
|
let _store = null;
|
|
44
46
|
/**
|
|
45
47
|
* Get the singleton config store.
|
|
46
|
-
* Persists to ~/.config/apipay/config.json
|
|
48
|
+
* Persists to ~/.config/apipay/config.json
|
|
47
49
|
*/
|
|
48
50
|
export function getStore() {
|
|
49
51
|
if (!_store) {
|
|
50
52
|
_store = new Conf({
|
|
51
53
|
projectName: "apipay",
|
|
54
|
+
cwd: path.join(os.homedir(), ".config", "apipay"),
|
|
52
55
|
schema,
|
|
53
56
|
});
|
|
54
57
|
}
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|