@wireapp/core 17.29.0 → 17.31.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/package.json +8 -8
  3. package/src/main/conversation/ConversationMapper.js +2 -0
  4. package/src/main/conversation/ConversationService.d.ts +5 -2
  5. package/src/main/conversation/ConversationService.js +0 -2
  6. package/src/main/conversation/message/PayloadBundle.d.ts +3 -0
  7. package/src/main/cryptography/GenericMessageMapper.d.ts +0 -1
  8. package/src/main/cryptography/GenericMessageMapper.js +23 -158
  9. package/src/main/Account.js.map +0 -1
  10. package/src/main/Account.test.browser.js +0 -114
  11. package/src/main/Account.test.node.d.ts +0 -1
  12. package/src/main/Account.test.node.js +0 -214
  13. package/src/main/Account.test.node.js.map +0 -1
  14. package/src/main/Account.test.node.ts +0 -236
  15. package/src/main/Account.ts +0 -401
  16. package/src/main/CoreError.js.map +0 -1
  17. package/src/main/CoreError.ts +0 -30
  18. package/src/main/auth/LoginSanitizer.js.map +0 -1
  19. package/src/main/auth/LoginSanitizer.test.node.d.ts +0 -1
  20. package/src/main/auth/LoginSanitizer.test.node.js +0 -56
  21. package/src/main/auth/LoginSanitizer.test.node.js.map +0 -1
  22. package/src/main/auth/LoginSanitizer.test.node.ts +0 -68
  23. package/src/main/auth/LoginSanitizer.ts +0 -44
  24. package/src/main/auth/index.js.map +0 -1
  25. package/src/main/auth/index.ts +0 -20
  26. package/src/main/broadcast/AvailabilityType.js.map +0 -1
  27. package/src/main/broadcast/AvailabilityType.ts +0 -22
  28. package/src/main/broadcast/BroadcastService.js.map +0 -1
  29. package/src/main/broadcast/BroadcastService.ts +0 -66
  30. package/src/main/broadcast/index.js.map +0 -1
  31. package/src/main/broadcast/index.ts +0 -21
  32. package/src/main/client/ClientBackendRepository.js.map +0 -1
  33. package/src/main/client/ClientBackendRepository.ts +0 -33
  34. package/src/main/client/ClientDatabaseRepository.js.map +0 -1
  35. package/src/main/client/ClientDatabaseRepository.ts +0 -130
  36. package/src/main/client/ClientInfo.js.map +0 -1
  37. package/src/main/client/ClientInfo.ts +0 -28
  38. package/src/main/client/ClientService.js.map +0 -1
  39. package/src/main/client/ClientService.ts +0 -116
  40. package/src/main/client/index.js.map +0 -1
  41. package/src/main/client/index.ts +0 -23
  42. package/src/main/connection/ConnectionService.js.map +0 -1
  43. package/src/main/connection/ConnectionService.ts +0 -49
  44. package/src/main/connection/index.js.map +0 -1
  45. package/src/main/connection/index.ts +0 -20
  46. package/src/main/conversation/AbortReason.js.map +0 -1
  47. package/src/main/conversation/AbortReason.ts +0 -22
  48. package/src/main/conversation/AssetService.js.map +0 -1
  49. package/src/main/conversation/AssetService.test.node.d.ts +0 -1
  50. package/src/main/conversation/AssetService.test.node.js +0 -61
  51. package/src/main/conversation/AssetService.test.node.js.map +0 -1
  52. package/src/main/conversation/AssetService.test.node.ts +0 -65
  53. package/src/main/conversation/AssetService.ts +0 -60
  54. package/src/main/conversation/AssetTransferState.js.map +0 -1
  55. package/src/main/conversation/AssetTransferState.ts +0 -23
  56. package/src/main/conversation/ClientActionType.js.map +0 -1
  57. package/src/main/conversation/ClientActionType.ts +0 -20
  58. package/src/main/conversation/ConversationMapper.js.map +0 -1
  59. package/src/main/conversation/ConversationMapper.test.node.d.ts +0 -1
  60. package/src/main/conversation/ConversationMapper.test.node.js +0 -111
  61. package/src/main/conversation/ConversationMapper.test.node.js.map +0 -1
  62. package/src/main/conversation/ConversationMapper.test.node.ts +0 -154
  63. package/src/main/conversation/ConversationMapper.ts +0 -54
  64. package/src/main/conversation/ConversationService.js.map +0 -1
  65. package/src/main/conversation/ConversationService.test.node.d.ts +0 -1
  66. package/src/main/conversation/ConversationService.test.node.js +0 -344
  67. package/src/main/conversation/ConversationService.test.node.js.map +0 -1
  68. package/src/main/conversation/ConversationService.test.node.ts +0 -416
  69. package/src/main/conversation/ConversationService.ts +0 -1020
  70. package/src/main/conversation/GenericMessageType.js.map +0 -1
  71. package/src/main/conversation/GenericMessageType.ts +0 -44
  72. package/src/main/conversation/MessageTimer.js.map +0 -1
  73. package/src/main/conversation/MessageTimer.test.node.d.ts +0 -1
  74. package/src/main/conversation/MessageTimer.test.node.js +0 -88
  75. package/src/main/conversation/MessageTimer.test.node.js.map +0 -1
  76. package/src/main/conversation/MessageTimer.test.node.ts +0 -103
  77. package/src/main/conversation/MessageTimer.ts +0 -56
  78. package/src/main/conversation/ReactionType.js.map +0 -1
  79. package/src/main/conversation/ReactionType.ts +0 -23
  80. package/src/main/conversation/content/AssetContent.js.map +0 -1
  81. package/src/main/conversation/content/AssetContent.ts +0 -71
  82. package/src/main/conversation/content/ButtonActionConfirmationContent.js.map +0 -1
  83. package/src/main/conversation/content/ButtonActionConfirmationContent.ts +0 -21
  84. package/src/main/conversation/content/ButtonActionContent.js.map +0 -1
  85. package/src/main/conversation/content/ButtonActionContent.ts +0 -21
  86. package/src/main/conversation/content/CallingContent.js.map +0 -1
  87. package/src/main/conversation/content/CallingContent.ts +0 -20
  88. package/src/main/conversation/content/ClearedContent.js.map +0 -1
  89. package/src/main/conversation/content/ClearedContent.ts +0 -21
  90. package/src/main/conversation/content/ClientActionContent.js.map +0 -1
  91. package/src/main/conversation/content/ClientActionContent.ts +0 -22
  92. package/src/main/conversation/content/ClientAddContent.js.map +0 -1
  93. package/src/main/conversation/content/ClientAddContent.ts +0 -24
  94. package/src/main/conversation/content/ClientRemoveContent.js.map +0 -1
  95. package/src/main/conversation/content/ClientRemoveContent.ts +0 -25
  96. package/src/main/conversation/content/CompositeContent.js.map +0 -1
  97. package/src/main/conversation/content/CompositeContent.ts +0 -21
  98. package/src/main/conversation/content/ConfirmationContent.js.map +0 -1
  99. package/src/main/conversation/content/ConfirmationContent.ts +0 -21
  100. package/src/main/conversation/content/ContentType.js.map +0 -1
  101. package/src/main/conversation/content/ContentType.ts +0 -112
  102. package/src/main/conversation/content/ConversationContent.js.map +0 -1
  103. package/src/main/conversation/content/ConversationContent.ts +0 -71
  104. package/src/main/conversation/content/DeletedContent.js.map +0 -1
  105. package/src/main/conversation/content/DeletedContent.ts +0 -21
  106. package/src/main/conversation/content/EditedTextContent.js.map +0 -1
  107. package/src/main/conversation/content/EditedTextContent.ts +0 -31
  108. package/src/main/conversation/content/FileContent.js.map +0 -1
  109. package/src/main/conversation/content/FileContent.ts +0 -32
  110. package/src/main/conversation/content/HiddenContent.js.map +0 -1
  111. package/src/main/conversation/content/HiddenContent.ts +0 -21
  112. package/src/main/conversation/content/ImageContent.js.map +0 -1
  113. package/src/main/conversation/content/ImageContent.ts +0 -25
  114. package/src/main/conversation/content/KnockContent.js.map +0 -1
  115. package/src/main/conversation/content/KnockContent.ts +0 -21
  116. package/src/main/conversation/content/LinkPreviewContent.js.map +0 -1
  117. package/src/main/conversation/content/LinkPreviewContent.ts +0 -32
  118. package/src/main/conversation/content/LocationContent.js.map +0 -1
  119. package/src/main/conversation/content/LocationContent.ts +0 -29
  120. package/src/main/conversation/content/MentionContent.js.map +0 -1
  121. package/src/main/conversation/content/MentionContent.ts +0 -21
  122. package/src/main/conversation/content/QuoteContent.js.map +0 -1
  123. package/src/main/conversation/content/QuoteContent.ts +0 -29
  124. package/src/main/conversation/content/ReactionContent.js.map +0 -1
  125. package/src/main/conversation/content/ReactionContent.ts +0 -27
  126. package/src/main/conversation/content/TextContent.js.map +0 -1
  127. package/src/main/conversation/content/TextContent.ts +0 -29
  128. package/src/main/conversation/content/TweetContent.js.map +0 -1
  129. package/src/main/conversation/content/TweetContent.ts +0 -21
  130. package/src/main/conversation/content/index.js.map +0 -1
  131. package/src/main/conversation/content/index.ts +0 -49
  132. package/src/main/conversation/index.js.map +0 -1
  133. package/src/main/conversation/index.ts +0 -28
  134. package/src/main/conversation/message/CompositeContentBuilder.js.map +0 -1
  135. package/src/main/conversation/message/CompositeContentBuilder.ts +0 -60
  136. package/src/main/conversation/message/Message.js.map +0 -1
  137. package/src/main/conversation/message/Message.ts +0 -24
  138. package/src/main/conversation/message/MessageBuilder.js.map +0 -1
  139. package/src/main/conversation/message/MessageBuilder.test.browser.js +0 -27
  140. package/src/main/conversation/message/MessageBuilder.ts +0 -488
  141. package/src/main/conversation/message/MessageService.js.map +0 -1
  142. package/src/main/conversation/message/MessageService.test.node.d.ts +0 -1
  143. package/src/main/conversation/message/MessageService.test.node.js +0 -308
  144. package/src/main/conversation/message/MessageService.test.node.js.map +0 -1
  145. package/src/main/conversation/message/MessageService.test.node.ts +0 -398
  146. package/src/main/conversation/message/MessageService.ts +0 -383
  147. package/src/main/conversation/message/MessageToProtoMapper.js.map +0 -1
  148. package/src/main/conversation/message/MessageToProtoMapper.ts +0 -114
  149. package/src/main/conversation/message/OtrMessage.js.map +0 -1
  150. package/src/main/conversation/message/OtrMessage.ts +0 -160
  151. package/src/main/conversation/message/PayloadBundle.js.map +0 -1
  152. package/src/main/conversation/message/PayloadBundle.ts +0 -98
  153. package/src/main/conversation/message/TeamMessage.js.map +0 -1
  154. package/src/main/conversation/message/TeamMessage.ts +0 -72
  155. package/src/main/conversation/message/TextContentBuilder.js.map +0 -1
  156. package/src/main/conversation/message/TextContentBuilder.ts +0 -88
  157. package/src/main/conversation/message/UserClientsUtil.js.map +0 -1
  158. package/src/main/conversation/message/UserClientsUtil.ts +0 -44
  159. package/src/main/conversation/message/UserClientsUtils.test.node.d.ts +0 -1
  160. package/src/main/conversation/message/UserClientsUtils.test.node.js +0 -42
  161. package/src/main/conversation/message/UserClientsUtils.test.node.js.map +0 -1
  162. package/src/main/conversation/message/UserClientsUtils.test.node.ts +0 -44
  163. package/src/main/conversation/message/UserMessage.js.map +0 -1
  164. package/src/main/conversation/message/UserMessage.ts +0 -95
  165. package/src/main/cryptography/AssetCryptography.browser.js.map +0 -1
  166. package/src/main/cryptography/AssetCryptography.browser.ts +0 -76
  167. package/src/main/cryptography/AssetCryptography.node.js.map +0 -1
  168. package/src/main/cryptography/AssetCryptography.node.ts +0 -85
  169. package/src/main/cryptography/CryptographyDatabaseRepository.js.map +0 -1
  170. package/src/main/cryptography/CryptographyDatabaseRepository.ts +0 -44
  171. package/src/main/cryptography/CryptographyService.js.map +0 -1
  172. package/src/main/cryptography/CryptographyService.test.browser.js +0 -195
  173. package/src/main/cryptography/CryptographyService.test.node.d.ts +0 -1
  174. package/src/main/cryptography/CryptographyService.test.node.js +0 -228
  175. package/src/main/cryptography/CryptographyService.test.node.js.map +0 -1
  176. package/src/main/cryptography/CryptographyService.test.node.ts +0 -246
  177. package/src/main/cryptography/CryptographyService.ts +0 -246
  178. package/src/main/cryptography/EncryptedAsset.js.map +0 -1
  179. package/src/main/cryptography/EncryptedAsset.ts +0 -30
  180. package/src/main/cryptography/GenericMessageMapper.js.map +0 -1
  181. package/src/main/cryptography/GenericMessageMapper.ts +0 -364
  182. package/src/main/cryptography/MessageHashService.js.map +0 -1
  183. package/src/main/cryptography/MessageHashService.test.browser.js +0 -176
  184. package/src/main/cryptography/MessageHashService.test.node.d.ts +0 -1
  185. package/src/main/cryptography/MessageHashService.test.node.js +0 -138
  186. package/src/main/cryptography/MessageHashService.test.node.js.map +0 -1
  187. package/src/main/cryptography/MessageHashService.test.node.ts +0 -176
  188. package/src/main/cryptography/MessageHashService.ts +0 -109
  189. package/src/main/cryptography/SessionPayloadBundle.js.map +0 -1
  190. package/src/main/cryptography/SessionPayloadBundle.ts +0 -23
  191. package/src/main/cryptography/index.js.map +0 -1
  192. package/src/main/cryptography/index.ts +0 -23
  193. package/src/main/giphy/GiphyService.js.map +0 -1
  194. package/src/main/giphy/GiphyService.ts +0 -37
  195. package/src/main/giphy/index.js.map +0 -1
  196. package/src/main/giphy/index.ts +0 -20
  197. package/src/main/index.js.map +0 -1
  198. package/src/main/index.test.browser.js +0 -22
  199. package/src/main/index.ts +0 -34
  200. package/src/main/notification/NotificationBackendRepository.js.map +0 -1
  201. package/src/main/notification/NotificationBackendRepository.ts +0 -33
  202. package/src/main/notification/NotificationDatabaseRepository.js.map +0 -1
  203. package/src/main/notification/NotificationDatabaseRepository.ts +0 -74
  204. package/src/main/notification/NotificationService.js.map +0 -1
  205. package/src/main/notification/NotificationService.test.browser.js +0 -179
  206. package/src/main/notification/NotificationService.test.node.d.ts +0 -1
  207. package/src/main/notification/NotificationService.test.node.js +0 -99
  208. package/src/main/notification/NotificationService.test.node.js.map +0 -1
  209. package/src/main/notification/NotificationService.test.node.ts +0 -124
  210. package/src/main/notification/NotificationService.ts +0 -260
  211. package/src/main/notification/index.js.map +0 -1
  212. package/src/main/notification/index.ts +0 -20
  213. package/src/main/self/SelfService.js.map +0 -1
  214. package/src/main/self/SelfService.ts +0 -59
  215. package/src/main/self/index.js.map +0 -1
  216. package/src/main/self/index.ts +0 -20
  217. package/src/main/team/TeamService.js.map +0 -1
  218. package/src/main/team/TeamService.ts +0 -68
  219. package/src/main/team/index.js.map +0 -1
  220. package/src/main/team/index.ts +0 -20
  221. package/src/main/test/CryptographyHelper.js.map +0 -1
  222. package/src/main/test/CryptographyHelper.ts +0 -57
  223. package/src/main/test/PayloadHelper.js.map +0 -1
  224. package/src/main/test/PayloadHelper.ts +0 -60
  225. package/src/main/user/UserMapper.js.map +0 -1
  226. package/src/main/user/UserMapper.test.node.d.ts +0 -1
  227. package/src/main/user/UserMapper.test.node.js +0 -55
  228. package/src/main/user/UserMapper.test.node.js.map +0 -1
  229. package/src/main/user/UserMapper.test.node.ts +0 -63
  230. package/src/main/user/UserMapper.ts +0 -92
  231. package/src/main/user/UserService.js.map +0 -1
  232. package/src/main/user/UserService.test.node.js +0 -141
  233. package/src/main/user/UserService.ts +0 -98
  234. package/src/main/user/index.js.map +0 -1
  235. package/src/main/user/index.ts +0 -20
  236. package/src/main/util/TypePredicateUtil.js.map +0 -1
  237. package/src/main/util/TypePredicateUtil.test.node.d.ts +0 -1
  238. package/src/main/util/TypePredicateUtil.test.node.js +0 -42
  239. package/src/main/util/TypePredicateUtil.test.node.js.map +0 -1
  240. package/src/main/util/TypePredicateUtil.test.node.ts +0 -44
  241. package/src/main/util/TypePredicateUtil.ts +0 -52
  242. package/src/main/util/index.js.map +0 -1
  243. package/src/main/util/index.ts +0 -20
