@rtsee/live-storage 0.0.11 → 0.0.13
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/live-storage/src/index.d.ts +1 -0
- package/dist/live-storage/src/index.d.ts.map +1 -1
- package/dist/live-storage/src/index.js +6 -1
- package/dist/live-storage/src/index.js.map +1 -1
- package/dist/live-storage/src/interfaces/index.d.ts +1 -2
- package/dist/live-storage/src/interfaces/index.d.ts.map +1 -1
- package/dist/live-storage/src/interfaces/index.js +6 -3
- package/dist/live-storage/src/interfaces/index.js.map +1 -1
- package/dist/live-storage/src/messenger/index.d.ts +3 -0
- package/dist/live-storage/src/messenger/index.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/index.js +19 -0
- package/dist/live-storage/src/messenger/index.js.map +1 -0
- package/dist/live-storage/src/messenger/interfaces/MessengerHandlerTransport.d.ts +6 -0
- package/dist/live-storage/src/messenger/interfaces/MessengerHandlerTransport.d.ts.map +1 -0
- package/dist/live-storage/src/{interfaces/MessengerHandlers.js → messenger/interfaces/MessengerHandlerTransport.js} +1 -1
- package/dist/live-storage/src/messenger/interfaces/MessengerHandlerTransport.js.map +1 -0
- package/dist/live-storage/src/messenger/interfaces/MessengerStorageOptions.d.ts +5 -0
- package/dist/live-storage/src/messenger/interfaces/MessengerStorageOptions.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/interfaces/MessengerStorageOptions.js.map +1 -0
- package/dist/live-storage/src/messenger/interfaces/MessengerStorageProcessor.d.ts +13 -0
- package/dist/live-storage/src/messenger/interfaces/MessengerStorageProcessor.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/interfaces/MessengerStorageProcessor.js +3 -0
- package/dist/live-storage/src/messenger/interfaces/MessengerStorageProcessor.js.map +1 -0
- package/dist/live-storage/src/messenger/interfaces/index.d.ts +4 -0
- package/dist/live-storage/src/messenger/interfaces/index.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/interfaces/index.js +20 -0
- package/dist/live-storage/src/messenger/interfaces/index.js.map +1 -0
- package/dist/live-storage/src/messenger/models/MessengerStorage.d.ts +17 -0
- package/dist/live-storage/src/messenger/models/MessengerStorage.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/models/MessengerStorage.js +69 -0
- package/dist/live-storage/src/messenger/models/MessengerStorage.js.map +1 -0
- package/dist/live-storage/src/messenger/models/index.d.ts +10 -0
- package/dist/live-storage/src/messenger/models/index.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/models/index.js +26 -0
- package/dist/live-storage/src/messenger/models/index.js.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/Chats.d.ts +29 -0
- package/dist/live-storage/src/messenger/models/local-storage/Chats.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/Chats.js +76 -0
- package/dist/live-storage/src/messenger/models/local-storage/Chats.js.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/LocalStorageProcessor.d.ts +23 -0
- package/dist/live-storage/src/messenger/models/local-storage/LocalStorageProcessor.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/LocalStorageProcessor.js +111 -0
- package/dist/live-storage/src/messenger/models/local-storage/LocalStorageProcessor.js.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/Members.d.ts +19 -0
- package/dist/live-storage/src/messenger/models/local-storage/Members.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/Members.js +92 -0
- package/dist/live-storage/src/messenger/models/local-storage/Members.js.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/Messages.d.ts +15 -0
- package/dist/live-storage/src/messenger/models/local-storage/Messages.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/Messages.js +104 -0
- package/dist/live-storage/src/messenger/models/local-storage/Messages.js.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/Peers.d.ts +9 -0
- package/dist/live-storage/src/messenger/models/local-storage/Peers.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/Peers.js +41 -0
- package/dist/live-storage/src/messenger/models/local-storage/Peers.js.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/index.d.ts +5 -0
- package/dist/live-storage/src/messenger/models/local-storage/index.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/models/local-storage/index.js +21 -0
- package/dist/live-storage/src/messenger/models/local-storage/index.js.map +1 -0
- package/dist/live-storage/src/messenger/models/remote-storage/MessengerStorageHandlers.d.ts +15 -0
- package/dist/live-storage/src/messenger/models/remote-storage/MessengerStorageHandlers.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/models/remote-storage/MessengerStorageHandlers.js +24 -0
- package/dist/live-storage/src/messenger/models/remote-storage/MessengerStorageHandlers.js.map +1 -0
- package/dist/live-storage/src/messenger/models/remote-storage/RemoteStorageProcessor.d.ts +20 -0
- package/dist/live-storage/src/messenger/models/remote-storage/RemoteStorageProcessor.d.ts.map +1 -0
- package/dist/live-storage/src/messenger/models/remote-storage/RemoteStorageProcessor.js +118 -0
- package/dist/live-storage/src/messenger/models/remote-storage/RemoteStorageProcessor.js.map +1 -0
- package/dist/live-storage/src/models/index.js +5 -1
- package/dist/live-storage/src/models/index.js.map +1 -1
- package/package.json +4 -3
- package/dist/live-storage/src/interfaces/MessengerHandlers.d.ts +0 -13
- package/dist/live-storage/src/interfaces/MessengerHandlers.d.ts.map +0 -1
- package/dist/live-storage/src/interfaces/MessengerHandlers.js.map +0 -1
- package/dist/live-storage/src/interfaces/MessengerStorageOptions.d.ts +0 -5
- package/dist/live-storage/src/interfaces/MessengerStorageOptions.d.ts.map +0 -1
- package/dist/live-storage/src/interfaces/MessengerStorageOptions.js.map +0 -1
- package/dist/live-storage/src/messenger/MessengerStorage.d.ts +0 -5
- package/dist/live-storage/src/messenger/MessengerStorage.d.ts.map +0 -1
- package/dist/live-storage/src/messenger/MessengerStorage.js +0 -7
- package/dist/live-storage/src/messenger/MessengerStorage.js.map +0 -1
- /package/dist/live-storage/src/{interfaces → messenger/interfaces}/MessengerStorageOptions.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalStorageProcessor.js","sourceRoot":"","sources":["../../../../../../src/messenger/models/local-storage/LocalStorageProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IRTSeeChatMemberBase, IRTSeeChatMemberOptions, IRTSeeMessageStatusTransportData, IRTSeeMessengerPeer } from "@rtsee/common";
|
|
2
|
+
export declare class RTSeeMessengerLocalChatMembersStorage {
|
|
3
|
+
data: IRTSeeChatMemberBase[];
|
|
4
|
+
add(member: IRTSeeChatMemberBase): IRTSeeChatMemberBase | null;
|
|
5
|
+
addList(members: IRTSeeChatMemberBase[]): IRTSeeChatMemberBase[];
|
|
6
|
+
get(chatId: string, memberId: string): IRTSeeChatMemberBase;
|
|
7
|
+
getListByChatId(id: string): IRTSeeChatMemberBase[];
|
|
8
|
+
addByPeer(options: IRTSeeChatMemberOptions, peer: IRTSeeMessengerPeer): IRTSeeChatMemberBase | null;
|
|
9
|
+
getSharedChatIdsByChatMembersIds(fromId: string, toId: string): string[] | null;
|
|
10
|
+
addByPeersList(options: IRTSeeChatMemberOptions, peers: IRTSeeMessengerPeer[]): IRTSeeChatMemberBase[];
|
|
11
|
+
getChatIdsByMemberId(clientId: string): string[];
|
|
12
|
+
getByPeerId(peerId: string): IRTSeeChatMemberBase[];
|
|
13
|
+
getChatIdsFromMembersList(members: IRTSeeChatMemberBase[]): string[];
|
|
14
|
+
updateLastSeenMessages(memberId: string, messagesData: IRTSeeMessageStatusTransportData): {
|
|
15
|
+
chatId: string;
|
|
16
|
+
lastMessageId: string;
|
|
17
|
+
}[];
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=Members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Members.d.ts","sourceRoot":"","sources":["../../../../../../src/messenger/models/local-storage/Members.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gCAAgC,EAChC,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAEvB,qBAAa,qCAAqC;IAChD,IAAI,EAAE,oBAAoB,EAAE,CAAM;IAElC,GAAG,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,GAAG,IAAI;IAS9D,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,EAAE;IAWhE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAIpC,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAInD,SAAS,CACP,OAAO,EAAE,uBAAuB,EAChC,IAAI,EAAE,mBAAmB,GACxB,oBAAoB,GAAG,IAAI;IAQ9B,gCAAgC,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,GAAG,IAAI;IAgBlB,cAAc,CACZ,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,mBAAmB,EAAE,GAC3B,oBAAoB,EAAE;IAWzB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAShD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAInD,yBAAyB,CAAC,OAAO,EAAE,oBAAoB,EAAE;IAIzD,sBAAsB,CACpB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,gCAAgC,GAC7C;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,EAAE;CAc/C"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RTSeeMessengerLocalChatMembersStorage = void 0;
|
|
4
|
+
class RTSeeMessengerLocalChatMembersStorage {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.data = [];
|
|
7
|
+
}
|
|
8
|
+
add(member) {
|
|
9
|
+
const alreadyAdded = this.get(member.id, member.chatId);
|
|
10
|
+
if (alreadyAdded) {
|
|
11
|
+
return alreadyAdded;
|
|
12
|
+
}
|
|
13
|
+
this.data.push(member);
|
|
14
|
+
return member;
|
|
15
|
+
}
|
|
16
|
+
addList(members) {
|
|
17
|
+
const added = [];
|
|
18
|
+
members.forEach((e) => {
|
|
19
|
+
const member = this.add(e);
|
|
20
|
+
if (member) {
|
|
21
|
+
added.push(member);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return added;
|
|
25
|
+
}
|
|
26
|
+
get(chatId, memberId) {
|
|
27
|
+
return this.data.find((e) => e.chatId === chatId && e.id === memberId);
|
|
28
|
+
}
|
|
29
|
+
getListByChatId(id) {
|
|
30
|
+
return this.data.filter((e) => e.chatId === id);
|
|
31
|
+
}
|
|
32
|
+
addByPeer(options, peer) {
|
|
33
|
+
return this.add({
|
|
34
|
+
id: peer.clientId,
|
|
35
|
+
chatId: options.chatId,
|
|
36
|
+
role: options.role,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
getSharedChatIdsByChatMembersIds(fromId, toId) {
|
|
40
|
+
const fromMemberChatIds = [];
|
|
41
|
+
const toMemberChatIds = [];
|
|
42
|
+
this.data.forEach((e) => {
|
|
43
|
+
if (e.id === fromId) {
|
|
44
|
+
fromMemberChatIds.push(e.chatId);
|
|
45
|
+
}
|
|
46
|
+
if (e.id === toId) {
|
|
47
|
+
toMemberChatIds.push(e.chatId);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return [...new Set([...fromMemberChatIds, ...toMemberChatIds])];
|
|
51
|
+
}
|
|
52
|
+
addByPeersList(options, peers) {
|
|
53
|
+
const addedList = [];
|
|
54
|
+
peers.forEach((e) => {
|
|
55
|
+
const added = this.addByPeer(options, e);
|
|
56
|
+
if (added) {
|
|
57
|
+
addedList.push(added);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
return addedList;
|
|
61
|
+
}
|
|
62
|
+
getChatIdsByMemberId(clientId) {
|
|
63
|
+
const members = this.getByPeerId(clientId);
|
|
64
|
+
const chatIds = this.getChatIdsFromMembersList(members);
|
|
65
|
+
if (!chatIds) {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
return [...new Set([...chatIds])];
|
|
69
|
+
}
|
|
70
|
+
getByPeerId(peerId) {
|
|
71
|
+
return this.data.filter((e) => e.id === peerId);
|
|
72
|
+
}
|
|
73
|
+
getChatIdsFromMembersList(members) {
|
|
74
|
+
return members.map((e) => e.chatId);
|
|
75
|
+
}
|
|
76
|
+
updateLastSeenMessages(memberId, messagesData) {
|
|
77
|
+
const updatedChats = [];
|
|
78
|
+
this.data.forEach((e) => {
|
|
79
|
+
const match = messagesData.messages.find((m) => m.chatId === e.chatId);
|
|
80
|
+
if (e.id === memberId && match) {
|
|
81
|
+
e.lastSeenMessageId = match.id;
|
|
82
|
+
updatedChats.push({
|
|
83
|
+
chatId: e.chatId,
|
|
84
|
+
lastMessageId: match.id,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
return updatedChats;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.RTSeeMessengerLocalChatMembersStorage = RTSeeMessengerLocalChatMembersStorage;
|
|
92
|
+
//# sourceMappingURL=Members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Members.js","sourceRoot":"","sources":["../../../../../../src/messenger/models/local-storage/Members.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IRTSeeChatMember, IRTSeeMessage, IRTSeeMessageBase, IRTSeeMessagesQuery, IRTSeeMessagesResult, RTSeeMessengerSearchDirection } from "@rtsee/common";
|
|
2
|
+
export declare const DEFAULT_LIMIT = 41;
|
|
3
|
+
export declare const DEFAULT_DIRECTION: RTSeeMessengerSearchDirection;
|
|
4
|
+
export declare const MINIMUM_BUFFER = 14;
|
|
5
|
+
export declare class RTSeeMessengerLocalMessagesStorage {
|
|
6
|
+
data: IRTSeeMessageBase[];
|
|
7
|
+
add(message: IRTSeeMessageBase): IRTSeeMessageBase | null;
|
|
8
|
+
addList(messages: IRTSeeMessageBase[]): IRTSeeMessageBase[] | null;
|
|
9
|
+
getByChatId(id: string): IRTSeeMessageBase<any>[];
|
|
10
|
+
find(options: IRTSeeMessagesQuery): IRTSeeMessagesResult;
|
|
11
|
+
populateMessages(messagesData: IRTSeeMessageBase[], members: IRTSeeChatMember[]): IRTSeeMessage[];
|
|
12
|
+
private findBasedOnLastLoadedMessageAndDirection;
|
|
13
|
+
private findBasedOnLastSeenMessage;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=Messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Messages.d.ts","sourceRoot":"","sources":["../../../../../../src/messenger/models/local-storage/Messages.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EAEpB,6BAA6B,EAC9B,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,iBAAiB,EAAE,6BAAsC,CAAC;AACvE,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,qBAAa,kCAAkC;IAC7C,IAAI,EAAE,iBAAiB,EAAE,CAAM;IAE/B,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,IAAI;IAKzD,OAAO,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,GAAG,IAAI;IAKlE,WAAW,CAAC,EAAE,EAAE,MAAM;IAMtB,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,oBAAoB;IAQxD,gBAAgB,CACd,YAAY,EAAE,iBAAiB,EAAE,EACjC,OAAO,EAAE,gBAAgB,EAAE,GAC1B,aAAa,EAAE;IAUlB,OAAO,CAAC,wCAAwC;IA4ChD,OAAO,CAAC,0BAA0B;CAuCnC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RTSeeMessengerLocalMessagesStorage = exports.MINIMUM_BUFFER = exports.DEFAULT_DIRECTION = exports.DEFAULT_LIMIT = void 0;
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
5
|
+
exports.DEFAULT_LIMIT = 41;
|
|
6
|
+
exports.DEFAULT_DIRECTION = "back";
|
|
7
|
+
exports.MINIMUM_BUFFER = 14;
|
|
8
|
+
class RTSeeMessengerLocalMessagesStorage {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.data = [];
|
|
11
|
+
}
|
|
12
|
+
add(message) {
|
|
13
|
+
this.data.push(Object.assign(Object.assign({}, message), { id: (0, uuid_1.v4)() }));
|
|
14
|
+
return message;
|
|
15
|
+
}
|
|
16
|
+
addList(messages) {
|
|
17
|
+
messages.forEach((e) => this.add(e));
|
|
18
|
+
return messages;
|
|
19
|
+
}
|
|
20
|
+
getByChatId(id) {
|
|
21
|
+
return this.data
|
|
22
|
+
.filter((e) => e.chatId === id)
|
|
23
|
+
.sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime());
|
|
24
|
+
}
|
|
25
|
+
find(options) {
|
|
26
|
+
if (options.lastLoadedMessageId && options.direction) {
|
|
27
|
+
return this.findBasedOnLastLoadedMessageAndDirection(options);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return this.findBasedOnLastSeenMessage(options);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
populateMessages(messagesData, members) {
|
|
34
|
+
return messagesData.map((m) => {
|
|
35
|
+
return Object.assign(Object.assign({}, m), { from: members.find((member) => m.from === member.id), to: members.find((member) => m.to === member.id) });
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
findBasedOnLastLoadedMessageAndDirection(options) {
|
|
39
|
+
const limit = options.limit || exports.DEFAULT_LIMIT;
|
|
40
|
+
const messages = this.data.filter((m) => {
|
|
41
|
+
return m.chatId === options.chatId;
|
|
42
|
+
});
|
|
43
|
+
const lastSeenIndex = messages.findIndex((m) => m.id === options.lastSeenMessageId);
|
|
44
|
+
const unreadCount = messages.length - lastSeenIndex - 1;
|
|
45
|
+
const lastLoadedIndex = messages.findIndex((m) => m.id === options.lastLoadedMessageId);
|
|
46
|
+
let start;
|
|
47
|
+
let end;
|
|
48
|
+
if (options.direction === "front") {
|
|
49
|
+
start = lastLoadedIndex + 1;
|
|
50
|
+
end = start + limit;
|
|
51
|
+
}
|
|
52
|
+
else if (options.direction === "back") {
|
|
53
|
+
end = lastLoadedIndex;
|
|
54
|
+
start = end - limit > 0 ? end - limit : 0;
|
|
55
|
+
}
|
|
56
|
+
if (options.direction === "back") {
|
|
57
|
+
console.log(`start: ${start}, end: ${end}`);
|
|
58
|
+
}
|
|
59
|
+
if (start < 0) {
|
|
60
|
+
start = 0;
|
|
61
|
+
}
|
|
62
|
+
if (end > messages.length) {
|
|
63
|
+
end = messages.length;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
unreadCount,
|
|
67
|
+
messages: messages.slice(start, end),
|
|
68
|
+
chatId: options.chatId,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
findBasedOnLastSeenMessage(options) {
|
|
72
|
+
const limit = options.limit || exports.DEFAULT_LIMIT;
|
|
73
|
+
const messages = this.data.filter((m) => {
|
|
74
|
+
return m.chatId === options.chatId;
|
|
75
|
+
});
|
|
76
|
+
const lastSeenIndex = messages.findIndex((m) => m.id === options.lastSeenMessageId);
|
|
77
|
+
const unreadCount = messages.length - lastSeenIndex - 1;
|
|
78
|
+
let start;
|
|
79
|
+
let end;
|
|
80
|
+
if (lastSeenIndex > exports.MINIMUM_BUFFER) {
|
|
81
|
+
start = lastSeenIndex - exports.MINIMUM_BUFFER;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
start = 0;
|
|
85
|
+
}
|
|
86
|
+
const readPicked = lastSeenIndex - start;
|
|
87
|
+
const maxUnreadToPick = limit - readPicked;
|
|
88
|
+
if (unreadCount > maxUnreadToPick) {
|
|
89
|
+
end = lastSeenIndex + maxUnreadToPick + 1;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
end = lastSeenIndex + unreadCount + 1;
|
|
93
|
+
}
|
|
94
|
+
const gap = limit - (end - start);
|
|
95
|
+
start = start - gap >= 0 ? start - gap : 0;
|
|
96
|
+
return {
|
|
97
|
+
chatId: options.chatId,
|
|
98
|
+
unreadCount,
|
|
99
|
+
messages: messages.slice(start, end),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.RTSeeMessengerLocalMessagesStorage = RTSeeMessengerLocalMessagesStorage;
|
|
104
|
+
//# sourceMappingURL=Messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../../../../../src/messenger/models/local-storage/Messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IRTSeeChatMember, IRTSeeChatMemberBase, IRTSeeMessengerPeer } from "@rtsee/common";
|
|
2
|
+
export declare class RTSeeMessengerLocalPeersStorage {
|
|
3
|
+
data: IRTSeeMessengerPeer[];
|
|
4
|
+
getById(id: string): IRTSeeMessengerPeer<any>;
|
|
5
|
+
add(peer: IRTSeeMessengerPeer): IRTSeeMessengerPeer;
|
|
6
|
+
addList(peers: IRTSeeMessengerPeer[]): IRTSeeMessengerPeer[];
|
|
7
|
+
populateMembers(members: IRTSeeChatMemberBase[]): IRTSeeChatMember[];
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=Peers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Peers.d.ts","sourceRoot":"","sources":["../../../../../../src/messenger/models/local-storage/Peers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAEvB,qBAAa,+BAA+B;IAC1C,IAAI,EAAE,mBAAmB,EAAE,CAAM;IAEjC,OAAO,CAAC,EAAE,EAAE,MAAM;IAIlB,GAAG,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB;IASnD,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,EAAE;IAW5D,eAAe,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,gBAAgB,EAAE;CAerE"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RTSeeMessengerLocalPeersStorage = void 0;
|
|
4
|
+
class RTSeeMessengerLocalPeersStorage {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.data = [];
|
|
7
|
+
}
|
|
8
|
+
getById(id) {
|
|
9
|
+
return this.data.find((e) => e.id === id);
|
|
10
|
+
}
|
|
11
|
+
add(peer) {
|
|
12
|
+
const existing = this.getById(peer.id);
|
|
13
|
+
if (existing) {
|
|
14
|
+
return existing;
|
|
15
|
+
}
|
|
16
|
+
this.data.push(peer);
|
|
17
|
+
return peer;
|
|
18
|
+
}
|
|
19
|
+
addList(peers) {
|
|
20
|
+
const addedList = [];
|
|
21
|
+
peers.forEach((e) => {
|
|
22
|
+
const added = this.add(e);
|
|
23
|
+
if (added) {
|
|
24
|
+
addedList.push(added);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return addedList;
|
|
28
|
+
}
|
|
29
|
+
populateMembers(members) {
|
|
30
|
+
const populatedMembers = [];
|
|
31
|
+
this.data.forEach((p) => {
|
|
32
|
+
const match = members.find((m) => m.id === p.id);
|
|
33
|
+
if (match) {
|
|
34
|
+
populatedMembers.push(Object.assign(Object.assign({}, match), { imageUrl: p.imageUrl, url: p.url, name: p.name }));
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return populatedMembers;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.RTSeeMessengerLocalPeersStorage = RTSeeMessengerLocalPeersStorage;
|
|
41
|
+
//# sourceMappingURL=Peers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Peers.js","sourceRoot":"","sources":["../../../../../../src/messenger/models/local-storage/Peers.ts"],"names":[],"mappings":";;;AAMA,MAAa,+BAA+B;IAA5C;QACE,SAAI,GAA0B,EAAE,CAAC;IAyCnC,CAAC;IAvCC,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,IAAyB;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC;SACjB;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAA4B;QAClC,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,KAAK,EAAE;gBACT,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,OAA+B;QAC7C,MAAM,gBAAgB,GAAuB,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,KAAK,EAAE;gBACT,gBAAgB,CAAC,IAAI,iCAChB,KAAK,KACR,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,IAAI,EAAE,CAAC,CAAC,IAAI,IACZ,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AA1CD,0EA0CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/messenger/models/local-storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Chats"), exports);
|
|
18
|
+
__exportStar(require("./Members"), exports);
|
|
19
|
+
__exportStar(require("./Messages"), exports);
|
|
20
|
+
__exportStar(require("./Peers"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/messenger/models/local-storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,6CAA2B;AAC3B,0CAAwB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IRTSeeChat, IRTSeeChatsQuery, IRTSeeChatsResult, IRTSeeCreateChatOptions, IRTSeeMessageBase, IRTSeeMessagesQuery, IRTSeeMessagesResult, IRTSeeMessageStatusTransportData, IRTSeeMessengerSearchOptions, IRTSeeMessengerSearchResults, IRTSeeMessengerStorageHandlers } from "@rtsee/common";
|
|
2
|
+
export declare class RTSeeMessengerStorageHandlers implements IRTSeeMessengerStorageHandlers {
|
|
3
|
+
getMessages: (options: IRTSeeMessagesQuery) => Promise<IRTSeeMessagesResult>;
|
|
4
|
+
getChats: (options: IRTSeeChatsQuery) => Promise<IRTSeeChatsResult>;
|
|
5
|
+
getChat: (options: IRTSeeChatsQuery) => Promise<IRTSeeChat | null>;
|
|
6
|
+
isAllowedToCreateChat: (fromId: string, membersIds?: string[]) => Promise<boolean>;
|
|
7
|
+
isAllowedToMessage: (fromId: string, chatId?: string) => Promise<boolean>;
|
|
8
|
+
processMessage: (message: IRTSeeMessageBase) => Promise<IRTSeeMessageBase>;
|
|
9
|
+
createChat: (chat: IRTSeeCreateChatOptions) => Promise<IRTSeeChat | null>;
|
|
10
|
+
processMessagesReceivedEvent?: (clientId: string, messages: IRTSeeMessageStatusTransportData) => Promise<void>;
|
|
11
|
+
processMessagesSeenEvent?: (clientId: string, messages: IRTSeeMessageStatusTransportData) => Promise<void>;
|
|
12
|
+
processSearch?: (options: IRTSeeMessengerSearchOptions) => Promise<IRTSeeMessengerSearchResults>;
|
|
13
|
+
constructor(options: IRTSeeMessengerStorageHandlers);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=MessengerStorageHandlers.d.ts.map
|
package/dist/live-storage/src/messenger/models/remote-storage/MessengerStorageHandlers.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessengerStorageHandlers.d.ts","sourceRoot":"","sources":["../../../../../../src/messenger/models/remote-storage/MessengerStorageHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,8BAA8B,EAC/B,MAAM,eAAe,CAAC;AAEvB,qBAAa,6BACX,YAAW,8BAA8B;IAEzC,WAAW,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7E,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpE,OAAO,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACnE,qBAAqB,EAAE,CACrB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EAAE,KAClB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,cAAc,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3E,UAAU,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC1E,4BAA4B,CAAC,EAAE,CAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,gCAAgC,KACvC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,wBAAwB,CAAC,EAAE,CACzB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,gCAAgC,KACvC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,4BAA4B,KAClC,OAAO,CAAC,4BAA4B,CAAC,CAAC;gBAE/B,OAAO,EAAE,8BAA8B;CAkBpD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RTSeeMessengerStorageHandlers = void 0;
|
|
4
|
+
class RTSeeMessengerStorageHandlers {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.getMessages = options.getMessages;
|
|
7
|
+
this.getChats = options.getChats;
|
|
8
|
+
this.createChat = options.createChat;
|
|
9
|
+
this.isAllowedToCreateChat = options.isAllowedToCreateChat;
|
|
10
|
+
this.isAllowedToMessage = options.isAllowedToMessage;
|
|
11
|
+
this.processMessage = options.processMessage;
|
|
12
|
+
if (options.processMessagesReceivedEvent) {
|
|
13
|
+
this.processMessagesReceivedEvent = options.processMessagesReceivedEvent;
|
|
14
|
+
}
|
|
15
|
+
if (options.processMessagesSeenEvent) {
|
|
16
|
+
this.processMessagesSeenEvent = options.processMessagesSeenEvent;
|
|
17
|
+
}
|
|
18
|
+
if (options.processSearch) {
|
|
19
|
+
this.processSearch = options.processSearch;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.RTSeeMessengerStorageHandlers = RTSeeMessengerStorageHandlers;
|
|
24
|
+
//# sourceMappingURL=MessengerStorageHandlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessengerStorageHandlers.js","sourceRoot":"","sources":["../../../../../../src/messenger/models/remote-storage/MessengerStorageHandlers.ts"],"names":[],"mappings":";;;AAcA,MAAa,6BAA6B;IAyBxC,YAAY,OAAuC;QACjD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAE7C,IAAI,OAAO,CAAC,4BAA4B,EAAE;YACxC,IAAI,CAAC,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAC;SAC1E;QACD,IAAI,OAAO,CAAC,wBAAwB,EAAE;YACpC,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;SAClE;QACD,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;SAC5C;IACH,CAAC;CACF;AA3CD,sEA2CC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IRTSeeMessengerHandlerTransport, IRTSeeMessengerStorageOptions, IRTSeeMessengerStorageProcessor, RTSeeMessengerStorageHandlers } from "@rtsee/live-storage";
|
|
2
|
+
import { IRTSeeChat, IRTSeeChatsQuery, IRTSeeChatsResult, IRTSeeCreateChatOptions, IRTSeeMessageBase, IRTSeeMessagesQuery, IRTSeeMessagesResult, IRTSeeMessageStatusTransportData, IRTSeeMessengerSearchOptions, IRTSeeMessengerSearchResults } from "@rtsee/common";
|
|
3
|
+
export declare class RTSeeMessengerRemoteStorageProcessor implements IRTSeeMessengerStorageProcessor {
|
|
4
|
+
handlers: RTSeeMessengerStorageHandlers;
|
|
5
|
+
constructor(options: IRTSeeMessengerStorageOptions);
|
|
6
|
+
processChat(transport: IRTSeeMessengerHandlerTransport, options: IRTSeeCreateChatOptions): Promise<IRTSeeChat | null>;
|
|
7
|
+
processMessage(transport: IRTSeeMessengerHandlerTransport, options: IRTSeeMessageBase): Promise<IRTSeeMessageBase | null>;
|
|
8
|
+
getChats(transport: IRTSeeMessengerHandlerTransport, options: IRTSeeChatsQuery): Promise<IRTSeeChatsResult>;
|
|
9
|
+
getChat(transport: IRTSeeMessengerHandlerTransport, options: IRTSeeChatsQuery): Promise<IRTSeeChat | null>;
|
|
10
|
+
getMessages(transport: IRTSeeMessengerHandlerTransport, options: IRTSeeMessagesQuery): Promise<IRTSeeMessagesResult>;
|
|
11
|
+
processMessagesReceivedEvent(transport: IRTSeeMessengerHandlerTransport, messages: IRTSeeMessageStatusTransportData): Promise<void>;
|
|
12
|
+
processMessagesSeenEvent(transport: IRTSeeMessengerHandlerTransport, messages: IRTSeeMessageStatusTransportData): Promise<void>;
|
|
13
|
+
processSearch(options: IRTSeeMessengerSearchOptions): Promise<IRTSeeMessengerSearchResults>;
|
|
14
|
+
private isAllowedToMessage;
|
|
15
|
+
private isAllowedToCreateChat;
|
|
16
|
+
private processMessageWithChatId;
|
|
17
|
+
private processMessageWithoutChatId;
|
|
18
|
+
private findChat;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=RemoteStorageProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteStorageProcessor.d.ts","sourceRoot":"","sources":["../../../../../../src/messenger/models/remote-storage/RemoteStorageProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAE7B,MAAM,eAAe,CAAC;AAEvB,qBAAa,oCACX,YAAW,+BAA+B;IAE1C,QAAQ,EAAE,6BAA6B,CAAC;gBAE5B,OAAO,EAAE,6BAA6B;IAM5C,WAAW,CACf,SAAS,EAAE,+BAA+B,EAC1C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAcvB,cAAc,CAClB,SAAS,EAAE,+BAA+B,EAC1C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAM9B,QAAQ,CACZ,SAAS,EAAE,+BAA+B,EAC1C,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAIvB,OAAO,CACX,SAAS,EAAE,+BAA+B,EAC1C,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIvB,WAAW,CACf,SAAS,EAAE,+BAA+B,EAC1C,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IAI1B,4BAA4B,CAChC,SAAS,EAAE,+BAA+B,EAC1C,QAAQ,EAAE,gCAAgC,GACzC,OAAO,CAAC,IAAI,CAAC;IAOV,wBAAwB,CAC5B,SAAS,EAAE,+BAA+B,EAC1C,QAAQ,EAAE,gCAAgC,GACzC,OAAO,CAAC,IAAI,CAAC;IAIV,aAAa,CACjB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,4BAA4B,CAAC;YAO1B,kBAAkB;YAUlB,qBAAqB;YAUrB,wBAAwB;YAgBxB,2BAA2B;YAsB3B,QAAQ;CAKvB"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RTSeeMessengerRemoteStorageProcessor = void 0;
|
|
13
|
+
const live_storage_1 = require("@rtsee/live-storage");
|
|
14
|
+
const common_1 = require("@rtsee/common");
|
|
15
|
+
class RTSeeMessengerRemoteStorageProcessor {
|
|
16
|
+
constructor(options) {
|
|
17
|
+
if (options.handlers) {
|
|
18
|
+
this.handlers = new live_storage_1.RTSeeMessengerStorageHandlers(options.handlers);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
processChat(transport, options) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const allowed = yield this.isAllowedToCreateChat(transport.clientId, options.membersIds);
|
|
24
|
+
if (!allowed) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return this.handlers.createChat(Object.assign(Object.assign({}, options), { creatorId: transport.clientId }));
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
processMessage(transport, options) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
return options.chatId
|
|
33
|
+
? this.processMessageWithChatId(transport, options)
|
|
34
|
+
: this.processMessageWithoutChatId(transport, options);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
getChats(transport, options) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
return this.handlers.getChats(options);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
getChat(transport, options) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
return this.handlers.getChat(options);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
getMessages(transport, options) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
return this.handlers.getMessages(options);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
processMessagesReceivedEvent(transport, messages) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
return this.handlers.processMessagesReceivedEvent(transport.clientId, messages);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
processMessagesSeenEvent(transport, messages) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
return this.handlers.processMessagesSeenEvent(transport.clientId, messages);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
processSearch(options) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
if (!this.handlers.processSearch) {
|
|
65
|
+
throw new Error('Error, "processSearch" callback was not provided!');
|
|
66
|
+
}
|
|
67
|
+
return this.handlers.processSearch(options);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
isAllowedToMessage(fromId, chatId) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
if (!this.handlers.isAllowedToMessage) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
return this.handlers.isAllowedToMessage(fromId, chatId);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
isAllowedToCreateChat(fromId, membersIds) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
if (!this.handlers.isAllowedToCreateChat) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
return this.isAllowedToCreateChat(fromId, membersIds);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
processMessageWithChatId(transport, options) {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
const allowed = yield this.isAllowedToMessage(transport.clientId, options.chatId);
|
|
89
|
+
if (!allowed) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
return this.handlers.processMessage
|
|
93
|
+
? this.handlers.processMessage(options)
|
|
94
|
+
: options;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
processMessageWithoutChatId(transport, options) {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
const chat = (yield this.findChat(options)) ||
|
|
100
|
+
(yield this.processChat(transport, {
|
|
101
|
+
type: common_1.RTSeeChatTypes.INDIVIDUAL,
|
|
102
|
+
membersIds: [],
|
|
103
|
+
creatorId: options.from,
|
|
104
|
+
}));
|
|
105
|
+
if (!chat) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
return this.processMessageWithChatId(transport, Object.assign(Object.assign({}, options), { chatId: chat.id }));
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
findChat(options) {
|
|
112
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
return this.handlers.getChat(options);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.RTSeeMessengerRemoteStorageProcessor = RTSeeMessengerRemoteStorageProcessor;
|
|
118
|
+
//# sourceMappingURL=RemoteStorageProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteStorageProcessor.js","sourceRoot":"","sources":["../../../../../../src/messenger/models/remote-storage/RemoteStorageProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAK6B;AAC7B,0CAYuB;AAEvB,MAAa,oCAAoC;IAK/C,YAAY,OAAsC;QAChD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,4CAA6B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACrE;IACH,CAAC;IAEK,WAAW,CACf,SAA0C,EAC1C,OAAgC;;YAEhC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAC9C,SAAS,CAAC,QAAQ,EAClB,OAAO,CAAC,UAAU,CACnB,CAAC;YACF,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,iCAC1B,OAAO,KACV,SAAS,EAAE,SAAS,CAAC,QAAQ,IAC7B,CAAC;QACL,CAAC;KAAA;IAEK,cAAc,CAClB,SAA0C,EAC1C,OAA0B;;YAE1B,OAAO,OAAO,CAAC,MAAM;gBACnB,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC;gBACnD,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEK,QAAQ,CACZ,SAA0C,EAC1C,OAAyB;;YAEzB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;KAAA;IAEK,OAAO,CACX,SAA0C,EAC1C,OAAyB;;YAEzB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;KAAA;IAEK,WAAW,CACf,SAA0C,EAC1C,OAA4B;;YAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;KAAA;IAEK,4BAA4B,CAChC,SAA0C,EAC1C,QAA0C;;YAE1C,OAAO,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAC/C,SAAS,CAAC,QAAQ,EAClB,QAAQ,CACT,CAAC;QACJ,CAAC;KAAA;IAEK,wBAAwB,CAC5B,SAA0C,EAC1C,QAA0C;;YAE1C,OAAO,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9E,CAAC;KAAA;IAEK,aAAa,CACjB,OAAqC;;YAErC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;aACtE;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEa,kBAAkB,CAC9B,MAAc,EACd,MAAc;;YAEd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;gBACrC,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEa,qBAAqB,CACjC,MAAc,EACd,UAAoB;;YAEpB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE;gBACxC,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxD,CAAC;KAAA;IAEa,wBAAwB,CACpC,SAA0C,EAC1C,OAA0B;;YAE1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC3C,SAAS,CAAC,QAAQ,EAClB,OAAO,CAAC,MAAM,CACf,CAAC;YACF,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO;aACR;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc;gBACjC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;gBACvC,CAAC,CAAC,OAAO,CAAC;QACd,CAAC;KAAA;IAEa,2BAA2B,CACvC,SAA0C,EAC1C,OAA0B;;YAE1B,MAAM,IAAI,GACR,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;oBACjC,IAAI,EAAE,uBAAc,CAAC,UAAU;oBAC/B,UAAU,EAAE,EAAE;oBACd,SAAS,EAAE,OAAO,CAAC,IAAI;iBACxB,CAAC,CAAC,CAAC;YAEN,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,IAAI,CAAC;aACb;YAED,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,kCACzC,OAAO,KACV,MAAM,EAAE,IAAI,CAAC,EAAE,IACf,CAAC;QACL,CAAC;KAAA;IAEa,QAAQ,CACpB,OAAyB;;YAEzB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;KAAA;CACF;AAnJD,oFAmJC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rtsee/live-storage",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "dist/live-storage/src/index",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/jest": "^26.0.24",
|
|
29
|
+
"@types/node": "~20.5.1",
|
|
29
30
|
"@types/redis": "^4.0.11",
|
|
30
31
|
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
|
31
32
|
"@typescript-eslint/parser": "^4.33.0",
|
|
@@ -36,7 +37,7 @@
|
|
|
36
37
|
"jest-watch-yarn-workspaces": "^1.1.0",
|
|
37
38
|
"prettier": "^2.3.2",
|
|
38
39
|
"ts-jest": "^27.0.3",
|
|
39
|
-
"typescript": "
|
|
40
|
+
"typescript": "5.2.2"
|
|
40
41
|
},
|
|
41
42
|
"publishConfig": {
|
|
42
43
|
"access": "public"
|
|
@@ -45,5 +46,5 @@
|
|
|
45
46
|
"redis": "^4.3.1",
|
|
46
47
|
"redis-om": "^0.3.6"
|
|
47
48
|
},
|
|
48
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "328b5169246da5b081d0a34649b8b78a2d331456"
|
|
49
50
|
}
|