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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/services/github/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/services/github/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;gBAElB,OAAO,EAAE,iBAAiB;IAIhC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA+BnD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxC,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK7C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAiBjC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAoBpC"}
|
|
@@ -1,41 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.GitHubAuthService = void 0;
|
|
37
|
-
const client_1 = require("./client");
|
|
38
|
-
class GitHubAuthService {
|
|
1
|
+
import { GitHubClient } from './client.js';
|
|
2
|
+
export class GitHubAuthService {
|
|
3
|
+
config;
|
|
39
4
|
constructor(options) {
|
|
40
5
|
this.config = options.config;
|
|
41
6
|
}
|
|
@@ -49,7 +14,7 @@ class GitHubAuthService {
|
|
|
49
14
|
if (!githubToken) {
|
|
50
15
|
throw new Error('GitHub token not found. Please provide a token or run "paymongo team sync --repo owner/repo" to set it up.');
|
|
51
16
|
}
|
|
52
|
-
const client = new
|
|
17
|
+
const client = new GitHubClient({ token: githubToken });
|
|
53
18
|
// Validate token by making a test request
|
|
54
19
|
try {
|
|
55
20
|
await client.getRepo('octocat', 'Hello-World'); // Public repo test
|
|
@@ -79,22 +44,18 @@ class GitHubAuthService {
|
|
|
79
44
|
return config?.team?.githubToken;
|
|
80
45
|
}
|
|
81
46
|
async promptForToken() {
|
|
82
|
-
const
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return 'Please enter a valid GitHub token (at least 20 characters)';
|
|
92
|
-
}
|
|
93
|
-
return true;
|
|
94
|
-
},
|
|
47
|
+
const { password } = await import('@inquirer/prompts');
|
|
48
|
+
const token = await password({
|
|
49
|
+
message: 'Enter your GitHub Personal Access Token:',
|
|
50
|
+
mask: '*',
|
|
51
|
+
validate: (input) => {
|
|
52
|
+
if (!input || input.length < 20) {
|
|
53
|
+
return 'Please enter a valid GitHub token (at least 20 characters)';
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
95
56
|
},
|
|
96
|
-
|
|
97
|
-
return
|
|
57
|
+
});
|
|
58
|
+
return token;
|
|
98
59
|
}
|
|
99
60
|
async setupToken() {
|
|
100
61
|
console.log('🔑 GitHub Authentication Setup');
|
|
@@ -115,5 +76,4 @@ class GitHubAuthService {
|
|
|
115
76
|
return token;
|
|
116
77
|
}
|
|
117
78
|
}
|
|
118
|
-
exports.GitHubAuthService = GitHubAuthService;
|
|
119
79
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/services/github/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/services/github/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ export declare class GitHubClient {
|
|
|
45
45
|
private setupInterceptors;
|
|
46
46
|
getRepo(owner: string, repo: string): Promise<GitHubRepo>;
|
|
47
47
|
getFile(owner: string, repo: string, path: string, ref?: string): Promise<GitHubFileContent>;
|
|
48
|
-
createOrUpdateFile(owner: string, repo: string, path: string, content: string, message: string, branch?: string, sha?: string): Promise<
|
|
48
|
+
createOrUpdateFile(owner: string, repo: string, path: string, content: string, message: string, branch?: string, sha?: string): Promise<GitHubFileContent>;
|
|
49
49
|
getCommits(owner: string, repo: string, path?: string, since?: string): Promise<GitHubCommit[]>;
|
|
50
50
|
createRepo(name: string, description?: string, isPrivate?: boolean): Promise<GitHubRepo>;
|
|
51
51
|
setToken(token: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/services/github/client.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAqB;gBAEtB,OAAO,GAAE,mBAAwB;IAqB7C,OAAO,CAAC,iBAAiB;IA4BnB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQzD,OAAO,CACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC;IASvB,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAe,EACvB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/services/github/client.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAqB;gBAEtB,OAAO,GAAE,mBAAwB;IAqB7C,OAAO,CAAC,iBAAiB;IA4BnB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQzD,OAAO,CACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC;IASvB,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAe,EACvB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC;IAkBvB,UAAU,CACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,EAAE,CAAC;IAYpB,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,UAAU,CAAC;IAetB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,QAAQ,IAAI,OAAO;CAGpB"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.GitHubClient = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const errors_1 = require("../../utils/errors");
|
|
9
|
-
class GitHubClient {
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { NetworkError, withRetry } from '../../utils/errors.js';
|
|
3
|
+
export class GitHubClient {
|
|
4
|
+
client;
|
|
5
|
+
token;
|
|
10
6
|
constructor(options = {}) {
|
|
11
7
|
this.token = options.token;
|
|
12
8
|
const timeout = options.timeout || 30000;
|
|
13
|
-
this.client =
|
|
9
|
+
this.client = axios.create({
|
|
14
10
|
baseURL: 'https://api.github.com',
|
|
15
11
|
timeout,
|
|
16
12
|
headers: {
|
|
@@ -44,11 +40,11 @@ class GitHubClient {
|
|
|
44
40
|
if (error.response?.status === 404) {
|
|
45
41
|
throw new Error('GitHub repository or file not found.');
|
|
46
42
|
}
|
|
47
|
-
throw new
|
|
43
|
+
throw new NetworkError(`GitHub API error: ${error.message}`);
|
|
48
44
|
});
|
|
49
45
|
}
|
|
50
46
|
async getRepo(owner, repo) {
|
|
51
|
-
const response = await
|
|
47
|
+
const response = await withRetry(() => this.client.get(`/repos/${owner}/${repo}`), {
|
|
52
48
|
maxRetries: 3,
|
|
53
49
|
delayMs: 1000,
|
|
54
50
|
});
|
|
@@ -56,7 +52,7 @@ class GitHubClient {
|
|
|
56
52
|
}
|
|
57
53
|
async getFile(owner, repo, path, ref) {
|
|
58
54
|
const params = ref ? { ref } : {};
|
|
59
|
-
const response = await
|
|
55
|
+
const response = await withRetry(() => this.client.get(`/repos/${owner}/${repo}/contents/${path}`, { params }), { maxRetries: 3, delayMs: 1000 });
|
|
60
56
|
return response.data;
|
|
61
57
|
}
|
|
62
58
|
async createOrUpdateFile(owner, repo, path, content, message, branch = 'main', sha) {
|
|
@@ -68,7 +64,7 @@ class GitHubClient {
|
|
|
68
64
|
if (sha) {
|
|
69
65
|
data.sha = sha;
|
|
70
66
|
}
|
|
71
|
-
const response = await
|
|
67
|
+
const response = await withRetry(() => this.client.put(`/repos/${owner}/${repo}/contents/${path}`, data), { maxRetries: 3, delayMs: 1000 });
|
|
72
68
|
return response.data;
|
|
73
69
|
}
|
|
74
70
|
async getCommits(owner, repo, path, since) {
|
|
@@ -79,7 +75,7 @@ class GitHubClient {
|
|
|
79
75
|
if (since) {
|
|
80
76
|
params.since = since;
|
|
81
77
|
}
|
|
82
|
-
const response = await
|
|
78
|
+
const response = await withRetry(() => this.client.get(`/repos/${owner}/${repo}/commits`, { params }), { maxRetries: 3, delayMs: 1000 });
|
|
83
79
|
return response.data;
|
|
84
80
|
}
|
|
85
81
|
async createRepo(name, description, isPrivate = false) {
|
|
@@ -89,7 +85,7 @@ class GitHubClient {
|
|
|
89
85
|
private: isPrivate,
|
|
90
86
|
auto_init: true,
|
|
91
87
|
};
|
|
92
|
-
const response = await
|
|
88
|
+
const response = await withRetry(() => this.client.post('/user/repos', data), {
|
|
93
89
|
maxRetries: 3,
|
|
94
90
|
delayMs: 1000,
|
|
95
91
|
});
|
|
@@ -103,5 +99,4 @@ class GitHubClient {
|
|
|
103
99
|
return !!this.token;
|
|
104
100
|
}
|
|
105
101
|
}
|
|
106
|
-
exports.GitHubClient = GitHubClient;
|
|
107
102
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/services/github/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/services/github/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ConfigManager } from '../config/manager';
|
|
2
|
-
import { GitHubAuthService } from './auth';
|
|
1
|
+
import { ConfigManager } from '../config/manager.js';
|
|
2
|
+
import { GitHubAuthService } from './auth.js';
|
|
3
3
|
export interface TeamSyncOptions {
|
|
4
4
|
config: ConfigManager;
|
|
5
5
|
auth: GitHubAuthService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/services/github/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/services/github/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CACtC;AAOD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,IAAI,CAAoB;gBAEpB,OAAO,EAAE,eAAe;IAK9B,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YA+CjC,UAAU;YAoDV,UAAU;IAgExB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,YAAY;YAsBN,gBAAgB;CAe/B"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class TeamSyncService {
|
|
1
|
+
export class TeamSyncService {
|
|
2
|
+
config;
|
|
3
|
+
auth;
|
|
5
4
|
constructor(options) {
|
|
6
5
|
this.config = options.config;
|
|
7
6
|
this.auth = options.auth;
|
|
@@ -101,8 +100,10 @@ class TeamSyncService {
|
|
|
101
100
|
// Merge with local config
|
|
102
101
|
const localConfig = await this.config.load();
|
|
103
102
|
if (!localConfig) {
|
|
104
|
-
// No local config, use remote as base
|
|
105
|
-
|
|
103
|
+
// No local config, use remote as base (convert to full config)
|
|
104
|
+
const defaultConfig = this.config.getDefaultConfig();
|
|
105
|
+
const fullConfig = { ...defaultConfig, ...remoteConfig };
|
|
106
|
+
await this.config.save(fullConfig);
|
|
106
107
|
return;
|
|
107
108
|
}
|
|
108
109
|
if (!force) {
|
|
@@ -128,7 +129,9 @@ class TeamSyncService {
|
|
|
128
129
|
}
|
|
129
130
|
// Remove GitHub token (should be set per user)
|
|
130
131
|
if (sanitized.team?.githubToken) {
|
|
131
|
-
|
|
132
|
+
const team = { ...sanitized.team };
|
|
133
|
+
delete team.githubToken;
|
|
134
|
+
sanitized.team = team;
|
|
132
135
|
}
|
|
133
136
|
return sanitized;
|
|
134
137
|
}
|
|
@@ -136,7 +139,8 @@ class TeamSyncService {
|
|
|
136
139
|
if (!config || typeof config !== 'object') {
|
|
137
140
|
throw new Error('Remote configuration is not a valid object.');
|
|
138
141
|
}
|
|
139
|
-
|
|
142
|
+
const configObj = config;
|
|
143
|
+
if (!configObj.version) {
|
|
140
144
|
throw new Error('Remote configuration is missing version field.');
|
|
141
145
|
}
|
|
142
146
|
// Add more validation as needed
|
|
@@ -168,7 +172,7 @@ class TeamSyncService {
|
|
|
168
172
|
}
|
|
169
173
|
mergeConfigs(local, remote) {
|
|
170
174
|
// Start with remote as base, then merge local specifics
|
|
171
|
-
const merged = { ...remote };
|
|
175
|
+
const merged = { ...local, ...remote };
|
|
172
176
|
// Keep local API keys if they exist (user-specific)
|
|
173
177
|
if (local.apiKeys) {
|
|
174
178
|
merged.apiKeys = { ...merged.apiKeys, ...local.apiKeys };
|
|
@@ -196,5 +200,4 @@ class TeamSyncService {
|
|
|
196
200
|
await this.config.save(config);
|
|
197
201
|
}
|
|
198
202
|
}
|
|
199
|
-
exports.TeamSyncService = TeamSyncService;
|
|
200
203
|
//# sourceMappingURL=sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/services/github/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/services/github/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ConfigManager } from '../config/manager';
|
|
2
|
-
import { ApiClient } from '../api/client';
|
|
3
|
-
import { AnalyticsService } from '../analytics/service';
|
|
1
|
+
import { ConfigManager } from '../config/manager.js';
|
|
2
|
+
import { ApiClient } from '../api/client.js';
|
|
3
|
+
import { AnalyticsService } from '../analytics/service.js';
|
|
4
|
+
import { WebhookEventPayload } from '../../types/paymongo.js';
|
|
4
5
|
export interface WebServerOptions {
|
|
5
6
|
port: number;
|
|
6
7
|
host?: string;
|
|
@@ -25,6 +26,6 @@ export declare class WebServer {
|
|
|
25
26
|
start(): Promise<void>;
|
|
26
27
|
stop(): Promise<void>;
|
|
27
28
|
getPort(): number;
|
|
28
|
-
emitWebhookEvent(event:
|
|
29
|
+
emitWebhookEvent(event: WebhookEventPayload): void;
|
|
29
30
|
}
|
|
30
31
|
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/services/web/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/services/web/server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,EAAE,CAAe;IACzB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;gBAET,OAAO,EAAE,gBAAgB;IAiBrC,OAAO,CAAC,eAAe;IA6DvB,OAAO,CAAC,WAAW;IAiFnB,OAAO,CAAC,mBAAmB;IAiBd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B,OAAO,IAAI,MAAM;IAIjB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;CAG1D"}
|
|
@@ -1,37 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import express from 'express';
|
|
2
|
+
import { Server as HttpServer } from 'http';
|
|
3
|
+
import { Server as SocketServer } from 'socket.io';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import rateLimit from 'express-rate-limit';
|
|
6
|
+
import Logger from '../../utils/logger.js';
|
|
7
|
+
export class WebServer {
|
|
8
|
+
app;
|
|
9
|
+
server;
|
|
10
|
+
io;
|
|
11
|
+
configManager;
|
|
12
|
+
apiClient;
|
|
13
|
+
analyticsService;
|
|
14
|
+
logger;
|
|
15
|
+
port;
|
|
16
|
+
host;
|
|
13
17
|
constructor(options) {
|
|
14
18
|
this.port = options.port;
|
|
15
19
|
this.host = options.host || 'localhost';
|
|
16
20
|
this.configManager = options.configManager;
|
|
17
21
|
this.apiClient = options.apiClient;
|
|
18
22
|
this.analyticsService = options.analyticsService;
|
|
19
|
-
this.logger = new
|
|
20
|
-
this.app = (
|
|
21
|
-
this.server = new
|
|
22
|
-
this.io = new
|
|
23
|
+
this.logger = new Logger();
|
|
24
|
+
this.app = express();
|
|
25
|
+
this.server = new HttpServer(this.app);
|
|
26
|
+
this.io = new SocketServer(this.server);
|
|
23
27
|
this.setupMiddleware();
|
|
24
28
|
this.setupRoutes();
|
|
25
29
|
this.setupSocketHandlers();
|
|
26
30
|
}
|
|
27
31
|
setupMiddleware() {
|
|
28
32
|
// Serve static files from web directory
|
|
29
|
-
this.app.use(
|
|
33
|
+
this.app.use(express.static(path.join(__dirname, '../../../web')));
|
|
30
34
|
// Parse JSON bodies
|
|
31
|
-
this.app.use(
|
|
32
|
-
//
|
|
35
|
+
this.app.use(express.json());
|
|
36
|
+
// Rate limiting for API endpoints
|
|
37
|
+
const apiLimiter = rateLimit({
|
|
38
|
+
windowMs: 1 * 60 * 1000, // 1 minute window
|
|
39
|
+
max: 100, // limit each IP to 100 requests per window
|
|
40
|
+
standardHeaders: true, // Return rate limit info in headers
|
|
41
|
+
legacyHeaders: false, // Disable X-RateLimit-* headers
|
|
42
|
+
message: { success: false, error: 'Too many requests, please try again later' },
|
|
43
|
+
});
|
|
44
|
+
// Apply rate limiting to API routes
|
|
45
|
+
this.app.use('/api/', apiLimiter);
|
|
46
|
+
// Stricter rate limit for config modifications
|
|
47
|
+
const configWriteLimiter = rateLimit({
|
|
48
|
+
windowMs: 1 * 60 * 1000, // 1 minute window
|
|
49
|
+
max: 20, // limit config writes to 20 per minute
|
|
50
|
+
standardHeaders: true,
|
|
51
|
+
legacyHeaders: false,
|
|
52
|
+
message: { success: false, error: 'Too many configuration updates, please slow down' },
|
|
53
|
+
});
|
|
54
|
+
this.app.use('/api/config', (req, res, next) => {
|
|
55
|
+
if (req.method === 'PUT' || req.method === 'POST') {
|
|
56
|
+
configWriteLimiter(req, res, next);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
next();
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
// CORS for local development - restricted to localhost origins
|
|
63
|
+
const allowedOrigins = [
|
|
64
|
+
`http://localhost:${this.port}`,
|
|
65
|
+
`http://127.0.0.1:${this.port}`,
|
|
66
|
+
`http://${this.host}:${this.port}`,
|
|
67
|
+
];
|
|
33
68
|
this.app.use((req, res, next) => {
|
|
34
|
-
|
|
69
|
+
const origin = req.headers.origin;
|
|
70
|
+
if (origin && allowedOrigins.includes(origin)) {
|
|
71
|
+
res.header('Access-Control-Allow-Origin', origin);
|
|
72
|
+
}
|
|
35
73
|
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
|
|
36
74
|
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization');
|
|
37
75
|
if (req.method === 'OPTIONS') {
|
|
@@ -64,16 +102,22 @@ class WebServer {
|
|
|
64
102
|
if (!config) {
|
|
65
103
|
return res.status(404).json({ success: false, error: 'Configuration not found' });
|
|
66
104
|
}
|
|
67
|
-
// Set the configuration value
|
|
105
|
+
// Set the configuration value using type-safe nested access
|
|
68
106
|
const keys = key.split('.');
|
|
69
107
|
let current = config;
|
|
70
108
|
for (let i = 0; i < keys.length - 1; i++) {
|
|
71
|
-
|
|
72
|
-
|
|
109
|
+
const k = keys[i];
|
|
110
|
+
if (k && !current[k]) {
|
|
111
|
+
current[k] = {};
|
|
73
112
|
}
|
|
74
|
-
|
|
113
|
+
if (k) {
|
|
114
|
+
current = current[k];
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const lastKey = keys[keys.length - 1];
|
|
118
|
+
if (lastKey) {
|
|
119
|
+
current[lastKey] = value;
|
|
75
120
|
}
|
|
76
|
-
current[keys[keys.length - 1]] = value;
|
|
77
121
|
await this.configManager.save(config);
|
|
78
122
|
// Notify connected clients
|
|
79
123
|
this.io.emit('config:updated', { key, value });
|
|
@@ -108,7 +152,7 @@ class WebServer {
|
|
|
108
152
|
});
|
|
109
153
|
// Serve the main dashboard
|
|
110
154
|
this.app.get('/', (_req, res) => {
|
|
111
|
-
res.sendFile(
|
|
155
|
+
res.sendFile(path.join(__dirname, '../../../web/index.html'));
|
|
112
156
|
});
|
|
113
157
|
}
|
|
114
158
|
setupSocketHandlers() {
|
|
@@ -155,5 +199,4 @@ class WebServer {
|
|
|
155
199
|
this.io.emit('webhook:event', event);
|
|
156
200
|
}
|
|
157
201
|
}
|
|
158
|
-
exports.WebServer = WebServer;
|
|
159
202
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/services/web/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/services/web/server.ts"],"names":[],"mappings":"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"}
|
package/dist/types/paymongo.d.ts
CHANGED
|
@@ -115,4 +115,52 @@ export interface TunnelInfo {
|
|
|
115
115
|
url(): string | null;
|
|
116
116
|
close(): Promise<void>;
|
|
117
117
|
}
|
|
118
|
+
export interface PaymentDataFull {
|
|
119
|
+
id: string;
|
|
120
|
+
type: 'payment';
|
|
121
|
+
attributes: {
|
|
122
|
+
amount: number;
|
|
123
|
+
currency: string;
|
|
124
|
+
status: 'paid' | 'failed' | 'pending' | 'expired';
|
|
125
|
+
description?: string;
|
|
126
|
+
external_reference_number?: string;
|
|
127
|
+
fees?: number;
|
|
128
|
+
net_amount?: number;
|
|
129
|
+
paid_at?: number;
|
|
130
|
+
created_at: number;
|
|
131
|
+
updated_at: number;
|
|
132
|
+
source?: {
|
|
133
|
+
attributes: {
|
|
134
|
+
type: string;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
payment_intent_id?: string;
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
export interface PaymentIntentData {
|
|
141
|
+
id: string;
|
|
142
|
+
type: 'payment_intent';
|
|
143
|
+
attributes: {
|
|
144
|
+
amount: number;
|
|
145
|
+
currency: string;
|
|
146
|
+
status: 'awaiting_payment_method' | 'awaiting_next_action' | 'processing' | 'succeeded';
|
|
147
|
+
description?: string;
|
|
148
|
+
payment_method_allowed: string[];
|
|
149
|
+
created_at: number;
|
|
150
|
+
updated_at: number;
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
export interface WebhookDataWithSecret extends WebhookData {
|
|
154
|
+
attributes: WebhookData['attributes'] & {
|
|
155
|
+
secret?: string;
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
export interface WebhookEventPayload {
|
|
159
|
+
data: {
|
|
160
|
+
id: string;
|
|
161
|
+
type: string;
|
|
162
|
+
attributes: Record<string, unknown>;
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
export type LogMeta = Error | Record<string, unknown> | string | number | boolean;
|
|
118
166
|
//# sourceMappingURL=paymongo.d.ts.map
|