@@ -1,65 +0,0 @@
1
- /*
2
- * Wire
3
- * Copyright (C) 2018 Wire Swiss GmbH
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see http://www.gnu.org/licenses/.
17
- *
18
- */
19
-
20
- import {APIClient} from '@wireapp/api-client';
21
- import {MemoryEngine} from '@wireapp/store-engine';
22
- import UUID from 'uuidjs';
23
- import {Account} from '../Account';
24
-
25
- describe('AssetService', () => {
26
- let account: Account;
27
-
28
- beforeAll(async () => {
29
- const client = new APIClient({urls: APIClient.BACKEND.STAGING});
30
- account = new Account(client);
31
- await account.initServices(new MemoryEngine());
32
- });
33
-
34
- describe('"uploadImageAsset"', () => {
35
- it('builds an encrypted asset payload', async () => {
36
- const assetServerData = {
37
- key: `3-2-${UUID.genV4().toString()}`,
38
- keyBytes: Buffer.from(UUID.genV4().toString()),
39
- sha256: UUID.genV4().toString(),
40
- token: UUID.genV4().toString(),
41
- };
42
-
43
- const assetService = account.service!.conversation['assetService'];
44
- const image = {
45
- data: Buffer.from([1, 2, 3]),
46
- height: 600,
47
- type: 'image/png',
48
- width: 600,
49
- };
50
-
51
- spyOn<any>(assetService, 'postAsset').and.returnValue(Promise.resolve(assetServerData));
52
-
53
- const asset = await assetService.uploadImageAsset(image);
54
-
55
- expect(asset).toEqual(
56
- jasmine.objectContaining({
57
- key: assetServerData.key,
58
- keyBytes: assetServerData.keyBytes,
59
- sha256: assetServerData.sha256,
60
- token: assetServerData.token,
61
- }),
62
- );
63
- });
64
- });
65
- });
@@ -1,60 +0,0 @@
1
- /*
2
- * Wire
3
- * Copyright (C) 2018 Wire Swiss GmbH
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see http://www.gnu.org/licenses/.
17
- *
18
- */
19
-
20
- import type {APIClient} from '@wireapp/api-client';
21
- import type {AssetOptions} from '@wireapp/api-client/src/asset';
22
- import type {ProgressCallback} from '@wireapp/api-client/src/http';
23
-
24
- import type {FileContent, ImageContent} from '../conversation/content/';
25
- import type {EncryptedAssetUploaded} from '../cryptography/';
26
- import * as AssetCryptography from '../cryptography/AssetCryptography.node';
27
-
28
- export class AssetService {
29
- constructor(private readonly apiClient: APIClient) {}
30
-
31
- private async postAsset(
32
- plainText: Buffer | Uint8Array,
33
- options?: AssetOptions,
34
- progressCallback?: ProgressCallback,
35
- ): Promise<EncryptedAssetUploaded> {
36
- const {cipherText, keyBytes, sha256} = await AssetCryptography.encryptAsset({
37
- plainText,
38
- algorithm: options?.algorithm,
39
- hash: options?.hash,
40
- });
41
- const request = await this.apiClient.asset.api.postAsset(new Uint8Array(cipherText), options, progressCallback);
42
- const {key, token} = await request.response;
43
-
44
- return {
45
- cipherText,
46
- key,
47
- keyBytes,
48
- sha256,
49
- token,
50
- };
51
- }
52
-
53
- public uploadImageAsset(image: ImageContent, options?: AssetOptions): Promise<EncryptedAssetUploaded> {
54
- return this.postAsset(image.data, options);
55
- }
56
-
57
- public uploadFileAsset(file: FileContent, options?: AssetOptions): Promise<EncryptedAssetUploaded> {
58
- return this.postAsset(file.data, options);
59
- }
60
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"AssetTransferState.js","sourceRoot":"","sources":["AssetTransferState.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAEH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,kDAA4B,CAAA;IAC5B,2CAAqB,CAAA;AACvB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
@@ -1,23 +0,0 @@
1
- /*
2
- * Wire
3
- * Copyright (C) 2018 Wire Swiss GmbH
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see http://www.gnu.org/licenses/.
17
- *
18
- */
19
-
20
- export enum AssetTransferState {
21
- NOT_UPLOADED = 'notUploaded',
22
- UPLOADED = 'uploaded',
23
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClientActionType.js","sourceRoot":"","sources":["ClientActionType.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAEH,kEAA6E;AAArE,sHAAA,YAAY,OAAoB"}
@@ -1,20 +0,0 @@
1
- /*
2
- * Wire
3
- * Copyright (C) 2018 Wire Swiss GmbH
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see http://www.gnu.org/licenses/.
17
- *
18
- */
19
-
20
- export {ClientAction as ClientActionType} from '@wireapp/protocol-messaging';
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConversationMapper.js","sourceRoot":"","sources":["ConversationMapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAEH,yDAAoF;AAEpF,6DAAwD;AACxD,2DAAkH;AAElH,MAAa,kBAAkB;IACtB,MAAM,CAAC,oBAAoB,CAAC,KAAwB,EAAE,MAA2B;QACtF,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,+BAAc,CAAC,QAAQ,EAAE;YAC7B,YAAY,EAAE,CAAC;YACf,MAAM;YACN,KAAK,EAAE,kCAAkB,CAAC,QAAQ;YAClC,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;YACzC,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;SAChD,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,wBAAwB,CAAC,IAAwB;QAC9D,QAAQ,IAAI,EAAE;YACZ,KAAK,0BAAkB,CAAC,WAAW;gBACjC,OAAO,iCAAiB,CAAC,WAAW,CAAC;YACvC,KAAK,0BAAkB,CAAC,oBAAoB;gBAC1C,OAAO,iCAAiB,CAAC,YAAY,CAAC;YACxC,KAAK,0BAAkB,CAAC,MAAM;gBAC5B,OAAO,iCAAiB,CAAC,mBAAmB,CAAC;YAC/C,KAAK,0BAAkB,CAAC,MAAM;gBAC5B,OAAO,iCAAiB,CAAC,MAAM,CAAC;YAClC;gBACE,OAAO,iCAAiB,CAAC,OAAO,CAAC;SACpC;IACH,CAAC;CACF;AA7BD,gDA6BC"}
@@ -1,111 +0,0 @@
1
- "use strict";
2
- /*
3
- * Wire
4
- * Copyright (C) 2019 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
- const event_1 = require("@wireapp/api-client/src/event");
22
- const data_1 = require("@wireapp/api-client/src/conversation/data");
23
- const ConversationMapper_1 = require("./ConversationMapper");
24
- const PayloadBundle_1 = require("./message/PayloadBundle");
25
- describe('ConversationMapper', () => {
26
- describe('"mapConversationEvent"', () => {
27
- it('maps "conversation.message-timer-update" events', () => {
28
- const event = {
29
- conversation: 'ed5e4cd5-85ab-4d9e-be59-4e1c0324a9d4',
30
- data: {
31
- message_timer: 2419200000,
32
- },
33
- from: '39b7f597-dfd1-4dff-86f5-fe1b79cb70a0',
34
- time: '2018-08-01T09:40:25.481Z',
35
- type: event_1.CONVERSATION_EVENT.MESSAGE_TIMER_UPDATE,
36
- };
37
- const incomingEvent = ConversationMapper_1.ConversationMapper.mapConversationEvent(event, PayloadBundle_1.PayloadBundleSource.WEBSOCKET);
38
- expect(incomingEvent.content).toBe(event.data);
39
- expect(incomingEvent.conversation).toBe(event.conversation);
40
- expect(incomingEvent.from).toBe(event.from);
41
- expect(typeof incomingEvent.id).toBe('string');
42
- expect(incomingEvent.messageTimer).toBe(0);
43
- expect(incomingEvent.state).toBe(PayloadBundle_1.PayloadBundleState.INCOMING);
44
- expect(incomingEvent.timestamp).toBe(new Date(event.time).getTime());
45
- expect(incomingEvent.type).toBe(PayloadBundle_1.PayloadBundleType.TIMER_UPDATE);
46
- });
47
- it('maps "conversation.member-join" events', () => {
48
- const event = {
49
- conversation: '87591650-8676-430f-985f-dec8583f58cb',
50
- data: {
51
- user_ids: [
52
- 'e023c681-7e51-43dd-a5d8-0f821e70a9c0',
53
- 'b8a09877-7b73-4636-a664-95b2bda193b0',
54
- '5b068afd-1ef2-4860-9fbb-9c3c70a22f97',
55
- ],
56
- },
57
- from: '39b7f597-dfd1-4dff-86f5-fe1b79cb70a0',
58
- time: '2018-07-12T09:43:34.442Z',
59
- type: event_1.CONVERSATION_EVENT.MEMBER_JOIN,
60
- };
61
- const incomingEvent = ConversationMapper_1.ConversationMapper.mapConversationEvent(event, PayloadBundle_1.PayloadBundleSource.WEBSOCKET);
62
- expect(incomingEvent.content).toBe(event.data);
63
- expect(incomingEvent.conversation).toBe(event.conversation);
64
- expect(incomingEvent.from).toBe(event.from);
65
- expect(typeof incomingEvent.id).toBe('string');
66
- expect(incomingEvent.messageTimer).toBe(0);
67
- expect(incomingEvent.state).toBe(PayloadBundle_1.PayloadBundleState.INCOMING);
68
- expect(incomingEvent.timestamp).toBe(new Date(event.time).getTime());
69
- expect(incomingEvent.type).toBe(PayloadBundle_1.PayloadBundleType.MEMBER_JOIN);
70
- });
71
- it('maps "conversation.rename" events', () => {
72
- const event = {
73
- conversation: 'ed5e4cd5-85ab-4d9e-be59-4e1c0324a9d4',
74
- data: {
75
- name: 'Tiny Timed Messages',
76
- },
77
- from: '39b7f597-dfd1-4dff-86f5-fe1b79cb70a0',
78
- time: '2018-08-01T12:01:21.629Z',
79
- type: event_1.CONVERSATION_EVENT.RENAME,
80
- };
81
- const incomingEvent = ConversationMapper_1.ConversationMapper.mapConversationEvent(event, PayloadBundle_1.PayloadBundleSource.WEBSOCKET);
82
- expect(incomingEvent.content).toBe(event.data);
83
- expect(incomingEvent.conversation).toBe(event.conversation);
84
- expect(incomingEvent.from).toBe(event.from);
85
- expect(typeof incomingEvent.id).toBe('string');
86
- expect(incomingEvent.messageTimer).toBe(0);
87
- expect(incomingEvent.state).toBe(PayloadBundle_1.PayloadBundleState.INCOMING);
88
- expect(incomingEvent.timestamp).toBe(new Date(event.time).getTime());
89
- expect(incomingEvent.type).toBe(PayloadBundle_1.PayloadBundleType.CONVERSATION_RENAME);
90
- });
91
- it('maps "conversation.typing" events', () => {
92
- const event = {
93
- conversation: '508f14b9-ef4c-405d-bba9-5c4300cc1cbf',
94
- data: { status: data_1.CONVERSATION_TYPING.STARTED },
95
- from: '16d71f22-0f7b-425e-b4b3-5e288700ac1f',
96
- time: '2018-08-01T12:10:42.422Z',
97
- type: event_1.CONVERSATION_EVENT.TYPING,
98
- };
99
- const incomingEvent = ConversationMapper_1.ConversationMapper.mapConversationEvent(event, PayloadBundle_1.PayloadBundleSource.WEBSOCKET);
100
- expect(incomingEvent.content).toBe(event.data);
101
- expect(incomingEvent.conversation).toBe(event.conversation);
102
- expect(incomingEvent.from).toBe(event.from);
103
- expect(typeof incomingEvent.id).toBe('string');
104
- expect(incomingEvent.messageTimer).toBe(0);
105
- expect(incomingEvent.state).toBe(PayloadBundle_1.PayloadBundleState.INCOMING);
106
- expect(incomingEvent.timestamp).toBe(new Date(event.time).getTime());
107
- expect(incomingEvent.type).toBe(PayloadBundle_1.PayloadBundleType.TYPING);
108
- });
109
- });
110
- });
111
- //# sourceMappingURL=ConversationMapper.test.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConversationMapper.test.node.js","sourceRoot":"","sources":["ConversationMapper.test.node.ts"],"names":[],"mappings":"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"}
@@ -1,154 +0,0 @@
1
- /*
2
- * Wire
3
- * Copyright (C) 2019 Wire Swiss GmbH
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see http://www.gnu.org/licenses/.
17
- *
18
- */
19
-
20
- import {
21
- CONVERSATION_EVENT,
22
- ConversationMemberJoinEvent,
23
- ConversationMessageTimerUpdateEvent,
24
- ConversationRenameEvent,
25
- ConversationTypingEvent,
26
- } from '@wireapp/api-client/src/event';
27
-
28
- import {
29
- CONVERSATION_TYPING,
30
- ConversationMemberJoinData,
31
- ConversationMessageTimerUpdateData,
32
- ConversationRenameData,
33
- ConversationTypingData,
34
- } from '@wireapp/api-client/src/conversation/data';
35
- import {ConversationMapper} from './ConversationMapper';
36
- import {PayloadBundle, PayloadBundleSource, PayloadBundleState, PayloadBundleType} from './message/PayloadBundle';
37
-
38
- describe('ConversationMapper', () => {
39
- describe('"mapConversationEvent"', () => {
40
- it('maps "conversation.message-timer-update" events', () => {
41
- const event: ConversationMessageTimerUpdateEvent = {
42
- conversation: 'ed5e4cd5-85ab-4d9e-be59-4e1c0324a9d4',
43
- data: {
44
- message_timer: 2419200000,
45
- },
46
- from: '39b7f597-dfd1-4dff-86f5-fe1b79cb70a0',
47
- time: '2018-08-01T09:40:25.481Z',
48
- type: CONVERSATION_EVENT.MESSAGE_TIMER_UPDATE,
49
- };
50
-
51
- const incomingEvent = ConversationMapper.mapConversationEvent(
52
- event,
53
- PayloadBundleSource.WEBSOCKET,
54
- ) as PayloadBundle & {
55
- content: ConversationMessageTimerUpdateData;
56
- };
57
-
58
- expect(incomingEvent.content).toBe(event.data);
59
- expect(incomingEvent.conversation).toBe(event.conversation);
60
- expect(incomingEvent.from).toBe(event.from);
61
- expect(typeof incomingEvent.id).toBe('string');
62
- expect(incomingEvent.messageTimer).toBe(0);
63
- expect(incomingEvent.state).toBe(PayloadBundleState.INCOMING);
64
- expect(incomingEvent.timestamp).toBe(new Date(event.time).getTime());
65
- expect(incomingEvent.type).toBe(PayloadBundleType.TIMER_UPDATE);
66
- });
67
-
68
- it('maps "conversation.member-join" events', () => {
69
- const event: ConversationMemberJoinEvent = {
70
- conversation: '87591650-8676-430f-985f-dec8583f58cb',
71
- data: {
72
- user_ids: [
73
- 'e023c681-7e51-43dd-a5d8-0f821e70a9c0',
74
- 'b8a09877-7b73-4636-a664-95b2bda193b0',
75
- '5b068afd-1ef2-4860-9fbb-9c3c70a22f97',
76
- ],
77
- },
78
- from: '39b7f597-dfd1-4dff-86f5-fe1b79cb70a0',
79
- time: '2018-07-12T09:43:34.442Z',
80
- type: CONVERSATION_EVENT.MEMBER_JOIN,
81
- };
82
-
83
- const incomingEvent = ConversationMapper.mapConversationEvent(
84
- event,
85
- PayloadBundleSource.WEBSOCKET,
86
- ) as PayloadBundle & {
87
- content: ConversationMemberJoinData;
88
- };
89
-
90
- expect(incomingEvent.content).toBe(event.data);
91
- expect(incomingEvent.conversation).toBe(event.conversation);
92
- expect(incomingEvent.from).toBe(event.from);
93
- expect(typeof incomingEvent.id).toBe('string');
94
- expect(incomingEvent.messageTimer).toBe(0);
95
- expect(incomingEvent.state).toBe(PayloadBundleState.INCOMING);
96
- expect(incomingEvent.timestamp).toBe(new Date(event.time).getTime());
97
- expect(incomingEvent.type).toBe(PayloadBundleType.MEMBER_JOIN);
98
- });
99
-
100
- it('maps "conversation.rename" events', () => {
101
- const event: ConversationRenameEvent = {
102
- conversation: 'ed5e4cd5-85ab-4d9e-be59-4e1c0324a9d4',
103
- data: {
104
- name: 'Tiny Timed Messages',
105
- },
106
- from: '39b7f597-dfd1-4dff-86f5-fe1b79cb70a0',
107
- time: '2018-08-01T12:01:21.629Z',
108
- type: CONVERSATION_EVENT.RENAME,
109
- };
110
-
111
- const incomingEvent = ConversationMapper.mapConversationEvent(
112
- event,
113
- PayloadBundleSource.WEBSOCKET,
114
- ) as PayloadBundle & {
115
- content: ConversationRenameData;
116
- };
117
-
118
- expect(incomingEvent.content).toBe(event.data);
119
- expect(incomingEvent.conversation).toBe(event.conversation);
120
- expect(incomingEvent.from).toBe(event.from);
121
- expect(typeof incomingEvent.id).toBe('string');
122
- expect(incomingEvent.messageTimer).toBe(0);
123
- expect(incomingEvent.state).toBe(PayloadBundleState.INCOMING);
124
- expect(incomingEvent.timestamp).toBe(new Date(event.time).getTime());
125
- expect(incomingEvent.type).toBe(PayloadBundleType.CONVERSATION_RENAME);
126
- });
127
-
128
- it('maps "conversation.typing" events', () => {
129
- const event: ConversationTypingEvent = {
130
- conversation: '508f14b9-ef4c-405d-bba9-5c4300cc1cbf',
131
- data: {status: CONVERSATION_TYPING.STARTED},
132
- from: '16d71f22-0f7b-425e-b4b3-5e288700ac1f',
133
- time: '2018-08-01T12:10:42.422Z',
134
- type: CONVERSATION_EVENT.TYPING,
135
- };
136
-
137
- const incomingEvent = ConversationMapper.mapConversationEvent(
138
- event,
139
- PayloadBundleSource.WEBSOCKET,
140
- ) as PayloadBundle & {
141
- content: ConversationTypingData;
142
- };
143
-
144
- expect(incomingEvent.content).toBe(event.data);
145
- expect(incomingEvent.conversation).toBe(event.conversation);
146
- expect(incomingEvent.from).toBe(event.from);
147
- expect(typeof incomingEvent.id).toBe('string');
148
- expect(incomingEvent.messageTimer).toBe(0);
149
- expect(incomingEvent.state).toBe(PayloadBundleState.INCOMING);
150
- expect(incomingEvent.timestamp).toBe(new Date(event.time).getTime());
151
- expect(incomingEvent.type).toBe(PayloadBundleType.TYPING);
152
- });
153
- });
154
- });
@@ -1,54 +0,0 @@
1
- /*
2
- * Wire
3
- * Copyright (C) 2019 Wire Swiss GmbH
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see http://www.gnu.org/licenses/.
17
- *
18
- */
19
-
20
- import {CONVERSATION_EVENT, ConversationEvent} from '@wireapp/api-client/src/event';
21
-
22
- import {MessageBuilder} from './message/MessageBuilder';
23
- import {PayloadBundle, PayloadBundleSource, PayloadBundleState, PayloadBundleType} from './message/PayloadBundle';
24
-
25
- export class ConversationMapper {
26
- public static mapConversationEvent(event: ConversationEvent, source: PayloadBundleSource): PayloadBundle {
27
- return {
28
- content: event.data,
29
- conversation: event.conversation,
30
- from: event.from,
31
- id: MessageBuilder.createId(),
32
- messageTimer: 0,
33
- source,
34
- state: PayloadBundleState.INCOMING,
35
- timestamp: new Date(event.time).getTime(),
36
- type: this.mapConversationEventType(event.type),
37
- };
38
- }
39
-
40
- private static mapConversationEventType(type: CONVERSATION_EVENT): PayloadBundleType {
41
- switch (type) {
42
- case CONVERSATION_EVENT.MEMBER_JOIN:
43
- return PayloadBundleType.MEMBER_JOIN;
44
- case CONVERSATION_EVENT.MESSAGE_TIMER_UPDATE:
45
- return PayloadBundleType.TIMER_UPDATE;
46
- case CONVERSATION_EVENT.RENAME:
47
- return PayloadBundleType.CONVERSATION_RENAME;
48
- case CONVERSATION_EVENT.TYPING:
49
- return PayloadBundleType.TYPING;
50
- default:
51
- return PayloadBundleType.UNKNOWN;
52
- }
53
- }
54
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConversationService.js","sourceRoot":"","sources":["ConversationService.ts"],"names":[],"mappings":"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"}