@lifeready/core 1.0.15 → 1.0.17

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 (221) hide show
  1. package/README.md +62 -62
  2. package/bundles/lifeready-core.umd.js +14321 -14315
  3. package/bundles/lifeready-core.umd.js.map +1 -1
  4. package/bundles/lifeready-core.umd.min.js +1 -1
  5. package/bundles/lifeready-core.umd.min.js.map +1 -1
  6. package/esm2015/lib/_common/ast.js +40 -40
  7. package/esm2015/lib/_common/deferred-promise.js +24 -24
  8. package/esm2015/lib/_common/exceptions.js +157 -157
  9. package/esm2015/lib/_common/queries.gql.js +190 -190
  10. package/esm2015/lib/_common/run-outside-angular.js +79 -79
  11. package/esm2015/lib/_common/types.js +1 -1
  12. package/esm2015/lib/_common/utils.js +52 -52
  13. package/esm2015/lib/api/contact-card.gql.js +79 -79
  14. package/esm2015/lib/api/contact-card.service.js +154 -154
  15. package/esm2015/lib/api/contact-card2.gql.js +60 -60
  16. package/esm2015/lib/api/contact-card2.service.js +103 -103
  17. package/esm2015/lib/api/file.service.js +74 -74
  18. package/esm2015/lib/api/key-exchange.gql.js +188 -188
  19. package/esm2015/lib/api/key-exchange.service.js +442 -442
  20. package/esm2015/lib/api/key-exchange.types.js +18 -18
  21. package/esm2015/lib/api/key-exchange2.gql.js +171 -171
  22. package/esm2015/lib/api/key-exchange2.service.js +479 -479
  23. package/esm2015/lib/api/lock.gql.js +40 -40
  24. package/esm2015/lib/api/lock.service.js +64 -64
  25. package/esm2015/lib/api/lr-apollo.service.js +46 -46
  26. package/esm2015/lib/api/lr-graphql/index.js +6 -6
  27. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -155
  28. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -213
  29. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -51
  30. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -48
  31. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -18
  32. package/esm2015/lib/api/message.service.js +138 -138
  33. package/esm2015/lib/api/persist.service.js +181 -181
  34. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -93
  35. package/esm2015/lib/api/query-processor/index.js +3 -3
  36. package/esm2015/lib/api/query-processor/query-processor.service.js +262 -262
  37. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -109
  38. package/esm2015/lib/api/shared-contact-card.service.js +119 -119
  39. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -41
  40. package/esm2015/lib/api/shared-contact-card2.service.js +117 -117
  41. package/esm2015/lib/api/time.service.js +146 -146
  42. package/esm2015/lib/api/types/graphql.types.js +7 -7
  43. package/esm2015/lib/api/types/index.js +3 -3
  44. package/esm2015/lib/api/types/lr-graphql.types.js +101 -101
  45. package/esm2015/lib/auth/auth.config.js +57 -57
  46. package/esm2015/lib/auth/auth.gql.js +48 -48
  47. package/esm2015/lib/auth/auth.types.js +27 -27
  48. package/esm2015/lib/auth/idle.service.js +168 -168
  49. package/esm2015/lib/auth/idle.types.js +7 -7
  50. package/esm2015/lib/auth/lbop.service.js +355 -355
  51. package/esm2015/lib/auth/life-ready-auth.service.js +488 -488
  52. package/esm2015/lib/auth/password.service.js +320 -320
  53. package/esm2015/lib/auth/register.service.js +172 -172
  54. package/esm2015/lib/auth/two-factor.service.js +74 -74
  55. package/esm2015/lib/category/category-meta.service.js +99 -99
  56. package/esm2015/lib/category/category.gql.js +406 -406
  57. package/esm2015/lib/category/category.service.js +390 -390
  58. package/esm2015/lib/category/category.types.js +29 -29
  59. package/esm2015/lib/cryptography/cryptography.types.js +11 -11
  60. package/esm2015/lib/cryptography/encryption.service.js +189 -189
  61. package/esm2015/lib/cryptography/key-factory.service.js +237 -237
  62. package/esm2015/lib/cryptography/key-graph.service.js +299 -299
  63. package/esm2015/lib/cryptography/key-meta.service.js +200 -200
  64. package/esm2015/lib/cryptography/key.service.js +124 -124
  65. package/esm2015/lib/cryptography/slip39.service.js +169 -169
  66. package/esm2015/lib/cryptography/web-crypto.service.js +29 -29
  67. package/esm2015/lib/items2/item2.gql.js +139 -139
  68. package/esm2015/lib/items2/item2.service.js +498 -498
  69. package/esm2015/lib/items2/item2.types.js +1 -1
  70. package/esm2015/lib/life-ready.config.js +84 -84
  71. package/esm2015/lib/life-ready.module.js +74 -74
  72. package/esm2015/lib/notification/notification.gql.js +43 -43
  73. package/esm2015/lib/notification/notification.service.js +118 -118
  74. package/esm2015/lib/plan/plan.gql.js +123 -123
  75. package/esm2015/lib/plan/plan.service.js +149 -149
  76. package/esm2015/lib/plan/plan.types.js +11 -11
  77. package/esm2015/lib/record/record-attachment.service.js +101 -101
  78. package/esm2015/lib/record/record.gql.js +179 -179
  79. package/esm2015/lib/record/record.service.js +206 -206
  80. package/esm2015/lib/record/record.types.js +15 -15
  81. package/esm2015/lib/record-type/record-type.service.js +75 -75
  82. package/esm2015/lib/record-type/record-type.types.js +28 -28
  83. package/esm2015/lib/scenario/scenario.constants.js +2 -2
  84. package/esm2015/lib/scenario/scenario.controller.js +34 -34
  85. package/esm2015/lib/scenario/scenario.gql.js +72 -72
  86. package/esm2015/lib/scenario/scenario.gql.private.js +198 -198
  87. package/esm2015/lib/scenario/scenario.service.js +538 -538
  88. package/esm2015/lib/scenario/scenario.types.js +1 -1
  89. package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +22 -22
  90. package/esm2015/lib/trusted-parties/tp-assembly.js +362 -362
  91. package/esm2015/lib/trusted-parties/tp-assembly.types.js +1 -1
  92. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +113 -113
  93. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -129
  94. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -4
  95. package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +34 -34
  96. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +237 -236
  97. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +95 -95
  98. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -148
  99. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -326
  100. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -41
  101. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -87
  102. package/esm2015/lib/trusted-parties/trusted-party2.service.js +218 -215
  103. package/esm2015/lib/users/profile-details.service.js +214 -214
  104. package/esm2015/lib/users/profile.gql.js +97 -97
  105. package/esm2015/lib/users/profile.service.js +169 -169
  106. package/esm2015/lib/users/profile.types.js +34 -34
  107. package/esm2015/lib/users/user.gql.js +60 -60
  108. package/esm2015/lib/users/user.service.js +79 -79
  109. package/esm2015/lib/users/user.types.js +5 -5
  110. package/esm2015/lifeready-core.js +13 -13
  111. package/esm2015/public-api.js +71 -71
  112. package/fesm2015/lifeready-core.js +12263 -12258
  113. package/fesm2015/lifeready-core.js.map +1 -1
  114. package/lib/_common/ast.d.ts +11 -11
  115. package/lib/_common/deferred-promise.d.ts +12 -12
  116. package/lib/_common/exceptions.d.ts +109 -109
  117. package/lib/_common/queries.gql.d.ts +10 -10
  118. package/lib/_common/run-outside-angular.d.ts +14 -14
  119. package/lib/_common/types.d.ts +10 -10
  120. package/lib/_common/utils.d.ts +9 -9
  121. package/lib/api/contact-card.gql.d.ts +7 -7
  122. package/lib/api/contact-card.service.d.ts +52 -52
  123. package/lib/api/contact-card2.gql.d.ts +34 -34
  124. package/lib/api/contact-card2.service.d.ts +49 -49
  125. package/lib/api/file.service.d.ts +18 -18
  126. package/lib/api/key-exchange.gql.d.ts +9 -9
  127. package/lib/api/key-exchange.service.d.ts +39 -39
  128. package/lib/api/key-exchange.types.d.ts +196 -196
  129. package/lib/api/key-exchange2.gql.d.ts +125 -125
  130. package/lib/api/key-exchange2.service.d.ts +187 -187
  131. package/lib/api/lock.gql.d.ts +27 -27
  132. package/lib/api/lock.service.d.ts +34 -34
  133. package/lib/api/lr-apollo.service.d.ts +15 -15
  134. package/lib/api/lr-graphql/index.d.ts +5 -5
  135. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -60
  136. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +28 -28
  137. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -28
  138. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -8
  139. package/lib/api/lr-graphql/lr.service.d.ts +9 -9
  140. package/lib/api/message.service.d.ts +58 -58
  141. package/lib/api/persist.service.d.ts +31 -31
  142. package/lib/api/query-processor/common-processors.service.d.ts +36 -36
  143. package/lib/api/query-processor/index.d.ts +2 -2
  144. package/lib/api/query-processor/query-processor.service.d.ts +18 -18
  145. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -15
  146. package/lib/api/shared-contact-card.service.d.ts +33 -33
  147. package/lib/api/shared-contact-card2.gql.d.ts +36 -36
  148. package/lib/api/shared-contact-card2.service.d.ts +45 -45
  149. package/lib/api/time.service.d.ts +16 -16
  150. package/lib/api/types/graphql.types.d.ts +29 -29
  151. package/lib/api/types/index.d.ts +2 -2
  152. package/lib/api/types/lr-graphql.types.d.ts +504 -502
  153. package/lib/auth/auth.config.d.ts +5 -5
  154. package/lib/auth/auth.gql.d.ts +15 -15
  155. package/lib/auth/auth.types.d.ts +66 -66
  156. package/lib/auth/idle.service.d.ts +40 -40
  157. package/lib/auth/idle.types.d.ts +10 -10
  158. package/lib/auth/lbop.service.d.ts +91 -91
  159. package/lib/auth/life-ready-auth.service.d.ts +61 -61
  160. package/lib/auth/password.service.d.ts +78 -78
  161. package/lib/auth/register.service.d.ts +25 -25
  162. package/lib/auth/two-factor.service.d.ts +15 -15
  163. package/lib/category/category-meta.service.d.ts +23 -23
  164. package/lib/category/category.gql.d.ts +45 -45
  165. package/lib/category/category.service.d.ts +67 -67
  166. package/lib/category/category.types.d.ts +79 -79
  167. package/lib/cryptography/cryptography.types.d.ts +83 -83
  168. package/lib/cryptography/encryption.service.d.ts +41 -41
  169. package/lib/cryptography/key-factory.service.d.ts +38 -38
  170. package/lib/cryptography/key-graph.service.d.ts +41 -41
  171. package/lib/cryptography/key-meta.service.d.ts +44 -44
  172. package/lib/cryptography/key.service.d.ts +36 -36
  173. package/lib/cryptography/slip39.service.d.ts +43 -43
  174. package/lib/cryptography/web-crypto.service.d.ts +5 -5
  175. package/lib/items2/item2.gql.d.ts +123 -123
  176. package/lib/items2/item2.service.d.ts +203 -203
  177. package/lib/items2/item2.types.d.ts +70 -70
  178. package/lib/life-ready.config.d.ts +14 -14
  179. package/lib/life-ready.module.d.ts +5 -5
  180. package/lib/notification/notification.gql.d.ts +37 -37
  181. package/lib/notification/notification.service.d.ts +63 -63
  182. package/lib/plan/plan.gql.d.ts +11 -11
  183. package/lib/plan/plan.service.d.ts +33 -33
  184. package/lib/plan/plan.types.d.ts +31 -31
  185. package/lib/record/record-attachment.service.d.ts +16 -16
  186. package/lib/record/record.gql.d.ts +14 -14
  187. package/lib/record/record.service.d.ts +25 -25
  188. package/lib/record/record.types.d.ts +57 -57
  189. package/lib/record-type/record-type.service.d.ts +11 -11
  190. package/lib/record-type/record-type.types.d.ts +50 -50
  191. package/lib/scenario/scenario.constants.d.ts +1 -1
  192. package/lib/scenario/scenario.controller.d.ts +10 -10
  193. package/lib/scenario/scenario.gql.d.ts +62 -62
  194. package/lib/scenario/scenario.gql.private.d.ts +16 -16
  195. package/lib/scenario/scenario.service.d.ts +233 -233
  196. package/lib/scenario/scenario.types.d.ts +50 -50
  197. package/lib/trusted-parties/tp-assembly.d.ts +177 -177
  198. package/lib/trusted-parties/tp-assembly.gql.private.d.ts +5 -5
  199. package/lib/trusted-parties/tp-assembly.types.d.ts +38 -38
  200. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -20
  201. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -35
  202. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -3
  203. package/lib/trusted-parties/tp-password-reset.controller.d.ts +10 -10
  204. package/lib/trusted-parties/tp-password-reset.gql.d.ts +224 -223
  205. package/lib/trusted-parties/tp-password-reset.service.d.ts +189 -188
  206. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -9
  207. package/lib/trusted-parties/trusted-party.service.d.ts +44 -44
  208. package/lib/trusted-parties/trusted-party.types.d.ts +102 -102
  209. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -79
  210. package/lib/trusted-parties/trusted-party2.service.d.ts +115 -114
  211. package/lib/users/profile-details.service.d.ts +21 -21
  212. package/lib/users/profile.gql.d.ts +11 -11
  213. package/lib/users/profile.service.d.ts +35 -35
  214. package/lib/users/profile.types.d.ts +96 -96
  215. package/lib/users/user.gql.d.ts +9 -9
  216. package/lib/users/user.service.d.ts +12 -12
  217. package/lib/users/user.types.d.ts +23 -23
  218. package/lifeready-core.d.ts +12 -12
  219. package/lifeready-core.metadata.json +1 -1
  220. package/package.json +1 -1
  221. package/public-api.d.ts +67 -67
