@in.pulse-crm/sdk 1.2.0 → 1.2.2

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/file.d.ts CHANGED
@@ -81,6 +81,12 @@ declare class FileSDK {
81
81
  * @returns {Promise<Buffer>} Um buffer contendo os dados do arquivo.
82
82
  */
83
83
  fetchFile(id: number): Promise<Buffer>;
84
+ /**
85
+ * Obtém a URL de download de um arquivo.
86
+ * @param {number} id - ID do arquivo.
87
+ * @returns {string} URL de download do arquivo.
88
+ */
89
+ getFileDownloadUrl(id: number): String;
84
90
  /**
85
91
  * Faz o upload de um arquivo.
86
92
  * @param {UploadFileOptions} props - Opções para o upload do arquivo.
package/dist/file.js CHANGED
@@ -37,6 +37,14 @@ class FileSDK {
37
37
  const buffer = Buffer.from(response.data, "binary");
38
38
  return buffer;
39
39
  }
40
+ /**
41
+ * Obtém a URL de download de um arquivo.
42
+ * @param {number} id - ID do arquivo.
43
+ * @returns {string} URL de download do arquivo.
44
+ */
45
+ getFileDownloadUrl(id) {
46
+ return this.httpClient.defaults.baseURL + `/files/${id}`;
47
+ }
40
48
  /**
41
49
  * Faz o upload de um arquivo.
42
50
  * @param {UploadFileOptions} props - Opções para o upload do arquivo.
package/dist/index.d.ts CHANGED
@@ -3,4 +3,5 @@ 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
- export { AuthSDK, LoginData, SessionData, FileSDK, File, FileDirType, InstanceSDK, UserSDK, CreateUserDTO, UpdateUserDTO, User, UserRole, DataResponse, ErrorResponse, PaginatedResponse, QueryResponse, };
6
+ import ReportSDK, { ChatReport, ChatReportFileFormat, GenerateChatReportOptions } from "./report";
7
+ export { AuthSDK, LoginData, SessionData, FileSDK, File, FileDirType, InstanceSDK, UserSDK, CreateUserDTO, UpdateUserDTO, User, UserRole, DataResponse, ErrorResponse, PaginatedResponse, QueryResponse, ReportSDK, ChatReport, ChatReportFileFormat, GenerateChatReportOptions };
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.UserRole = exports.UserSDK = exports.InstanceSDK = exports.FileDirType = exports.FileSDK = exports.AuthSDK = void 0;
39
+ exports.ChatReportFileFormat = exports.ReportSDK = exports.UserRole = exports.UserSDK = exports.InstanceSDK = exports.FileDirType = exports.FileSDK = exports.AuthSDK = void 0;
40
40
  const auth_1 = __importDefault(require("./auth"));
41
41
  exports.AuthSDK = auth_1.default;
42
42
  const file_1 = __importStar(require("./file"));
@@ -47,3 +47,6 @@ exports.InstanceSDK = instance_1.default;
47
47
  const user_1 = __importStar(require("./user"));
48
48
  exports.UserSDK = user_1.default;
49
49
  Object.defineProperty(exports, "UserRole", { enumerable: true, get: function () { return user_1.UserRole; } });
50
+ const report_1 = __importStar(require("./report"));
51
+ exports.ReportSDK = report_1.default;
52
+ Object.defineProperty(exports, "ChatReportFileFormat", { enumerable: true, get: function () { return report_1.ChatReportFileFormat; } });
@@ -0,0 +1,31 @@
1
+ import { AxiosInstance } from "axios";
2
+ import { DataResponse, MessageResponse } from "./response";
3
+ export interface ChatReport {
4
+ id: number;
5
+ userId: string;
6
+ fileId: number;
7
+ instance: string;
8
+ format: string;
9
+ startDate: string;
10
+ endDate: string;
11
+ exportDate: string;
12
+ }
13
+ export interface GenerateChatReportOptions {
14
+ instance: string;
15
+ userId: string;
16
+ format: ChatReportFileFormat;
17
+ startDate: string;
18
+ endDate: string;
19
+ }
20
+ export declare enum ChatReportFileFormat {
21
+ TXT = "txt",
22
+ CSV = "csv",
23
+ PDF = "pdf"
24
+ }
25
+ export default class ReportSDK {
26
+ private readonly httpClient;
27
+ 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>;
31
+ }
package/dist/report.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
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 = {}));
10
+ class ReportSDK {
11
+ httpClient;
12
+ constructor(httpClient) {
13
+ this.httpClient = httpClient;
14
+ }
15
+ async getChatsReports(instanceName) {
16
+ const url = `/${instanceName}/reports/chats`;
17
+ const response = await this.httpClient.get(url);
18
+ return response.data;
19
+ }
20
+ async generateChatReport({ instance, ...body }) {
21
+ const url = `/${instance}/reports/chats`;
22
+ const response = await this.httpClient.post(url, body);
23
+ return response.data;
24
+ }
25
+ async deleteReport(instanceName, reportId) {
26
+ const url = `/${instanceName}/reports/chats/${reportId}`;
27
+ const response = await this.httpClient.delete(url);
28
+ return response.data;
29
+ }
30
+ }
31
+ exports.default = ReportSDK;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@in.pulse-crm/sdk",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
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
@@ -106,6 +106,15 @@ class FileSDK {
106
106
  return buffer;
107
107
  }
108
108
 
109
+ /**
110
+ * Obtém a URL de download de um arquivo.
111
+ * @param {number} id - ID do arquivo.
112
+ * @returns {string} URL de download do arquivo.
113
+ */
114
+ public getFileDownloadUrl(id: number): String {
115
+ return this.httpClient.defaults.baseURL + `/files/${id}`;
116
+ }
117
+
109
118
  /**
110
119
  * Faz o upload de um arquivo.
111
120
  * @param {UploadFileOptions} props - Opções para o upload do arquivo.
package/src/index.ts CHANGED
@@ -3,6 +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
7
 
7
8
  export {
8
9
  AuthSDK,
@@ -21,4 +22,8 @@ export {
21
22
  ErrorResponse,
22
23
  PaginatedResponse,
23
24
  QueryResponse,
25
+ ReportSDK,
26
+ ChatReport,
27
+ ChatReportFileFormat,
28
+ GenerateChatReportOptions
24
29
  };
@@ -26,8 +26,8 @@ export enum ChatReportFileFormat {
26
26
  PDF = "pdf",
27
27
  }
28
28
 
29
- export default class ReportsSDK {
30
- constructor(private readonly httpClient: AxiosInstance) {}
29
+ export default class ReportSDK {
30
+ constructor(private readonly httpClient: AxiosInstance) { }
31
31
 
32
32
  public async getChatsReports(instanceName: string) {
33
33
  const url = `/${instanceName}/reports/chats`;
@@ -50,10 +50,10 @@ export default class ReportsSDK {
50
50
  return response.data;
51
51
  }
52
52
 
53
- public async deleteReport(instanceName: string, reportId: number) {
54
- const url = `/${instanceName}/reports/chats/${reportId}`;
55
- const response = await this.httpClient.delete<MessageResponse>(url);
53
+ public async deleteReport(instanceName: string, reportId: number) {
54
+ const url = `/${instanceName}/reports/chats/${reportId}`;
55
+ const response = await this.httpClient.delete<MessageResponse>(url);
56
56
 
57
- return response.data;
58
- }
57
+ return response.data;
58
+ }
59
59
  }