paymongo-cli 1.0.0 → 1.1.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/CHANGELOG.md +141 -0
- package/bin/paymongo.js +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +99 -127
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +68 -102
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/gui.js +26 -31
- package/dist/commands/gui.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +109 -159
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +78 -118
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/payments.d.ts.map +1 -1
- package/dist/commands/payments.js +63 -65
- package/dist/commands/payments.js.map +1 -1
- package/dist/commands/team/index.js +31 -36
- package/dist/commands/team/index.js.map +1 -1
- package/dist/commands/trigger.d.ts.map +1 -1
- package/dist/commands/trigger.js +46 -88
- package/dist/commands/trigger.js.map +1 -1
- package/dist/commands/webhooks.d.ts.map +1 -1
- package/dist/commands/webhooks.js +138 -150
- package/dist/commands/webhooks.js.map +1 -1
- package/dist/index.js +37 -44
- package/dist/index.js.map +1 -1
- package/dist/services/analytics/service.d.ts +7 -1
- package/dist/services/analytics/service.d.ts.map +1 -1
- package/dist/services/analytics/service.js +15 -20
- package/dist/services/analytics/service.js.map +1 -1
- package/dist/services/api/client.d.ts +9 -8
- package/dist/services/api/client.d.ts.map +1 -1
- package/dist/services/api/client.js +33 -29
- package/dist/services/api/client.js.map +1 -1
- package/dist/services/config/manager.d.ts +1 -1
- package/dist/services/config/manager.d.ts.map +1 -1
- package/dist/services/config/manager.js +30 -72
- package/dist/services/config/manager.js.map +1 -1
- package/dist/services/github/auth.d.ts +2 -2
- package/dist/services/github/auth.d.ts.map +1 -1
- package/dist/services/github/auth.js +15 -55
- package/dist/services/github/auth.js.map +1 -1
- package/dist/services/github/client.d.ts +1 -1
- package/dist/services/github/client.d.ts.map +1 -1
- package/dist/services/github/client.js +12 -17
- package/dist/services/github/client.js.map +1 -1
- package/dist/services/github/sync.d.ts +2 -2
- package/dist/services/github/sync.d.ts.map +1 -1
- package/dist/services/github/sync.js +13 -10
- package/dist/services/github/sync.js.map +1 -1
- package/dist/services/web/server.d.ts +5 -4
- package/dist/services/web/server.d.ts.map +1 -1
- package/dist/services/web/server.js +70 -27
- package/dist/services/web/server.js.map +1 -1
- package/dist/types/paymongo.d.ts +48 -0
- package/dist/types/paymongo.d.ts.map +1 -1
- package/dist/types/paymongo.js +1 -2
- package/dist/types/schemas.d.ts +80 -0
- package/dist/types/schemas.d.ts.map +1 -0
- package/dist/types/schemas.js +63 -0
- package/dist/types/schemas.js.map +1 -0
- package/dist/utils/cache.d.ts +2 -0
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/cache.js +65 -77
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/constants.js +16 -19
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/errors.d.ts +1 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +18 -19
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/logger.d.ts +5 -4
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +12 -16
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/spinner.js +4 -8
- package/dist/utils/spinner.js.map +1 -1
- package/dist/utils/validator.d.ts +1 -1
- package/dist/utils/validator.d.ts.map +1 -1
- package/dist/utils/validator.js +6 -13
- package/dist/utils/validator.js.map +1 -1
- package/eslint.config.ts +43 -0
- package/jest.config.ts +30 -0
- package/package.json +76 -70
package/dist/commands/dev.js
CHANGED
|
@@ -1,50 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const commander_1 = require("commander");
|
|
40
|
-
const http = __importStar(require("http"));
|
|
41
|
-
const crypto = __importStar(require("crypto"));
|
|
42
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
-
const manager_1 = __importDefault(require("../services/config/manager"));
|
|
44
|
-
const client_1 = __importDefault(require("../services/api/client"));
|
|
45
|
-
const spinner_1 = __importDefault(require("../utils/spinner"));
|
|
46
|
-
const errors_1 = require("../utils/errors");
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import * as http from 'http';
|
|
3
|
+
import * as crypto from 'crypto';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import ConfigManager from '../services/config/manager.js';
|
|
6
|
+
import ApiClient from '../services/api/client.js';
|
|
7
|
+
import Spinner from '../utils/spinner.js';
|
|
8
|
+
import { withRetry } from '../utils/errors.js';
|
|
47
9
|
class DevServer {
|
|
10
|
+
server;
|
|
11
|
+
port;
|
|
12
|
+
config;
|
|
48
13
|
constructor(port, config) {
|
|
49
14
|
this.port = port;
|
|
50
15
|
this.config = config;
|
|
@@ -56,7 +21,7 @@ class DevServer {
|
|
|
56
21
|
// Start HTTP server
|
|
57
22
|
return new Promise((resolve, reject) => {
|
|
58
23
|
this.server.listen(this.port, () => {
|
|
59
|
-
console.log(
|
|
24
|
+
console.log(chalk.green('✓'), `Webhook server listening on http://localhost:${this.port}`);
|
|
60
25
|
resolve();
|
|
61
26
|
});
|
|
62
27
|
this.server.on('error', (error) => {
|
|
@@ -67,7 +32,7 @@ class DevServer {
|
|
|
67
32
|
async stop() {
|
|
68
33
|
return new Promise((resolve) => {
|
|
69
34
|
this.server.close(() => {
|
|
70
|
-
console.log(
|
|
35
|
+
console.log(chalk.yellow('✓'), 'Webhook server stopped');
|
|
71
36
|
resolve();
|
|
72
37
|
});
|
|
73
38
|
});
|
|
@@ -88,7 +53,7 @@ class DevServer {
|
|
|
88
53
|
// Verify webhook signature if enabled
|
|
89
54
|
const signatureValid = this.verifyWebhookSignature(req, body);
|
|
90
55
|
if (!signatureValid) {
|
|
91
|
-
console.log(
|
|
56
|
+
console.log(chalk.red('⚠️'), 'Webhook signature verification failed');
|
|
92
57
|
res.writeHead(401, { 'Content-Type': 'application/json' });
|
|
93
58
|
res.end(JSON.stringify({ error: 'Invalid signature' }));
|
|
94
59
|
return;
|
|
@@ -99,7 +64,7 @@ class DevServer {
|
|
|
99
64
|
res.end(JSON.stringify({ success: true }));
|
|
100
65
|
}
|
|
101
66
|
catch (error) {
|
|
102
|
-
console.error(
|
|
67
|
+
console.error(chalk.red('✗'), 'Failed to process webhook:', error.message);
|
|
103
68
|
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
104
69
|
res.end(JSON.stringify({ error: 'Invalid JSON' }));
|
|
105
70
|
}
|
|
@@ -110,38 +75,39 @@ class DevServer {
|
|
|
110
75
|
const eventType = event.data?.type || 'unknown';
|
|
111
76
|
const eventId = event.data?.id || 'unknown';
|
|
112
77
|
console.log('');
|
|
113
|
-
console.log(
|
|
114
|
-
console.log(
|
|
78
|
+
console.log(chalk.gray('────────────────────────────────────────────────────────────'));
|
|
79
|
+
console.log(chalk.blue(`[${timestamp}]`), chalk.bold(eventType.toUpperCase()));
|
|
115
80
|
if (eventType === 'payment') {
|
|
116
|
-
const
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
console.log(
|
|
120
|
-
console.log(
|
|
81
|
+
const attributes = event.data.attributes;
|
|
82
|
+
const amount = attributes.amount ?? 0;
|
|
83
|
+
const status = attributes.status ?? 'unknown';
|
|
84
|
+
console.log(chalk.gray('└─'), `Amount: ₱${(amount / 100).toFixed(2)}`);
|
|
85
|
+
console.log(chalk.gray('└─'), `Status: ${status}`);
|
|
86
|
+
console.log(chalk.gray('└─'), `Payment ID: ${eventId}`);
|
|
121
87
|
}
|
|
122
|
-
console.log(
|
|
88
|
+
console.log(chalk.gray('└─'), `View: https://dashboard.paymongo.com/${eventType === 'payment' ? 'payments' : 'webhooks'}/${eventId}`);
|
|
123
89
|
}
|
|
124
90
|
verifyWebhookSignature(req, body) {
|
|
125
91
|
// Check if signature verification is enabled in config
|
|
126
92
|
if (!this.config.dev.verifyWebhookSignatures) {
|
|
127
|
-
console.log(
|
|
93
|
+
console.log(chalk.yellow('ℹ️'), 'Webhook signature verification disabled in config');
|
|
128
94
|
return true; // Allow all requests when verification is disabled
|
|
129
95
|
}
|
|
130
96
|
const signatureHeader = req.headers['paymongo-signature'];
|
|
131
97
|
if (!signatureHeader) {
|
|
132
|
-
console.log(
|
|
98
|
+
console.log(chalk.red('⚠️'), 'Signature verification required but no signature header found');
|
|
133
99
|
return false;
|
|
134
100
|
}
|
|
135
101
|
// Parse signature header: t=<timestamp>,te=<signature>,li=
|
|
136
102
|
const signatureParts = signatureHeader.split(',');
|
|
137
103
|
if (signatureParts.length < 2) {
|
|
138
|
-
console.log(
|
|
104
|
+
console.log(chalk.red('⚠️'), 'Invalid signature format');
|
|
139
105
|
return false;
|
|
140
106
|
}
|
|
141
107
|
const timestamp = signatureParts.find((part) => part.startsWith('t='))?.split('=')[1];
|
|
142
108
|
const signature = signatureParts.find((part) => part.startsWith('te='))?.split('=')[1];
|
|
143
109
|
if (!timestamp || !signature) {
|
|
144
|
-
console.log(
|
|
110
|
+
console.log(chalk.red('⚠️'), 'Missing timestamp or signature in header');
|
|
145
111
|
return false;
|
|
146
112
|
}
|
|
147
113
|
// For now, look for any webhook secret in config
|
|
@@ -149,7 +115,7 @@ class DevServer {
|
|
|
149
115
|
const webhookSecrets = this.config.webhookSecrets || {};
|
|
150
116
|
const secretKeys = Object.values(webhookSecrets);
|
|
151
117
|
if (secretKeys.length === 0) {
|
|
152
|
-
console.log(
|
|
118
|
+
console.log(chalk.yellow('⚠️'), 'Signature verification enabled but no webhook secrets configured');
|
|
153
119
|
return true; // Allow requests when no secrets are configured yet
|
|
154
120
|
}
|
|
155
121
|
// Try to verify with each available secret
|
|
@@ -171,16 +137,16 @@ class DevServer {
|
|
|
171
137
|
}
|
|
172
138
|
}
|
|
173
139
|
if (isValid) {
|
|
174
|
-
console.log(
|
|
140
|
+
console.log(chalk.green('✓'), 'Signature verified successfully');
|
|
175
141
|
return true;
|
|
176
142
|
}
|
|
177
143
|
else {
|
|
178
|
-
console.log(
|
|
144
|
+
console.log(chalk.red('✗'), 'Signature verification failed');
|
|
179
145
|
return false;
|
|
180
146
|
}
|
|
181
147
|
}
|
|
182
148
|
}
|
|
183
|
-
const command = new
|
|
149
|
+
const command = new Command('dev');
|
|
184
150
|
command
|
|
185
151
|
.description('Start local development server')
|
|
186
152
|
.option('-p, --port <port>', 'Port to run the webhook server on', '3000')
|
|
@@ -188,8 +154,8 @@ command
|
|
|
188
154
|
.option('-e, --events <events>', 'Comma-separated events to listen for', 'payment.paid,payment.failed')
|
|
189
155
|
.option('--ngrok-token <token>', 'ngrok authtoken (if not set in environment)')
|
|
190
156
|
.action(async (options) => {
|
|
191
|
-
const spinner = new
|
|
192
|
-
const configManager = new
|
|
157
|
+
const spinner = new Spinner();
|
|
158
|
+
const configManager = new ConfigManager();
|
|
193
159
|
let tunnel;
|
|
194
160
|
try {
|
|
195
161
|
// Load configuration
|
|
@@ -197,8 +163,8 @@ command
|
|
|
197
163
|
const config = await configManager.load();
|
|
198
164
|
if (!config) {
|
|
199
165
|
spinner.fail('No configuration found');
|
|
200
|
-
console.log(
|
|
201
|
-
console.log(
|
|
166
|
+
console.log(chalk.yellow('No PayMongo configuration found.'));
|
|
167
|
+
console.log(chalk.gray("Run 'paymongo init' to set up your project first."));
|
|
202
168
|
return;
|
|
203
169
|
}
|
|
204
170
|
spinner.succeed('Configuration loaded');
|
|
@@ -206,8 +172,8 @@ command
|
|
|
206
172
|
spinner.start('Creating tunnel...');
|
|
207
173
|
const port = parseInt(options.port || '3000');
|
|
208
174
|
// Lazy load ngrok to reduce startup time
|
|
209
|
-
const { default: ngrok } = await
|
|
210
|
-
const tunnelUrl = await
|
|
175
|
+
const { default: ngrok } = await import('@ngrok/ngrok');
|
|
176
|
+
const tunnelUrl = await withRetry(async () => {
|
|
211
177
|
try {
|
|
212
178
|
// Try to get authtoken from command line option or environment
|
|
213
179
|
const authtoken = options.ngrokToken || process.env.NGROK_AUTHTOKEN;
|
|
@@ -224,7 +190,7 @@ command
|
|
|
224
190
|
return tunnel.url();
|
|
225
191
|
}
|
|
226
192
|
catch (error) {
|
|
227
|
-
console.log(
|
|
193
|
+
console.log(chalk.yellow('Debug: ngrok error details:'), error.message);
|
|
228
194
|
throw error;
|
|
229
195
|
}
|
|
230
196
|
}, {
|
|
@@ -250,7 +216,7 @@ command
|
|
|
250
216
|
const events = (options.events || 'payment.paid,payment.failed').split(',');
|
|
251
217
|
const webhookUrl = `${tunnelUrl}/webhook`;
|
|
252
218
|
try {
|
|
253
|
-
const webhook = await new
|
|
219
|
+
const webhook = await new ApiClient({ config }).createWebhook(webhookUrl, events);
|
|
254
220
|
webhookId = webhook.id;
|
|
255
221
|
// Store webhook secret if available
|
|
256
222
|
if (webhook.attributes?.secret) {
|
|
@@ -266,54 +232,54 @@ command
|
|
|
266
232
|
catch (error) {
|
|
267
233
|
const err = error;
|
|
268
234
|
spinner.warn('Webhook registration failed - server will start without webhook');
|
|
269
|
-
console.log(
|
|
235
|
+
console.log(chalk.yellow('⚠️'), 'Webhook registration failed:', err.message);
|
|
270
236
|
console.log('');
|
|
271
|
-
console.log(
|
|
272
|
-
console.log(
|
|
273
|
-
console.log(
|
|
237
|
+
console.log(chalk.blue('ℹ️'), 'You can still test webhooks manually:');
|
|
238
|
+
console.log(chalk.gray(` Webhook URL: ${webhookUrl}`));
|
|
239
|
+
console.log(chalk.gray(' Copy this URL to your PayMongo dashboard'));
|
|
274
240
|
console.log('');
|
|
275
241
|
if (err.message.includes('API key') || err.message.includes('unauthorized')) {
|
|
276
|
-
console.log(
|
|
277
|
-
console.log(
|
|
278
|
-
console.log(
|
|
242
|
+
console.log(chalk.yellow('💡 To fix webhook registration:'));
|
|
243
|
+
console.log(chalk.gray(' 1. Run "paymongo login" to update your API keys'));
|
|
244
|
+
console.log(chalk.gray(' 2. Restart the development server'));
|
|
279
245
|
}
|
|
280
246
|
}
|
|
281
247
|
}
|
|
282
248
|
// Display status
|
|
283
|
-
console.log('\n' +
|
|
249
|
+
console.log('\n' + chalk.green('🚀 PayMongo Development Server'));
|
|
284
250
|
console.log('');
|
|
285
|
-
console.log(
|
|
251
|
+
console.log(chalk.green('✓'), `Tunnel: ${tunnelUrl}`);
|
|
286
252
|
if (webhookId) {
|
|
287
|
-
console.log(
|
|
253
|
+
console.log(chalk.green('✓'), `Webhook: ${webhookId}`);
|
|
288
254
|
}
|
|
289
|
-
console.log(
|
|
255
|
+
console.log(chalk.green('✓'), `Server: http://localhost:${port}/webhook`);
|
|
290
256
|
console.log('');
|
|
291
|
-
console.log(
|
|
257
|
+
console.log(chalk.bold('Forwarding:'), `${tunnelUrl} → http://localhost:${port}`);
|
|
292
258
|
console.log('');
|
|
293
|
-
console.log(
|
|
259
|
+
console.log(chalk.bold('Events:'), (options.events || 'payment.paid,payment.failed').split(',').join(', '));
|
|
294
260
|
console.log('');
|
|
295
|
-
console.log(
|
|
261
|
+
console.log(chalk.gray('Press Ctrl+C to stop'));
|
|
296
262
|
// Handle cleanup on exit
|
|
297
263
|
const cleanup = async () => {
|
|
298
|
-
console.log('\n' +
|
|
264
|
+
console.log('\n' + chalk.yellow('Shutting down...'));
|
|
299
265
|
try {
|
|
300
266
|
// Disconnect ngrok
|
|
301
267
|
if (tunnel) {
|
|
302
268
|
await tunnel.close();
|
|
303
|
-
console.log(
|
|
269
|
+
console.log(chalk.yellow('✓'), 'Tunnel closed');
|
|
304
270
|
}
|
|
305
271
|
// Stop server
|
|
306
272
|
await devServer.stop();
|
|
307
273
|
// Delete webhook
|
|
308
274
|
if (webhookId) {
|
|
309
275
|
spinner.start('Cleaning up webhook...');
|
|
310
|
-
await new
|
|
276
|
+
await new ApiClient({ config }).deleteWebhook(webhookId);
|
|
311
277
|
spinner.succeed('Webhook deleted');
|
|
312
278
|
}
|
|
313
279
|
}
|
|
314
280
|
catch (error) {
|
|
315
|
-
console.error(
|
|
316
|
-
console.log(
|
|
281
|
+
console.error(chalk.red('Error during cleanup:'), error.message);
|
|
282
|
+
console.log(chalk.yellow('⚠️'), 'Some cleanup tasks may not have completed');
|
|
317
283
|
}
|
|
318
284
|
process.exit(0);
|
|
319
285
|
};
|
|
@@ -327,15 +293,15 @@ command
|
|
|
327
293
|
const err = error;
|
|
328
294
|
// Provide actionable error messages based on error type
|
|
329
295
|
if (err.message.includes('ngrok') || err.message.includes('tunnel')) {
|
|
330
|
-
console.error(
|
|
296
|
+
console.error(chalk.red('❌ Failed to create tunnel:'), err.message);
|
|
331
297
|
console.log('');
|
|
332
|
-
console.log(
|
|
333
|
-
console.log(
|
|
334
|
-
console.log(
|
|
335
|
-
console.log(
|
|
336
|
-
console.log(
|
|
337
|
-
console.log(
|
|
338
|
-
console.log(
|
|
298
|
+
console.log(chalk.yellow('💡 Troubleshooting suggestions:'));
|
|
299
|
+
console.log(chalk.gray('• Check your internet connection'));
|
|
300
|
+
console.log(chalk.gray('• Make sure ngrok is not blocked by firewall/antivirus'));
|
|
301
|
+
console.log(chalk.gray('• Set up ngrok authentication: export NGROK_AUTHTOKEN=your_token'));
|
|
302
|
+
console.log(chalk.gray('• Get your authtoken from: https://dashboard.ngrok.com/get-started/your-authtoken'));
|
|
303
|
+
console.log(chalk.gray('• Try a different port: paymongo dev --port 3001'));
|
|
304
|
+
console.log(chalk.gray('• Visit https://ngrok.com for status updates'));
|
|
339
305
|
}
|
|
340
306
|
// Cleanup on error
|
|
341
307
|
try {
|
|
@@ -349,5 +315,5 @@ command
|
|
|
349
315
|
process.exit(1);
|
|
350
316
|
}
|
|
351
317
|
});
|
|
352
|
-
|
|
318
|
+
export default command;
|
|
353
319
|
//# sourceMappingURL=dev.js.map
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/gui.js
CHANGED
|
@@ -1,36 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const server_1 = require("../services/web/server");
|
|
10
|
-
const service_1 = require("../services/analytics/service");
|
|
11
|
-
const spinner_1 = __importDefault(require("../utils/spinner"));
|
|
12
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
-
const command = new commander_1.Command('gui')
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { ConfigManager } from '../services/config/manager.js';
|
|
3
|
+
import { ApiClient } from '../services/api/client.js';
|
|
4
|
+
import { WebServer } from '../services/web/server.js';
|
|
5
|
+
import { AnalyticsService } from '../services/analytics/service.js';
|
|
6
|
+
import Spinner from '../utils/spinner.js';
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
const command = new Command('gui')
|
|
14
9
|
.description('Start the PayMongo GUI dashboard')
|
|
15
10
|
.option('-p, --port <port>', 'Port to run the GUI server on', '8080')
|
|
16
11
|
.option('-h, --host <host>', 'Host to bind the GUI server to', 'localhost')
|
|
17
12
|
.action(async (options) => {
|
|
18
|
-
const spinner = new
|
|
19
|
-
const configManager = new
|
|
13
|
+
const spinner = new Spinner();
|
|
14
|
+
const configManager = new ConfigManager();
|
|
20
15
|
try {
|
|
21
16
|
spinner.start('Loading configuration...');
|
|
22
17
|
const config = await configManager.load();
|
|
23
18
|
if (!config) {
|
|
24
19
|
spinner.fail('No configuration found');
|
|
25
|
-
console.log(
|
|
26
|
-
console.log(
|
|
20
|
+
console.log(chalk.yellow('No PayMongo configuration found.'));
|
|
21
|
+
console.log(chalk.gray("Run 'paymongo init' to set up your project first."));
|
|
27
22
|
return;
|
|
28
23
|
}
|
|
29
24
|
spinner.succeed('Configuration loaded');
|
|
30
25
|
spinner.start('Starting GUI dashboard...');
|
|
31
|
-
const apiClient = new
|
|
32
|
-
const analyticsService = new
|
|
33
|
-
const webServer = new
|
|
26
|
+
const apiClient = new ApiClient({ config });
|
|
27
|
+
const analyticsService = new AnalyticsService();
|
|
28
|
+
const webServer = new WebServer({
|
|
34
29
|
port: parseInt(options.port),
|
|
35
30
|
host: options.host,
|
|
36
31
|
configManager,
|
|
@@ -40,25 +35,25 @@ const command = new commander_1.Command('gui')
|
|
|
40
35
|
await webServer.start();
|
|
41
36
|
spinner.succeed('GUI dashboard started');
|
|
42
37
|
console.log('');
|
|
43
|
-
console.log(
|
|
44
|
-
console.log(
|
|
38
|
+
console.log(chalk.green('✓ PayMongo GUI Dashboard is running!'));
|
|
39
|
+
console.log(chalk.blue(`🌐 Open your browser to: http://${options.host}:${options.port}`));
|
|
45
40
|
console.log('');
|
|
46
|
-
console.log(
|
|
47
|
-
console.log(
|
|
48
|
-
console.log(
|
|
49
|
-
console.log(
|
|
41
|
+
console.log(chalk.gray('Features:'));
|
|
42
|
+
console.log(chalk.gray('• Real-time webhook monitoring'));
|
|
43
|
+
console.log(chalk.gray('• Configuration management'));
|
|
44
|
+
console.log(chalk.gray('• Webhook event history'));
|
|
50
45
|
console.log('');
|
|
51
|
-
console.log(
|
|
46
|
+
console.log(chalk.gray('Press Ctrl+C to stop the server'));
|
|
52
47
|
// Handle graceful shutdown
|
|
53
48
|
process.on('SIGINT', async () => {
|
|
54
49
|
console.log('');
|
|
55
|
-
console.log(
|
|
50
|
+
console.log(chalk.yellow('Shutting down GUI dashboard...'));
|
|
56
51
|
await webServer.stop();
|
|
57
52
|
process.exit(0);
|
|
58
53
|
});
|
|
59
54
|
process.on('SIGTERM', async () => {
|
|
60
55
|
console.log('');
|
|
61
|
-
console.log(
|
|
56
|
+
console.log(chalk.yellow('Shutting down GUI dashboard...'));
|
|
62
57
|
await webServer.stop();
|
|
63
58
|
process.exit(0);
|
|
64
59
|
});
|
|
@@ -66,9 +61,9 @@ const command = new commander_1.Command('gui')
|
|
|
66
61
|
catch (error) {
|
|
67
62
|
spinner.stop();
|
|
68
63
|
const err = error;
|
|
69
|
-
console.error(
|
|
64
|
+
console.error(chalk.red('❌ Failed to start GUI dashboard:'), err.message);
|
|
70
65
|
process.exit(1);
|
|
71
66
|
}
|
|
72
67
|
});
|
|
73
|
-
|
|
68
|
+
export default command;
|
|
74
69
|
//# sourceMappingURL=gui.js.map
|
package/dist/commands/gui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gui.js","sourceRoot":"","sources":["../../src/commands/gui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gui.js","sourceRoot":"","sources":["../../src/commands/gui.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,QAAA,MAAM,OAAO,SAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,QAAA,MAAM,OAAO,SAAsB,CAAC;AA2OpC,eAAe,OAAO,CAAC"}
|