@in.pulse-crm/sdk 1.6.2 → 2.0.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 (84) hide show
  1. package/dist/api-client.d.ts +9 -0
  2. package/dist/api-client.js +29 -0
  3. package/dist/{auth.d.ts → auth.client.d.ts} +4 -38
  4. package/dist/{auth.js → auth.client.js} +6 -10
  5. package/dist/customers.client.d.ts +37 -0
  6. package/dist/{customer.js → customers.client.js} +6 -10
  7. package/dist/files.client.d.ts +31 -0
  8. package/dist/{file.js → files.client.js} +6 -26
  9. package/dist/index.d.ts +9 -12
  10. package/dist/index.js +21 -41
  11. package/dist/{instance.d.ts → instance.client.d.ts} +3 -9
  12. package/dist/{instance.js → instance.client.js} +6 -10
  13. package/dist/reports.client.d.ts +9 -0
  14. package/dist/{report.js → reports.client.js} +6 -6
  15. package/dist/socket-server.client.d.ts +24 -0
  16. package/dist/socket-server.client.js +34 -0
  17. package/dist/socket.client.d.ts +49 -0
  18. package/dist/socket.client.js +74 -0
  19. package/dist/types/auth.types.d.ts +29 -0
  20. package/dist/{customer.d.ts → types/customers.types.d.ts} +0 -42
  21. package/dist/{file.d.ts → types/files.types.d.ts} +3 -38
  22. package/dist/types/files.types.js +15 -0
  23. package/dist/types/index.d.ts +7 -0
  24. package/dist/types/index.js +23 -0
  25. package/dist/{report.d.ts → types/reports.types.d.ts} +0 -10
  26. package/dist/types/socket-events.types.d.ts +72 -0
  27. package/dist/types/socket-events.types.js +19 -0
  28. package/dist/types/socket-rooms.types.d.ts +15 -0
  29. package/dist/{user.d.ts → types/user.types.d.ts} +0 -41
  30. package/dist/types/user.types.js +19 -0
  31. package/dist/users.client.d.ts +40 -0
  32. package/dist/{user.js → users.client.js} +11 -27
  33. package/package.json +1 -1
  34. package/src/api-client.ts +33 -0
  35. package/src/{auth.ts → auth.client.ts} +4 -43
  36. package/src/customers.client.ts +66 -0
  37. package/src/files.client.ts +57 -0
  38. package/src/index.ts +9 -87
  39. package/src/{instance.ts → instance.client.ts} +4 -8
  40. package/src/reports.client.ts +34 -0
  41. package/src/socket-server.client.ts +32 -0
  42. package/src/socket.client.ts +78 -0
  43. package/src/types/auth.types.ts +31 -0
  44. package/src/types/customers.types.ts +68 -0
  45. package/src/types/files.types.ts +78 -0
  46. package/src/types/index.ts +7 -0
  47. package/src/types/reports.types.ts +24 -0
  48. package/src/types/socket-events.types.ts +76 -0
  49. package/src/types/socket-rooms.types.ts +31 -0
  50. package/src/{user.ts → types/user.types.ts} +1 -78
  51. package/src/users.client.ts +74 -0
  52. package/dist/auth.sdk.d.ts +0 -15
  53. package/dist/auth.sdk.js +0 -62
  54. package/dist/instance.sdk.d.ts +0 -10
  55. package/dist/instance.sdk.js +0 -27
  56. package/dist/socket-client.d.ts +0 -57
  57. package/dist/socket-client.js +0 -74
  58. package/dist/socket-server.d.ts +0 -17
  59. package/dist/socket-server.js +0 -22
  60. package/dist/src/sdks/auth.sdk.js +0 -52
  61. package/dist/src/sdks/index.js +0 -14
  62. package/dist/src/sdks/instance.sdk.js +0 -31
  63. package/dist/src/sdks/user.sdk.js +0 -42
  64. package/dist/src/types/user.types.js +0 -2
  65. package/dist/types/socket-client.types.d.ts +0 -97
  66. package/dist/types/socket-client.types.js +0 -2
  67. package/dist/types/socket-server.types.d.ts +0 -121
  68. package/dist/types/socket-server.types.js +0 -2
  69. package/dist/user.sdk.d.ts +0 -14
  70. package/dist/user.sdk.js +0 -39
  71. package/src/customer.ts +0 -140
  72. package/src/file.ts +0 -145
  73. package/src/report.ts +0 -60
  74. package/src/socket-client.ts +0 -78
  75. package/src/socket-server.ts +0 -20
  76. package/src/types/socket-client.types.ts +0 -114
  77. package/src/types/socket-server.types.ts +0 -174
  78. /package/dist/{src/types → types}/auth.types.js +0 -0
  79. /package/dist/{response.js → types/customers.types.js} +0 -0
  80. /package/dist/{src/types/index.js → types/reports.types.js} +0 -0
  81. /package/dist/{response.d.ts → types/response.types.d.ts} +0 -0
  82. /package/dist/{src/types → types}/response.types.js +0 -0
  83. /package/dist/{src/types/instance.types.js → types/socket-rooms.types.js} +0 -0
  84. /package/src/{response.ts → types/response.types.ts} +0 -0
