@catalisa/wpp-sdk 0.2.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 (82) hide show
  1. package/README.md +486 -0
  2. package/dist/client.d.ts +81 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +97 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/errors/index.d.ts +42 -0
  7. package/dist/errors/index.d.ts.map +1 -0
  8. package/dist/errors/index.js +70 -0
  9. package/dist/errors/index.js.map +1 -0
  10. package/dist/http/client.d.ts +48 -0
  11. package/dist/http/client.d.ts.map +1 -0
  12. package/dist/http/client.js +125 -0
  13. package/dist/http/client.js.map +1 -0
  14. package/dist/index.d.ts +33 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +66 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/resources/apiTokens.d.ts +29 -0
  19. package/dist/resources/apiTokens.d.ts.map +1 -0
  20. package/dist/resources/apiTokens.js +38 -0
  21. package/dist/resources/apiTokens.js.map +1 -0
  22. package/dist/resources/auth.d.ts +29 -0
  23. package/dist/resources/auth.d.ts.map +1 -0
  24. package/dist/resources/auth.js +43 -0
  25. package/dist/resources/auth.js.map +1 -0
  26. package/dist/resources/branding.d.ts +27 -0
  27. package/dist/resources/branding.d.ts.map +1 -0
  28. package/dist/resources/branding.js +36 -0
  29. package/dist/resources/branding.js.map +1 -0
  30. package/dist/resources/health.d.ts +16 -0
  31. package/dist/resources/health.d.ts.map +1 -0
  32. package/dist/resources/health.js +19 -0
  33. package/dist/resources/health.js.map +1 -0
  34. package/dist/resources/tenants.d.ts +36 -0
  35. package/dist/resources/tenants.d.ts.map +1 -0
  36. package/dist/resources/tenants.js +51 -0
  37. package/dist/resources/tenants.js.map +1 -0
  38. package/dist/resources/users.d.ts +33 -0
  39. package/dist/resources/users.d.ts.map +1 -0
  40. package/dist/resources/users.js +46 -0
  41. package/dist/resources/users.js.map +1 -0
  42. package/dist/resources/webhooks.d.ts +113 -0
  43. package/dist/resources/webhooks.d.ts.map +1 -0
  44. package/dist/resources/webhooks.js +216 -0
  45. package/dist/resources/webhooks.js.map +1 -0
  46. package/dist/resources/whatsapp.d.ts +121 -0
  47. package/dist/resources/whatsapp.d.ts.map +1 -0
  48. package/dist/resources/whatsapp.js +183 -0
  49. package/dist/resources/whatsapp.js.map +1 -0
  50. package/dist/resources/whatsappAdmin.d.ts +110 -0
  51. package/dist/resources/whatsappAdmin.d.ts.map +1 -0
  52. package/dist/resources/whatsappAdmin.js +140 -0
  53. package/dist/resources/whatsappAdmin.js.map +1 -0
  54. package/dist/types/admin.d.ts +57 -0
  55. package/dist/types/admin.d.ts.map +1 -0
  56. package/dist/types/admin.js +6 -0
  57. package/dist/types/admin.js.map +1 -0
  58. package/dist/types/auth.d.ts +31 -0
  59. package/dist/types/auth.d.ts.map +1 -0
  60. package/dist/types/auth.js +6 -0
  61. package/dist/types/auth.js.map +1 -0
  62. package/dist/types/branding.d.ts +30 -0
  63. package/dist/types/branding.d.ts.map +1 -0
  64. package/dist/types/branding.js +6 -0
  65. package/dist/types/branding.js.map +1 -0
  66. package/dist/types/common.d.ts +27 -0
  67. package/dist/types/common.d.ts.map +1 -0
  68. package/dist/types/common.js +6 -0
  69. package/dist/types/common.js.map +1 -0
  70. package/dist/types/index.d.ts +10 -0
  71. package/dist/types/index.d.ts.map +1 -0
  72. package/dist/types/index.js +26 -0
  73. package/dist/types/index.js.map +1 -0
  74. package/dist/types/webhook.d.ts +126 -0
  75. package/dist/types/webhook.d.ts.map +1 -0
  76. package/dist/types/webhook.js +6 -0
  77. package/dist/types/webhook.js.map +1 -0
  78. package/dist/types/whatsapp.d.ts +154 -0
  79. package/dist/types/whatsapp.d.ts.map +1 -0
  80. package/dist/types/whatsapp.js +6 -0
  81. package/dist/types/whatsapp.js.map +1 -0
  82. package/package.json +49 -0
