apipay 0.1.0 → 0.3.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.
Files changed (139) hide show
  1. package/README.md +2 -7
  2. package/bin/dev.js +2 -0
  3. package/dist/commands/banks/add.d.ts +1 -1
  4. package/dist/commands/banks/add.d.ts.map +1 -1
  5. package/dist/commands/banks/add.js +43 -43
  6. package/dist/commands/banks/add.js.map +1 -1
  7. package/dist/commands/banks/list.d.ts +1 -1
  8. package/dist/commands/banks/list.d.ts.map +1 -1
  9. package/dist/commands/banks/list.js +19 -17
  10. package/dist/commands/banks/list.js.map +1 -1
  11. package/dist/commands/banks/remove-unconfirmed.d.ts +7 -0
  12. package/dist/commands/banks/remove-unconfirmed.d.ts.map +1 -0
  13. package/dist/commands/banks/remove-unconfirmed.js +41 -0
  14. package/dist/commands/banks/remove-unconfirmed.js.map +1 -0
  15. package/dist/commands/banks/remove.d.ts +1 -1
  16. package/dist/commands/banks/remove.d.ts.map +1 -1
  17. package/dist/commands/banks/remove.js +19 -19
  18. package/dist/commands/banks/remove.js.map +1 -1
  19. package/dist/commands/banks/toggle.d.ts +1 -1
  20. package/dist/commands/banks/toggle.d.ts.map +1 -1
  21. package/dist/commands/banks/toggle.js +13 -13
  22. package/dist/commands/banks/toggle.js.map +1 -1
  23. package/dist/commands/config/get.d.ts +1 -1
  24. package/dist/commands/config/get.d.ts.map +1 -1
  25. package/dist/commands/config/get.js +15 -12
  26. package/dist/commands/config/get.js.map +1 -1
  27. package/dist/commands/config/reset.d.ts +1 -1
  28. package/dist/commands/config/reset.d.ts.map +1 -1
  29. package/dist/commands/config/reset.js +12 -12
  30. package/dist/commands/config/reset.js.map +1 -1
  31. package/dist/commands/config/set.d.ts +2 -2
  32. package/dist/commands/config/set.d.ts.map +1 -1
  33. package/dist/commands/config/set.js +14 -13
  34. package/dist/commands/config/set.js.map +1 -1
  35. package/dist/commands/keys/create.d.ts +1 -1
  36. package/dist/commands/keys/create.d.ts.map +1 -1
  37. package/dist/commands/keys/create.js +43 -32
  38. package/dist/commands/keys/create.js.map +1 -1
  39. package/dist/commands/keys/list.d.ts +1 -1
  40. package/dist/commands/keys/list.d.ts.map +1 -1
  41. package/dist/commands/keys/list.js +15 -15
  42. package/dist/commands/keys/list.js.map +1 -1
  43. package/dist/commands/keys/revoke.d.ts +1 -1
  44. package/dist/commands/keys/revoke.d.ts.map +1 -1
  45. package/dist/commands/keys/revoke.js +25 -22
  46. package/dist/commands/keys/revoke.js.map +1 -1
  47. package/dist/commands/login.d.ts +2 -2
  48. package/dist/commands/login.d.ts.map +1 -1
  49. package/dist/commands/login.js +67 -56
  50. package/dist/commands/login.js.map +1 -1
  51. package/dist/commands/logout.d.ts +1 -1
  52. package/dist/commands/logout.d.ts.map +1 -1
  53. package/dist/commands/logout.js +12 -12
  54. package/dist/commands/logout.js.map +1 -1
  55. package/dist/commands/metrics/summary.d.ts +1 -1
  56. package/dist/commands/metrics/summary.d.ts.map +1 -1
  57. package/dist/commands/metrics/summary.js +17 -17
  58. package/dist/commands/metrics/summary.js.map +1 -1
  59. package/dist/commands/metrics/transactions.d.ts +1 -1
  60. package/dist/commands/metrics/transactions.d.ts.map +1 -1
  61. package/dist/commands/metrics/transactions.js +23 -20
  62. package/dist/commands/metrics/transactions.js.map +1 -1
  63. package/dist/commands/{init.d.ts → setup.d.ts} +4 -4
  64. package/dist/commands/setup.d.ts.map +1 -0
  65. package/dist/commands/setup.js +189 -0
  66. package/dist/commands/setup.js.map +1 -0
  67. package/dist/commands/status.d.ts +1 -1
  68. package/dist/commands/status.d.ts.map +1 -1
  69. package/dist/commands/status.js +45 -45
  70. package/dist/commands/status.js.map +1 -1
  71. package/dist/commands/webhooks/add.d.ts +1 -1
  72. package/dist/commands/webhooks/add.d.ts.map +1 -1
  73. package/dist/commands/webhooks/add.js +34 -32
  74. package/dist/commands/webhooks/add.js.map +1 -1
  75. package/dist/commands/webhooks/history.d.ts +1 -1
  76. package/dist/commands/webhooks/history.d.ts.map +1 -1
  77. package/dist/commands/webhooks/history.js +19 -17
  78. package/dist/commands/webhooks/history.js.map +1 -1
  79. package/dist/commands/webhooks/list.d.ts +1 -1
  80. package/dist/commands/webhooks/list.d.ts.map +1 -1
  81. package/dist/commands/webhooks/list.js +16 -16
  82. package/dist/commands/webhooks/list.js.map +1 -1
  83. package/dist/commands/webhooks/remove.d.ts +1 -1
  84. package/dist/commands/webhooks/remove.d.ts.map +1 -1
  85. package/dist/commands/webhooks/remove.js +14 -14
  86. package/dist/commands/webhooks/remove.js.map +1 -1
  87. package/dist/commands/webhooks/resend.d.ts +1 -1
  88. package/dist/commands/webhooks/resend.d.ts.map +1 -1
  89. package/dist/commands/webhooks/resend.js +20 -11
  90. package/dist/commands/webhooks/resend.js.map +1 -1
  91. package/dist/commands/webhooks/toggle.d.ts +1 -1
  92. package/dist/commands/webhooks/toggle.d.ts.map +1 -1
  93. package/dist/commands/webhooks/toggle.js +12 -12
  94. package/dist/commands/webhooks/toggle.js.map +1 -1
  95. package/dist/commands/webhooks/update.d.ts +1 -1
  96. package/dist/commands/webhooks/update.d.ts.map +1 -1
  97. package/dist/commands/webhooks/update.js +17 -17
  98. package/dist/commands/webhooks/update.js.map +1 -1
  99. package/dist/commands/whoami.d.ts +1 -1
  100. package/dist/commands/whoami.d.ts.map +1 -1
  101. package/dist/commands/whoami.js +18 -18
  102. package/dist/commands/whoami.js.map +1 -1
  103. package/dist/index.d.ts +1 -1
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +1 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/lib/api-client.d.ts +1 -1
  108. package/dist/lib/api-client.d.ts.map +1 -1
  109. package/dist/lib/api-client.js +39 -34
  110. package/dist/lib/api-client.js.map +1 -1
  111. package/dist/lib/base-command.d.ts +3 -3
  112. package/dist/lib/base-command.d.ts.map +1 -1
  113. package/dist/lib/base-command.js +10 -10
  114. package/dist/lib/base-command.js.map +1 -1
  115. package/dist/lib/config.d.ts +4 -2
  116. package/dist/lib/config.d.ts.map +1 -1
  117. package/dist/lib/config.js +44 -34
  118. package/dist/lib/config.js.map +1 -1
  119. package/dist/lib/constants.d.ts +1 -1
  120. package/dist/lib/constants.d.ts.map +1 -1
  121. package/dist/lib/constants.js +11 -11
  122. package/dist/lib/constants.js.map +1 -1
  123. package/dist/lib/formatters.d.ts +4 -0
  124. package/dist/lib/formatters.d.ts.map +1 -1
  125. package/dist/lib/formatters.js +49 -37
  126. package/dist/lib/formatters.js.map +1 -1
  127. package/dist/lib/prompts.d.ts +1 -0
  128. package/dist/lib/prompts.d.ts.map +1 -1
  129. package/dist/lib/prompts.js +33 -18
  130. package/dist/lib/prompts.js.map +1 -1
  131. package/dist/lib/validators.d.ts +1 -0
  132. package/dist/lib/validators.d.ts.map +1 -1
  133. package/dist/lib/validators.js +51 -30
  134. package/dist/lib/validators.js.map +1 -1
  135. package/oclif.manifest.json +78 -43
  136. package/package.json +93 -82
  137. package/dist/commands/init.d.ts.map +0 -1
  138. package/dist/commands/init.js +0 -109
  139. package/dist/commands/init.js.map +0 -1