@@ -1,18 +1,18 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { LifeReadyConfig } from '../life-ready.config';
3
- import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
4
- export declare type FileContentContext = 'FILE_STATE';
5
- export interface UploadEncryptedFileOptions {
6
- encryptedContent: string;
7
- fileName?: string;
8
- }
9
- export declare class FileService {
10
- private config;
11
- private http;
12
- private lrAuth;
13
- constructor(config: LifeReadyConfig, http: HttpClient, lrAuth: LifeReadyAuthService);
14
- downloadEncryptedFile(fileStateNodeId: string): Promise<any>;
15
- downloadEncryptedFile2(fileStateNodeId: string): Promise<string>;
16
- loadFile(file: File): Promise<ArrayBuffer>;
17
- uploadEncryptedFile(options: UploadEncryptedFileOptions): Promise<string>;
18
- }
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { LifeReadyConfig } from '../life-ready.config';
3
+ import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
4
+ export declare type FileContentContext = 'FILE_STATE';
5
+ export interface UploadEncryptedFileOptions {
6
+ encryptedContent: string;
7
+ fileName?: string;
8
+ }
9
+ export declare class FileService {
10
+ private config;
11
+ private http;
12
+ private lrAuth;
13
+ constructor(config: LifeReadyConfig, http: HttpClient, lrAuth: LifeReadyAuthService);
14
+ downloadEncryptedFile(fileStateNodeId: string): Promise<any>;
15
+ downloadEncryptedFile2(fileStateNodeId: string): Promise<string>;
16
+ loadFile(file: File): Promise<ArrayBuffer>;
17
+ uploadEncryptedFile(options: UploadEncryptedFileOptions): Promise<string>;
18
+ }
@@ -1,9 +1,9 @@
1
- export declare const KeyExchangeFields = "\n id\n token\n state\n mode\n isInitiator\n initiator {\n id\n username\n }\n responder {\n id\n username\n }\n created\n modified\n tokenExpiryTime\n isExpired\n initiatorRootKeyCipher\n initiatorActionRequired\n responderActionRequired\n responderEmailAddress\n otk {\n state\n otKeyParams\n otKeyCipher\n sharedKey {\n id\n }\n mkSharedKey {\n id\n }\n initiatorSigPxk {\n id\n }\n responderSigPxk {\n id\n }\n initiatorOneTimePbkCipher\n responderPbkCipher\n}";
2
- export declare const UserSharedKeyFields = "\n userSigPrk {\n id\n }\n otherSigPbk {\n id\n }\n sharedKey {\n id\n }\n mkSharedKey {\n id\n }\n mkPxk {\n id\n pbk\n }\n mkReshareRequestCipher\n mkReshareResponseCipher\n mkReshareRequestSent\n mkReshareResponseSent\n";
3
- export declare const CurrentUserSharedKeyQuery: import("graphql").DocumentNode;
4
- export declare const KeyExchangesQuery: import("graphql").DocumentNode;
5
- export declare const KeyExchangeQuery: import("graphql").DocumentNode;
6
- export declare const KeyExchangeTokenQuery: import("graphql").DocumentNode;
7
- export declare const InitiateOtkMutation: import("graphql").DocumentNode;
8
- export declare const RespondOtkMutation: import("graphql").DocumentNode;
9
- export declare const CompleteOtkMutation: import("graphql").DocumentNode;
1
+ export declare const KeyExchangeFields = "\n id\n token\n state\n mode\n isInitiator\n initiator {\n id\n username\n }\n responder {\n id\n username\n }\n created\n modified\n tokenExpiryTime\n isExpired\n initiatorRootKeyCipher\n initiatorActionRequired\n responderActionRequired\n responderEmailAddress\n otk {\n state\n otKeyParams\n otKeyCipher\n sharedKey {\n id\n }\n mkSharedKey {\n id\n }\n initiatorSigPxk {\n id\n }\n responderSigPxk {\n id\n }\n initiatorOneTimePbkCipher\n responderPbkCipher\n}";
2
+ export declare const UserSharedKeyFields = "\n userSigPrk {\n id\n }\n otherSigPbk {\n id\n }\n sharedKey {\n id\n }\n mkSharedKey {\n id\n }\n mkPxk {\n id\n pbk\n }\n mkReshareRequestCipher\n mkReshareResponseCipher\n mkReshareRequestSent\n mkReshareResponseSent\n";
3
+ export declare const CurrentUserSharedKeyQuery: import("graphql").DocumentNode;
4
+ export declare const KeyExchangesQuery: import("graphql").DocumentNode;
5
+ export declare const KeyExchangeQuery: import("graphql").DocumentNode;
6
+ export declare const KeyExchangeTokenQuery: import("graphql").DocumentNode;
7
+ export declare const InitiateOtkMutation: import("graphql").DocumentNode;
8
+ export declare const RespondOtkMutation: import("graphql").DocumentNode;
9
+ export declare const CompleteOtkMutation: import("graphql").DocumentNode;
@@ -1,39 +1,39 @@
1
- import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
2
- import { EncryptionService } from '../cryptography/encryption.service';
3
- import { KeyService } from '../cryptography/key.service';
4
- import { UserService } from './../users/user.service';
5
- import { CompleteOtk, DecryptedKeyExchange, GetKeyExchangeListOptions, GetKeyExchangeOptions, InitiateOtkInput, KeyExchange, RespondOtk, RespondOtkInput, UserSharedKey } from './key-exchange.types';
6
- import { LrApolloService } from './lr-apollo.service';
7
- import { KeyFactoryService as KFS } from '../cryptography/key-factory.service';
8
- export declare class KeyExchangeService {
9
- private keyFactory;
10
- private keyService;
11
- private lrApollo;
12
- private encryptionService;
13
- private authService;
14
- private userService;
15
- private readonly CLIENT_NONCE_LENGTH;
16
- constructor(keyFactory: KFS, keyService: KeyService, lrApollo: LrApolloService, encryptionService: EncryptionService, authService: LifeReadyAuthService, userService: UserService);
17
- getKeyExchangeList(input?: GetKeyExchangeListOptions): Promise<any>;
18
- /**
19
- * @param id If the current user can responder the key exchange if they are either the initiator or the receiver.
20
- * @param token If not signed in, or not the initiator or responder, 'token' must be given.
21
- * @param otKeyK Is the raw one-time key (string). If the responder is explicitly specified at time of initiation, then
22
- * it's possible to have the otKey wrapped by the public key of the responder. In which case, the otKeyK is not needed.
23
- */
24
- getKeyExchange(id: string, { otKeyK, token }?: GetKeyExchangeOptions): Promise<DecryptedKeyExchange>;
25
- private decryptResponseCipher;
26
- decryptKeyExchange(keyExchange: KeyExchange, otKeyK?: string): Promise<DecryptedKeyExchange>;
27
- private decryptOtk;
28
- private getOtKey;
29
- initiateOtk({ message, email, contactCard, upgrade, }: InitiateOtkInput): Promise<{
30
- keyExchange: KeyExchange;
31
- otKeyK: string;
32
- }>;
33
- respondOtk({ id, token, decryptedOtk, message, initiatorContactCard, responderContactCard: sentContactCard, }: RespondOtkInput): Promise<RespondOtk>;
34
- completeOtk(keyExchangeId: string, initiatorRootKeyCipher: string, initiatorOneTimePbkCipher: string, responderContactCard?: string): Promise<CompleteOtk>;
35
- currentUserSharedKey(input: {
36
- username?: string;
37
- userId?: string;
38
- }): Promise<UserSharedKey>;
39
- }
1
+ import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
2
+ import { EncryptionService } from '../cryptography/encryption.service';
3
+ import { KeyService } from '../cryptography/key.service';
4
+ import { UserService } from './../users/user.service';
5
+ import { CompleteOtk, DecryptedKeyExchange, GetKeyExchangeListOptions, GetKeyExchangeOptions, InitiateOtkInput, KeyExchange, RespondOtk, RespondOtkInput, UserSharedKey } from './key-exchange.types';
6
+ import { LrApolloService } from './lr-apollo.service';
7
+ import { KeyFactoryService as KFS } from '../cryptography/key-factory.service';
8
+ export declare class KeyExchangeService {
9
+ private keyFactory;
10
+ private keyService;
11
+ private lrApollo;
12
+ private encryptionService;
13
+ private authService;
14
+ private userService;
15
+ private readonly CLIENT_NONCE_LENGTH;
16
+ constructor(keyFactory: KFS, keyService: KeyService, lrApollo: LrApolloService, encryptionService: EncryptionService, authService: LifeReadyAuthService, userService: UserService);
17
+ getKeyExchangeList(input?: GetKeyExchangeListOptions): Promise<any>;
18
+ /**
19
+ * @param id If the current user can responder the key exchange if they are either the initiator or the receiver.
20
+ * @param token If not signed in, or not the initiator or responder, 'token' must be given.
21
+ * @param otKeyK Is the raw one-time key (string). If the responder is explicitly specified at time of initiation, then
22
+ * it's possible to have the otKey wrapped by the public key of the responder. In which case, the otKeyK is not needed.
23
+ */
24
+ getKeyExchange(id: string, { otKeyK, token }?: GetKeyExchangeOptions): Promise<DecryptedKeyExchange>;
25
+ private decryptResponseCipher;
26
+ decryptKeyExchange(keyExchange: KeyExchange, otKeyK?: string): Promise<DecryptedKeyExchange>;
27
+ private decryptOtk;
28
+ private getOtKey;
29
+ initiateOtk({ message, email, contactCard, upgrade, }: InitiateOtkInput): Promise<{
30
+ keyExchange: KeyExchange;
31
+ otKeyK: string;
32
+ }>;
33
+ respondOtk({ id, token, decryptedOtk, message, initiatorContactCard, responderContactCard: sentContactCard, }: RespondOtkInput): Promise<RespondOtk>;
34
+ completeOtk(keyExchangeId: string, initiatorRootKeyCipher: string, initiatorOneTimePbkCipher: string, responderContactCard?: string): Promise<CompleteOtk>;
35
+ currentUserSharedKey(input: {
36
+ username?: string;
37
+ userId?: string;
38
+ }): Promise<UserSharedKey>;
39
+ }
@@ -1,196 +1,196 @@
1
- import { Key } from '../cryptography/cryptography.types';
2
- import { AccessLevel } from '../category/category.types';
3
- import { JWK } from 'node-jose';
4
- import { ContactCardName, TrustedPartyDetails } from '../users/profile.types';
5
- export interface PlainInitiatorRootKeyCipher {
6
- nonce: string;
7
- oneTimePrk: object;
8
- otKey: object;
9
- initiatorContactCard?: {
10
- plainOwnerCipherDataJson: any;
11
- plainSharedCipherDataJson: any;
12
- };
13
- initiator: {
14
- message?: KeyExchangeMessage;
15
- contactCard?: {
16
- plainSharedCipherDataJson: TrustedPartyDetails;
17
- };
18
- };
19
- }
20
- export interface SharedContactCardInput {
21
- plainCipherDataJson?: any;
22
- plainSharedCipherDataJson?: any;
23
- sharedCipherKey?: object;
24
- }
25
- export interface PreparedPermissions {
26
- categories?: {
27
- categoryId: string;
28
- accessLevel: AccessLevel;
29
- }[];
30
- records?: {
31
- recordId: string;
32
- accessLevel: AccessLevel;
33
- }[];
34
- }
35
- export interface KeyExchangeMessage {
36
- name?: string;
37
- email?: string;
38
- message?: string;
39
- permissions?: PreparedPermissions;
40
- }
41
- export interface PlainOtKeyCipher {
42
- nonce: string;
43
- initiator: {
44
- oneTimePbk: object;
45
- pbk: object;
46
- sigPbk: object;
47
- profile?: {
48
- username?: string;
49
- };
50
- message?: KeyExchangeMessage;
51
- contactCard?: {
52
- plainSharedCipherDataJson: TrustedPartyDetails;
53
- };
54
- };
55
- }
56
- export interface DecryptedOtk {
57
- plainOtKeyCipher: PlainOtKeyCipher;
58
- otKey: JWK.Key;
59
- }
60
- export interface PlainInitiatorOneTimePbkCipher {
61
- nonce: string;
62
- sharedKey: object;
63
- mkSharedKey: object;
64
- responder: {
65
- pbk: object;
66
- sigPbk: object;
67
- profile?: {
68
- username?: string;
69
- };
70
- message?: KeyExchangeMessage;
71
- contactCard?: {
72
- plainSharedCipherDataJson: TrustedPartyDetails;
73
- sharedCipherKey: object;
74
- };
75
- };
76
- }
77
- export declare enum OtkState {
78
- OTK_INITIATED = "OTK_INITIATED",
79
- OTK_ACCEPTED = "OTK_ACCEPTED",
80
- OTK_COMPLETED = "OTK_COMPLETED"
81
- }
82
- export interface KeyExchangeContactCardInput {
83
- ownerPlainData?: {
84
- name: ContactCardName;
85
- };
86
- plainOwnerCipherDataJson: any;
87
- plainSharedCipherDataJson: TrustedPartyDetails;
88
- }
89
- export interface InitiateOtkInput {
90
- email?: string;
91
- message?: KeyExchangeMessage;
92
- contactCard?: KeyExchangeContactCardInput;
93
- upgrade?: boolean;
94
- }
95
- export interface RespondOtkInput {
96
- id: string;
97
- token: string;
98
- decryptedOtk: DecryptedOtk;
99
- message?: KeyExchangeMessage;
100
- initiatorContactCard?: {
101
- plainReceiverCipherDataJson: any;
102
- };
103
- responderContactCard?: KeyExchangeContactCardInput;
104
- }
105
- export declare enum KeyExchangeState {
106
- IN_PROGRESS = "IN_PROGRESS",
107
- COMPLETED = "COMPLETED",
108
- DECLINED = "DECLINED",
109
- CANCELLED = "CANCELLED"
110
- }
111
- export declare enum KeyExchangeMode {
112
- OTK = "OTK"
113
- }
114
- export interface Otk {
115
- id: string;
116
- state: OtkState;
117
- otKeyParams: string;
118
- otKeyCipher: string;
119
- sharedKey: Key;
120
- mkSharedKey: Key;
121
- initiatorSigPxk: Key;
122
- responderSigPxk: Key;
123
- initiatorOneTimePbkCipher: string;
124
- responderPbkCipher?: string;
125
- }
126
- export interface KeyExchange {
127
- id: string;
128
- state: KeyExchangeState;
129
- mode: KeyExchangeMode;
130
- created: string;
131
- modified: string;
132
- isInitiator: boolean;
133
- initiator: {
134
- id: string;
135
- username: string;
136
- };
137
- responder: {
138
- id: string;
139
- username: string;
140
- };
141
- initiatorActionRequired?: boolean;
142
- responderActionRequired?: boolean;
143
- responderEmailAddress?: string;
144
- token?: string;
145
- tokenExpiryTime?: string;
146
- isExpired?: boolean;
147
- otk?: Otk;
148
- initiatorRootKeyCipher: string;
149
- }
150
- export interface DecryptedKeyExchange extends KeyExchange {
151
- decryptedOtk?: DecryptedOtk;
152
- message?: KeyExchangeMessage;
153
- contactCard?: TrustedPartyDetails;
154
- myMessage?: KeyExchangeMessage;
155
- myContactCard?: TrustedPartyDetails;
156
- }
157
- export interface GetKeyExchangeOptions {
158
- otKeyK?: string;
159
- token?: string;
160
- }
161
- export interface RespondOtk {
162
- keyExchange: KeyExchange;
163
- userSharedKey: UserSharedKey;
164
- tp: {
165
- id: string;
166
- };
167
- }
168
- export interface CompleteOtk {
169
- keyExchange: KeyExchange;
170
- userSharedKey: UserSharedKey;
171
- tp: {
172
- id: string;
173
- };
174
- }
175
- export interface UserSharedKey {
176
- userSigPrk: Key;
177
- sharedKey: Key;
178
- mkSharedKey?: Key;
179
- mkPxk?: Key;
180
- mkReshareRequestCipher?: string;
181
- mkReshareResponseCipher?: string;
182
- mkReshareRequestSent?: boolean;
183
- mkReshareResponseSent?: boolean;
184
- }
185
- export interface GetKeyExchangeListOptions {
186
- orderBy?: 'created' | '-created' | 'modified' | '-modified' | 'expiry_time' | '-expiry_time';
187
- isExpired?: boolean;
188
- initiatorActionRequired?: boolean;
189
- responderActionRequired?: boolean;
190
- initiator?: string;
191
- responder?: string;
192
- state?: 'IN_PROGRESS' | 'COMPLETED' | 'DECLINED' | 'CANCELLED';
193
- }
194
- export interface PlainResponderPbkCipher {
195
- otKey: object;
196
- }
1
+ import { Key } from '../cryptography/cryptography.types';
2
+ import { AccessLevel } from '../category/category.types';
3
+ import { JWK } from 'node-jose';
4
+ import { ContactCardName, TrustedPartyDetails } from '../users/profile.types';
5
+ export interface PlainInitiatorRootKeyCipher {
6
+ nonce: string;
7
+ oneTimePrk: object;
8
+ otKey: object;
9
+ initiatorContactCard?: {
10
+ plainOwnerCipherDataJson: any;
11
+ plainSharedCipherDataJson: any;
12
+ };
13
+ initiator: {
14
+ message?: KeyExchangeMessage;
15
+ contactCard?: {
16
+ plainSharedCipherDataJson: TrustedPartyDetails;
17
+ };
18
+ };
19
+ }
20
+ export interface SharedContactCardInput {
21
+ plainCipherDataJson?: any;
22
+ plainSharedCipherDataJson?: any;
23
+ sharedCipherKey?: object;
24
+ }
25
+ export interface PreparedPermissions {
26
+ categories?: {
27
+ categoryId: string;
28
+ accessLevel: AccessLevel;
29
+ }[];
30
+ records?: {
31
+ recordId: string;
32
+ accessLevel: AccessLevel;
33
+ }[];
34
+ }
35
+ export interface KeyExchangeMessage {
36
+ name?: string;
37
+ email?: string;
38
+ message?: string;
39
+ permissions?: PreparedPermissions;
40
+ }
41
+ export interface PlainOtKeyCipher {
42
+ nonce: string;
43
+ initiator: {
44
+ oneTimePbk: object;
45
+ pbk: object;
46
+ sigPbk: object;
47
+ profile?: {
48
+ username?: string;
49
+ };
50
+ message?: KeyExchangeMessage;
51
+ contactCard?: {
52
+ plainSharedCipherDataJson: TrustedPartyDetails;
53
+ };
54
+ };
55
+ }
56
+ export interface DecryptedOtk {
57
+ plainOtKeyCipher: PlainOtKeyCipher;
58
+ otKey: JWK.Key;
59
+ }
60
+ export interface PlainInitiatorOneTimePbkCipher {
61
+ nonce: string;
62
+ sharedKey: object;
63
+ mkSharedKey: object;
64
+ responder: {
65
+ pbk: object;
66
+ sigPbk: object;
67
+ profile?: {
68
+ username?: string;
69
+ };
70
+ message?: KeyExchangeMessage;
71
+ contactCard?: {
72
+ plainSharedCipherDataJson: TrustedPartyDetails;
73
+ sharedCipherKey: object;
74
+ };
75
+ };
76
+ }
77
+ export declare enum OtkState {
78
+ OTK_INITIATED = "OTK_INITIATED",
79
+ OTK_ACCEPTED = "OTK_ACCEPTED",
80
+ OTK_COMPLETED = "OTK_COMPLETED"
81
+ }
82
+ export interface KeyExchangeContactCardInput {
83
+ ownerPlainData?: {
84
+ name: ContactCardName;
85
+ };
86
+ plainOwnerCipherDataJson: any;
87
+ plainSharedCipherDataJson: TrustedPartyDetails;
88
+ }
89
+ export interface InitiateOtkInput {
90
+ email?: string;
91
+ message?: KeyExchangeMessage;
92
+ contactCard?: KeyExchangeContactCardInput;
93
+ upgrade?: boolean;
94
+ }
95
+ export interface RespondOtkInput {
96
+ id: string;
97
+ token: string;
98
+ decryptedOtk: DecryptedOtk;
99
+ message?: KeyExchangeMessage;
100
+ initiatorContactCard?: {
101
+ plainReceiverCipherDataJson: any;
102
+ };
103
+ responderContactCard?: KeyExchangeContactCardInput;
104
+ }
105
+ export declare enum KeyExchangeState {
106
+ IN_PROGRESS = "IN_PROGRESS",
107
+ COMPLETED = "COMPLETED",
108
+ DECLINED = "DECLINED",
109
+ CANCELLED = "CANCELLED"
110
+ }
111
+ export declare enum KeyExchangeMode {
112
+ OTK = "OTK"
113
+ }
114
+ export interface Otk {
115
+ id: string;
116
+ state: OtkState;
117
+ otKeyParams: string;
118
+ otKeyCipher: string;
119
+ sharedKey: Key;
120
+ mkSharedKey: Key;
121
+ initiatorSigPxk: Key;
122
+ responderSigPxk: Key;
123
+ initiatorOneTimePbkCipher: string;
124
+ responderPbkCipher?: string;
125
+ }
126
+ export interface KeyExchange {
127
+ id: string;
128
+ state: KeyExchangeState;
129
+ mode: KeyExchangeMode;
130
+ created: string;
131
+ modified: string;
132
+ isInitiator: boolean;
133
+ initiator: {
134
+ id: string;
135
+ username: string;
136
+ };
137
+ responder: {
138
+ id: string;
139
+ username: string;
140
+ };
141
+ initiatorActionRequired?: boolean;
142
+ responderActionRequired?: boolean;
143
+ responderEmailAddress?: string;
144
+ token?: string;
145
+ tokenExpiryTime?: string;
146
+ isExpired?: boolean;
147
+ otk?: Otk;
148
+ initiatorRootKeyCipher: string;
149
+ }
150
+ export interface DecryptedKeyExchange extends KeyExchange {
151
+ decryptedOtk?: DecryptedOtk;
152
+ message?: KeyExchangeMessage;
153
+ contactCard?: TrustedPartyDetails;
154
+ myMessage?: KeyExchangeMessage;
155
+ myContactCard?: TrustedPartyDetails;
156
+ }
157
+ export interface GetKeyExchangeOptions {
158
+ otKeyK?: string;
159
+ token?: string;
160
+ }
161
+ export interface RespondOtk {
162
+ keyExchange: KeyExchange;
163
+ userSharedKey: UserSharedKey;
164
+ tp: {
165
+ id: string;
166
+ };
167
+ }
168
+ export interface CompleteOtk {
169
+ keyExchange: KeyExchange;
170
+ userSharedKey: UserSharedKey;
171
+ tp: {
172
+ id: string;
173
+ };
174
+ }
175
+ export interface UserSharedKey {
176
+ userSigPrk: Key;
177
+ sharedKey: Key;
178
+ mkSharedKey?: Key;
179
+ mkPxk?: Key;
180
+ mkReshareRequestCipher?: string;
181
+ mkReshareResponseCipher?: string;
182
+ mkReshareRequestSent?: boolean;
183
+ mkReshareResponseSent?: boolean;
184
+ }
185
+ export interface GetKeyExchangeListOptions {
186
+ orderBy?: 'created' | '-created' | 'modified' | '-modified' | 'expiry_time' | '-expiry_time';
187
+ isExpired?: boolean;
188
+ initiatorActionRequired?: boolean;
189
+ responderActionRequired?: boolean;
190
+ initiator?: string;
191
+ responder?: string;
192
+ state?: 'IN_PROGRESS' | 'COMPLETED' | 'DECLINED' | 'CANCELLED';
193
+ }
194
+ export interface PlainResponderPbkCipher {
195
+ otKey: object;
196
+ }