plenna_utilities 1.14.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/src/meta/index.d.ts +22 -0
- package/dist/src/meta/index.js +21 -0
- package/dist/src/sendesk/index.d.ts +16 -0
- package/dist/src/sendesk/index.js +92 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -31,3 +31,5 @@ __exportStar(require("./src/alerts/presenter"), exports);
|
|
|
31
31
|
__exportStar(require("./src/common/domain/shared"), exports);
|
|
32
32
|
__exportStar(require("./src/AI/bedrock"), exports);
|
|
33
33
|
__exportStar(require("./src/respira"), exports);
|
|
34
|
+
__exportStar(require("./src/sendesk"), exports);
|
|
35
|
+
__exportStar(require("./src/meta"), exports);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface IMetaWhatsAppTemplateComponent {
|
|
2
|
+
type: 'HEADER' | 'BODY' | 'FOOTER' | 'BUTTONS';
|
|
3
|
+
text?: string;
|
|
4
|
+
format?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IMetaWhatsAppTemplate {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
language: string;
|
|
10
|
+
status: string;
|
|
11
|
+
components: IMetaWhatsAppTemplateComponent[];
|
|
12
|
+
}
|
|
13
|
+
export interface IMetaTemplatesResponse {
|
|
14
|
+
data: IMetaWhatsAppTemplate[];
|
|
15
|
+
}
|
|
16
|
+
export declare class MetaWhatsAppService {
|
|
17
|
+
private readonly token;
|
|
18
|
+
private readonly wabaId;
|
|
19
|
+
private readonly graphVersion;
|
|
20
|
+
constructor(token: string, wabaId: string);
|
|
21
|
+
getTemplateByName(name: string, language: string): Promise<Response>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetaWhatsAppService = void 0;
|
|
4
|
+
class MetaWhatsAppService {
|
|
5
|
+
token;
|
|
6
|
+
wabaId;
|
|
7
|
+
graphVersion = 'v25.0';
|
|
8
|
+
constructor(token, wabaId) {
|
|
9
|
+
this.token = token;
|
|
10
|
+
this.wabaId = wabaId;
|
|
11
|
+
}
|
|
12
|
+
async getTemplateByName(name, language) {
|
|
13
|
+
const url = new URL(`https://graph.facebook.com/${this.graphVersion}/${this.wabaId}/message_templates`);
|
|
14
|
+
url.searchParams.set('name', name);
|
|
15
|
+
url.searchParams.set('language', language);
|
|
16
|
+
return await fetch(url.toString(), {
|
|
17
|
+
headers: { Authorization: `Bearer ${this.token}` }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.MetaWhatsAppService = MetaWhatsAppService;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class SendeskService {
|
|
2
|
+
private readonly user;
|
|
3
|
+
private readonly token;
|
|
4
|
+
private readonly url;
|
|
5
|
+
constructor(user: string, token: string, url: string);
|
|
6
|
+
_getHeaders(): Record<string, string>;
|
|
7
|
+
getInfoTicket(ticketId: string): Promise<Response>;
|
|
8
|
+
updatedTicket(ticketId: string, updatePayload: Record<string, unknown>): Promise<Response>;
|
|
9
|
+
getInfoUser(userId: string): Promise<Response>;
|
|
10
|
+
getInfoUserByQuery(query: Record<string, unknown>): Promise<Response>;
|
|
11
|
+
updateUser(userId: string, updatePayload: Record<string, unknown>): Promise<Response>;
|
|
12
|
+
createIdentity(user: string, type: string, value: string): Promise<Response>;
|
|
13
|
+
getIdentities(user: string): Promise<Response>;
|
|
14
|
+
getAllOpenTicketsByUser(user: string): Promise<Response>;
|
|
15
|
+
getInfoTicketAudit(ticketId: string): Promise<Response>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SendeskService = void 0;
|
|
4
|
+
class SendeskService {
|
|
5
|
+
user;
|
|
6
|
+
token;
|
|
7
|
+
url;
|
|
8
|
+
constructor(user, token, url) {
|
|
9
|
+
this.user = user;
|
|
10
|
+
this.token = token;
|
|
11
|
+
this.url = url;
|
|
12
|
+
}
|
|
13
|
+
_getHeaders() {
|
|
14
|
+
const authString = `${this.user}/token:${this.token}`;
|
|
15
|
+
const encodedAuth = Buffer.from(authString).toString('base64');
|
|
16
|
+
const headers = {
|
|
17
|
+
Authorization: `Basic ${encodedAuth}`,
|
|
18
|
+
'Content-Type': 'application/json'
|
|
19
|
+
};
|
|
20
|
+
return headers;
|
|
21
|
+
}
|
|
22
|
+
async getInfoTicket(ticketId) {
|
|
23
|
+
const headers = this._getHeaders();
|
|
24
|
+
return await fetch(`${this.url}/api/v2/tickets/${ticketId}.json`, {
|
|
25
|
+
method: 'GET',
|
|
26
|
+
headers
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async updatedTicket(ticketId, updatePayload) {
|
|
30
|
+
const headers = this._getHeaders();
|
|
31
|
+
return await fetch(`${this.url}/api/v2/tickets/${ticketId}.json`, {
|
|
32
|
+
method: 'PUT',
|
|
33
|
+
headers,
|
|
34
|
+
body: JSON.stringify(updatePayload)
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async getInfoUser(userId) {
|
|
38
|
+
const headers = this._getHeaders();
|
|
39
|
+
return await fetch(`${this.url}/api/v2/users/${userId}.json`, {
|
|
40
|
+
method: 'GET',
|
|
41
|
+
headers
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
async getInfoUserByQuery(query) {
|
|
45
|
+
const headers = this._getHeaders();
|
|
46
|
+
return await fetch(`${this.url}/api/v2/users/search?query=${encodeURIComponent(JSON.stringify(query))}`, {
|
|
47
|
+
method: 'GET',
|
|
48
|
+
headers
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async updateUser(userId, updatePayload) {
|
|
52
|
+
const headers = this._getHeaders();
|
|
53
|
+
return await fetch(`${this.url}/api/v2/users/${userId}.json`, {
|
|
54
|
+
method: 'PUT',
|
|
55
|
+
headers,
|
|
56
|
+
body: JSON.stringify(updatePayload)
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
async createIdentity(user, type, value) {
|
|
60
|
+
const headers = this._getHeaders();
|
|
61
|
+
return await fetch(`${this.url}/api/v2/users/${user}/identities.json`, {
|
|
62
|
+
method: 'POST',
|
|
63
|
+
headers,
|
|
64
|
+
body: JSON.stringify({ identity: { type, value } })
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
async getIdentities(user) {
|
|
68
|
+
const headers = this._getHeaders();
|
|
69
|
+
return await fetch(`${this.url}/api/v2/end_users/${user}/identities.json`, {
|
|
70
|
+
method: 'GET',
|
|
71
|
+
headers
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
async getAllOpenTicketsByUser(user) {
|
|
75
|
+
const headers = this._getHeaders();
|
|
76
|
+
const params = new URLSearchParams({
|
|
77
|
+
query: `type:ticket requester_id:${user} status<closed`
|
|
78
|
+
});
|
|
79
|
+
return await fetch(`${this.url}/api/v2/search?${params.toString()}`, {
|
|
80
|
+
method: 'GET',
|
|
81
|
+
headers
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
async getInfoTicketAudit(ticketId) {
|
|
85
|
+
const headers = this._getHeaders();
|
|
86
|
+
return await fetch(`${this.url}/api/v2/tickets/${ticketId}/audits.json`, {
|
|
87
|
+
method: 'GET',
|
|
88
|
+
headers
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.SendeskService = SendeskService;
|