@@ -0,0 +1,189 @@
1
+ import chalk from "chalk";
2
+ import { BaseCommand } from "../lib/base-command.js";
3
+ import { getApiKey, getCompletedSteps, getNextIncompleteStep, isLoggedIn, markStepComplete, } from "../lib/config.js";
4
+ import { SETUP_STEPS } from "../lib/constants.js";
5
+ import { banner, createTable, info, kvLine, maskAccountNumber, maskLongString, statusBadge, stepLabel, success, } from "../lib/formatters.js";
6
+ import { promptConfirm } from "../lib/prompts.js";
7
+ // Import command runners
8
+ import BanksAdd from "./banks/add.js";
9
+ import KeysCreate from "./keys/create.js";
10
+ import Login from "./login.js";
11
+ import WebhooksAdd from "./webhooks/add.js";
12
+ /**
13
+ * `apipay setup` — Guided setup wizard.
14
+ * Walks new users through the complete setup flow:
15
+ * 1. Login (magic link or password)
16
+ * 2. Generate API key
17
+ * 3. Add bank account
18
+ * 4. Register webhook
19
+ *
20
+ * Resumes from the last incomplete step automatically.
21
+ */
22
+ export default class Setup extends BaseCommand {
23
+ static description = "Set up ApiPay interactively — login, generate API key, add bank, register webhook";
24
+ static examples = ["<%= config.bin %> setup"];
25
+ async run() {
26
+ banner();
27
+ console.log(chalk.gray("Initializing ApiPay SDK..."));
28
+ const completed = getCompletedSteps();
29
+ const nextStep = getNextIncompleteStep();
30
+ if (!nextStep) {
31
+ this.printChecklist(completed);
32
+ console.log("");
33
+ success("Setup is already complete! You're ready to receive payments.");
34
+ console.log("");
35
+ info(`Run ${chalk.cyan("apipay status")} to see your current configuration.`);
36
+ info(`Run ${chalk.cyan("apipay --help")} to explore all commands.`);
37
+ console.log("");
38
+ return;
39
+ }
40
+ if (completed.length > 0) {
41
+ info(`Resuming setup from step ${completed.length + 1}/${SETUP_STEPS.length}...`);
42
+ await this.printChecklist(completed);
43
+ console.log("");
44
+ }
45
+ const totalSteps = SETUP_STEPS.length;
46
+ // Step 1: Login
47
+ if (!completed.includes("login")) {
48
+ console.log(stepLabel(1, totalSteps, "Authenticate with ApiPay"));
49
+ console.log(chalk.gray(" Sign in to your account or create a new one at https://my.apipay.vn/signup \n"));
50
+ await Login.run([]);
51
+ console.log("");
52
+ }
53
+ // Step 2: API Key
54
+ if (!completed.includes("api-key")) {
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
+ }
63
+ // Step 3: Add Bank
64
+ if (!completed.includes("bank")) {
65
+ if (!getApiKey()) {
66
+ this.error("API key is required. Run `apipay keys:create` first.", {
67
+ exit: 1,
68
+ });
69
+ }
70
+ console.log(stepLabel(3, totalSteps, "Add Bank Account"));
71
+ console.log(chalk.gray(" Connect a bank account to start receiving payments.\n"));
72
+ // Check for existing bank accounts first
73
+ let existingBanks = [];
74
+ try {
75
+ this.spinner.start("Checking existing bank accounts...");
76
+ const data = await this.api.get("/client/banks", "apikey");
77
+ existingBanks = Array.isArray(data)
78
+ ? data
79
+ : (data?.message ?? data?.data ?? data ?? []);
80
+ if (!Array.isArray(existingBanks))
81
+ existingBanks = [];
82
+ this.spinner.stop();
83
+ }
84
+ catch {
85
+ this.spinner.stop();
86
+ // Non-fatal: proceed to add flow if fetch fails
87
+ }
88
+ if (existingBanks.length > 0) {
89
+ info(`You already have ${existingBanks.length} bank account(s):`);
90
+ console.log("");
91
+ for (const b of existingBanks) {
92
+ kvLine(`${b.bankShortName ?? b.bankName ?? "—"} ${maskAccountNumber(b.accountNumber ?? "")}`, statusBadge(b.status ?? "UNKNOWN"));
93
+ }
94
+ console.log("");
95
+ const addAnother = await promptConfirm("Would you like to add another bank account?", false);
96
+ if (addAnother) {
97
+ await BanksAdd.run([]);
98
+ }
99
+ else {
100
+ markStepComplete("bank");
101
+ success("Using existing bank account.");
102
+ }
103
+ }
104
+ else {
105
+ await BanksAdd.run([]);
106
+ }
107
+ console.log("");
108
+ }
109
+ // Step 4: Add Webhook
110
+ if (!completed.includes("webhook")) {
111
+ if (!getApiKey()) {
112
+ this.error("API key is required. Run `apipay keys:create` first.", {
113
+ exit: 1,
114
+ });
115
+ }
116
+ console.log(stepLabel(4, totalSteps, "Register Webhook"));
117
+ console.log(chalk.gray(" Set up a webhook to receive transaction notifications.\n"));
118
+ // Check for existing webhooks first
119
+ let existingWebhooks = [];
120
+ try {
121
+ this.spinner.start("Checking existing webhooks...");
122
+ const data = await this.api.get("/client/webhooks", "apikey");
123
+ existingWebhooks = Array.isArray(data)
124
+ ? data
125
+ : (data?.data ?? data ?? []);
126
+ if (!Array.isArray(existingWebhooks))
127
+ existingWebhooks = [];
128
+ this.spinner.stop();
129
+ }
130
+ catch {
131
+ this.spinner.stop();
132
+ // Non-fatal: proceed to add flow if fetch fails
133
+ }
134
+ if (existingWebhooks.length > 0) {
135
+ info(`You already have ${existingWebhooks.length} webhook(s):`);
136
+ console.log("");
137
+ const table = createTable(["URL", "Type", "Status", "Bank"], existingWebhooks.map((w) => [
138
+ w.webhookUrl ? maskLongString(w.webhookUrl) : "—",
139
+ w.type ?? "—",
140
+ statusBadge(w.isActive ? "ACTIVE" : "INACTIVE"),
141
+ w.bankAccount?.bankShortName
142
+ ? `${w.bankAccount.bankShortName} ${maskAccountNumber(w.bankAccount.accountNumber ?? "")}`
143
+ : "—",
144
+ ]));
145
+ console.log(table);
146
+ console.log("");
147
+ const addAnother = await promptConfirm("Would you like to add another webhook?", false);
148
+ if (addAnother) {
149
+ await WebhooksAdd.run([]);
150
+ }
151
+ else {
152
+ markStepComplete("webhook");
153
+ success("Using existing webhook.");
154
+ }
155
+ }
156
+ else {
157
+ await WebhooksAdd.run([]);
158
+ }
159
+ console.log("");
160
+ }
161
+ // Final summary
162
+ console.log("");
163
+ console.log(chalk.green.bold(" ╔══════════════════════════════════════╗"));
164
+ console.log(chalk.green.bold(" ║ ✓ Setup Complete! ║"));
165
+ console.log(chalk.green.bold(" ╚══════════════════════════════════════╝"));
166
+ console.log("");
167
+ this.printChecklist(getCompletedSteps());
168
+ console.log("");
169
+ info(`Dashboard: ${chalk.underline.cyan("https://my.apipay.vn")}`);
170
+ info(`Docs: ${chalk.underline.cyan("https://apipay.vn/docs")}`);
171
+ info(`Status: ${chalk.cyan("apipay status")}`);
172
+ console.log("");
173
+ }
174
+ printChecklist(completed) {
175
+ const labels = {
176
+ login: "Login",
177
+ "api-key": "API Key",
178
+ bank: "Bank account",
179
+ webhook: "Webhook",
180
+ };
181
+ for (const step of SETUP_STEPS) {
182
+ const done = completed.includes(step);
183
+ const icon = done ? chalk.green("✓") : chalk.gray("○");
184
+ const label = done ? chalk.white(labels[step]) : chalk.gray(labels[step]);
185
+ console.log(` ${icon} ${label}`);
186
+ }
187
+ }
188
+ }
189
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseCommand } from '../lib/base-command.js';
1
+ import { BaseCommand } from "../lib/base-command.js";
2
2
  export default class Status extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAYrD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,OAAgB,WAAW,SAAiD;IAE5E,OAAgB,QAAQ,WAAgC;IAElD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2F3B"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAUnD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC9C,OAAgB,WAAW,SAAiD;IAE5E,OAAgB,QAAQ,WAAgC;IAElD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkG1B"}