@@ -0,0 +1,16 @@
1
+ import { HTTPClient } from '../http/client';
2
+ export interface HealthResponse {
3
+ status: 'ok';
4
+ }
5
+ /**
6
+ * Health check resource
7
+ */
8
+ export declare class HealthResource {
9
+ private http;
10
+ constructor(http: HTTPClient);
11
+ /**
12
+ * Check API health
13
+ */
14
+ check(): Promise<HealthResponse>;
15
+ }
16
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/resources/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,IAAI,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC;CAGvC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HealthResource = void 0;
4
+ /**
5
+ * Health check resource
6
+ */
7
+ class HealthResource {
8
+ constructor(http) {
9
+ this.http = http;
10
+ }
11
+ /**
12
+ * Check API health
13
+ */
14
+ async check() {
15
+ return this.http.get('/health');
16
+ }
17
+ }
18
+ exports.HealthResource = HealthResource;
19
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/resources/health.ts"],"names":[],"mappings":";;;AAMA;;GAEG;AACH,MAAa,cAAc;IACzB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,SAAS,CAAC,CAAC;IAClD,CAAC;CACF;AATD,wCASC"}
@@ -0,0 +1,36 @@
1
+ import { HTTPClient } from '../http/client';
2
+ import { Tenant, CreateTenantRequest, UpdateTenantRequest, UpdateTenantSettingsRequest } from '../types';
3
+ /**
4
+ * Tenant management resource (admin only)
5
+ * Requires JWT authentication with admin role
6
+ */
7
+ export declare class TenantsResource {
8
+ private http;
9
+ constructor(http: HTTPClient);
10
+ /**
11
+ * List all tenants
12
+ */
13
+ list(): Promise<Tenant[]>;
14
+ /**
15
+ * Get tenant by ID
16
+ */
17
+ get(id: string): Promise<Tenant>;
18
+ /**
19
+ * Create new tenant
20
+ */
21
+ create(data: CreateTenantRequest): Promise<Tenant>;
22
+ /**
23
+ * Update tenant name
24
+ */
25
+ update(id: string, data: UpdateTenantRequest): Promise<Tenant>;
26
+ /**
27
+ * Update tenant settings (legacy webhook config)
28
+ * Prefer using WebhooksResource for new implementations
29
+ */
30
+ updateSettings(id: string, data: UpdateTenantSettingsRequest): Promise<Tenant>;
31
+ /**
32
+ * Delete tenant and all associated data
33
+ */
34
+ delete(id: string): Promise<void>;
35
+ }
36
+ //# sourceMappingURL=tenants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenants.d.ts","sourceRoot":"","sources":["../../src/resources/tenants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/B;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItC;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpE;;;OAGG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpF;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TenantsResource = void 0;
4
+ /**
5
+ * Tenant management resource (admin only)
6
+ * Requires JWT authentication with admin role
7
+ */
8
+ class TenantsResource {
9
+ constructor(http) {
10
+ this.http = http;
11
+ }
12
+ /**
13
+ * List all tenants
14
+ */
15
+ async list() {
16
+ return this.http.get('/admin/tenants');
17
+ }
18
+ /**
19
+ * Get tenant by ID
20
+ */
21
+ async get(id) {
22
+ return this.http.get(`/admin/tenants/${id}`);
23
+ }
24
+ /**
25
+ * Create new tenant
26
+ */
27
+ async create(data) {
28
+ return this.http.post('/admin/tenants', data);
29
+ }
30
+ /**
31
+ * Update tenant name
32
+ */
33
+ async update(id, data) {
34
+ return this.http.patch(`/admin/tenants/${id}`, data);
35
+ }
36
+ /**
37
+ * Update tenant settings (legacy webhook config)
38
+ * Prefer using WebhooksResource for new implementations
39
+ */
40
+ async updateSettings(id, data) {
41
+ return this.http.put(`/admin/tenants/${id}/settings`, data);
42
+ }
43
+ /**
44
+ * Delete tenant and all associated data
45
+ */
46
+ async delete(id) {
47
+ await this.http.delete(`/admin/tenants/${id}`);
48
+ }
49
+ }
50
+ exports.TenantsResource = TenantsResource;
51
+ //# sourceMappingURL=tenants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenants.js","sourceRoot":"","sources":["../../src/resources/tenants.ts"],"names":[],"mappings":";;;AAQA;;;GAGG;AACH,MAAa,eAAe;IAC1B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,gBAAgB,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAyB;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAyB;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAS,kBAAkB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,IAAiC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,kBAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AA7CD,0CA6CC"}
@@ -0,0 +1,33 @@
1
+ import { HTTPClient } from '../http/client';
2
+ import { User, CreateUserRequest, UpdateUserRequest } from '../types';
3
+ /**
4
+ * User management resource (admin only)
5
+ * Requires JWT authentication with admin role
6
+ */
7
+ export declare class UsersResource {
8
+ private http;
9
+ constructor(http: HTTPClient);
10
+ /**
11
+ * List all users
12
+ */
13
+ list(): Promise<User[]>;
14
+ /**
15
+ * Get user by ID
16
+ */
17
+ get(id: string): Promise<User>;
18
+ /**
19
+ * Create new user
20
+ * First admin can be created without authentication
21
+ */
22
+ create(data: CreateUserRequest): Promise<User>;
23
+ /**
24
+ * Update user
25
+ * Cannot update password (use auth.resetPassword instead)
26
+ */
27
+ update(id: string, data: UpdateUserRequest): Promise<User>;
28
+ /**
29
+ * Delete user
30
+ */
31
+ delete(id: string): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/resources/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEtE;;;GAGG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAI7B;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UsersResource = void 0;
4
+ /**
5
+ * User management resource (admin only)
6
+ * Requires JWT authentication with admin role
7
+ */
8
+ class UsersResource {
9
+ constructor(http) {
10
+ this.http = http;
11
+ }
12
+ /**
13
+ * List all users
14
+ */
15
+ async list() {
16
+ return this.http.get('/admin/users');
17
+ }
18
+ /**
19
+ * Get user by ID
20
+ */
21
+ async get(id) {
22
+ return this.http.get(`/admin/users/${id}`);
23
+ }
24
+ /**
25
+ * Create new user
26
+ * First admin can be created without authentication
27
+ */
28
+ async create(data) {
29
+ return this.http.post('/admin/users', data);
30
+ }
31
+ /**
32
+ * Update user
33
+ * Cannot update password (use auth.resetPassword instead)
34
+ */
35
+ async update(id, data) {
36
+ return this.http.put(`/admin/users/${id}`, data);
37
+ }
38
+ /**
39
+ * Delete user
40
+ */
41
+ async delete(id) {
42
+ await this.http.delete(`/admin/users/${id}`);
43
+ }
44
+ }
45
+ exports.UsersResource = UsersResource;
46
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/resources/users.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,aAAa;IACxB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,IAAuB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,cAAc,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAuB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF;AAvCD,sCAuCC"}
@@ -0,0 +1,113 @@
1
+ import { HTTPClient } from '../http/client';
2
+ import { WebhookConfig, CreateWebhookRequest, AdvancedWebhook, CreateAdvancedWebhookRequest, UpdateAdvancedWebhookRequest, WebhookLog, WebhookStats, ListWebhookLogsParams, GetWebhookStatsParams } from '../types';
3
+ /**
4
+ * Webhooks resource
5
+ * Manages both basic and advanced webhooks
6
+ */
7
+ export declare class WebhooksResource {
8
+ private http;
9
+ constructor(http: HTTPClient);
10
+ /**
11
+ * Create basic webhook configuration
12
+ * Requires API Token (admin)
13
+ */
14
+ createBasic(data: CreateWebhookRequest): Promise<WebhookConfig>;
15
+ /**
16
+ * List basic webhooks for tenant
17
+ * Requires API Token (admin)
18
+ */
19
+ listBasic(tenantId: string): Promise<WebhookConfig[]>;
20
+ /**
21
+ * Delete basic webhook
22
+ * Requires API Token (admin)
23
+ */
24
+ deleteBasic(id: string): Promise<void>;
25
+ /**
26
+ * Create advanced webhook (admin)
27
+ * Requires JWT with admin role
28
+ */
29
+ createAdvanced(data: CreateAdvancedWebhookRequest): Promise<AdvancedWebhook>;
30
+ /**
31
+ * List advanced webhooks (admin)
32
+ * Requires JWT with admin role
33
+ */
34
+ listAdvanced(params?: {
35
+ tenantId?: string;
36
+ active?: boolean;
37
+ eventType?: string;
38
+ }): Promise<AdvancedWebhook[]>;
39
+ /**
40
+ * Get advanced webhook by ID (admin)
41
+ * Requires JWT with admin role
42
+ */
43
+ getAdvanced(id: string, tenantId?: string): Promise<AdvancedWebhook>;
44
+ /**
45
+ * Update advanced webhook (admin)
46
+ * Requires JWT with admin role
47
+ */
48
+ updateAdvanced(id: string, data: UpdateAdvancedWebhookRequest, tenantId?: string): Promise<AdvancedWebhook>;
49
+ /**
50
+ * Delete advanced webhook (admin)
51
+ * Requires JWT with admin role
52
+ */
53
+ deleteAdvanced(id: string, tenantId?: string): Promise<void>;
54
+ /**
55
+ * Get webhook delivery logs (admin)
56
+ * Requires JWT with admin role
57
+ */
58
+ getAdvancedLogs(id: string, params?: ListWebhookLogsParams): Promise<WebhookLog[]>;
59
+ /**
60
+ * Get specific webhook log entry (admin)
61
+ * Requires JWT with admin role
62
+ */
63
+ getAdvancedLogById(webhookId: string, logId: string, tenantId?: string): Promise<WebhookLog>;
64
+ /**
65
+ * Get webhook statistics (admin)
66
+ * Requires JWT with admin role
67
+ */
68
+ getAdvancedStats(id: string, params?: GetWebhookStatsParams): Promise<WebhookStats>;
69
+ /**
70
+ * Create advanced webhook (user, tenantId from JWT)
71
+ * Requires JWT with user role
72
+ */
73
+ create(data: Omit<CreateAdvancedWebhookRequest, 'tenantId'>): Promise<AdvancedWebhook>;
74
+ /**
75
+ * List advanced webhooks (user, tenantId from JWT)
76
+ * Requires JWT with user role
77
+ */
78
+ list(params?: {
79
+ active?: boolean;
80
+ eventType?: string;
81
+ }): Promise<AdvancedWebhook[]>;
82
+ /**
83
+ * Get advanced webhook by ID (user, tenantId from JWT)
84
+ * Requires JWT with user role
85
+ */
86
+ get(id: string): Promise<AdvancedWebhook>;
87
+ /**
88
+ * Update advanced webhook (user, tenantId from JWT)
89
+ * Requires JWT with user role
90
+ */
91
+ update(id: string, data: UpdateAdvancedWebhookRequest): Promise<AdvancedWebhook>;
92
+ /**
93
+ * Delete advanced webhook (user, tenantId from JWT)
94
+ * Requires JWT with user role
95
+ */
96
+ delete(id: string): Promise<void>;
97
+ /**
98
+ * Get webhook delivery logs (user, tenantId from JWT)
99
+ * Requires JWT with user role
100
+ */
101
+ getLogs(id: string, params?: Omit<ListWebhookLogsParams, 'tenantId'>): Promise<WebhookLog[]>;
102
+ /**
103
+ * Get specific webhook log entry (user, tenantId from JWT)
104
+ * Requires JWT with user role
105
+ */
106
+ getLogById(webhookId: string, logId: string): Promise<WebhookLog>;
107
+ /**
108
+ * Get webhook statistics (user, tenantId from JWT)
109
+ * Requires JWT with user role
110
+ */
111
+ getStats(id: string, params?: Omit<GetWebhookStatsParams, 'tenantId'>): Promise<WebhookStats>;
112
+ }
113
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebhooksResource = void 0;
4
+ /**
5
+ * Webhooks resource
6
+ * Manages both basic and advanced webhooks
7
+ */
8
+ class WebhooksResource {
9
+ constructor(http) {
10
+ this.http = http;
11
+ }
12
+ // ===== Basic Webhooks (Legacy) =====
13
+ /**
14
+ * Create basic webhook configuration
15
+ * Requires API Token (admin)
16
+ */
17
+ async createBasic(data) {
18
+ return this.http.post('/wpp/admin/webhooks', data);
19
+ }
20
+ /**
21
+ * List basic webhooks for tenant
22
+ * Requires API Token (admin)
23
+ */
24
+ async listBasic(tenantId) {
25
+ return this.http.get(`/wpp/admin/webhooks/${tenantId}`);
26
+ }
27
+ /**
28
+ * Delete basic webhook
29
+ * Requires API Token (admin)
30
+ */
31
+ async deleteBasic(id) {
32
+ await this.http.delete(`/wpp/admin/webhooks/${id}`);
33
+ }
34
+ // ===== Advanced Webhooks (Admin Endpoints) =====
35
+ /**
36
+ * Create advanced webhook (admin)
37
+ * Requires JWT with admin role
38
+ */
39
+ async createAdvanced(data) {
40
+ return this.http.post('/admin/advanced-webhooks', data);
41
+ }
42
+ /**
43
+ * List advanced webhooks (admin)
44
+ * Requires JWT with admin role
45
+ */
46
+ async listAdvanced(params = {}) {
47
+ const query = new URLSearchParams();
48
+ if (params.tenantId)
49
+ query.append('tenantId', params.tenantId);
50
+ if (params.active !== undefined)
51
+ query.append('active', String(params.active));
52
+ if (params.eventType)
53
+ query.append('eventType', params.eventType);
54
+ const queryString = query.toString();
55
+ return this.http.get(`/admin/advanced-webhooks${queryString ? `?${queryString}` : ''}`);
56
+ }
57
+ /**
58
+ * Get advanced webhook by ID (admin)
59
+ * Requires JWT with admin role
60
+ */
61
+ async getAdvanced(id, tenantId) {
62
+ const query = tenantId ? `?tenantId=${tenantId}` : '';
63
+ return this.http.get(`/admin/advanced-webhooks/${id}${query}`);
64
+ }
65
+ /**
66
+ * Update advanced webhook (admin)
67
+ * Requires JWT with admin role
68
+ */
69
+ async updateAdvanced(id, data, tenantId) {
70
+ const query = tenantId ? `?tenantId=${tenantId}` : '';
71
+ return this.http.patch(`/admin/advanced-webhooks/${id}${query}`, data);
72
+ }
73
+ /**
74
+ * Delete advanced webhook (admin)
75
+ * Requires JWT with admin role
76
+ */
77
+ async deleteAdvanced(id, tenantId) {
78
+ const query = tenantId ? `?tenantId=${tenantId}` : '';
79
+ await this.http.delete(`/admin/advanced-webhooks/${id}${query}`);
80
+ }
81
+ /**
82
+ * Get webhook delivery logs (admin)
83
+ * Requires JWT with admin role
84
+ */
85
+ async getAdvancedLogs(id, params = {}) {
86
+ const query = new URLSearchParams();
87
+ if (params.tenantId)
88
+ query.append('tenantId', params.tenantId);
89
+ if (params.success !== undefined)
90
+ query.append('success', String(params.success));
91
+ if (params.url)
92
+ query.append('url', params.url);
93
+ if (params.eventType)
94
+ query.append('eventType', params.eventType);
95
+ if (params.startDate)
96
+ query.append('startDate', params.startDate);
97
+ if (params.endDate)
98
+ query.append('endDate', params.endDate);
99
+ if (params.limit)
100
+ query.append('limit', String(params.limit));
101
+ if (params.offset)
102
+ query.append('offset', String(params.offset));
103
+ const queryString = query.toString();
104
+ return this.http.get(`/admin/advanced-webhooks/${id}/logs${queryString ? `?${queryString}` : ''}`);
105
+ }
106
+ /**
107
+ * Get specific webhook log entry (admin)
108
+ * Requires JWT with admin role
109
+ */
110
+ async getAdvancedLogById(webhookId, logId, tenantId) {
111
+ const query = tenantId ? `?tenantId=${tenantId}` : '';
112
+ return this.http.get(`/admin/advanced-webhooks/${webhookId}/logs/${logId}${query}`);
113
+ }
114
+ /**
115
+ * Get webhook statistics (admin)
116
+ * Requires JWT with admin role
117
+ */
118
+ async getAdvancedStats(id, params = {}) {
119
+ const query = new URLSearchParams();
120
+ if (params.tenantId)
121
+ query.append('tenantId', params.tenantId);
122
+ if (params.startDate)
123
+ query.append('startDate', params.startDate);
124
+ if (params.endDate)
125
+ query.append('endDate', params.endDate);
126
+ const queryString = query.toString();
127
+ return this.http.get(`/admin/advanced-webhooks/${id}/stats${queryString ? `?${queryString}` : ''}`);
128
+ }
129
+ // ===== Advanced Webhooks (User Endpoints) =====
130
+ /**
131
+ * Create advanced webhook (user, tenantId from JWT)
132
+ * Requires JWT with user role
133
+ */
134
+ async create(data) {
135
+ return this.http.post('/advanced-webhooks', data);
136
+ }
137
+ /**
138
+ * List advanced webhooks (user, tenantId from JWT)
139
+ * Requires JWT with user role
140
+ */
141
+ async list(params = {}) {
142
+ const query = new URLSearchParams();
143
+ if (params.active !== undefined)
144
+ query.append('active', String(params.active));
145
+ if (params.eventType)
146
+ query.append('eventType', params.eventType);
147
+ const queryString = query.toString();
148
+ return this.http.get(`/advanced-webhooks${queryString ? `?${queryString}` : ''}`);
149
+ }
150
+ /**
151
+ * Get advanced webhook by ID (user, tenantId from JWT)
152
+ * Requires JWT with user role
153
+ */
154
+ async get(id) {
155
+ return this.http.get(`/advanced-webhooks/${id}`);
156
+ }
157
+ /**
158
+ * Update advanced webhook (user, tenantId from JWT)
159
+ * Requires JWT with user role
160
+ */
161
+ async update(id, data) {
162
+ return this.http.patch(`/advanced-webhooks/${id}`, data);
163
+ }
164
+ /**
165
+ * Delete advanced webhook (user, tenantId from JWT)
166
+ * Requires JWT with user role
167
+ */
168
+ async delete(id) {
169
+ await this.http.delete(`/advanced-webhooks/${id}`);
170
+ }
171
+ /**
172
+ * Get webhook delivery logs (user, tenantId from JWT)
173
+ * Requires JWT with user role
174
+ */
175
+ async getLogs(id, params = {}) {
176
+ const query = new URLSearchParams();
177
+ if (params.success !== undefined)
178
+ query.append('success', String(params.success));
179
+ if (params.url)
180
+ query.append('url', params.url);
181
+ if (params.eventType)
182
+ query.append('eventType', params.eventType);
183
+ if (params.startDate)
184
+ query.append('startDate', params.startDate);
185
+ if (params.endDate)
186
+ query.append('endDate', params.endDate);
187
+ if (params.limit)
188
+ query.append('limit', String(params.limit));
189
+ if (params.offset)
190
+ query.append('offset', String(params.offset));
191
+ const queryString = query.toString();
192
+ return this.http.get(`/advanced-webhooks/${id}/logs${queryString ? `?${queryString}` : ''}`);
193
+ }
194
+ /**
195
+ * Get specific webhook log entry (user, tenantId from JWT)
196
+ * Requires JWT with user role
197
+ */
198
+ async getLogById(webhookId, logId) {
199
+ return this.http.get(`/advanced-webhooks/${webhookId}/logs/${logId}`);
200
+ }
201
+ /**
202
+ * Get webhook statistics (user, tenantId from JWT)
203
+ * Requires JWT with user role
204
+ */
205
+ async getStats(id, params = {}) {
206
+ const query = new URLSearchParams();
207
+ if (params.startDate)
208
+ query.append('startDate', params.startDate);
209
+ if (params.endDate)
210
+ query.append('endDate', params.endDate);
211
+ const queryString = query.toString();
212
+ return this.http.get(`/advanced-webhooks/${id}/stats${queryString ? `?${queryString}` : ''}`);
213
+ }
214
+ }
215
+ exports.WebhooksResource = WebhooksResource;
216
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"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"}