@fabriktor/fx 0.0.46 → 0.0.47
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/src/chat/chat.d.ts +2 -13
- package/dist/src/chat/chat.js +0 -31
- package/dist/src/fx.js +0 -1
- package/package.json +1 -1
package/dist/src/chat/chat.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ChatOperator,
|
|
2
|
-
import type { Chat, ChatRoom, ChatRoomMember
|
|
1
|
+
import type { ChatOperator, WSCloseHandler, WSConnection, WSErrorHandler, WSMessageHandler } from "@fabriktor/client";
|
|
2
|
+
import type { Chat, ChatRoom, ChatRoomMember } from "@fabriktor/schema";
|
|
3
3
|
import { type SearchPage } from "../core/search.js";
|
|
4
4
|
type ChatInsertOptions = Parameters<ChatOperator["insertOneChat"]>[0];
|
|
5
5
|
type ChatReplaceOptions = Parameters<ChatOperator["replaceOneChat"]>[0];
|
|
@@ -10,7 +10,6 @@ export type MarkChatObjectsUploadedOptions = {
|
|
|
10
10
|
export type ReactChatOptions = Parameters<ChatOperator["reactChat"]>[0];
|
|
11
11
|
export type ChatFXOptions = {
|
|
12
12
|
chat: ChatOperator;
|
|
13
|
-
users: UsersOperator;
|
|
14
13
|
};
|
|
15
14
|
type SearchChatsScope = {
|
|
16
15
|
chat_room_id: string;
|
|
@@ -61,13 +60,6 @@ export type ChatRoomMembersOptions = {
|
|
|
61
60
|
export type MyChatRoomMembersOptions = {
|
|
62
61
|
owner_id: string;
|
|
63
62
|
};
|
|
64
|
-
export type ChatRoomParticipantsOptions = {
|
|
65
|
-
chat_room_ids: string[];
|
|
66
|
-
};
|
|
67
|
-
export type ChatRoomParticipants = {
|
|
68
|
-
members: ChatRoomMember[];
|
|
69
|
-
users: User[];
|
|
70
|
-
};
|
|
71
63
|
export type OpenChatRoomOptions = {
|
|
72
64
|
owner_id: string;
|
|
73
65
|
chat_room_id: string;
|
|
@@ -110,14 +102,12 @@ export interface ChatFXOperator {
|
|
|
110
102
|
searchChatRoomMembers(opts: SearchChatRoomMembersOptions): Promise<SearchChatRoomMembersPage>;
|
|
111
103
|
chatRoomMembers(opts: ChatRoomMembersOptions): Promise<ChatRoomMember[]>;
|
|
112
104
|
myChatRoomMembers(opts: MyChatRoomMembersOptions): Promise<ChatRoomMember[]>;
|
|
113
|
-
chatRoomParticipants(opts: ChatRoomParticipantsOptions): Promise<ChatRoomParticipants>;
|
|
114
105
|
openChatRoom(opts: OpenChatRoomOptions): Promise<ChatRoomSession>;
|
|
115
106
|
openGlobalChatRooms(opts: OpenGlobalChatRoomsOptions): Promise<GlobalChatRoomsSession>;
|
|
116
107
|
reactUploadedChat(opts: ReactUploadedChatOptions): Promise<void>;
|
|
117
108
|
}
|
|
118
109
|
export declare class ChatFX implements ChatFXOperator {
|
|
119
110
|
private chat;
|
|
120
|
-
private users;
|
|
121
111
|
constructor(opts: ChatFXOptions);
|
|
122
112
|
createChat(opts: CreateChatOptions): Promise<Chat>;
|
|
123
113
|
markChatObjectsUploaded(opts: MarkChatObjectsUploadedOptions): Promise<Chat>;
|
|
@@ -128,7 +118,6 @@ export declare class ChatFX implements ChatFXOperator {
|
|
|
128
118
|
searchChatRoomMembers(opts: SearchChatRoomMembersOptions): Promise<SearchChatRoomMembersPage>;
|
|
129
119
|
chatRoomMembers(opts: ChatRoomMembersOptions): Promise<ChatRoomMember[]>;
|
|
130
120
|
myChatRoomMembers(opts: MyChatRoomMembersOptions): Promise<ChatRoomMember[]>;
|
|
131
|
-
chatRoomParticipants(opts: ChatRoomParticipantsOptions): Promise<ChatRoomParticipants>;
|
|
132
121
|
openChatRoom(opts: OpenChatRoomOptions): Promise<ChatRoomSession>;
|
|
133
122
|
openGlobalChatRooms(opts: OpenGlobalChatRoomsOptions): Promise<GlobalChatRoomsSession>;
|
|
134
123
|
reactUploadedChat(opts: ReactUploadedChatOptions): Promise<void>;
|
package/dist/src/chat/chat.js
CHANGED
|
@@ -16,10 +16,8 @@ const msgSearchQueryRequired = "Search query is required.";
|
|
|
16
16
|
const msgChatObjectsUploading = "Cannot react to a chat while objects are still uploading.";
|
|
17
17
|
export class ChatFX {
|
|
18
18
|
chat;
|
|
19
|
-
users;
|
|
20
19
|
constructor(opts) {
|
|
21
20
|
this.chat = opts.chat;
|
|
22
|
-
this.users = opts.users;
|
|
23
21
|
}
|
|
24
22
|
async createChat(opts) {
|
|
25
23
|
const out = await this.chat.insertOneChat(opts);
|
|
@@ -113,29 +111,6 @@ export class ChatFX {
|
|
|
113
111
|
});
|
|
114
112
|
return out.value ?? [];
|
|
115
113
|
}
|
|
116
|
-
async chatRoomParticipants(opts) {
|
|
117
|
-
const chat_room_ids = normalizeIDs(opts.chat_room_ids);
|
|
118
|
-
if (chat_room_ids.length === 0) {
|
|
119
|
-
return { members: [], users: [] };
|
|
120
|
-
}
|
|
121
|
-
const memberGroups = await Promise.all(chat_room_ids.map((chat_room_id) => this.chatRoomMembers({
|
|
122
|
-
chat_room_id,
|
|
123
|
-
})));
|
|
124
|
-
const members = uniqueChatRoomMembers(memberGroups.flat());
|
|
125
|
-
const owner_ids = normalizeIDs(members.map((member) => member.owner_id));
|
|
126
|
-
if (owner_ids.length === 0) {
|
|
127
|
-
return { members, users: [] };
|
|
128
|
-
}
|
|
129
|
-
const out = await this.users.queryUsers({
|
|
130
|
-
query: {
|
|
131
|
-
id: owner_ids,
|
|
132
|
-
},
|
|
133
|
-
});
|
|
134
|
-
return {
|
|
135
|
-
members,
|
|
136
|
-
users: out.value ?? [],
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
114
|
async openChatRoom(opts) {
|
|
140
115
|
const latest = await this.latestChats({
|
|
141
116
|
chat_room_id: opts.chat_room_id,
|
|
@@ -414,12 +389,6 @@ export class ChatFX {
|
|
|
414
389
|
export function newChatFX(opts) {
|
|
415
390
|
return new ChatFX(opts);
|
|
416
391
|
}
|
|
417
|
-
function normalizeIDs(ids) {
|
|
418
|
-
return [...new Set(ids.map((id) => id.trim()).filter((id) => id !== ""))];
|
|
419
|
-
}
|
|
420
|
-
function uniqueChatRoomMembers(members) {
|
|
421
|
-
return [...new Map(members.map((member) => [member.id, member])).values()];
|
|
422
|
-
}
|
|
423
392
|
function latestChatsPage(opts) {
|
|
424
393
|
return {
|
|
425
394
|
chats: opts.raw.results,
|
package/dist/src/fx.js
CHANGED