@lifeready/core 1.0.2 → 1.0.3

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