@wireapp/core 36.5.0 → 37.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.
- package/lib/Account.d.ts +2 -2
- package/lib/Account.d.ts.map +1 -1
- package/lib/Account.js +8 -3
- package/lib/conversation/ConversationService/ConversationService.d.ts +9 -49
- package/lib/conversation/ConversationService/ConversationService.d.ts.map +1 -1
- package/lib/conversation/ConversationService/ConversationService.js +13 -217
- package/lib/conversation/ConversationService/ConversationService.types.d.ts +9 -13
- package/lib/conversation/ConversationService/ConversationService.types.d.ts.map +1 -1
- package/lib/conversation/ConversationService/Utility/getConversationQualifiedMembers.d.ts +9 -0
- package/lib/conversation/ConversationService/Utility/getConversationQualifiedMembers.d.ts.map +1 -0
- package/lib/conversation/ConversationService/Utility/getConversationQualifiedMembers.js +34 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/ConversationEvent.d.ts +0 -0
- package/lib/messagingProtocols/mls/EventHandler/ConversationEvent/ConversationEvent.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/ConversationEvent.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/index.d.ts +0 -0
- package/lib/messagingProtocols/mls/EventHandler/ConversationEvent/events/index.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/index.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/messageAdd/index.d.ts +0 -0
- package/lib/messagingProtocols/mls/EventHandler/ConversationEvent/events/messageAdd/index.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/messageAdd/index.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/messageAdd/messageAdd.d.ts +0 -0
- package/lib/messagingProtocols/mls/EventHandler/ConversationEvent/events/messageAdd/messageAdd.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/messageAdd/messageAdd.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/welcomeMessage/index.d.ts +0 -0
- package/lib/messagingProtocols/mls/EventHandler/ConversationEvent/events/welcomeMessage/index.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/welcomeMessage/index.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/welcomeMessage/welcomeMessage.d.ts +0 -0
- package/lib/messagingProtocols/mls/EventHandler/ConversationEvent/events/welcomeMessage/welcomeMessage.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/welcomeMessage/welcomeMessage.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/index.d.ts +0 -0
- package/lib/messagingProtocols/mls/EventHandler/ConversationEvent/index.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/index.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/EventHandler.d.ts +0 -0
- package/lib/messagingProtocols/mls/EventHandler/EventHandler.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/EventHandler.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/EventHandler.types.d.ts +2 -2
- package/lib/messagingProtocols/mls/EventHandler/EventHandler.types.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/EventHandler.types.js +1 -1
- package/lib/{mls → messagingProtocols/mls}/EventHandler/index.d.ts +0 -0
- package/lib/messagingProtocols/mls/EventHandler/index.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/EventHandler/index.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/MLSService.d.ts +2 -6
- package/lib/messagingProtocols/mls/MLSService/MLSService.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/MLSService.js +4 -4
- package/lib/messagingProtocols/mls/MLSService/MLSService.types.d.ts +16 -0
- package/lib/messagingProtocols/mls/MLSService/MLSService.types.d.ts.map +1 -0
- package/lib/{mls/types.js → messagingProtocols/mls/MLSService/MLSService.types.js} +0 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/commitBundleUtil.d.ts +0 -0
- package/lib/messagingProtocols/mls/MLSService/commitBundleUtil.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/commitBundleUtil.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/index.d.ts +0 -0
- package/lib/messagingProtocols/mls/MLSService/index.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/index.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/stores/keyMaterialUpdatesStore/index.d.ts +0 -0
- package/lib/messagingProtocols/mls/MLSService/stores/keyMaterialUpdatesStore/index.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/stores/keyMaterialUpdatesStore/index.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/stores/keyMaterialUpdatesStore/keyMaterialUpdatesStore.d.ts +0 -0
- package/lib/messagingProtocols/mls/MLSService/stores/keyMaterialUpdatesStore/keyMaterialUpdatesStore.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/stores/keyMaterialUpdatesStore/keyMaterialUpdatesStore.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/stores/pendingProposalsStore/index.d.ts +0 -0
- package/lib/messagingProtocols/mls/MLSService/stores/pendingProposalsStore/index.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/stores/pendingProposalsStore/index.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/stores/pendingProposalsStore/pendingProposalsStore.d.ts +0 -0
- package/lib/messagingProtocols/mls/MLSService/stores/pendingProposalsStore/pendingProposalsStore.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/stores/pendingProposalsStore/pendingProposalsStore.js +0 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/stores/stores.mock.d.ts +0 -0
- package/lib/messagingProtocols/mls/MLSService/stores/stores.mock.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/MLSService/stores/stores.mock.js +0 -0
- package/lib/messagingProtocols/mls/index.d.ts +2 -0
- package/lib/messagingProtocols/mls/index.d.ts.map +1 -0
- package/lib/{mls → messagingProtocols/mls}/index.js +1 -1
- package/lib/{mls → messagingProtocols/mls}/types.d.ts +0 -0
- package/lib/messagingProtocols/mls/types.d.ts.map +1 -0
- package/lib/messagingProtocols/mls/types.js +20 -0
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.d.ts +18 -0
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.d.ts.map +1 -0
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.js +97 -0
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.types.d.ts +25 -0
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.types.d.ts.map +1 -0
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.types.js +20 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/PreKeyBundle.d.ts +24 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/PreKeyBundle.d.ts.map +1 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/PreKeyBundle.js +86 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/Recipients.d.ts +17 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/Recipients.d.ts.map +1 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/Recipients.js +43 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/UserIds.d.ts +12 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/UserIds.d.ts.map +1 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/UserIds.js +38 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/getGenericMessageParams.d.ts +35 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/getGenericMessageParams.d.ts.map +1 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/getGenericMessageParams.js +87 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/index.d.ts +5 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/index.d.ts.map +1 -0
- package/lib/messagingProtocols/proteus/ProteusService/Utility/index.js +38 -0
- package/lib/messagingProtocols/proteus/ProteusService/index.d.ts +4 -0
- package/lib/messagingProtocols/proteus/ProteusService/index.d.ts.map +1 -0
- package/lib/messagingProtocols/proteus/ProteusService/index.js +37 -0
- package/lib/messagingProtocols/proteus/index.d.ts +2 -0
- package/lib/messagingProtocols/proteus/index.d.ts.map +1 -0
- package/lib/messagingProtocols/proteus/index.js +35 -0
- package/lib/notification/NotificationService.d.ts +1 -1
- package/lib/notification/NotificationService.d.ts.map +1 -1
- package/lib/user/UserService.d.ts +1 -3
- package/lib/user/UserService.d.ts.map +1 -1
- package/lib/user/UserService.js +7 -5
- package/package.json +2 -2
- package/lib/mls/EventHandler/ConversationEvent/ConversationEvent.d.ts.map +0 -1
- package/lib/mls/EventHandler/ConversationEvent/events/index.d.ts.map +0 -1
- package/lib/mls/EventHandler/ConversationEvent/events/messageAdd/index.d.ts.map +0 -1
- package/lib/mls/EventHandler/ConversationEvent/events/messageAdd/messageAdd.d.ts.map +0 -1
- package/lib/mls/EventHandler/ConversationEvent/events/welcomeMessage/index.d.ts.map +0 -1
- package/lib/mls/EventHandler/ConversationEvent/events/welcomeMessage/welcomeMessage.d.ts.map +0 -1
- package/lib/mls/EventHandler/ConversationEvent/index.d.ts.map +0 -1
- package/lib/mls/EventHandler/EventHandler.d.ts.map +0 -1
- package/lib/mls/EventHandler/EventHandler.types.d.ts.map +0 -1
- package/lib/mls/EventHandler/index.d.ts.map +0 -1
- package/lib/mls/MLSService/MLSService.d.ts.map +0 -1
- package/lib/mls/MLSService/commitBundleUtil.d.ts.map +0 -1
- package/lib/mls/MLSService/index.d.ts.map +0 -1
- package/lib/mls/MLSService/stores/keyMaterialUpdatesStore/index.d.ts.map +0 -1
- package/lib/mls/MLSService/stores/keyMaterialUpdatesStore/keyMaterialUpdatesStore.d.ts.map +0 -1
- package/lib/mls/MLSService/stores/pendingProposalsStore/index.d.ts.map +0 -1
- package/lib/mls/MLSService/stores/pendingProposalsStore/pendingProposalsStore.d.ts.map +0 -1
- package/lib/mls/MLSService/stores/stores.mock.d.ts.map +0 -1
- package/lib/mls/index.d.ts +0 -2
- package/lib/mls/index.d.ts.map +0 -1
- package/lib/mls/types.d.ts.map +0 -1
package/lib/Account.d.ts
CHANGED
|
@@ -16,8 +16,8 @@ import { CoreError } from './CoreError';
|
|
|
16
16
|
import { CryptographyService, SessionId } from './cryptography/';
|
|
17
17
|
import { GiphyService } from './giphy/';
|
|
18
18
|
import { LinkPreviewService } from './linkPreview';
|
|
19
|
-
import { MLSService } from './mls';
|
|
20
|
-
import { MLSCallbacks, CryptoProtocolConfig } from './mls/types';
|
|
19
|
+
import { MLSService } from './messagingProtocols/mls';
|
|
20
|
+
import { MLSCallbacks, CryptoProtocolConfig } from './messagingProtocols/mls/types';
|
|
21
21
|
import { HandledEventPayload, NotificationService } from './notification/';
|
|
22
22
|
import { SelfService } from './self/';
|
|
23
23
|
import { TeamService } from './team/';
|
package/lib/Account.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../src/Account.ts"],"names":[],"mappings":";AAmBA,OAAO,EACL,YAAY,EAGZ,OAAO,EACP,MAAM,EAEN,SAAS,EACV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAuB,UAAU,EAAE,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACnG,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AASxD,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EAAC,UAAU,EAA0C,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAE1G,OAAO,KAAK,UAAU,MAAM,mCAAmC,CAAC;AAChE,OAAO,KAAK,WAAW,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,mBAAmB,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../src/Account.ts"],"names":[],"mappings":"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"}
|
package/lib/Account.js
CHANGED
|
@@ -75,7 +75,8 @@ const messageSender_1 = require("./conversation/message/messageSender");
|
|
|
75
75
|
const cryptography_1 = require("./cryptography/");
|
|
76
76
|
const giphy_1 = require("./giphy/");
|
|
77
77
|
const linkPreview_1 = require("./linkPreview");
|
|
78
|
-
const mls_1 = require("./mls");
|
|
78
|
+
const mls_1 = require("./messagingProtocols/mls");
|
|
79
|
+
const proteus_1 = require("./messagingProtocols/proteus");
|
|
79
80
|
const notification_1 = require("./notification/");
|
|
80
81
|
const self_1 = require("./self/");
|
|
81
82
|
const team_1 = require("./team/");
|
|
@@ -300,6 +301,10 @@ class Account extends events_1.EventEmitter {
|
|
|
300
301
|
});
|
|
301
302
|
const clientService = new client_2.ClientService(this.apiClient, this.storeEngine, cryptographyService);
|
|
302
303
|
const mlsService = new mls_1.MLSService(this.apiClient, () => this.coreCryptoClient, Object.assign(Object.assign({}, (_a = this.cryptoProtocolConfig) === null || _a === void 0 ? void 0 : _a.mls), { nbKeyPackages: this.nbPrekeys }));
|
|
304
|
+
const proteusService = new proteus_1.ProteusService(this.apiClient, cryptographyService, {
|
|
305
|
+
// We can use qualified ids to send messages as long as the backend supports federated endpoints
|
|
306
|
+
useQualifiedIds: this.backendFeatures.federationEndpoints,
|
|
307
|
+
});
|
|
303
308
|
const connectionService = new connection_1.ConnectionService(this.apiClient);
|
|
304
309
|
const giphyService = new giphy_1.GiphyService(this.apiClient);
|
|
305
310
|
const linkPreviewService = new linkPreview_1.LinkPreviewService(assetService);
|
|
@@ -307,11 +312,11 @@ class Account extends events_1.EventEmitter {
|
|
|
307
312
|
const conversationService = new conversation_1.ConversationService(this.apiClient, cryptographyService, {
|
|
308
313
|
// We can use qualified ids to send messages as long as the backend supports federated endpoints
|
|
309
314
|
useQualifiedIds: this.backendFeatures.federationEndpoints,
|
|
310
|
-
}, mlsService);
|
|
315
|
+
}, mlsService, proteusService);
|
|
311
316
|
const selfService = new self_1.SelfService(this.apiClient);
|
|
312
317
|
const teamService = new team_1.TeamService(this.apiClient);
|
|
313
318
|
const broadcastService = new broadcast_1.BroadcastService(this.apiClient, cryptographyService);
|
|
314
|
-
const userService = new user_1.UserService(this.apiClient, broadcastService,
|
|
319
|
+
const userService = new user_1.UserService(this.apiClient, broadcastService, connectionService);
|
|
315
320
|
this.service = {
|
|
316
321
|
mls: mlsService,
|
|
317
322
|
account: accountService,
|
|
@@ -1,54 +1,25 @@
|
|
|
1
1
|
import { Conversation, DefaultConversationRoleName, MutedStatus, NewConversation, QualifiedUserClients, UserClients } from '@wireapp/api-client/lib/conversation';
|
|
2
2
|
import { ConversationMemberLeaveEvent } from '@wireapp/api-client/lib/event';
|
|
3
|
-
import { QualifiedId
|
|
3
|
+
import { QualifiedId } from '@wireapp/api-client/lib/user';
|
|
4
4
|
import { XOR } from '@wireapp/commons/lib/util/TypeUtil';
|
|
5
5
|
import { APIClient } from '@wireapp/api-client';
|
|
6
|
-
import { AddUsersParams, MLSReturnType, SendMlsMessageParams,
|
|
7
|
-
import { MessageTimer,
|
|
6
|
+
import { AddUsersParams, MLSReturnType, SendMlsMessageParams, SendResult } from './ConversationService.types';
|
|
7
|
+
import { MessageTimer, RemoveUsersParams } from '../../conversation/';
|
|
8
8
|
import { CryptographyService } from '../../cryptography/';
|
|
9
|
-
import { MLSService } from '../../mls';
|
|
9
|
+
import { MLSService } from '../../messagingProtocols/mls';
|
|
10
|
+
import { ProteusService } from '../../messagingProtocols/proteus';
|
|
11
|
+
import { AddUsersToProteusConversationParams, SendProteusMessageParams } from '../../messagingProtocols/proteus/ProteusService/ProteusService.types';
|
|
10
12
|
import { RemoteData } from '../content';
|
|
11
|
-
declare type SendResult = {
|
|
12
|
-
/** The id of the message sent */
|
|
13
|
-
id: string;
|
|
14
|
-
/** the ISO formatted date at which the message was received by the backend */
|
|
15
|
-
sentAt: string;
|
|
16
|
-
/** The sending state of the payload (has the payload been succesfully sent or canceled) */
|
|
17
|
-
state: PayloadBundleState;
|
|
18
|
-
};
|
|
19
13
|
export declare class ConversationService {
|
|
20
14
|
private readonly apiClient;
|
|
21
15
|
private readonly config;
|
|
22
16
|
private readonly mlsService;
|
|
17
|
+
private readonly proteusService;
|
|
23
18
|
readonly messageTimer: MessageTimer;
|
|
24
19
|
private readonly messageService;
|
|
25
20
|
constructor(apiClient: APIClient, cryptographyService: CryptographyService, config: {
|
|
26
21
|
useQualifiedIds?: boolean;
|
|
27
|
-
}, mlsService: MLSService);
|
|
28
|
-
private getConversationQualifiedMembers;
|
|
29
|
-
/**
|
|
30
|
-
* Will generate a prekey bundle for specific users.
|
|
31
|
-
* If a QualifiedId array is given the bundle will contain all the clients from those users fetched from the server.
|
|
32
|
-
* If a QualifiedUserClients is provided then only the clients in the payload will be targeted (which could generate a ClientMismatch when sending messages)
|
|
33
|
-
*
|
|
34
|
-
* @param {QualifiedId[]|QualifiedUserClients} userIds - Targeted users.
|
|
35
|
-
* @returns {Promise<QualifiedUserPreKeyBundleMap}
|
|
36
|
-
*/
|
|
37
|
-
private getQualifiedPreKeyBundle;
|
|
38
|
-
getPreKeyBundleMap(conversationId: QualifiedId, userIds?: string[] | UserClients): Promise<UserPreKeyBundleMap>;
|
|
39
|
-
private getQualifiedRecipientsForConversation;
|
|
40
|
-
private getRecipientsForConversation;
|
|
41
|
-
/**
|
|
42
|
-
* Sends a message to a conversation
|
|
43
|
-
*
|
|
44
|
-
* @param sendingClientId The clientId from which the message is sent
|
|
45
|
-
* @param conversationId The conversation in which to send the message
|
|
46
|
-
* @param genericMessage The payload of the message to send
|
|
47
|
-
* @return Resolves with the message sending status from backend
|
|
48
|
-
*/
|
|
49
|
-
private sendGenericMessage;
|
|
50
|
-
private extractUserIds;
|
|
51
|
-
private extractQualifiedUserIds;
|
|
22
|
+
}, mlsService: MLSService, proteusService: ProteusService);
|
|
52
23
|
/**
|
|
53
24
|
* Get a fresh list from backend of clients for all the participants of the conversation.
|
|
54
25
|
* This is a hacky way of getting all the clients for a conversation.
|
|
@@ -67,14 +38,6 @@ export declare class ConversationService {
|
|
|
67
38
|
* @param {string} conversationDomain? - If given will send the message to the new qualified endpoint
|
|
68
39
|
*/
|
|
69
40
|
fetchAllParticipantsClients(conversationId: string, conversationDomain?: string): Promise<UserClients | QualifiedUserClients>;
|
|
70
|
-
/**
|
|
71
|
-
* Create a group conversation.
|
|
72
|
-
* @param {string} name
|
|
73
|
-
* @param {string|string[]} otherUserIds
|
|
74
|
-
* @deprecated
|
|
75
|
-
* @returns Promise
|
|
76
|
-
*/
|
|
77
|
-
createProteusConversation(name: string, otherUserIds: string | string[]): Promise<Conversation>;
|
|
78
41
|
/**
|
|
79
42
|
* Create a group conversation.
|
|
80
43
|
*
|
|
@@ -89,9 +52,8 @@ export declare class ConversationService {
|
|
|
89
52
|
getConversations(conversationIds?: string[]): Promise<Conversation[]>;
|
|
90
53
|
getAsset({ assetId, assetToken, otrKey, sha256 }: RemoteData): Promise<Uint8Array>;
|
|
91
54
|
getUnencryptedAsset(assetId: string, assetToken?: string): Promise<ArrayBuffer>;
|
|
92
|
-
addUsersToProteusConversation(
|
|
55
|
+
addUsersToProteusConversation(params: AddUsersToProteusConversationParams): Promise<import("@wireapp/api-client/lib/event").ConversationMemberJoinEvent>;
|
|
93
56
|
removeUserFromConversation(conversationId: QualifiedId, userId: QualifiedId): Promise<ConversationMemberLeaveEvent>;
|
|
94
|
-
private sendProteusMessage;
|
|
95
57
|
/**
|
|
96
58
|
* Sends a message to a conversation
|
|
97
59
|
* @return resolves with the sending status
|
|
@@ -102,7 +64,6 @@ export declare class ConversationService {
|
|
|
102
64
|
setConversationMutedStatus(conversationId: string, status: MutedStatus, muteTimestamp: number | Date): Promise<void>;
|
|
103
65
|
toggleArchiveConversation(conversationId: string, archived: boolean, archiveTimestamp?: number | Date): Promise<void>;
|
|
104
66
|
setMemberConversationRole(conversationId: string, userId: string, conversationRole: DefaultConversationRoleName | string): Promise<void>;
|
|
105
|
-
private isClearFromMismatch;
|
|
106
67
|
/**
|
|
107
68
|
* ###############################################
|
|
108
69
|
* ################ MLS Functions ################
|
|
@@ -123,5 +84,4 @@ export declare class ConversationService {
|
|
|
123
84
|
isMLSConversationEstablished(groupId: string): Promise<boolean>;
|
|
124
85
|
wipeMLSConversation(groupId: Uint8Array): Promise<void>;
|
|
125
86
|
}
|
|
126
|
-
export {};
|
|
127
87
|
//# sourceMappingURL=ConversationService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationService.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAEL,YAAY,EACZ,2BAA2B,EAC3B,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,WAAW,EAGZ,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAC,4BAA4B,EAAC,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"ConversationService.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,190 +24,22 @@ const data_1 = require("@wireapp/api-client/lib/conversation/data");
|
|
|
24
24
|
const bazinga64_1 = require("bazinga64");
|
|
25
25
|
const core_crypto_1 = require("@wireapp/core-crypto");
|
|
26
26
|
const protocol_messaging_1 = require("@wireapp/protocol-messaging");
|
|
27
|
-
const ConversationService_types_1 = require("./ConversationService.types");
|
|
28
27
|
const conversation_2 = require("../../conversation/");
|
|
29
28
|
const AssetCryptography_1 = require("../../cryptography/AssetCryptography");
|
|
30
|
-
const mls_1 = require("../../mls");
|
|
29
|
+
const mls_1 = require("../../messagingProtocols/mls");
|
|
30
|
+
const proteus_1 = require("../../messagingProtocols/proteus");
|
|
31
31
|
const fullyQualifiedClientIdUtils_1 = require("../../util/fullyQualifiedClientIdUtils");
|
|
32
|
-
const TypePredicateUtil_1 = require("../../util/TypePredicateUtil");
|
|
33
32
|
const messageSender_1 = require("../message/messageSender");
|
|
34
33
|
const MessageService_1 = require("../message/MessageService");
|
|
35
34
|
class ConversationService {
|
|
36
|
-
constructor(apiClient, cryptographyService, config, mlsService) {
|
|
35
|
+
constructor(apiClient, cryptographyService, config, mlsService, proteusService) {
|
|
37
36
|
this.apiClient = apiClient;
|
|
38
37
|
this.config = config;
|
|
39
38
|
this.mlsService = mlsService;
|
|
39
|
+
this.proteusService = proteusService;
|
|
40
40
|
this.messageTimer = new conversation_2.MessageTimer();
|
|
41
41
|
this.messageService = new MessageService_1.MessageService(this.apiClient, cryptographyService);
|
|
42
42
|
}
|
|
43
|
-
async getConversationQualifiedMembers(conversationId) {
|
|
44
|
-
const conversation = await this.apiClient.api.conversation.getConversation(conversationId);
|
|
45
|
-
/*
|
|
46
|
-
* If you are sending a message to a conversation, you have to include
|
|
47
|
-
* yourself in the list of users if you want to sync a message also to your
|
|
48
|
-
* other clients.
|
|
49
|
-
*/
|
|
50
|
-
return conversation.members.others
|
|
51
|
-
.filter(member => !!member.qualified_id)
|
|
52
|
-
.map(member => member.qualified_id)
|
|
53
|
-
.concat(conversation.members.self.qualified_id);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Will generate a prekey bundle for specific users.
|
|
57
|
-
* If a QualifiedId array is given the bundle will contain all the clients from those users fetched from the server.
|
|
58
|
-
* If a QualifiedUserClients is provided then only the clients in the payload will be targeted (which could generate a ClientMismatch when sending messages)
|
|
59
|
-
*
|
|
60
|
-
* @param {QualifiedId[]|QualifiedUserClients} userIds - Targeted users.
|
|
61
|
-
* @returns {Promise<QualifiedUserPreKeyBundleMap}
|
|
62
|
-
*/
|
|
63
|
-
async getQualifiedPreKeyBundle(userIds) {
|
|
64
|
-
let targets = [];
|
|
65
|
-
if (userIds) {
|
|
66
|
-
if ((0, TypePredicateUtil_1.isQualifiedIdArray)(userIds)) {
|
|
67
|
-
targets = userIds.map(id => ({ id }));
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
targets = Object.entries(userIds).reduce((accumulator, [domain, userClients]) => {
|
|
71
|
-
for (const userId in userClients) {
|
|
72
|
-
accumulator.push({ id: { id: userId, domain }, clients: userClients[userId] });
|
|
73
|
-
}
|
|
74
|
-
return accumulator;
|
|
75
|
-
}, []);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
const preKeys = await Promise.all(targets.map(async ({ id: userId, clients }) => {
|
|
79
|
-
const prekeyBundle = await this.apiClient.api.user.getUserPreKeys(userId);
|
|
80
|
-
// We filter the clients that should not receive the message (if a QualifiedUserClients was given as parameter)
|
|
81
|
-
const userClients = clients
|
|
82
|
-
? prekeyBundle.clients.filter(client => clients.includes(client.client))
|
|
83
|
-
: prekeyBundle.clients;
|
|
84
|
-
return { user: userId, clients: userClients };
|
|
85
|
-
}));
|
|
86
|
-
return preKeys.reduce((bundleMap, qualifiedPrekey) => {
|
|
87
|
-
var _a, _b, _c;
|
|
88
|
-
bundleMap[_a = qualifiedPrekey.user.domain] || (bundleMap[_a] = {});
|
|
89
|
-
for (const client of qualifiedPrekey.clients) {
|
|
90
|
-
(_b = bundleMap[qualifiedPrekey.user.domain])[_c = qualifiedPrekey.user.id] || (_b[_c] = {});
|
|
91
|
-
bundleMap[qualifiedPrekey.user.domain][qualifiedPrekey.user.id][client.client] = client.prekey;
|
|
92
|
-
}
|
|
93
|
-
return bundleMap;
|
|
94
|
-
}, {});
|
|
95
|
-
}
|
|
96
|
-
async getPreKeyBundleMap(conversationId, userIds) {
|
|
97
|
-
let members = [];
|
|
98
|
-
if (userIds) {
|
|
99
|
-
if ((0, TypePredicateUtil_1.isStringArray)(userIds)) {
|
|
100
|
-
members = userIds;
|
|
101
|
-
}
|
|
102
|
-
else if ((0, TypePredicateUtil_1.isUserClients)(userIds)) {
|
|
103
|
-
members = Object.keys(userIds);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
if (!members.length) {
|
|
107
|
-
const conversation = await this.apiClient.api.conversation.getConversation(conversationId);
|
|
108
|
-
/*
|
|
109
|
-
* If you are sending a message to a conversation, you have to include
|
|
110
|
-
* yourself in the list of users if you want to sync a message also to your
|
|
111
|
-
* other clients.
|
|
112
|
-
*/
|
|
113
|
-
members = conversation.members.others.map(member => member.id).concat(conversation.members.self.id);
|
|
114
|
-
}
|
|
115
|
-
const preKeys = await Promise.all(members.map(member => this.apiClient.api.user.getUserPreKeys(member)));
|
|
116
|
-
return preKeys.reduce((bundleMap, bundle) => {
|
|
117
|
-
const userId = bundle.user;
|
|
118
|
-
bundleMap[userId] || (bundleMap[userId] = {});
|
|
119
|
-
for (const client of bundle.clients) {
|
|
120
|
-
bundleMap[userId][client.client] = client.prekey;
|
|
121
|
-
}
|
|
122
|
-
return bundleMap;
|
|
123
|
-
}, {});
|
|
124
|
-
}
|
|
125
|
-
async getQualifiedRecipientsForConversation(conversationId, userIds) {
|
|
126
|
-
if ((0, TypePredicateUtil_1.isQualifiedUserClients)(userIds)) {
|
|
127
|
-
return userIds;
|
|
128
|
-
}
|
|
129
|
-
const recipientIds = userIds || (await this.getConversationQualifiedMembers(conversationId));
|
|
130
|
-
return this.getQualifiedPreKeyBundle(recipientIds);
|
|
131
|
-
}
|
|
132
|
-
async getRecipientsForConversation(conversationId, userIds) {
|
|
133
|
-
if ((0, TypePredicateUtil_1.isUserClients)(userIds)) {
|
|
134
|
-
return userIds;
|
|
135
|
-
}
|
|
136
|
-
return this.getPreKeyBundleMap(conversationId, userIds);
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Sends a message to a conversation
|
|
140
|
-
*
|
|
141
|
-
* @param sendingClientId The clientId from which the message is sent
|
|
142
|
-
* @param conversationId The conversation in which to send the message
|
|
143
|
-
* @param genericMessage The payload of the message to send
|
|
144
|
-
* @return Resolves with the message sending status from backend
|
|
145
|
-
*/
|
|
146
|
-
async sendGenericMessage(conversationId, sendingClientId, genericMessage, { userIds, nativePush, sendAsProtobuf, onClientMismatch, targetMode = ConversationService_types_1.MessageTargetMode.NONE, } = {}) {
|
|
147
|
-
const plainText = protocol_messaging_1.GenericMessage.encode(genericMessage).finish();
|
|
148
|
-
if (targetMode !== ConversationService_types_1.MessageTargetMode.NONE && !userIds) {
|
|
149
|
-
throw new Error('Cannot send targetted message when no userIds are given');
|
|
150
|
-
}
|
|
151
|
-
if (conversationId.domain && this.config.useQualifiedIds) {
|
|
152
|
-
if ((0, TypePredicateUtil_1.isStringArray)(userIds) || (0, TypePredicateUtil_1.isUserClients)(userIds)) {
|
|
153
|
-
throw new Error('Invalid userIds option for sending to federated backend');
|
|
154
|
-
}
|
|
155
|
-
const recipients = await this.getQualifiedRecipientsForConversation(conversationId, userIds);
|
|
156
|
-
let reportMissing;
|
|
157
|
-
if (targetMode === ConversationService_types_1.MessageTargetMode.NONE) {
|
|
158
|
-
reportMissing = (0, TypePredicateUtil_1.isQualifiedUserClients)(userIds); // we want to check mismatch in case the consumer gave an exact list of users/devices
|
|
159
|
-
}
|
|
160
|
-
else if (targetMode === ConversationService_types_1.MessageTargetMode.USERS) {
|
|
161
|
-
reportMissing = this.extractQualifiedUserIds(userIds);
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
// in case the message is fully targetted at user/client pairs, we do not want to report the missing clients or users at all
|
|
165
|
-
reportMissing = false;
|
|
166
|
-
}
|
|
167
|
-
return this.messageService.sendFederatedMessage(sendingClientId, recipients, plainText, {
|
|
168
|
-
conversationId,
|
|
169
|
-
nativePush,
|
|
170
|
-
reportMissing,
|
|
171
|
-
onClientMismatch: mismatch => onClientMismatch === null || onClientMismatch === void 0 ? void 0 : onClientMismatch(mismatch, false),
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
if ((0, TypePredicateUtil_1.isQualifiedIdArray)(userIds) || (0, TypePredicateUtil_1.isQualifiedUserClients)(userIds)) {
|
|
175
|
-
throw new Error('Invalid userIds option for sending');
|
|
176
|
-
}
|
|
177
|
-
const recipients = await this.getRecipientsForConversation(conversationId, userIds);
|
|
178
|
-
let reportMissing;
|
|
179
|
-
if (targetMode === ConversationService_types_1.MessageTargetMode.NONE) {
|
|
180
|
-
reportMissing = (0, TypePredicateUtil_1.isUserClients)(userIds); // we want to check mismatch in case the consumer gave an exact list of users/devices
|
|
181
|
-
}
|
|
182
|
-
else if (targetMode === ConversationService_types_1.MessageTargetMode.USERS) {
|
|
183
|
-
reportMissing = this.extractUserIds(userIds);
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
// in case the message is fully targetted at user/client pairs, we do not want to report the missing clients or users at all
|
|
187
|
-
reportMissing = false;
|
|
188
|
-
}
|
|
189
|
-
return this.messageService.sendMessage(sendingClientId, recipients, plainText, {
|
|
190
|
-
conversationId,
|
|
191
|
-
sendAsProtobuf,
|
|
192
|
-
nativePush,
|
|
193
|
-
reportMissing,
|
|
194
|
-
onClientMismatch: mistmatch => onClientMismatch === null || onClientMismatch === void 0 ? void 0 : onClientMismatch(mistmatch, false),
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
extractUserIds(userIds) {
|
|
198
|
-
if ((0, TypePredicateUtil_1.isUserClients)(userIds)) {
|
|
199
|
-
return Object.keys(userIds);
|
|
200
|
-
}
|
|
201
|
-
return userIds;
|
|
202
|
-
}
|
|
203
|
-
extractQualifiedUserIds(userIds) {
|
|
204
|
-
if ((0, TypePredicateUtil_1.isQualifiedUserClients)(userIds)) {
|
|
205
|
-
return Object.entries(userIds).reduce((ids, [domain, userClients]) => {
|
|
206
|
-
return ids.concat(Object.keys(userClients).map(userId => ({ domain, id: userId })));
|
|
207
|
-
}, []);
|
|
208
|
-
}
|
|
209
|
-
return userIds;
|
|
210
|
-
}
|
|
211
43
|
/**
|
|
212
44
|
* Get a fresh list from backend of clients for all the participants of the conversation.
|
|
213
45
|
* This is a hacky way of getting all the clients for a conversation.
|
|
@@ -250,7 +82,10 @@ class ConversationService {
|
|
|
250
82
|
* @param {string} conversationDomain? - If given will send the message to the new qualified endpoint
|
|
251
83
|
*/
|
|
252
84
|
async fetchAllParticipantsClients(conversationId, conversationDomain) {
|
|
253
|
-
const qualifiedMembers = await
|
|
85
|
+
const qualifiedMembers = await (0, proteus_1.getConversationQualifiedMembers)({
|
|
86
|
+
apiClient: this.apiClient,
|
|
87
|
+
conversationId: conversationDomain ? { id: conversationId, domain: conversationDomain } : conversationId,
|
|
88
|
+
});
|
|
254
89
|
const allClients = await this.apiClient.api.user.postListClients({ qualified_users: qualifiedMembers });
|
|
255
90
|
const qualifiedUserClients = {};
|
|
256
91
|
Object.entries(allClients.qualified_user_map).map(([domain, userClientMap]) => Object.entries(userClientMap).map(async ([userId, clients]) => {
|
|
@@ -259,20 +94,8 @@ class ConversationService {
|
|
|
259
94
|
}));
|
|
260
95
|
return qualifiedUserClients;
|
|
261
96
|
}
|
|
262
|
-
createProteusConversation(conversationData, otherUserIds) {
|
|
263
|
-
|
|
264
|
-
if (typeof conversationData === 'string') {
|
|
265
|
-
const ids = typeof otherUserIds === 'string' ? [otherUserIds] : otherUserIds;
|
|
266
|
-
payload = {
|
|
267
|
-
name: conversationData,
|
|
268
|
-
receipt_mode: null,
|
|
269
|
-
users: ids !== null && ids !== void 0 ? ids : [],
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
else {
|
|
273
|
-
payload = conversationData;
|
|
274
|
-
}
|
|
275
|
-
return this.apiClient.api.conversation.postConversation(payload);
|
|
97
|
+
async createProteusConversation(conversationData, otherUserIds) {
|
|
98
|
+
return this.proteusService.createConversation({ conversationData, otherUserIds });
|
|
276
99
|
}
|
|
277
100
|
async getConversations(conversationIds) {
|
|
278
101
|
if (!conversationIds || !conversationIds.length) {
|
|
@@ -296,32 +119,12 @@ class ConversationService {
|
|
|
296
119
|
const request = await this.apiClient.api.asset.getAssetV3(assetId, assetToken);
|
|
297
120
|
return (await request.response).buffer;
|
|
298
121
|
}
|
|
299
|
-
async addUsersToProteusConversation(
|
|
300
|
-
return this.
|
|
122
|
+
async addUsersToProteusConversation(params) {
|
|
123
|
+
return this.proteusService.addUsersToConversation(params);
|
|
301
124
|
}
|
|
302
125
|
async removeUserFromConversation(conversationId, userId) {
|
|
303
126
|
return this.apiClient.api.conversation.deleteMember(conversationId, userId);
|
|
304
127
|
}
|
|
305
|
-
async sendProteusMessage({ userIds, sendAsProtobuf, conversationId, nativePush, targetMode, payload, onClientMismatch, }) {
|
|
306
|
-
const response = await this.sendGenericMessage(conversationId, this.apiClient.validatedClientId, payload, {
|
|
307
|
-
userIds,
|
|
308
|
-
sendAsProtobuf,
|
|
309
|
-
nativePush,
|
|
310
|
-
targetMode,
|
|
311
|
-
onClientMismatch,
|
|
312
|
-
});
|
|
313
|
-
if (!response.errored) {
|
|
314
|
-
if (!this.isClearFromMismatch(response)) {
|
|
315
|
-
// We warn the consumer that there is a mismatch that did not prevent message sending
|
|
316
|
-
await (onClientMismatch === null || onClientMismatch === void 0 ? void 0 : onClientMismatch(response, true));
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
return {
|
|
320
|
-
id: payload.messageId,
|
|
321
|
-
sentAt: response.time,
|
|
322
|
-
state: response.errored ? conversation_2.PayloadBundleState.CANCELLED : conversation_2.PayloadBundleState.OUTGOING_SENT,
|
|
323
|
-
};
|
|
324
|
-
}
|
|
325
128
|
/**
|
|
326
129
|
* Sends a message to a conversation
|
|
327
130
|
* @return resolves with the sending status
|
|
@@ -330,7 +133,7 @@ class ConversationService {
|
|
|
330
133
|
function isMLS(params) {
|
|
331
134
|
return params.protocol === conversation_1.ConversationProtocol.MLS;
|
|
332
135
|
}
|
|
333
|
-
return (0, messageSender_1.sendMessage)(() => (isMLS(params) ? this.sendMLSMessage(params) : this.
|
|
136
|
+
return (0, messageSender_1.sendMessage)(() => (isMLS(params) ? this.sendMLSMessage(params) : this.proteusService.sendMessage(params)));
|
|
334
137
|
}
|
|
335
138
|
sendTypingStart(conversationId) {
|
|
336
139
|
return this.apiClient.api.conversation.postTyping(conversationId, { status: data_1.CONVERSATION_TYPING.STARTED });
|
|
@@ -363,13 +166,6 @@ class ConversationService {
|
|
|
363
166
|
conversation_role: conversationRole,
|
|
364
167
|
});
|
|
365
168
|
}
|
|
366
|
-
isClearFromMismatch(mismatch) {
|
|
367
|
-
const hasMissing = Object.keys(mismatch.missing || {}).length > 0;
|
|
368
|
-
const hasDeleted = Object.keys(mismatch.deleted || {}).length > 0;
|
|
369
|
-
const hasRedundant = Object.keys(mismatch.redundant || {}).length > 0;
|
|
370
|
-
const hasFailed = Object.keys(mismatch.failed_to_send || {}).length > 0;
|
|
371
|
-
return !hasMissing && !hasDeleted && !hasRedundant && !hasFailed;
|
|
372
|
-
}
|
|
373
169
|
/**
|
|
374
170
|
* ###############################################
|
|
375
171
|
* ################ MLS Functions ################
|
|
@@ -2,6 +2,7 @@ import { QualifiedUserClients, ClientMismatch, ConversationProtocol, MessageSend
|
|
|
2
2
|
import { MlsEvent } from '@wireapp/api-client/lib/conversation/data/MlsEventData';
|
|
3
3
|
import { QualifiedId } from '@wireapp/api-client/lib/user';
|
|
4
4
|
import { GenericMessage } from '@wireapp/protocol-messaging';
|
|
5
|
+
import { PayloadBundleState } from '..';
|
|
5
6
|
export declare enum MessageTargetMode {
|
|
6
7
|
NONE = 0,
|
|
7
8
|
USERS = 1,
|
|
@@ -59,19 +60,6 @@ export declare type ProtocolParam = {
|
|
|
59
60
|
export declare type SendCommonParams = ProtocolParam & {
|
|
60
61
|
payload: GenericMessage;
|
|
61
62
|
};
|
|
62
|
-
export declare type SendProteusMessageParams = SendCommonParams & MessageSendingOptions & {
|
|
63
|
-
conversationId: QualifiedId;
|
|
64
|
-
/**
|
|
65
|
-
* Can be either a QualifiedId[], string[], UserClients or QualfiedUserClients. The type has some effect on the behavior of the method. (Needed only for Proteus)
|
|
66
|
-
* When given a QualifiedId[] or string[] the method will fetch the freshest list of devices for those users (since they are not given by the consumer). As a consequence no ClientMismatch error will trigger and we will ignore missing clients when sending
|
|
67
|
-
* When given a QualifiedUserClients or UserClients the method will only send to the clients listed in the userIds. This could lead to ClientMismatch (since the given list of devices might not be the freshest one and new clients could have been created)
|
|
68
|
-
* When given a QualifiedId[] or QualifiedUserClients the method will send the message through the federated API endpoint
|
|
69
|
-
* When given a string[] or UserClients the method will send the message through the old API endpoint
|
|
70
|
-
*/
|
|
71
|
-
userIds?: string[] | QualifiedId[] | UserClients | QualifiedUserClients;
|
|
72
|
-
onClientMismatch?: (status: ClientMismatch | MessageSendingStatus, wasSent: boolean) => void | boolean | Promise<boolean>;
|
|
73
|
-
protocol: ConversationProtocol.PROTEUS;
|
|
74
|
-
};
|
|
75
63
|
export declare type SendMlsMessageParams = SendCommonParams & {
|
|
76
64
|
/**
|
|
77
65
|
* The groupId of the conversation to send the message to (Needed only for MLS)
|
|
@@ -96,4 +84,12 @@ export declare type MLSReturnType = {
|
|
|
96
84
|
events: MlsEvent[];
|
|
97
85
|
conversation: Conversation;
|
|
98
86
|
};
|
|
87
|
+
export declare type SendResult = {
|
|
88
|
+
/** The id of the message sent */
|
|
89
|
+
id: string;
|
|
90
|
+
/** the ISO formatted date at which the message was received by the backend */
|
|
91
|
+
sentAt: string;
|
|
92
|
+
/** The sending state of the payload (has the payload been succesfully sent or canceled) */
|
|
93
|
+
state: PayloadBundleState;
|
|
94
|
+
};
|
|
99
95
|
//# sourceMappingURL=ConversationService.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationService.types.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.types.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAC,MAAM,wDAAwD,CAAC;AAChF,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAE3D,oBAAY,iBAAiB;IAC3B,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,aAAa,IAAA;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,GAAG,oBAAoB,CAAC;IAExE;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,cAAc,GAAG,oBAAoB,EAC7C,OAAO,EAAE,OAAO,KACb,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAED;;;;GAIG;AAEH;;GAEG;AACH,oBAAY,aAAa,GAAG;IAC1B,QAAQ,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConversationService.types.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.types.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAC,MAAM,wDAAwD,CAAC;AAChF,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAC,kBAAkB,EAAC,MAAM,IAAI,CAAC;AAEtC,oBAAY,iBAAiB;IAC3B,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,aAAa,IAAA;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,GAAG,oBAAoB,CAAC;IAExE;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,cAAc,GAAG,oBAAoB,EAC7C,OAAO,EAAE,OAAO,KACb,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAED;;;;GAIG;AAEH;;GAEG;AACH,oBAAY,aAAa,GAAG;IAC1B,QAAQ,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,oBAAY,oBAAoB,GAAG,gBAAgB,GAAG;IACpD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;CACpC,CAAC;AAEF,oBAAY,cAAc,GAAG,WAAW,GAAG;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAE9D,oBAAY,cAAc,GAAG;IAC3B,cAAc,EAAE,WAAW,CAAC;IAC5B,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,cAAc,EAAE,WAAW,CAAC;IAC5B,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,aAAa,GAAG;IAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC,CAAC;AAE7E,oBAAY,UAAU,GAAG;IACvB,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,KAAK,EAAE,kBAAkB,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { APIClient } from '@wireapp/api-client/lib/APIClient';
|
|
2
|
+
import { QualifiedId } from '@wireapp/api-client/lib/user';
|
|
3
|
+
interface Params {
|
|
4
|
+
apiClient: APIClient;
|
|
5
|
+
conversationId: string | QualifiedId;
|
|
6
|
+
}
|
|
7
|
+
declare const getConversationQualifiedMembers: ({ apiClient, conversationId }: Params) => Promise<QualifiedId[]>;
|
|
8
|
+
export { getConversationQualifiedMembers };
|
|
9
|
+
//# sourceMappingURL=getConversationQualifiedMembers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConversationQualifiedMembers.d.ts","sourceRoot":"","sources":["../../../../src/conversation/ConversationService/Utility/getConversationQualifiedMembers.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,UAAU,MAAM;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC;CACtC;AACD,QAAA,MAAM,+BAA+B,kCAAuC,MAAM,KAAG,QAAQ,WAAW,EAAE,CAWzG,CAAC;AAEF,OAAO,EAAC,+BAA+B,EAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Wire
|
|
4
|
+
* Copyright (C) 2022 Wire Swiss GmbH
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU General Public License as published by
|
|
8
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
* (at your option) any later version.
|
|
10
|
+
*
|
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
* GNU General Public License for more details.
|
|
15
|
+
*
|
|
16
|
+
* You should have received a copy of the GNU General Public License
|
|
17
|
+
* along with this program. If not, see http://www.gnu.org/licenses/.
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.getConversationQualifiedMembers = void 0;
|
|
22
|
+
const getConversationQualifiedMembers = async ({ apiClient, conversationId }) => {
|
|
23
|
+
const conversation = await apiClient.api.conversation.getConversation(conversationId);
|
|
24
|
+
/*
|
|
25
|
+
* If you are sending a message to a conversation, you have to include
|
|
26
|
+
* yourself in the list of users if you want to sync a message also to your
|
|
27
|
+
* other clients.
|
|
28
|
+
*/
|
|
29
|
+
return conversation.members.others
|
|
30
|
+
.filter(member => !!member.qualified_id)
|
|
31
|
+
.map(member => member.qualified_id)
|
|
32
|
+
.concat(conversation.members.self.qualified_id);
|
|
33
|
+
};
|
|
34
|
+
exports.getConversationQualifiedMembers = getConversationQualifiedMembers;
|
package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/ConversationEvent.d.ts
RENAMED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConversationEvent.d.ts","sourceRoot":"","sources":["../../../../../src/messagingProtocols/mls/EventHandler/ConversationEvent/ConversationEvent.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,IAAI,CAAC;AAI1D,QAAA,MAAM,uBAAuB,WAAkB,kBAAkB,uBAQhE,CAAC;AAEF,OAAO,EAAC,uBAAuB,EAAC,CAAC"}
|
package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/ConversationEvent.js
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/messagingProtocols/mls/EventHandler/ConversationEvent/events/index.ts"],"names":[],"mappings":"AAmBA,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
|
|
File without changes
|
|
File without changes
|
package/lib/messagingProtocols/mls/EventHandler/ConversationEvent/events/messageAdd/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/messagingProtocols/mls/EventHandler/ConversationEvent/events/messageAdd/index.ts"],"names":[],"mappings":"AAmBA,cAAc,cAAc,CAAC"}
|
package/lib/{mls → messagingProtocols/mls}/EventHandler/ConversationEvent/events/messageAdd/index.js
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageAdd.d.ts","sourceRoot":"","sources":["../../../../../../../src/messagingProtocols/mls/EventHandler/ConversationEvent/events/messageAdd/messageAdd.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,YAAY,EAAE,8BAA8B,EAAqB,MAAM,+BAA+B,CAAC;AAE/G,OAAO,OAAO,MAAM,SAAS,CAAC;AAK9B,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAEnF,QAAA,MAAM,oBAAoB,UAAW,YAAY,4CACE,CAAC;AAEpD,UAAU,yBAA0B,SAAQ,kBAAkB;IAC5D,KAAK,EAAE,8BAA8B,CAAC;IACtC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;CACxB;AACD,QAAA,MAAM,mBAAmB,kCAAuC,yBAAyB,uBAgDxF,CAAC;AAEF,OAAO,EAAC,oBAAoB,EAAE,mBAAmB,EAAC,CAAC"}
|
|
File without changes
|
|
File without changes
|