@in.pulse-crm/sdk 2.6.1 → 2.6.3

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.
@@ -1,10 +1,10 @@
1
1
  import ApiClient from "./api-client";
2
- import { InternalChat, InternalGroup, InternalMessage, InternalSendMessageData } from "./types/internal.types";
2
+ import { InternalChat, InternalChatMember, InternalGroup, InternalMessage, InternalSendMessageData } from "./types/internal.types";
3
3
  export default class InternalChatClient extends ApiClient {
4
4
  createInternalChat(participants: number[], isGroup?: boolean, groupName?: string): Promise<InternalChat>;
5
5
  getInternalChatsBySession(token?: string | null): Promise<{
6
6
  chats: (InternalChat & {
7
- participants: number[];
7
+ participants: InternalChatMember[];
8
8
  })[];
9
9
  messages: InternalMessage[];
10
10
  }>;
@@ -14,5 +14,6 @@ export default class InternalChatClient extends ApiClient {
14
14
  name: string;
15
15
  participants: number[];
16
16
  }): Promise<InternalGroup>;
17
+ markChatMessagesAsRead(chatId: number): Promise<void>;
17
18
  setAuth(token: string): void;
18
19
  }
@@ -49,6 +49,10 @@ class InternalChatClient extends api_client_1.default {
49
49
  });
50
50
  return res.data;
51
51
  }
52
+ async markChatMessagesAsRead(chatId) {
53
+ const url = `/api/internal/chat/${chatId}/mark-as-read`;
54
+ await this.httpClient.patch(url);
55
+ }
52
56
  setAuth(token) {
53
57
  this.httpClient.defaults.headers.common["Authorization"] =
54
58
  `Bearer ${token}`;
@@ -47,10 +47,11 @@ export interface InternalGroup {
47
47
  }[];
48
48
  }
49
49
  export interface InternalChatMember {
50
- internalchatId: number;
51
- internalcontactId: number;
50
+ internalChatId: number;
51
+ userId: number;
52
52
  joinedAt: string;
53
53
  lastReadAt?: string | null;
54
+ lastReadId?: number | null;
54
55
  }
55
56
  export interface InternalSendMessageData {
56
57
  sendAsAudio?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@in.pulse-crm/sdk",
3
- "version": "2.6.1",
3
+ "version": "2.6.3",
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",
@@ -2,6 +2,7 @@ import ApiClient from "./api-client";
2
2
  import { DataResponse } from "./types/response.types";
3
3
  import {
4
4
  InternalChat,
5
+ InternalChatMember,
5
6
  InternalGroup,
6
7
  InternalMessage,
7
8
  InternalSendMessageData,
@@ -9,13 +10,9 @@ import {
9
10
  import FormData from "form-data";
10
11
 
11
12
  type GetChatsResponse = DataResponse<{
12
- chats: (InternalChat & { participants: number[] })[];
13
+ chats: (InternalChat & { participants: InternalChatMember[] })[];
13
14
  messages: InternalMessage[];
14
15
  }>;
15
- type StartChatResponse = DataResponse<{
16
- chat: InternalChat & { messages: InternalMessage[] };
17
- }>;
18
-
19
16
  export default class InternalChatClient extends ApiClient {
20
17
  public async createInternalChat(
21
18
  participants: number[],
@@ -89,6 +86,11 @@ export default class InternalChatClient extends ApiClient {
89
86
  return res.data;
90
87
  }
91
88
 
89
+ public async markChatMessagesAsRead(chatId: number) {
90
+ const url = `/api/internal/chat/${chatId}/mark-as-read`;
91
+ await this.httpClient.patch(url);
92
+ }
93
+
92
94
  public setAuth(token: string) {
93
95
  this.httpClient.defaults.headers.common["Authorization"] =
94
96
  `Bearer ${token}`;
@@ -51,10 +51,11 @@ export interface InternalGroup {
51
51
  }
52
52
 
53
53
  export interface InternalChatMember {
54
- internalchatId: number;
55
- internalcontactId: number;
54
+ internalChatId: number;
55
+ userId: number;
56
56
  joinedAt: string;
57
57
  lastReadAt?: string | null;
58
+ lastReadId?: number | null;
58
59
  }
59
60
 
60
61
  export interface InternalSendMessageData {