@@ -1,89 +1,89 @@
1
- import chalk from 'chalk';
2
- import { BaseCommand } from '../lib/base-command.js';
3
- import { isLoggedIn, getAuth, getApiKey, getCompletedSteps, getApiBaseUrl, } from '../lib/config.js';
4
- import { SETUP_STEPS } from '../lib/constants.js';
5
- import { kvLine, info } from '../lib/formatters.js';
1
+ import chalk from "chalk";
2
+ import { BaseCommand } from "../lib/base-command.js";
3
+ import { getApiKey, getAuth, getCompletedSteps, isLoggedIn, } from "../lib/config.js";
4
+ import { SETUP_STEPS } from "../lib/constants.js";
5
+ import { info, kvLine, maskSecret } from "../lib/formatters.js";
6
6
  export default class Status extends BaseCommand {
7
- static description = 'Show current setup status and configuration';
8
- static examples = ['<%= config.bin %> status'];
7
+ static description = "Show current setup status and configuration";
8
+ static examples = ["<%= config.bin %> status"];
9
9
  async run() {
10
10
  const auth = getAuth();
11
11
  const apiKey = getApiKey();
12
12
  const completed = getCompletedSteps();
13
13
  const allDone = SETUP_STEPS.every((s) => completed.includes(s));
14
- console.log('');
15
- console.log(chalk.bold(' ApiPay CLI Status'));
16
- console.log(chalk.gray(' ─────────────────'));
17
- console.log('');
14
+ console.log("");
15
+ console.log(chalk.bold(" ApiPay CLI Status"));
16
+ console.log(chalk.gray(" ─────────────────"));
17
+ console.log("");
18
18
  // Auth
19
19
  if (isLoggedIn() && auth) {
20
- kvLine('Login', `${chalk.green('')} ${auth.email}`);
20
+ kvLine("Login", `${chalk.green("")} ${auth.email}`);
21
21
  }
22
22
  else {
23
- kvLine('Login', `${chalk.red('')} Not logged in`);
23
+ kvLine("Login", `${chalk.red("")} Not logged in`);
24
24
  }
25
25
  // API Key
26
26
  if (apiKey?.accessKey) {
27
- kvLine('API Key', `${chalk.green('')} ${apiKey.accessKey.slice(0, 16)}...`);
27
+ kvLine("API Key", `${chalk.green("")} ${maskSecret(apiKey.accessKey)}`);
28
28
  }
29
29
  else {
30
- kvLine('API Key', `${chalk.red('')} Not configured`);
30
+ kvLine("API Key", `${chalk.red("")} Not configured`);
31
31
  }
32
32
  // Banks & Webhooks — fetch from API if authenticated
33
33
  if (apiKey?.accessKey && apiKey?.secretKey) {
34
34
  try {
35
- const bankData = await this.api.get('/client/banks', 'apikey');
36
- const banks = bankData?.data ?? bankData;
35
+ const bankData = await this.api.get("/client/banks", "apikey");
36
+ const banks = Array.isArray(bankData)
37
+ ? bankData
38
+ : (bankData?.message ?? bankData?.data ?? bankData);
37
39
  if (Array.isArray(banks)) {
38
- const active = banks.filter((b) => b.status === 'ACTIVE').length;
39
- const pending = banks.filter((b) => b.status === 'PENDING').length;
40
- kvLine('Banks', `${chalk.green('')} ${active} active${pending ? `, ${pending} pending` : ''}`);
40
+ const active = banks.filter((b) => b.status === "ACTIVE").length;
41
+ const pending = banks.filter((b) => b.status === "PENDING").length;
42
+ kvLine("Banks", `${chalk.green("")} ${active} active${pending ? `, ${pending} pending` : ""}`);
41
43
  }
42
44
  else {
43
- kvLine('Banks', `${chalk.gray('')} 0`);
45
+ kvLine("Banks", `${chalk.gray("")} 0`);
44
46
  }
45
47
  }
46
48
  catch {
47
- kvLine('Banks', chalk.gray('Unable to fetch'));
49
+ kvLine("Banks", chalk.gray("Unable to fetch"));
48
50
  }
49
51
  try {
50
- const whData = await this.api.get('/client/webhooks', 'apikey');
52
+ const whData = await this.api.get("/client/webhooks", "apikey");
51
53
  const webhooks = whData?.data ?? whData;
52
54
  if (Array.isArray(webhooks)) {
53
55
  const active = webhooks.filter((w) => w.isActive).length;
54
- kvLine('Webhooks', `${chalk.green('')} ${active} active`);
56
+ kvLine("Webhooks", `${chalk.green("")} ${active} active`);
55
57
  }
56
58
  else {
57
- kvLine('Webhooks', `${chalk.gray('')} 0`);
59
+ kvLine("Webhooks", `${chalk.gray("")} 0`);
58
60
  }
59
61
  }
60
62
  catch {
61
- kvLine('Webhooks', chalk.gray('Unable to fetch'));
63
+ kvLine("Webhooks", chalk.gray("Unable to fetch"));
62
64
  }
63
65
  }
64
66
  else {
65
- kvLine('Banks', `${chalk.gray('')} Requires API key`);
66
- kvLine('Webhooks', `${chalk.gray('')} Requires API key`);
67
+ kvLine("Banks", `${chalk.gray("")} Requires API key`);
68
+ kvLine("Webhooks", `${chalk.gray("")} Requires API key`);
67
69
  }
68
- console.log('');
70
+ console.log("");
69
71
  // Setup progress
70
- kvLine('Setup', allDone ? chalk.green('Complete') : `${completed.length}/${SETUP_STEPS.length} steps`);
71
- kvLine('API Endpoint', getApiBaseUrl());
72
- console.log('');
73
- if (!allDone) {
74
- const next = SETUP_STEPS.find((s) => !completed.includes(s));
75
- const hints = {
76
- login: 'apipay login',
77
- 'api-key': 'apipay keys:create',
78
- bank: 'apipay banks:add',
79
- webhook: 'apipay webhooks:add',
80
- };
81
- if (next) {
82
- info(`Next step: ${chalk.cyan(hints[next])}`);
83
- }
84
- info(`Or run ${chalk.cyan('apipay init')} to continue the guided setup.`);
85
- console.log('');
72
+ kvLine("Setup", allDone
73
+ ? chalk.green("Complete")
74
+ : `${completed.length}/${SETUP_STEPS.length} steps`);
75
+ const next = SETUP_STEPS.find((s) => !completed.includes(s));
76
+ const hints = {
77
+ login: "apipay login",
78
+ "api-key": "apipay keys:create",
79
+ bank: "apipay banks:add",
80
+ webhook: "apipay webhooks:add",
81
+ };
82
+ if (next) {
83
+ info(`Next step: ${chalk.cyan(hints[next])}`);
86
84
  }
85
+ info(`Or run ${chalk.cyan("apipay setup")} to continue the guided setup.`);
86
+ console.log("");
87
87
  if (this.jsonOutput) {
88
88
  this.outputJson({
89
89
  loggedIn: isLoggedIn(),
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ApiKeyCommand } from '../../lib/base-command.js';
1
+ import { ApiKeyCommand } from "../../lib/base-command.js";
2
2
  export default class WebhooksAdd extends ApiKeyCommand {
3
3
  static description: string;
4
4
  static examples: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/webhooks/add.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK1D,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;IACpD,OAAgB,WAAW,SAAsD;IAEjF,OAAgB,QAAQ,WAAsC;IAExD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwE3B"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/webhooks/add.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AASxD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;IACrD,OAAgB,WAAW,SACyB;IAEpD,OAAgB,QAAQ,WAAsC;IAExD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0E1B"}
@@ -1,29 +1,31 @@
1
- import chalk from 'chalk';
2
- import { ApiKeyCommand } from '../../lib/base-command.js';
3
- import { markStepComplete } from '../../lib/config.js';
4
- import { success, kvLine, warn } from '../../lib/formatters.js';
5
- import { promptWebhookUrl, promptWebhookType, promptBankFromList } from '../../lib/prompts.js';
1
+ import chalk from "chalk";
2
+ import { ApiKeyCommand } from "../../lib/base-command.js";
3
+ import { markStepComplete } from "../../lib/config.js";
4
+ import { kvLine, success, warn } from "../../lib/formatters.js";
5
+ import { promptBankFromList, promptWebhookType, promptWebhookUrl, } from "../../lib/prompts.js";
6
6
  export default class WebhooksAdd extends ApiKeyCommand {
7
- static description = 'Register a webhook for transaction notifications';
8
- static examples = ['<%= config.bin %> webhooks:add'];
7
+ static description = "Register a webhook for transaction notifications";
8
+ static examples = ["<%= config.bin %> webhooks:add"];
9
9
  async run() {
10
- console.log('');
11
- console.log(chalk.bold(' Add Webhook'));
12
- console.log(chalk.gray(' ──────────'));
13
- console.log('');
10
+ console.log("");
11
+ console.log(chalk.bold(" Add Webhook"));
12
+ console.log(chalk.gray(" ──────────"));
13
+ console.log("");
14
14
  // Step 1: Fetch banks to select from
15
- this.spinner.start('Loading your bank accounts...');
15
+ this.spinner.start("Loading your bank accounts...");
16
16
  let banks;
17
17
  try {
18
- const data = await this.api.get('/client/banks', 'apikey');
19
- banks = data?.data ?? data;
18
+ const data = await this.api.get("/client/banks", "apikey");
19
+ banks = Array.isArray(data)
20
+ ? data
21
+ : (data?.message ?? data?.data ?? data);
20
22
  this.spinner.stop();
21
23
  if (!Array.isArray(banks) || banks.length === 0) {
22
- this.error(`No bank accounts found. Run ${chalk.cyan('apipay banks:add')} first.`, { exit: 1 });
24
+ this.error(`No bank accounts found. Run ${chalk.cyan("apipay banks:add")} first.`, { exit: 1 });
23
25
  }
24
26
  }
25
27
  catch (error) {
26
- this.spinner.fail('Failed to load banks');
28
+ this.spinner.fail("Failed to load banks");
27
29
  this.handleError(error);
28
30
  return; // unreachable, handleError throws
29
31
  }
@@ -34,31 +36,31 @@ export default class WebhooksAdd extends ApiKeyCommand {
34
36
  // Step 4: Type
35
37
  const type = await promptWebhookType();
36
38
  // Step 5: Create
37
- this.spinner.start('Creating webhook...');
39
+ this.spinner.start("Creating webhook...");
38
40
  try {
39
- const data = await this.api.post('/client/webhooks', { webhookUrl, bankPublicId, type }, 'apikey');
41
+ const data = await this.api.post("/client/webhooks", { webhookUrl, bankPublicId, type }, "apikey");
40
42
  const webhook = data?.data ?? data;
41
- this.spinner.succeed('Webhook created!');
42
- console.log('');
43
- kvLine('Webhook URL', webhookUrl);
44
- kvLine('Type', type);
45
- kvLine('Bank', bankPublicId.slice(0, 8) + '...');
43
+ this.spinner.succeed("Webhook created!");
44
+ console.log("");
45
+ kvLine("Webhook URL", webhookUrl);
46
+ kvLine("Type", type);
47
+ kvLine("Bank", bankPublicId.slice(0, 8) + "...");
46
48
  if (webhook?.secret) {
47
- kvLine('HMAC Secret', chalk.yellow(webhook.secret));
48
- console.log('');
49
- warn('Save your HMAC secret — use it to verify webhook signatures.');
50
- console.log(` Header: ${chalk.cyan('ApiPay-Signature')}`);
49
+ kvLine("HMAC Secret", chalk.yellow(webhook.secret));
50
+ console.log("");
51
+ warn("Save your HMAC secret — use it to verify webhook signatures.");
52
+ console.log(` Header: ${chalk.cyan("ApiPay-Signature")}`);
51
53
  }
52
- kvLine('Status', chalk.green('ACTIVE'));
53
- console.log('');
54
- markStepComplete('webhook');
55
- success('Webhook registered successfully.');
54
+ kvLine("Status", chalk.green("ACTIVE"));
55
+ console.log("");
56
+ markStepComplete("webhook");
57
+ success("Webhook registered successfully.");
56
58
  if (this.jsonOutput) {
57
59
  this.outputJson(webhook);
58
60
  }
59
61
  }
60
62
  catch (error) {
61
- this.spinner.fail('Failed to create webhook');
63
+ this.spinner.fail("Failed to create webhook");
62
64
  this.handleError(error);
63
65
  }
64
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/webhooks/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/webhooks/add.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ApiKeyCommand } from '../../lib/base-command.js';
1
+ import { ApiKeyCommand } from "../../lib/base-command.js";
2
2
  export default class WebhooksHistory extends ApiKeyCommand {
3
3
  static description: string;
4
4
  static args: {
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/commands/webhooks/history.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,aAAa;IACxD,OAAgB,WAAW,SAAyC;IAEpE,OAAgB,IAAI;;MAElB;IAEF,OAAgB,QAAQ,WAAuD;IAEzE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsC3B"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/commands/webhooks/history.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAGxD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,aAAa;IACzD,OAAgB,WAAW,SAAyC;IAEpE,OAAgB,IAAI;;MAElB;IAEF,OAAgB,QAAQ,WAEtB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyC1B"}
@@ -1,30 +1,32 @@
1
- import { Args } from '@oclif/core';
2
- import chalk from 'chalk';
3
- import { ApiKeyCommand } from '../../lib/base-command.js';
4
- import { createTable, formatDate, statusBadge } from '../../lib/formatters.js';
1
+ import { Args } from "@oclif/core";
2
+ import chalk from "chalk";
3
+ import { ApiKeyCommand } from "../../lib/base-command.js";
4
+ import { createTable, formatDate, statusBadge } from "../../lib/formatters.js";
5
5
  export default class WebhooksHistory extends ApiKeyCommand {
6
- static description = 'View delivery history for a webhook';
6
+ static description = "View delivery history for a webhook";
7
7
  static args = {
8
- id: Args.string({ description: 'Webhook ID', required: true }),
8
+ id: Args.string({ description: "Webhook ID", required: true }),
9
9
  };
10
- static examples = ['<%= config.bin %> webhooks:history <webhook-id>'];
10
+ static examples = [
11
+ "<%= config.bin %> webhooks:history <webhook-id>",
12
+ ];
11
13
  async run() {
12
14
  const { args } = await this.parse(WebhooksHistory);
13
- this.spinner.start('Fetching delivery history...');
15
+ this.spinner.start("Fetching delivery history...");
14
16
  try {
15
- const data = await this.api.get(`/client/webhooks/${args.id}/history`, 'apikey');
17
+ const data = await this.api.get(`/client/webhooks/${args.id}/history`, "apikey");
16
18
  const deliveries = data?.data ?? data;
17
19
  this.spinner.stop();
18
20
  if (!Array.isArray(deliveries) || deliveries.length === 0) {
19
- this.log('\n No delivery history yet.\n');
21
+ this.log("\n No delivery history yet.\n");
20
22
  return;
21
23
  }
22
- console.log('');
23
- const table = createTable(['ID', 'Status', 'HTTP Code', 'Retries', 'Created'], deliveries.map((d) => [
24
- d.id ? d.id.slice(0, 8) + '...' : '',
25
- statusBadge(d.status ?? 'UNKNOWN'),
26
- d.responseCode?.toString() ?? '',
27
- d.retryCount?.toString() ?? '0',
24
+ console.log("");
25
+ const table = createTable(["ID", "Status", "HTTP Code", "Retries", "Created"], deliveries.map((d) => [
26
+ d.id ? d.id.slice(0, 8) + "..." : "",
27
+ statusBadge(d.status ?? "UNKNOWN"),
28
+ d.responseCode?.toString() ?? "",
29
+ d.retryCount?.toString() ?? "0",
28
30
  formatDate(d.createdAt),
29
31
  ]));
30
32
  console.log(table);
@@ -34,7 +36,7 @@ export default class WebhooksHistory extends ApiKeyCommand {
34
36
  }
35
37
  }
36
38
  catch (error) {
37
- this.spinner.fail('Failed to fetch history');
39
+ this.spinner.fail("Failed to fetch history");
38
40
  this.handleError(error);
39
41
  }
40
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/commands/webhooks/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE/E,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,aAAa;IACxD,MAAM,CAAU,WAAW,GAAG,qCAAqC,CAAC;IAEpE,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC/D,CAAC;IAEF,MAAM,CAAU,QAAQ,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAE/E,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAEnD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YACjF,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;YAEtC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,WAAW,CACvB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,EACnD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC;gBACzB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG;gBACrC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;gBAClC,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,GAAG;gBACjC,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,GAAG;gBAC/B,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;aACxB,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEzE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/commands/webhooks/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,aAAa;IACzD,MAAM,CAAU,WAAW,GAAG,qCAAqC,CAAC;IAEpE,MAAM,CAAU,IAAI,GAAG;QACtB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC5D,CAAC;IAEF,MAAM,CAAU,QAAQ,GAAG;QAC1B,iDAAiD;KACjD,CAAC;IAEF,KAAK,CAAC,GAAG;QACR,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAEjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAEnD,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAC9B,oBAAoB,IAAI,CAAC,EAAE,UAAU,EACrC,QAAQ,CACR,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;YAEtC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAC3C,OAAO;YACR,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,WAAW,CACxB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,EACnD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC;gBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG;gBACrC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;gBAClC,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,GAAG;gBACjC,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,GAAG;gBAC/B,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;aACvB,CAAC,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEzE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ApiKeyCommand } from '../../lib/base-command.js';
1
+ import { ApiKeyCommand } from "../../lib/base-command.js";
2
2
  export default class WebhooksList extends ApiKeyCommand {
3
3
  static description: string;
4
4
  static examples: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/webhooks/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,aAAa;IACrD,OAAgB,WAAW,SAAmC;IAE9D,OAAgB,QAAQ,WAAuC;IAEzD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsC3B"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/webhooks/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAOxD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,aAAa;IACtD,OAAgB,WAAW,SAAmC;IAE9D,OAAgB,QAAQ,WAAuC;IAEzD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsC1B"}