@in.pulse-crm/sdk 1.3.4 → 1.3.6

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 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, { ChatReport, ChatReportFileFormat, GenerateChatReportOptions } from "./report";
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.ChatReportFileFormat; } });
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 interface ChatReport {
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 GenerateChatReportOptions {
21
+ export interface GenerateChatsReportOptions {
14
22
  instance: string;
15
23
  userId: string;
16
- format: ChatReportFileFormat;
24
+ format: ChatsReportFileFormat;
17
25
  startDate: string;
18
26
  endDate: string;
19
27
  }
20
- export declare enum ChatReportFileFormat {
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<ChatReport[]>>;
29
- generateChatReport({ instance, ...body }: GenerateChatReportOptions): Promise<DataResponse<ChatReport>>;
30
- deleteReport(instanceName: string, reportId: number): Promise<MessageResponse>;
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.ChatReportFileFormat = void 0;
4
- var ChatReportFileFormat;
5
- (function (ChatReportFileFormat) {
6
- ChatReportFileFormat["TXT"] = "txt";
7
- ChatReportFileFormat["CSV"] = "csv";
8
- ChatReportFileFormat["PDF"] = "pdf";
9
- })(ChatReportFileFormat || (exports.ChatReportFileFormat = ChatReportFileFormat = {}));
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 generateChatReport({ instance, ...body }) {
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 deleteReport(instanceName, reportId) {
26
- const url = `/${instanceName}/reports/chats/${reportId}`;
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
  }
@@ -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, ReportStatusData, SocketEventType, SocketRoomType } from "./socket-server";
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: ReportStatusData) => void): void;
64
+ (event: SocketEventType.REPORT_STATUS, listener: (data: ChatsReportStatusData) => void): void;
65
65
  };
66
66
  /**
67
67
  * Classe para consumo dos eventos de socket.
@@ -38,18 +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 ReportStatusData = {
43
+ export type ChatsReportStatusData = {
44
44
  id: number;
45
- type: string;
45
+ type: "chats-report";
46
+ isCompleted: false;
47
+ isFailed: false;
46
48
  progress: number;
49
+ } | {
50
+ id: number;
51
+ type: "chats-report";
47
52
  isCompleted: true;
48
53
  isFailed: false;
49
54
  fileId: number;
55
+ chats: number;
56
+ messages: number;
50
57
  } | {
51
58
  id: number;
52
- type: string;
59
+ type: "chats-report";
53
60
  isCompleted: false;
54
61
  isFailed: true;
55
62
  error: string;
@@ -141,7 +148,7 @@ export type EmitFunction = {
141
148
  (instanceName: string, room: SocketAdminRoom, event: SocketEventType.NOTIFICATION, value: NotImplemented): void;
142
149
  (instanceName: string, room: SocketChatRoom, event: SocketEventType.MESSAGE_EDIT, value: NotImplemented): void;
143
150
  (instanceName: string, room: SocketChatRoom, event: SocketEventType.MESSAGE_STATUS, value: NotImplemented): void;
144
- (instanceName: string, room: SocketReportsRoom, event: SocketEventType.REPORT_STATUS, value: ReportStatusData): void;
151
+ (instanceName: string, room: SocketReportsRoom, event: SocketEventType.REPORT_STATUS, value: ChatsReportStatusData): void;
145
152
  };
146
153
  /**
147
154
  * Classe para manipulação de eventos de socket.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@in.pulse-crm/sdk",
3
- "version": "1.3.4",
3
+ "version": "1.3.6",
4
4
  "description": "SDKs for abstraction of api consumption of in.pulse-crm application",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
package/src/file.ts CHANGED
@@ -35,7 +35,6 @@ export enum FileDirType {
35
35
  MODELS = "models",
36
36
  }
37
37
 
38
-
39
38
  /**
40
39
  * Representa um arquivo no sistema.
41
40
  */
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, { ChatReport, ChatReportFileFormat, GenerateChatReportOptions } from "./report";
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 interface ChatReport {
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 GenerateChatReportOptions {
24
+ export interface GenerateChatsReportOptions {
16
25
  instance: string;
17
26
  userId: string;
18
- format: ChatReportFileFormat;
27
+ format: ChatsReportFileFormat;
19
28
  startDate: string;
20
29
  endDate: string;
21
30
  }
22
31
 
23
- export enum ChatReportFileFormat {
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<ChatReport>>>(url);
44
+ await this.httpClient.get<DataResponse<Array<ChatsReport>>>(url);
36
45
 
37
46
  return response.data;
38
47
  }
39
48
 
40
- public async generateChatReport({
49
+ public async generateChatsReport({
41
50
  instance,
42
51
  ...body
43
- }: GenerateChatReportOptions) {
52
+ }: GenerateChatsReportOptions) {
44
53
  const url = `/${instance}/reports/chats`;
45
- const response = await this.httpClient.post<DataResponse<ChatReport>>(
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 deleteReport(instanceName: string, reportId: number) {
54
- const url = `/${instanceName}/reports/chats/${reportId}`;
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;
@@ -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, ReportStatusData, SocketEventType, SocketRoomType } from "./socket-server";
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: ReportStatusData) => void): void;
74
+ (event: SocketEventType.REPORT_STATUS, listener: (data: ChatsReportStatusData) => void): void;
75
75
  }
76
76
 
77
77
  /**
@@ -46,18 +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 ReportStatusData = {
51
+ export type ChatsReportStatusData = {
52
52
  id: number;
53
- type: string;
53
+ type: "chats-report";
54
+ isCompleted: false;
55
+ isFailed: false;
54
56
  progress: number;
57
+ } | {
58
+ id: number;
59
+ type: "chats-report";
55
60
  isCompleted: true;
56
61
  isFailed: false;
57
62
  fileId: number;
63
+ chats: number;
64
+ messages: number;
58
65
  } | {
59
66
  id: number;
60
- type: string;
67
+ type: "chats-report";
61
68
  isCompleted: false;
62
69
  isFailed: true;
63
70
  error: string;
@@ -193,7 +200,7 @@ export type EmitFunction = {
193
200
  instanceName: string,
194
201
  room: SocketReportsRoom,
195
202
  event: SocketEventType.REPORT_STATUS,
196
- value: ReportStatusData
203
+ value: ChatsReportStatusData
197
204
  ): void;
198
205
  };
199
206