@lifeready/core 1.0.15 → 1.0.16

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 (219) hide show
  1. package/README.md +62 -62
  2. package/bundles/lifeready-core.umd.js +14315 -14315
  3. package/bundles/lifeready-core.umd.js.map +1 -1
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/ast.js +40 -40
  6. package/esm2015/lib/_common/deferred-promise.js +24 -24
  7. package/esm2015/lib/_common/exceptions.js +157 -157
  8. package/esm2015/lib/_common/queries.gql.js +190 -190
  9. package/esm2015/lib/_common/run-outside-angular.js +79 -79
  10. package/esm2015/lib/_common/types.js +1 -1
  11. package/esm2015/lib/_common/utils.js +52 -52
  12. package/esm2015/lib/api/contact-card.gql.js +79 -79
  13. package/esm2015/lib/api/contact-card.service.js +154 -154
  14. package/esm2015/lib/api/contact-card2.gql.js +60 -60
  15. package/esm2015/lib/api/contact-card2.service.js +103 -103
  16. package/esm2015/lib/api/file.service.js +74 -74
  17. package/esm2015/lib/api/key-exchange.gql.js +188 -188
  18. package/esm2015/lib/api/key-exchange.service.js +442 -442
  19. package/esm2015/lib/api/key-exchange.types.js +18 -18
  20. package/esm2015/lib/api/key-exchange2.gql.js +171 -171
  21. package/esm2015/lib/api/key-exchange2.service.js +479 -479
  22. package/esm2015/lib/api/lock.gql.js +40 -40
  23. package/esm2015/lib/api/lock.service.js +64 -64
  24. package/esm2015/lib/api/lr-apollo.service.js +46 -46
  25. package/esm2015/lib/api/lr-graphql/index.js +6 -6
  26. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -155
  27. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -213
  28. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -51
  29. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -48
  30. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -18
  31. package/esm2015/lib/api/message.service.js +138 -138
  32. package/esm2015/lib/api/persist.service.js +181 -181
  33. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -93
  34. package/esm2015/lib/api/query-processor/index.js +3 -3
  35. package/esm2015/lib/api/query-processor/query-processor.service.js +262 -262
  36. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -109
  37. package/esm2015/lib/api/shared-contact-card.service.js +119 -119
  38. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -41
  39. package/esm2015/lib/api/shared-contact-card2.service.js +117 -117
  40. package/esm2015/lib/api/time.service.js +146 -146
  41. package/esm2015/lib/api/types/graphql.types.js +7 -7
  42. package/esm2015/lib/api/types/index.js +3 -3
  43. package/esm2015/lib/api/types/lr-graphql.types.js +101 -101
  44. package/esm2015/lib/auth/auth.config.js +57 -57
  45. package/esm2015/lib/auth/auth.gql.js +48 -48
  46. package/esm2015/lib/auth/auth.types.js +27 -27
  47. package/esm2015/lib/auth/idle.service.js +168 -168
  48. package/esm2015/lib/auth/idle.types.js +7 -7
  49. package/esm2015/lib/auth/lbop.service.js +355 -355
  50. package/esm2015/lib/auth/life-ready-auth.service.js +488 -488
  51. package/esm2015/lib/auth/password.service.js +320 -320
  52. package/esm2015/lib/auth/register.service.js +172 -172
  53. package/esm2015/lib/auth/two-factor.service.js +74 -74
  54. package/esm2015/lib/category/category-meta.service.js +99 -99
  55. package/esm2015/lib/category/category.gql.js +406 -406
  56. package/esm2015/lib/category/category.service.js +390 -390
  57. package/esm2015/lib/category/category.types.js +29 -29
  58. package/esm2015/lib/cryptography/cryptography.types.js +11 -11
  59. package/esm2015/lib/cryptography/encryption.service.js +189 -189
  60. package/esm2015/lib/cryptography/key-factory.service.js +237 -237
  61. package/esm2015/lib/cryptography/key-graph.service.js +299 -299
  62. package/esm2015/lib/cryptography/key-meta.service.js +200 -200
  63. package/esm2015/lib/cryptography/key.service.js +124 -124
  64. package/esm2015/lib/cryptography/slip39.service.js +169 -169
  65. package/esm2015/lib/cryptography/web-crypto.service.js +29 -29
  66. package/esm2015/lib/items2/item2.gql.js +139 -139
  67. package/esm2015/lib/items2/item2.service.js +498 -498
  68. package/esm2015/lib/items2/item2.types.js +1 -1
  69. package/esm2015/lib/life-ready.config.js +84 -84
  70. package/esm2015/lib/life-ready.module.js +74 -74
  71. package/esm2015/lib/notification/notification.gql.js +43 -43
  72. package/esm2015/lib/notification/notification.service.js +118 -118
  73. package/esm2015/lib/plan/plan.gql.js +123 -123
  74. package/esm2015/lib/plan/plan.service.js +149 -149
  75. package/esm2015/lib/plan/plan.types.js +11 -11
  76. package/esm2015/lib/record/record-attachment.service.js +101 -101
  77. package/esm2015/lib/record/record.gql.js +179 -179
  78. package/esm2015/lib/record/record.service.js +206 -206
  79. package/esm2015/lib/record/record.types.js +15 -15
  80. package/esm2015/lib/record-type/record-type.service.js +75 -75
  81. package/esm2015/lib/record-type/record-type.types.js +28 -28
  82. package/esm2015/lib/scenario/scenario.constants.js +2 -2
  83. package/esm2015/lib/scenario/scenario.controller.js +34 -34
  84. package/esm2015/lib/scenario/scenario.gql.js +72 -72
  85. package/esm2015/lib/scenario/scenario.gql.private.js +198 -198
  86. package/esm2015/lib/scenario/scenario.service.js +538 -538
  87. package/esm2015/lib/scenario/scenario.types.js +1 -1
  88. package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +22 -22
  89. package/esm2015/lib/trusted-parties/tp-assembly.js +362 -362
  90. package/esm2015/lib/trusted-parties/tp-assembly.types.js +1 -1
  91. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +113 -113
  92. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -129
  93. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -4
  94. package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +34 -34
  95. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +236 -236
  96. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +95 -95
  97. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -148
  98. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -326
  99. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -41
  100. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -87
  101. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -215
  102. package/esm2015/lib/users/profile-details.service.js +214 -214
  103. package/esm2015/lib/users/profile.gql.js +97 -97
  104. package/esm2015/lib/users/profile.service.js +169 -169
  105. package/esm2015/lib/users/profile.types.js +34 -34
  106. package/esm2015/lib/users/user.gql.js +60 -60
  107. package/esm2015/lib/users/user.service.js +79 -79
  108. package/esm2015/lib/users/user.types.js +5 -5
  109. package/esm2015/lifeready-core.js +13 -13
  110. package/esm2015/public-api.js +71 -71
  111. package/fesm2015/lifeready-core.js +12258 -12258
  112. package/fesm2015/lifeready-core.js.map +1 -1
  113. package/lib/_common/ast.d.ts +11 -11
  114. package/lib/_common/deferred-promise.d.ts +12 -12
  115. package/lib/_common/exceptions.d.ts +109 -109
  116. package/lib/_common/queries.gql.d.ts +10 -10
  117. package/lib/_common/run-outside-angular.d.ts +14 -14
  118. package/lib/_common/types.d.ts +10 -10
  119. package/lib/_common/utils.d.ts +9 -9
  120. package/lib/api/contact-card.gql.d.ts +7 -7
  121. package/lib/api/contact-card.service.d.ts +52 -52
  122. package/lib/api/contact-card2.gql.d.ts +34 -34
  123. package/lib/api/contact-card2.service.d.ts +49 -49
  124. package/lib/api/file.service.d.ts +18 -18
  125. package/lib/api/key-exchange.gql.d.ts +9 -9
  126. package/lib/api/key-exchange.service.d.ts +39 -39
  127. package/lib/api/key-exchange.types.d.ts +196 -196
  128. package/lib/api/key-exchange2.gql.d.ts +125 -125
  129. package/lib/api/key-exchange2.service.d.ts +187 -187
  130. package/lib/api/lock.gql.d.ts +27 -27
  131. package/lib/api/lock.service.d.ts +34 -34
  132. package/lib/api/lr-apollo.service.d.ts +15 -15
  133. package/lib/api/lr-graphql/index.d.ts +5 -5
  134. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -60
  135. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +28 -28
  136. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -28
  137. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -8
  138. package/lib/api/lr-graphql/lr.service.d.ts +9 -9
  139. package/lib/api/message.service.d.ts +58 -58
  140. package/lib/api/persist.service.d.ts +31 -31
  141. package/lib/api/query-processor/common-processors.service.d.ts +36 -36
  142. package/lib/api/query-processor/index.d.ts +2 -2
  143. package/lib/api/query-processor/query-processor.service.d.ts +18 -18
  144. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -15
  145. package/lib/api/shared-contact-card.service.d.ts +33 -33
  146. package/lib/api/shared-contact-card2.gql.d.ts +36 -36
  147. package/lib/api/shared-contact-card2.service.d.ts +45 -45
  148. package/lib/api/time.service.d.ts +16 -16
  149. package/lib/api/types/graphql.types.d.ts +29 -29
  150. package/lib/api/types/index.d.ts +2 -2
  151. package/lib/api/types/lr-graphql.types.d.ts +502 -502
  152. package/lib/auth/auth.config.d.ts +5 -5
  153. package/lib/auth/auth.gql.d.ts +15 -15
  154. package/lib/auth/auth.types.d.ts +66 -66
  155. package/lib/auth/idle.service.d.ts +40 -40
  156. package/lib/auth/idle.types.d.ts +10 -10
  157. package/lib/auth/lbop.service.d.ts +91 -91
  158. package/lib/auth/life-ready-auth.service.d.ts +61 -61
  159. package/lib/auth/password.service.d.ts +78 -78
  160. package/lib/auth/register.service.d.ts +25 -25
  161. package/lib/auth/two-factor.service.d.ts +15 -15
  162. package/lib/category/category-meta.service.d.ts +23 -23
  163. package/lib/category/category.gql.d.ts +45 -45
  164. package/lib/category/category.service.d.ts +67 -67
  165. package/lib/category/category.types.d.ts +79 -79
  166. package/lib/cryptography/cryptography.types.d.ts +83 -83
  167. package/lib/cryptography/encryption.service.d.ts +41 -41
  168. package/lib/cryptography/key-factory.service.d.ts +38 -38
  169. package/lib/cryptography/key-graph.service.d.ts +41 -41
  170. package/lib/cryptography/key-meta.service.d.ts +44 -44
  171. package/lib/cryptography/key.service.d.ts +36 -36
  172. package/lib/cryptography/slip39.service.d.ts +43 -43
  173. package/lib/cryptography/web-crypto.service.d.ts +5 -5
  174. package/lib/items2/item2.gql.d.ts +123 -123
  175. package/lib/items2/item2.service.d.ts +203 -203
  176. package/lib/items2/item2.types.d.ts +70 -70
  177. package/lib/life-ready.config.d.ts +14 -14
  178. package/lib/life-ready.module.d.ts +5 -5
  179. package/lib/notification/notification.gql.d.ts +37 -37
  180. package/lib/notification/notification.service.d.ts +63 -63
  181. package/lib/plan/plan.gql.d.ts +11 -11
  182. package/lib/plan/plan.service.d.ts +33 -33
  183. package/lib/plan/plan.types.d.ts +31 -31
  184. package/lib/record/record-attachment.service.d.ts +16 -16
  185. package/lib/record/record.gql.d.ts +14 -14
  186. package/lib/record/record.service.d.ts +25 -25
  187. package/lib/record/record.types.d.ts +57 -57
  188. package/lib/record-type/record-type.service.d.ts +11 -11
  189. package/lib/record-type/record-type.types.d.ts +50 -50
  190. package/lib/scenario/scenario.constants.d.ts +1 -1
  191. package/lib/scenario/scenario.controller.d.ts +10 -10
  192. package/lib/scenario/scenario.gql.d.ts +62 -62
  193. package/lib/scenario/scenario.gql.private.d.ts +16 -16
  194. package/lib/scenario/scenario.service.d.ts +233 -233
  195. package/lib/scenario/scenario.types.d.ts +50 -50
  196. package/lib/trusted-parties/tp-assembly.d.ts +177 -177
  197. package/lib/trusted-parties/tp-assembly.gql.private.d.ts +5 -5
  198. package/lib/trusted-parties/tp-assembly.types.d.ts +38 -38
  199. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -20
  200. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -35
  201. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -3
  202. package/lib/trusted-parties/tp-password-reset.controller.d.ts +10 -10
  203. package/lib/trusted-parties/tp-password-reset.gql.d.ts +223 -223
  204. package/lib/trusted-parties/tp-password-reset.service.d.ts +188 -188
  205. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -9
  206. package/lib/trusted-parties/trusted-party.service.d.ts +44 -44
  207. package/lib/trusted-parties/trusted-party.types.d.ts +102 -102
  208. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -79
  209. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -114
  210. package/lib/users/profile-details.service.d.ts +21 -21
  211. package/lib/users/profile.gql.d.ts +11 -11
  212. package/lib/users/profile.service.d.ts +35 -35
  213. package/lib/users/profile.types.d.ts +96 -96
  214. package/lib/users/user.gql.d.ts +9 -9
  215. package/lib/users/user.service.d.ts +12 -12
  216. package/lib/users/user.types.d.ts +23 -23
  217. package/lifeready-core.d.ts +12 -12
  218. package/package.json +1 -1
  219. 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
+ }