@in.pulse-crm/sdk 1.3.5 → 1.3.7
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 -2
- package/dist/index.js +1 -1
- package/dist/report.d.ts +15 -7
- package/dist/report.js +16 -10
- package/dist/socket-client.d.ts +2 -2
- package/dist/socket-server.d.ts +8 -6
- package/package.json +1 -1
- package/src/auth.ts +8 -10
- package/src/file.ts +0 -1
- package/src/index.ts +4 -4
- package/src/report.ts +19 -10
- package/src/socket-client.ts +2 -2
- package/src/socket-server.ts +8 -6
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import FileSDK, { File, FileDirType } from "./file";
|
|
|
3
3
|
import InstanceSDK from "./instance";
|
|
4
4
|
import UserSDK, { CreateUserDTO, UpdateUserDTO, User, UserRole } from "./user";
|
|
5
5
|
import { DataResponse, ErrorResponse, PaginatedResponse, QueryResponse } from "./response";
|
|
6
|
-
import ReportSDK, {
|
|
6
|
+
import ReportSDK, { ChatsReport, ChatsReportFileFormat, GenerateChatsReportOptions } from "./report";
|
|
7
7
|
import SocketClientSDK, { JoinChatFunction, JoinRoomFunction, ListenEventFunction } from "./socket-client";
|
|
8
8
|
import SocketServerSDK, { EmitFunction, InstanceName, SocketAdminRoom, SocketChatRoom, SocketMonitorRoom, SocketReportsRoom, SocketRoomType, SocketEventType } from "./socket-server";
|
|
9
|
-
export { AuthSDK, LoginData, SessionData, FileSDK, File, FileDirType, InstanceSDK, UserSDK, CreateUserDTO, UpdateUserDTO, User, UserRole, DataResponse, ErrorResponse, PaginatedResponse, QueryResponse, ReportSDK, ChatReport, ChatReportFileFormat, GenerateChatReportOptions, SocketClientSDK, JoinChatFunction, JoinRoomFunction, ListenEventFunction, SocketServerSDK, EmitFunction, InstanceName, SocketAdminRoom, SocketReportsRoom, SocketChatRoom, SocketEventType, SocketMonitorRoom, SocketRoomType };
|
|
9
|
+
export { AuthSDK, LoginData, SessionData, FileSDK, File, FileDirType, InstanceSDK, UserSDK, CreateUserDTO, UpdateUserDTO, User, UserRole, DataResponse, ErrorResponse, PaginatedResponse, QueryResponse, ReportSDK, ChatsReport as ChatReport, ChatsReportFileFormat as ChatReportFileFormat, GenerateChatsReportOptions as GenerateChatReportOptions, SocketClientSDK, JoinChatFunction, JoinRoomFunction, ListenEventFunction, SocketServerSDK, EmitFunction, InstanceName, SocketAdminRoom, SocketReportsRoom, SocketChatRoom, SocketEventType, SocketMonitorRoom, SocketRoomType };
|
package/dist/index.js
CHANGED
|
@@ -49,7 +49,7 @@ exports.UserSDK = user_1.default;
|
|
|
49
49
|
Object.defineProperty(exports, "UserRole", { enumerable: true, get: function () { return user_1.UserRole; } });
|
|
50
50
|
const report_1 = __importStar(require("./report"));
|
|
51
51
|
exports.ReportSDK = report_1.default;
|
|
52
|
-
Object.defineProperty(exports, "ChatReportFileFormat", { enumerable: true, get: function () { return report_1.
|
|
52
|
+
Object.defineProperty(exports, "ChatReportFileFormat", { enumerable: true, get: function () { return report_1.ChatsReportFileFormat; } });
|
|
53
53
|
const socket_client_1 = __importDefault(require("./socket-client"));
|
|
54
54
|
exports.SocketClientSDK = socket_client_1.default;
|
|
55
55
|
const socket_server_1 = __importStar(require("./socket-server"));
|
package/dist/report.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { AxiosInstance } from "axios";
|
|
2
2
|
import { DataResponse, MessageResponse } from "./response";
|
|
3
|
-
export
|
|
3
|
+
export declare enum ChatsReportStatus {
|
|
4
|
+
PENDING = "PENDING",
|
|
5
|
+
COMPLETED = "COMPLETED",
|
|
6
|
+
FAILED = "FAILED"
|
|
7
|
+
}
|
|
8
|
+
export interface ChatsReport {
|
|
4
9
|
id: number;
|
|
5
10
|
userId: string;
|
|
6
11
|
fileId: number;
|
|
@@ -9,15 +14,18 @@ export interface ChatReport {
|
|
|
9
14
|
startDate: string;
|
|
10
15
|
endDate: string;
|
|
11
16
|
exportDate: string;
|
|
17
|
+
chats: number;
|
|
18
|
+
messages: number;
|
|
19
|
+
status: ChatsReportStatus;
|
|
12
20
|
}
|
|
13
|
-
export interface
|
|
21
|
+
export interface GenerateChatsReportOptions {
|
|
14
22
|
instance: string;
|
|
15
23
|
userId: string;
|
|
16
|
-
format:
|
|
24
|
+
format: ChatsReportFileFormat;
|
|
17
25
|
startDate: string;
|
|
18
26
|
endDate: string;
|
|
19
27
|
}
|
|
20
|
-
export declare enum
|
|
28
|
+
export declare enum ChatsReportFileFormat {
|
|
21
29
|
TXT = "txt",
|
|
22
30
|
CSV = "csv",
|
|
23
31
|
PDF = "pdf"
|
|
@@ -25,7 +33,7 @@ export declare enum ChatReportFileFormat {
|
|
|
25
33
|
export default class ReportSDK {
|
|
26
34
|
private readonly httpClient;
|
|
27
35
|
constructor(httpClient: AxiosInstance);
|
|
28
|
-
getChatsReports(instanceName: string): Promise<DataResponse<
|
|
29
|
-
|
|
30
|
-
|
|
36
|
+
getChatsReports(instanceName: string): Promise<DataResponse<ChatsReport[]>>;
|
|
37
|
+
generateChatsReport({ instance, ...body }: GenerateChatsReportOptions): Promise<DataResponse<ChatsReport>>;
|
|
38
|
+
deleteChatsReport(instanceName: string, chatsReportId: number): Promise<MessageResponse>;
|
|
31
39
|
}
|
package/dist/report.js
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var
|
|
5
|
-
(function (
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
})(
|
|
3
|
+
exports.ChatsReportFileFormat = exports.ChatsReportStatus = void 0;
|
|
4
|
+
var ChatsReportStatus;
|
|
5
|
+
(function (ChatsReportStatus) {
|
|
6
|
+
ChatsReportStatus["PENDING"] = "PENDING";
|
|
7
|
+
ChatsReportStatus["COMPLETED"] = "COMPLETED";
|
|
8
|
+
ChatsReportStatus["FAILED"] = "FAILED";
|
|
9
|
+
})(ChatsReportStatus || (exports.ChatsReportStatus = ChatsReportStatus = {}));
|
|
10
|
+
var ChatsReportFileFormat;
|
|
11
|
+
(function (ChatsReportFileFormat) {
|
|
12
|
+
ChatsReportFileFormat["TXT"] = "txt";
|
|
13
|
+
ChatsReportFileFormat["CSV"] = "csv";
|
|
14
|
+
ChatsReportFileFormat["PDF"] = "pdf";
|
|
15
|
+
})(ChatsReportFileFormat || (exports.ChatsReportFileFormat = ChatsReportFileFormat = {}));
|
|
10
16
|
class ReportSDK {
|
|
11
17
|
httpClient;
|
|
12
18
|
constructor(httpClient) {
|
|
@@ -17,13 +23,13 @@ class ReportSDK {
|
|
|
17
23
|
const response = await this.httpClient.get(url);
|
|
18
24
|
return response.data;
|
|
19
25
|
}
|
|
20
|
-
async
|
|
26
|
+
async generateChatsReport({ instance, ...body }) {
|
|
21
27
|
const url = `/${instance}/reports/chats`;
|
|
22
28
|
const response = await this.httpClient.post(url, body);
|
|
23
29
|
return response.data;
|
|
24
30
|
}
|
|
25
|
-
async
|
|
26
|
-
const url = `/${instanceName}/reports/chats/${
|
|
31
|
+
async deleteChatsReport(instanceName, chatsReportId) {
|
|
32
|
+
const url = `/${instanceName}/reports/chats/${chatsReportId}`;
|
|
27
33
|
const response = await this.httpClient.delete(url);
|
|
28
34
|
return response.data;
|
|
29
35
|
}
|
package/dist/socket-client.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Socket } from "socket.io-client";
|
|
2
2
|
import { PhoneNumber } from "@in.pulse-crm/utils";
|
|
3
|
-
import { ChatId, NotImplemented, QRCode,
|
|
3
|
+
import { ChatId, NotImplemented, QRCode, ChatsReportStatusData, SocketEventType, SocketRoomType } from "./socket-server";
|
|
4
4
|
/**
|
|
5
5
|
* Função para entrar em uma sala de socket.
|
|
6
6
|
*/
|
|
@@ -61,7 +61,7 @@ export type ListenEventFunction = {
|
|
|
61
61
|
* @trigger Quando o status de um relatório é atualizado
|
|
62
62
|
* @target Sala de relatórios
|
|
63
63
|
*/
|
|
64
|
-
(event: SocketEventType.REPORT_STATUS, listener: (data:
|
|
64
|
+
(event: SocketEventType.REPORT_STATUS, listener: (data: ChatsReportStatusData) => void): void;
|
|
65
65
|
};
|
|
66
66
|
/**
|
|
67
67
|
* Classe para consumo dos eventos de socket.
|
package/dist/socket-server.d.ts
CHANGED
|
@@ -38,23 +38,25 @@ export type SocketRoomType = SocketChatRoom | SocketAdminRoom | SocketReportsRoo
|
|
|
38
38
|
*/
|
|
39
39
|
export type NotImplemented = unknown;
|
|
40
40
|
/**
|
|
41
|
-
* Dados de status de um relatório.
|
|
41
|
+
* Dados de status de um relatório de conversas.
|
|
42
42
|
*/
|
|
43
|
-
export type
|
|
43
|
+
export type ChatsReportStatusData = {
|
|
44
44
|
id: number;
|
|
45
|
-
type:
|
|
45
|
+
type: "chats-report";
|
|
46
46
|
isCompleted: false;
|
|
47
47
|
isFailed: false;
|
|
48
48
|
progress: number;
|
|
49
49
|
} | {
|
|
50
50
|
id: number;
|
|
51
|
-
type:
|
|
51
|
+
type: "chats-report";
|
|
52
52
|
isCompleted: true;
|
|
53
53
|
isFailed: false;
|
|
54
54
|
fileId: number;
|
|
55
|
+
chats: number;
|
|
56
|
+
messages: number;
|
|
55
57
|
} | {
|
|
56
58
|
id: number;
|
|
57
|
-
type:
|
|
59
|
+
type: "chats-report";
|
|
58
60
|
isCompleted: false;
|
|
59
61
|
isFailed: true;
|
|
60
62
|
error: string;
|
|
@@ -146,7 +148,7 @@ export type EmitFunction = {
|
|
|
146
148
|
(instanceName: string, room: SocketAdminRoom, event: SocketEventType.NOTIFICATION, value: NotImplemented): void;
|
|
147
149
|
(instanceName: string, room: SocketChatRoom, event: SocketEventType.MESSAGE_EDIT, value: NotImplemented): void;
|
|
148
150
|
(instanceName: string, room: SocketChatRoom, event: SocketEventType.MESSAGE_STATUS, value: NotImplemented): void;
|
|
149
|
-
(instanceName: string, room: SocketReportsRoom, event: SocketEventType.REPORT_STATUS, value:
|
|
151
|
+
(instanceName: string, room: SocketReportsRoom, event: SocketEventType.REPORT_STATUS, value: ChatsReportStatusData): void;
|
|
150
152
|
};
|
|
151
153
|
/**
|
|
152
154
|
* Classe para manipulação de eventos de socket.
|
package/package.json
CHANGED
package/src/auth.ts
CHANGED
|
@@ -60,13 +60,12 @@ export default class AuthSDK {
|
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
62
|
* Busca os dados da sessão.
|
|
63
|
-
* @param {string} instanceName Nome da instância do Inpulse.
|
|
64
63
|
* @param {string} authToken Token de autenticação.
|
|
65
64
|
* @returns {Promise<DataResponse<AuthTypes.SessionData>>} Dados da sessão.
|
|
66
65
|
*/
|
|
67
|
-
public async fetchSessionData(
|
|
66
|
+
public async fetchSessionData(authToken: string): Promise<DataResponse<SessionData>> {
|
|
68
67
|
const response = await this.httpClient
|
|
69
|
-
.get<DataResponse<SessionData>>(
|
|
68
|
+
.get<DataResponse<SessionData>>(`/auth`, {
|
|
70
69
|
headers: {
|
|
71
70
|
authorization: authToken,
|
|
72
71
|
},
|
|
@@ -81,13 +80,12 @@ export default class AuthSDK {
|
|
|
81
80
|
|
|
82
81
|
/**
|
|
83
82
|
* Busca os dados do usuário da sessão.
|
|
84
|
-
* @param {string} instanceName Nome da instância do Inpulse.
|
|
85
83
|
* @param {string} authToken Token de autenticação.
|
|
86
84
|
* @returns {Promise<DataResponse<AuthTypes.User>>} Dados do usuário.
|
|
87
85
|
*/
|
|
88
|
-
public async fetchSessionUser(
|
|
86
|
+
public async fetchSessionUser(authToken: string): Promise<DataResponse<User>> {
|
|
89
87
|
const response = await this.httpClient
|
|
90
|
-
.get<DataResponse<User>>(
|
|
88
|
+
.get<DataResponse<User>>(`/auth/user`, {
|
|
91
89
|
headers: {
|
|
92
90
|
authorization: authToken,
|
|
93
91
|
},
|
|
@@ -108,9 +106,9 @@ export default class AuthSDK {
|
|
|
108
106
|
*/
|
|
109
107
|
public async isAuthenticated(instanceName: string, authToken: string): Promise<boolean> {
|
|
110
108
|
try {
|
|
111
|
-
const { data } = await this.fetchSessionData(
|
|
109
|
+
const { data } = await this.fetchSessionData(authToken);
|
|
112
110
|
|
|
113
|
-
return !!data.userId;
|
|
111
|
+
return !!data.userId && data.instance === instanceName;
|
|
114
112
|
} catch {
|
|
115
113
|
return false;
|
|
116
114
|
}
|
|
@@ -129,9 +127,9 @@ export default class AuthSDK {
|
|
|
129
127
|
authorizedRoles: string[],
|
|
130
128
|
): Promise<boolean> {
|
|
131
129
|
try {
|
|
132
|
-
const { data } = await this.fetchSessionData(
|
|
130
|
+
const { data } = await this.fetchSessionData(authToken);
|
|
133
131
|
|
|
134
|
-
return authorizedRoles.includes(data.role);
|
|
132
|
+
return authorizedRoles.includes(data.role) && data.instance === instanceName;
|
|
135
133
|
} catch {
|
|
136
134
|
return false;
|
|
137
135
|
}
|
package/src/file.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -3,7 +3,7 @@ import FileSDK, { File, FileDirType } from "./file";
|
|
|
3
3
|
import InstanceSDK from "./instance";
|
|
4
4
|
import UserSDK, { CreateUserDTO, UpdateUserDTO, User, UserRole } from "./user";
|
|
5
5
|
import { DataResponse, ErrorResponse, PaginatedResponse, QueryResponse } from "./response";
|
|
6
|
-
import ReportSDK, {
|
|
6
|
+
import ReportSDK, { ChatsReport, ChatsReportFileFormat, GenerateChatsReportOptions } from "./report";
|
|
7
7
|
import SocketClientSDK, { JoinChatFunction, JoinRoomFunction, ListenEventFunction } from "./socket-client";
|
|
8
8
|
import
|
|
9
9
|
SocketServerSDK,
|
|
@@ -36,9 +36,9 @@ export {
|
|
|
36
36
|
PaginatedResponse,
|
|
37
37
|
QueryResponse,
|
|
38
38
|
ReportSDK,
|
|
39
|
-
ChatReport,
|
|
40
|
-
ChatReportFileFormat,
|
|
41
|
-
GenerateChatReportOptions,
|
|
39
|
+
ChatsReport as ChatReport,
|
|
40
|
+
ChatsReportFileFormat as ChatReportFileFormat,
|
|
41
|
+
GenerateChatsReportOptions as GenerateChatReportOptions,
|
|
42
42
|
SocketClientSDK,
|
|
43
43
|
JoinChatFunction,
|
|
44
44
|
JoinRoomFunction,
|
package/src/report.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { AxiosInstance } from "axios";
|
|
2
2
|
import { DataResponse, MessageResponse } from "./response";
|
|
3
3
|
|
|
4
|
-
export
|
|
4
|
+
export enum ChatsReportStatus {
|
|
5
|
+
PENDING = "PENDING",
|
|
6
|
+
COMPLETED = "COMPLETED",
|
|
7
|
+
FAILED = "FAILED",
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface ChatsReport {
|
|
5
11
|
id: number;
|
|
6
12
|
userId: string;
|
|
7
13
|
fileId: number;
|
|
@@ -10,17 +16,20 @@ export interface ChatReport {
|
|
|
10
16
|
startDate: string;
|
|
11
17
|
endDate: string;
|
|
12
18
|
exportDate: string;
|
|
19
|
+
chats: number;
|
|
20
|
+
messages: number;
|
|
21
|
+
status: ChatsReportStatus;
|
|
13
22
|
}
|
|
14
23
|
|
|
15
|
-
export interface
|
|
24
|
+
export interface GenerateChatsReportOptions {
|
|
16
25
|
instance: string;
|
|
17
26
|
userId: string;
|
|
18
|
-
format:
|
|
27
|
+
format: ChatsReportFileFormat;
|
|
19
28
|
startDate: string;
|
|
20
29
|
endDate: string;
|
|
21
30
|
}
|
|
22
31
|
|
|
23
|
-
export enum
|
|
32
|
+
export enum ChatsReportFileFormat {
|
|
24
33
|
TXT = "txt",
|
|
25
34
|
CSV = "csv",
|
|
26
35
|
PDF = "pdf",
|
|
@@ -32,17 +41,17 @@ export default class ReportSDK {
|
|
|
32
41
|
public async getChatsReports(instanceName: string) {
|
|
33
42
|
const url = `/${instanceName}/reports/chats`;
|
|
34
43
|
const response =
|
|
35
|
-
await this.httpClient.get<DataResponse<Array<
|
|
44
|
+
await this.httpClient.get<DataResponse<Array<ChatsReport>>>(url);
|
|
36
45
|
|
|
37
46
|
return response.data;
|
|
38
47
|
}
|
|
39
48
|
|
|
40
|
-
public async
|
|
49
|
+
public async generateChatsReport({
|
|
41
50
|
instance,
|
|
42
51
|
...body
|
|
43
|
-
}:
|
|
52
|
+
}: GenerateChatsReportOptions) {
|
|
44
53
|
const url = `/${instance}/reports/chats`;
|
|
45
|
-
const response = await this.httpClient.post<DataResponse<
|
|
54
|
+
const response = await this.httpClient.post<DataResponse<ChatsReport>>(
|
|
46
55
|
url,
|
|
47
56
|
body,
|
|
48
57
|
);
|
|
@@ -50,8 +59,8 @@ export default class ReportSDK {
|
|
|
50
59
|
return response.data;
|
|
51
60
|
}
|
|
52
61
|
|
|
53
|
-
public async
|
|
54
|
-
const url = `/${instanceName}/reports/chats/${
|
|
62
|
+
public async deleteChatsReport(instanceName: string, chatsReportId: number) {
|
|
63
|
+
const url = `/${instanceName}/reports/chats/${chatsReportId}`;
|
|
55
64
|
const response = await this.httpClient.delete<MessageResponse>(url);
|
|
56
65
|
|
|
57
66
|
return response.data;
|
package/src/socket-client.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Socket } from "socket.io-client";
|
|
2
2
|
import { PhoneNumber } from "@in.pulse-crm/utils";
|
|
3
|
-
import { ChatId, NotImplemented, QRCode,
|
|
3
|
+
import { ChatId, NotImplemented, QRCode, ChatsReportStatusData, SocketEventType, SocketRoomType } from "./socket-server";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Função para entrar em uma sala de socket.
|
|
@@ -71,7 +71,7 @@ export type ListenEventFunction = {
|
|
|
71
71
|
* @trigger Quando o status de um relatório é atualizado
|
|
72
72
|
* @target Sala de relatórios
|
|
73
73
|
*/
|
|
74
|
-
(event: SocketEventType.REPORT_STATUS, listener: (data:
|
|
74
|
+
(event: SocketEventType.REPORT_STATUS, listener: (data: ChatsReportStatusData) => void): void;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
/**
|
package/src/socket-server.ts
CHANGED
|
@@ -46,23 +46,25 @@ export type SocketRoomType = SocketChatRoom | SocketAdminRoom | SocketReportsRoo
|
|
|
46
46
|
export type NotImplemented = unknown;
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
|
-
* Dados de status de um relatório.
|
|
49
|
+
* Dados de status de um relatório de conversas.
|
|
50
50
|
*/
|
|
51
|
-
export type
|
|
51
|
+
export type ChatsReportStatusData = {
|
|
52
52
|
id: number;
|
|
53
|
-
type:
|
|
53
|
+
type: "chats-report";
|
|
54
54
|
isCompleted: false;
|
|
55
55
|
isFailed: false;
|
|
56
56
|
progress: number;
|
|
57
57
|
} | {
|
|
58
58
|
id: number;
|
|
59
|
-
type:
|
|
59
|
+
type: "chats-report";
|
|
60
60
|
isCompleted: true;
|
|
61
61
|
isFailed: false;
|
|
62
62
|
fileId: number;
|
|
63
|
+
chats: number;
|
|
64
|
+
messages: number;
|
|
63
65
|
} | {
|
|
64
66
|
id: number;
|
|
65
|
-
type:
|
|
67
|
+
type: "chats-report";
|
|
66
68
|
isCompleted: false;
|
|
67
69
|
isFailed: true;
|
|
68
70
|
error: string;
|
|
@@ -198,7 +200,7 @@ export type EmitFunction = {
|
|
|
198
200
|
instanceName: string,
|
|
199
201
|
room: SocketReportsRoom,
|
|
200
202
|
event: SocketEventType.REPORT_STATUS,
|
|
201
|
-
value:
|
|
203
|
+
value: ChatsReportStatusData
|
|
202
204
|
): void;
|
|
203
205
|
};
|
|
204
206
|
|