@@ -0,0 +1,74 @@
1
+ import { DataResponse, PaginatedResponse } from "./types/response.types";
2
+ import { CreateUserDTO, UpdateUserDTO, User } from "./types/user.types";
3
+ import ApiClient from "./api-client";
4
+
5
+ /**
6
+ * SDK para operações de usuários.
7
+ */
8
+ export default class UsersClient extends ApiClient {
9
+ /**
10
+ * Obtém a lista de usuários.
11
+ * @returns Uma resposta paginada contendo os usuários.
12
+ */
13
+ public async getUsers() {
14
+ const response = await this.httpClient.get<PaginatedResponse<User>>(`/users`);
15
+
16
+ return response.data;
17
+ }
18
+
19
+ /**
20
+ * Obtém um usuário pelo ID.
21
+ * @param userId - O ID do usuário.
22
+ * @returns Uma resposta contendo os dados do usuário.
23
+ */
24
+ public async getUserById(userId: number) {
25
+ const response = await this.httpClient.get<DataResponse<User>>(`/users/${userId}`);
26
+
27
+ return response.data;
28
+ }
29
+
30
+ /**
31
+ * Cria um novo usuário.
32
+ * @param data - Os dados para criação do usuário.
33
+ * @returns Uma resposta contendo os dados do usuário criado.
34
+ * @throws Um erro se a criação do usuário falhar.
35
+ */
36
+ public async createUser(data: CreateUserDTO) {
37
+ try {
38
+ const response = await this.httpClient.post<DataResponse<User>>(`/users`, data);
39
+
40
+ return response.data;
41
+ } catch (error) {
42
+ throw new Error("Failed to create user", { cause: error });
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Atualiza um usuário existente.
48
+ * @param userId - O ID do usuário.
49
+ * @param data - Os dados para atualização do usuário.
50
+ * @returns Uma resposta contendo os dados do usuário atualizado.
51
+ * @throws Um erro se a atualização do usuário falhar.
52
+ */
53
+ public async updateUser(userId: string, data: UpdateUserDTO) {
54
+ try {
55
+ const response = await this.httpClient.patch<DataResponse<User>>(
56
+ `/users/${userId}`,
57
+ data,
58
+ );
59
+
60
+ return response.data;
61
+ } catch (error) {
62
+ throw new Error("Failed to update user", { cause: error });
63
+ }
64
+ }
65
+
66
+ /**
67
+ * Sets the authorization token for HTTP requests.
68
+ *
69
+ * @param token - The authentication token to be used in the `Authorization` header.
70
+ */
71
+ public setAuth(token: string) {
72
+ this.httpClient.defaults.headers.common["Authorization"] = `Bearer ${token}`;
73
+ }
74
+ }
@@ -1,15 +0,0 @@
1
- import { CreateAxiosDefaults } from "axios";
2
- import { DataResponse, LoginData, SessionData, User } from "@in.pulse-crm/types";
3
- interface AuthSDKOptions {
4
- axiosConfig: CreateAxiosDefaults;
5
- }
6
- declare class AuthSDK {
7
- private readonly _api;
8
- constructor(props: AuthSDKOptions);
9
- login(instance: string, login: string, password: string): Promise<DataResponse<LoginData>>;
10
- fetchSessionData(instance: string, token: string): Promise<DataResponse<SessionData>>;
11
- fetchSessionUser(instance: string, token: string): Promise<DataResponse<User>>;
12
- isAuthenticated(instance: string, token: string): Promise<boolean>;
13
- isAuthorized(instance: string, token: string, authorizedRoles: string[]): Promise<boolean>;
14
- }
15
- export default AuthSDK;
package/dist/auth.sdk.js DELETED
@@ -1,62 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const axios_1 = __importDefault(require("axios"));
7
- const utils_1 = require("@in.pulse-crm/utils");
8
- class AuthSDK {
9
- _api;
10
- constructor(props) {
11
- this._api = axios_1.default.create(props.axiosConfig);
12
- }
13
- async login(instance, login, password) {
14
- const response = await this._api.post(`${instance}/login`, { LOGIN: login, SENHA: password });
15
- return response.data;
16
- }
17
- async fetchSessionData(instance, token) {
18
- const response = await this._api
19
- .get(`/${instance}/auth`, {
20
- headers: {
21
- authorization: token,
22
- },
23
- })
24
- .catch((error) => {
25
- const message = (0, utils_1.sanitizeErrorMessage)(error);
26
- throw new Error("Failed to fetch session data! " + message);
27
- });
28
- return response.data;
29
- }
30
- async fetchSessionUser(instance, token) {
31
- const response = await this._api
32
- .get(`/${instance}/auth/user`, {
33
- headers: {
34
- authorization: token,
35
- },
36
- })
37
- .catch((error) => {
38
- const message = (0, utils_1.sanitizeErrorMessage)(error);
39
- throw new Error("Failed to fetch session user! " + message);
40
- });
41
- return response.data;
42
- }
43
- async isAuthenticated(instance, token) {
44
- try {
45
- const { data } = await this.fetchSessionData(instance, token);
46
- return !!data.userId;
47
- }
48
- catch {
49
- return false;
50
- }
51
- }
52
- async isAuthorized(instance, token, authorizedRoles) {
53
- try {
54
- const { data } = await this.fetchSessionData(instance, token);
55
- return authorizedRoles.includes(data.role);
56
- }
57
- catch {
58
- return false;
59
- }
60
- }
61
- }
62
- exports.default = AuthSDK;
@@ -1,10 +0,0 @@
1
- import { CreateAxiosDefaults } from "axios";
2
- interface InstanceSDKOptions {
3
- axiosConfig: CreateAxiosDefaults;
4
- }
5
- declare class InstanceSDK {
6
- private readonly _api;
7
- constructor(props: InstanceSDKOptions);
8
- executeQuery<T>(instance: string, query: string, parameters: Array<any>): Promise<T>;
9
- }
10
- export default InstanceSDK;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const axios_1 = __importDefault(require("axios"));
7
- class InstanceSDK {
8
- _api;
9
- constructor(props) {
10
- this._api = axios_1.default.create(props.axiosConfig);
11
- }
12
- async executeQuery(instance, query, parameters) {
13
- const response = await this._api
14
- .post(`/${instance}/query`, { query, parameters })
15
- .catch((error) => {
16
- if (error.response?.data?.message) {
17
- throw new Error(error.response.data.message);
18
- }
19
- if (error.response?.status) {
20
- throw new Error(`Failed to execute query, status: ${error.response.status}`);
21
- }
22
- throw new Error(error.message);
23
- });
24
- return response.data.result;
25
- }
26
- }
27
- exports.default = InstanceSDK;
@@ -1,57 +0,0 @@
1
- import { Socket } from "socket.io-client";
2
- import { JoinChatFunction, JoinRoomFunction, LeaveChatFunction, LeaveRoomFunction, ListenEventFunction } from "./types/socket-client.types";
3
- /**
4
- * Classe para consumo dos eventos de socket.
5
- */
6
- export default class SocketClientSDK {
7
- private readonly io;
8
- constructor(io: Socket);
9
- /**
10
- * Escuta eventos de socket.
11
- *
12
- * @param event - O tipo de evento a ser escutado.
13
- * @param listener - A função a ser chamada quando o evento ocorrer.
14
- */
15
- on: ListenEventFunction;
16
- /**
17
- * Escuta eventos de socket.
18
- *
19
- * @param event - O tipo de evento a ser escutado.
20
- * @param listener - A função a ser chamada quando o evento ocorrer.
21
- */
22
- off: ListenEventFunction;
23
- /**
24
- * Entra em uma sala de socket.
25
- *
26
- * @param room - O tipo de sala a ser ingressada.
27
- */
28
- joinRoom: JoinRoomFunction;
29
- /**
30
- * Entra em um chat.
31
- *
32
- * @param phone - O número de telefone do chat a ser ingressado.
33
- */
34
- joinChat: JoinChatFunction;
35
- /**
36
- * Sai de uma sala de socket.
37
- *
38
- * @param room - O tipo de sala a ser deixada.
39
- * @description Remove o cliente da sala especificada no servidor de socket.
40
- */
41
- leaveRoom: LeaveRoomFunction;
42
- /**
43
- * Sai de um chat.
44
- *
45
- * @param phone - O número de telefone do chat a ser deixado.
46
- * @description Remove o cliente do chat especificado, utilizando o número de telefone.
47
- */
48
- leaveChat: LeaveChatFunction;
49
- /**
50
- * Define o token de autenticação para o socket.
51
- *
52
- * @param token - O token de autenticação.
53
- * @description Configura o token de autenticação para ser enviado em todas as conexões de socket subsequentes.
54
- * Se o token for nulo ou vazio, a autenticação será removida.
55
- */
56
- setAuth(token: string): void;
57
- }
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Classe para consumo dos eventos de socket.
5
- */
6
- class SocketClientSDK {
7
- io;
8
- constructor(io) {
9
- this.io = io;
10
- }
11
- /**
12
- * Escuta eventos de socket.
13
- *
14
- * @param event - O tipo de evento a ser escutado.
15
- * @param listener - A função a ser chamada quando o evento ocorrer.
16
- */
17
- on = (event, listener) => {
18
- this.io.on(event, listener);
19
- };
20
- /**
21
- * Escuta eventos de socket.
22
- *
23
- * @param event - O tipo de evento a ser escutado.
24
- * @param listener - A função a ser chamada quando o evento ocorrer.
25
- */
26
- off = (event, listener) => {
27
- this.io.off(event, listener);
28
- };
29
- /**
30
- * Entra em uma sala de socket.
31
- *
32
- * @param room - O tipo de sala a ser ingressada.
33
- */
34
- joinRoom = (room) => {
35
- this.io.emit("join-room", `${room}`);
36
- };
37
- /**
38
- * Entra em um chat.
39
- *
40
- * @param phone - O número de telefone do chat a ser ingressado.
41
- */
42
- joinChat = (phone) => {
43
- this.joinRoom(`chat:${phone}`);
44
- };
45
- /**
46
- * Sai de uma sala de socket.
47
- *
48
- * @param room - O tipo de sala a ser deixada.
49
- * @description Remove o cliente da sala especificada no servidor de socket.
50
- */
51
- leaveRoom = (room) => {
52
- this.io.emit("leave-room", `${room}`);
53
- };
54
- /**
55
- * Sai de um chat.
56
- *
57
- * @param phone - O número de telefone do chat a ser deixado.
58
- * @description Remove o cliente do chat especificado, utilizando o número de telefone.
59
- */
60
- leaveChat = (phone) => {
61
- this.leaveRoom(`chat:${phone}`);
62
- };
63
- /**
64
- * Define o token de autenticação para o socket.
65
- *
66
- * @param token - O token de autenticação.
67
- * @description Configura o token de autenticação para ser enviado em todas as conexões de socket subsequentes.
68
- * Se o token for nulo ou vazio, a autenticação será removida.
69
- */
70
- setAuth(token) {
71
- this.io.auth = { token: token ? `Bearer ${token}` : null };
72
- }
73
- }
74
- exports.default = SocketClientSDK;
@@ -1,17 +0,0 @@
1
- import { AxiosInstance } from "axios";
2
- import { EmitFunction } from "./types/socket-server.types";
3
- /**
4
- * Classe para manipulação de eventos de socket.
5
- */
6
- export default class SocketServerSDK {
7
- private readonly httpClient;
8
- constructor(httpClient: AxiosInstance);
9
- /**
10
- * Emite um evento de socket.
11
- * @param instanceName - O nome da instância.
12
- * @param room - A sala de destino.
13
- * @param event - O tipo do evento.
14
- * @param value - O valor do evento.
15
- */
16
- emit: EmitFunction;
17
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Classe para manipulação de eventos de socket.
5
- */
6
- class SocketServerSDK {
7
- httpClient;
8
- constructor(httpClient) {
9
- this.httpClient = httpClient;
10
- }
11
- /**
12
- * Emite um evento de socket.
13
- * @param instanceName - O nome da instância.
14
- * @param room - A sala de destino.
15
- * @param event - O tipo do evento.
16
- * @param value - O valor do evento.
17
- */
18
- emit = async (instanceName, room, event, value) => {
19
- await this.httpClient.post(`/emit/${instanceName}/${room}/${event}`, value);
20
- };
21
- }
22
- exports.default = SocketServerSDK;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __importDefault =
3
- (this && this.__importDefault) ||
4
- function (mod) {
5
- return mod && mod.__esModule ? mod : { default: mod };
6
- };
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- const axios_1 = __importDefault(require("axios"));
9
- class AuthSDK {
10
- _api;
11
- constructor(props) {
12
- this._api = axios_1.default.create(props.axiosConfig);
13
- }
14
- async fetchSessionData(instance, token) {
15
- const response = await this._api
16
- .get(`/${instance}/auth`, {
17
- headers: {
18
- Authorization: `Bearer ${token}`,
19
- },
20
- })
21
- .catch((error) => {
22
- console.error(error);
23
- if (error.response?.data?.message) {
24
- throw new Error(error.response.data.message);
25
- }
26
- if (error.response?.status) {
27
- throw new Error(
28
- `Failed to authenticate, status: ${error.response.status}`,
29
- );
30
- }
31
- throw new Error(error.message);
32
- });
33
- return response.data.data;
34
- }
35
- async isAuthenticated(instance, token) {
36
- try {
37
- await this.fetchSessionData(instance, token);
38
- return true;
39
- } catch {
40
- return false;
41
- }
42
- }
43
- async isAuthorized(instance, token, authorizedRoles) {
44
- try {
45
- const session = await this.fetchSessionData(instance, token);
46
- return authorizedRoles.includes(session.role);
47
- } catch {
48
- return false;
49
- }
50
- }
51
- }
52
- exports.default = AuthSDK;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- var __importDefault =
3
- (this && this.__importDefault) ||
4
- function (mod) {
5
- return mod && mod.__esModule ? mod : { default: mod };
6
- };
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.InstanceSDK = exports.AuthSDK = exports.UserSDK = void 0;
9
- const user_sdk_1 = __importDefault(require("./user.sdk"));
10
- exports.UserSDK = user_sdk_1.default;
11
- const auth_sdk_1 = __importDefault(require("./auth.sdk"));
12
- exports.AuthSDK = auth_sdk_1.default;
13
- const instance_sdk_1 = __importDefault(require("./instance.sdk"));
14
- exports.InstanceSDK = instance_sdk_1.default;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __importDefault =
3
- (this && this.__importDefault) ||
4
- function (mod) {
5
- return mod && mod.__esModule ? mod : { default: mod };
6
- };
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- const axios_1 = __importDefault(require("axios"));
9
- class InstanceSDK {
10
- _api;
11
- constructor(props) {
12
- this._api = axios_1.default.create(props.axiosConfig);
13
- }
14
- async executeQuery(instance, query, parameters) {
15
- const response = await this._api
16
- .post(`/${instance}/query`, { query, parameters })
17
- .catch((error) => {
18
- if (error.response?.data?.message) {
19
- throw new Error(error.response.data.message);
20
- }
21
- if (error.response?.status) {
22
- throw new Error(
23
- `Failed to execute query, status: ${error.response.status}`,
24
- );
25
- }
26
- throw new Error(error.message);
27
- });
28
- return response.data.result;
29
- }
30
- }
31
- exports.default = InstanceSDK;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __importDefault =
3
- (this && this.__importDefault) ||
4
- function (mod) {
5
- return mod && mod.__esModule ? mod : { default: mod };
6
- };
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- const axios_1 = __importDefault(require("axios"));
9
- class UserSDK {
10
- _api;
11
- constructor(props) {
12
- this._api = axios_1.default.create(props.axiosConfig);
13
- }
14
- async getUsers(instance) {
15
- const response = await this._api.get(`/${instance}/users`);
16
- return response.data;
17
- }
18
- async getUserById(instance, userId) {
19
- const response = await this._api.get(`/${instance}/users/${userId}`);
20
- return response.data;
21
- }
22
- async createUser(instance, data) {
23
- try {
24
- const response = await this._api.post(`/${instance}/users`, data);
25
- return response.data;
26
- } catch (error) {
27
- throw new Error("Failed to create user", { cause: error });
28
- }
29
- }
30
- async updateUser(instance, userId, data) {
31
- try {
32
- const response = await this._api.patch(
33
- `/${instance}/users/${userId}`,
34
- data,
35
- );
36
- return response.data;
37
- } catch (error) {
38
- throw new Error("Failed to update user", { cause: error });
39
- }
40
- }
41
- }
42
- exports.default = UserSDK;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,97 +0,0 @@
1
- import { PhoneNumber } from "@in.pulse-crm/utils";
2
- import { ReportType } from "../report";
3
- import type { ChatsReportStatusData, QRCode } from "./socket-server.types";
4
- /**
5
- * Representa uma sala de chat identificada por um número de telefone.
6
- */
7
- export type SocketClientChatRoom = `chat:${PhoneNumber}`;
8
- /**
9
- * Representa a sala de administração.
10
- */
11
- export type SocketClientAdminRoom = "admin";
12
- /**
13
- * Representa a sala de monitoramento.
14
- */
15
- export type SocketClientMonitorRoom = `monitor`;
16
- /**
17
- * Representa uma sala de relatórios identificada por um tipo de relatório.
18
- */
19
- export type SocketClientReportsRoom = `reports:${ReportType}`;
20
- /**
21
- * Representa as salas disponíveis para clientes, incluindo chat, administração, relatórios e monitoramento.
22
- */
23
- export type SocketClientRoom = SocketClientChatRoom | SocketClientAdminRoom | SocketClientReportsRoom | SocketClientMonitorRoom;
24
- /**
25
- * Função para entrar em uma sala de socket.
26
- */
27
- export type JoinRoomFunction = {
28
- (room: SocketClientRoom): void;
29
- };
30
- /**
31
- * Função para entrar em um chat de socket.
32
- */
33
- export type JoinChatFunction = {
34
- (phone: PhoneNumber): void;
35
- };
36
- /**
37
- * Função para sair de uma sala de socket.
38
- */
39
- export type LeaveRoomFunction = {
40
- (room: SocketClientRoom): void;
41
- };
42
- /**
43
- * Função para sair de um chat de socket.
44
- */
45
- export type LeaveChatFunction = {
46
- (phone: PhoneNumber): void;
47
- };
48
- /**
49
- * Função para escutar eventos de socket.
50
- */
51
- export type ListenEventFunction = {
52
- /**
53
- * Escuta evento de mensagem
54
- * Ainda não implementado.
55
- */
56
- (event: "message", listener: (data: unknown) => void): void;
57
- /**
58
- * Escuta evento de edição de mensagem
59
- * Ainda não implementado.
60
- */
61
- (event: "message_edit", listener: (data: unknown) => void): void;
62
- /**
63
- * Escuta evento de status de mensagem
64
- * Ainda não implementado.
65
- */
66
- (event: "message_status", listener: (data: unknown) => void): void;
67
- /**
68
- * Escuta evento de novo chat
69
- * Ainda não implementado.
70
- */
71
- (event: "new_chat", listener: (data: unknown) => void): void;
72
- /**
73
- * Escuta evento de chat finalizado
74
- * @trigger Quando um chat é finalizado
75
- * @target Sala de monitoria e ao atendente do chat
76
- * @data Um número contendo o ID do chat finalizado
77
- */
78
- (event: "chat_finished", listener: (chatId: number) => void): void;
79
- /**
80
- * Escuta evento de notificação
81
- * @trigger Quando uma notificação é enviada
82
- * @target Sala de administração do setor
83
- */
84
- (event: "notification", listener: (notification: unknown) => void): void;
85
- /**
86
- * Escuta evento de QR Code
87
- * @trigger Quando um QR Code é gerado
88
- * @target Sala de administração do setor
89
- */
90
- (event: "qr_code", listener: (qr: QRCode) => void): void;
91
- /**
92
- * Escuta evento de status de relatório
93
- * @trigger Quando o status de um relatório é atualizado
94
- * @target Sala de relatórios
95
- */
96
- (event: "report_status", listener: (data: ChatsReportStatusData) => void): void;
97
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });