@protontech/drive-sdk 0.2.1 → 0.3.1

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 (165) hide show
  1. package/dist/crypto/interface.d.ts +5 -0
  2. package/dist/diagnostic/httpClient.d.ts +3 -3
  3. package/dist/diagnostic/interface.d.ts +26 -29
  4. package/dist/diagnostic/sdkDiagnostic.js +50 -24
  5. package/dist/diagnostic/sdkDiagnostic.js.map +1 -1
  6. package/dist/errors.d.ts +3 -3
  7. package/dist/errors.js +7 -7
  8. package/dist/errors.js.map +1 -1
  9. package/dist/interface/author.d.ts +1 -1
  10. package/dist/interface/events.d.ts +1 -1
  11. package/dist/interface/events.js.map +1 -1
  12. package/dist/interface/httpClient.d.ts +5 -5
  13. package/dist/interface/index.d.ts +15 -5
  14. package/dist/internal/apiService/apiService.js +12 -4
  15. package/dist/internal/apiService/apiService.js.map +1 -1
  16. package/dist/internal/apiService/errorCodes.d.ts +1 -0
  17. package/dist/internal/apiService/errorCodes.js.map +1 -1
  18. package/dist/internal/apiService/errors.d.ts +4 -3
  19. package/dist/internal/apiService/errors.js +7 -4
  20. package/dist/internal/apiService/errors.js.map +1 -1
  21. package/dist/internal/apiService/errors.test.js +2 -1
  22. package/dist/internal/apiService/errors.test.js.map +1 -1
  23. package/dist/internal/events/index.d.ts +1 -1
  24. package/dist/internal/nodes/apiService.js +3 -0
  25. package/dist/internal/nodes/apiService.js.map +1 -1
  26. package/dist/internal/nodes/apiService.test.js +18 -0
  27. package/dist/internal/nodes/apiService.test.js.map +1 -1
  28. package/dist/internal/nodes/cryptoCache.js +6 -7
  29. package/dist/internal/nodes/cryptoCache.js.map +1 -1
  30. package/dist/internal/nodes/cryptoCache.test.js +4 -7
  31. package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
  32. package/dist/internal/nodes/cryptoService.js +44 -20
  33. package/dist/internal/nodes/cryptoService.js.map +1 -1
  34. package/dist/internal/nodes/nodesAccess.js +2 -2
  35. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  36. package/dist/internal/nodes/nodesManagement.js +0 -2
  37. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  38. package/dist/internal/shares/cryptoCache.d.ts +4 -3
  39. package/dist/internal/shares/cryptoCache.js +23 -6
  40. package/dist/internal/shares/cryptoCache.js.map +1 -1
  41. package/dist/internal/shares/cryptoCache.test.js +3 -2
  42. package/dist/internal/shares/cryptoCache.test.js.map +1 -1
  43. package/dist/internal/shares/index.js +1 -1
  44. package/dist/internal/shares/index.js.map +1 -1
  45. package/dist/internal/sharing/cryptoService.js +8 -6
  46. package/dist/internal/sharing/cryptoService.js.map +1 -1
  47. package/dist/internal/sharing/cryptoService.test.js +13 -0
  48. package/dist/internal/sharing/cryptoService.test.js.map +1 -1
  49. package/dist/internal/sharing/index.js +1 -1
  50. package/dist/internal/sharing/index.js.map +1 -1
  51. package/dist/internal/sharing/interface.d.ts +0 -4
  52. package/dist/internal/sharing/sharingAccess.d.ts +1 -0
  53. package/dist/internal/sharing/sharingAccess.js +6 -1
  54. package/dist/internal/sharing/sharingAccess.js.map +1 -1
  55. package/dist/internal/sharing/sharingAccess.test.js +3 -3
  56. package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
  57. package/dist/internal/sharing/sharingManagement.d.ts +3 -1
  58. package/dist/internal/sharing/sharingManagement.js +37 -17
  59. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  60. package/dist/internal/sharing/sharingManagement.test.js +61 -14
  61. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  62. package/dist/internal/sharingPublic/apiService.d.ts +19 -0
  63. package/dist/internal/sharingPublic/apiService.js +134 -0
  64. package/dist/internal/sharingPublic/apiService.js.map +1 -0
  65. package/dist/internal/sharingPublic/cryptoCache.d.ts +19 -0
  66. package/dist/internal/sharingPublic/cryptoCache.js +72 -0
  67. package/dist/internal/sharingPublic/cryptoCache.js.map +1 -0
  68. package/dist/internal/sharingPublic/cryptoService.d.ts +23 -0
  69. package/dist/internal/sharingPublic/cryptoService.js +120 -0
  70. package/dist/internal/sharingPublic/cryptoService.js.map +1 -0
  71. package/dist/internal/sharingPublic/index.d.ts +15 -0
  72. package/dist/internal/sharingPublic/index.js +27 -0
  73. package/dist/internal/sharingPublic/index.js.map +1 -0
  74. package/dist/internal/sharingPublic/interface.d.ts +48 -0
  75. package/dist/internal/sharingPublic/interface.js +3 -0
  76. package/dist/internal/sharingPublic/interface.js.map +1 -0
  77. package/dist/internal/sharingPublic/manager.d.ts +19 -0
  78. package/dist/internal/sharingPublic/manager.js +79 -0
  79. package/dist/internal/sharingPublic/manager.js.map +1 -0
  80. package/dist/internal/sharingPublic/session/apiService.d.ts +28 -0
  81. package/dist/internal/sharingPublic/session/apiService.js +55 -0
  82. package/dist/internal/sharingPublic/session/apiService.js.map +1 -0
  83. package/dist/internal/sharingPublic/session/httpClient.d.ts +16 -0
  84. package/dist/internal/sharingPublic/session/httpClient.js +41 -0
  85. package/dist/internal/sharingPublic/session/httpClient.js.map +1 -0
  86. package/dist/internal/sharingPublic/session/index.d.ts +1 -0
  87. package/dist/internal/sharingPublic/session/index.js +6 -0
  88. package/dist/internal/sharingPublic/session/index.js.map +1 -0
  89. package/dist/internal/sharingPublic/session/interface.d.ts +18 -0
  90. package/dist/internal/sharingPublic/session/interface.js +3 -0
  91. package/dist/internal/sharingPublic/session/interface.js.map +1 -0
  92. package/dist/internal/sharingPublic/session/manager.d.ts +49 -0
  93. package/dist/internal/sharingPublic/session/manager.js +75 -0
  94. package/dist/internal/sharingPublic/session/manager.js.map +1 -0
  95. package/dist/internal/sharingPublic/session/session.d.ts +34 -0
  96. package/dist/internal/sharingPublic/session/session.js +67 -0
  97. package/dist/internal/sharingPublic/session/session.js.map +1 -0
  98. package/dist/internal/sharingPublic/session/url.d.ts +12 -0
  99. package/dist/internal/sharingPublic/session/url.js +23 -0
  100. package/dist/internal/sharingPublic/session/url.js.map +1 -0
  101. package/dist/internal/sharingPublic/session/url.test.d.ts +1 -0
  102. package/dist/internal/sharingPublic/session/url.test.js +59 -0
  103. package/dist/internal/sharingPublic/session/url.test.js.map +1 -0
  104. package/dist/internal/upload/manager.js +1 -3
  105. package/dist/internal/upload/manager.js.map +1 -1
  106. package/dist/internal/upload/manager.test.js +2 -2
  107. package/dist/internal/upload/manager.test.js.map +1 -1
  108. package/dist/protonDriveClient.d.ts +25 -10
  109. package/dist/protonDriveClient.js +44 -22
  110. package/dist/protonDriveClient.js.map +1 -1
  111. package/dist/protonDrivePublicLinkClient.d.ts +48 -0
  112. package/dist/protonDrivePublicLinkClient.js +71 -0
  113. package/dist/protonDrivePublicLinkClient.js.map +1 -0
  114. package/package.json +1 -1
  115. package/src/crypto/interface.ts +11 -0
  116. package/src/diagnostic/httpClient.ts +4 -4
  117. package/src/diagnostic/interface.ts +27 -29
  118. package/src/diagnostic/sdkDiagnostic.ts +58 -30
  119. package/src/errors.ts +5 -5
  120. package/src/interface/author.ts +1 -1
  121. package/src/interface/events.ts +1 -7
  122. package/src/interface/httpClient.ts +5 -5
  123. package/src/interface/index.ts +18 -6
  124. package/src/internal/apiService/apiService.ts +13 -4
  125. package/src/internal/apiService/errorCodes.ts +1 -0
  126. package/src/internal/apiService/errors.test.ts +2 -1
  127. package/src/internal/apiService/errors.ts +15 -4
  128. package/src/internal/events/index.ts +1 -1
  129. package/src/internal/nodes/apiService.test.ts +28 -0
  130. package/src/internal/nodes/apiService.ts +3 -0
  131. package/src/internal/nodes/cryptoCache.test.ts +4 -7
  132. package/src/internal/nodes/cryptoCache.ts +6 -7
  133. package/src/internal/nodes/cryptoService.ts +68 -34
  134. package/src/internal/nodes/interface.ts +2 -0
  135. package/src/internal/nodes/nodesAccess.ts +2 -2
  136. package/src/internal/nodes/nodesManagement.ts +0 -3
  137. package/src/internal/shares/cryptoCache.test.ts +3 -2
  138. package/src/internal/shares/cryptoCache.ts +26 -7
  139. package/src/internal/shares/index.ts +1 -1
  140. package/src/internal/sharing/cryptoService.test.ts +22 -1
  141. package/src/internal/sharing/cryptoService.ts +8 -6
  142. package/src/internal/sharing/index.ts +1 -0
  143. package/src/internal/sharing/interface.ts +0 -4
  144. package/src/internal/sharing/sharingAccess.test.ts +4 -4
  145. package/src/internal/sharing/sharingAccess.ts +6 -0
  146. package/src/internal/sharing/sharingManagement.test.ts +87 -24
  147. package/src/internal/sharing/sharingManagement.ts +56 -16
  148. package/src/internal/sharingPublic/apiService.ts +164 -0
  149. package/src/internal/sharingPublic/cryptoCache.ts +79 -0
  150. package/src/internal/sharingPublic/cryptoService.ts +162 -0
  151. package/src/internal/sharingPublic/index.ts +40 -0
  152. package/src/internal/sharingPublic/interface.ts +59 -0
  153. package/src/internal/sharingPublic/manager.ts +85 -0
  154. package/src/internal/sharingPublic/session/apiService.ts +74 -0
  155. package/src/internal/sharingPublic/session/httpClient.ts +48 -0
  156. package/src/internal/sharingPublic/session/index.ts +1 -0
  157. package/src/internal/sharingPublic/session/interface.ts +20 -0
  158. package/src/internal/sharingPublic/session/manager.ts +97 -0
  159. package/src/internal/sharingPublic/session/session.ts +78 -0
  160. package/src/internal/sharingPublic/session/url.test.ts +72 -0
  161. package/src/internal/sharingPublic/session/url.ts +23 -0
  162. package/src/internal/upload/manager.test.ts +2 -2
  163. package/src/internal/upload/manager.ts +2 -4
  164. package/src/protonDriveClient.ts +64 -27
  165. package/src/protonDrivePublicLinkClient.ts +121 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sharingManagement.test.js","sourceRoot":"","sources":["../../../src/internal/sharing/sharingManagement.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sharingManagement.test.js","sourceRoot":"","sources":["../../../src/internal/sharing/sharingManagement.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { DriveAPIService } from '../apiService';
2
+ import { Logger } from '../../interface';
3
+ import { EncryptedShareCrypto, EncryptedNode } from './interface';
4
+ /**
5
+ * Provides API communication for accessing public link data.
6
+ *
7
+ * The service is responsible for transforming local objects to API payloads
8
+ * and vice versa. It should not contain any business logic.
9
+ */
10
+ export declare class SharingPublicAPIService {
11
+ private logger;
12
+ private apiService;
13
+ constructor(logger: Logger, apiService: DriveAPIService);
14
+ getPublicLinkRoot(token: string): Promise<{
15
+ encryptedNode: EncryptedNode;
16
+ encryptedShare: EncryptedShareCrypto;
17
+ }>;
18
+ iterateChildren(parentUid: string): AsyncGenerator<EncryptedNode>;
19
+ }
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SharingPublicAPIService = void 0;
4
+ const apiService_1 = require("../apiService");
5
+ const uids_1 = require("../uids");
6
+ const PAGE_SIZE = 50;
7
+ /**
8
+ * Provides API communication for accessing public link data.
9
+ *
10
+ * The service is responsible for transforming local objects to API payloads
11
+ * and vice versa. It should not contain any business logic.
12
+ */
13
+ class SharingPublicAPIService {
14
+ logger;
15
+ apiService;
16
+ constructor(logger, apiService) {
17
+ this.logger = logger;
18
+ this.apiService = apiService;
19
+ this.logger = logger;
20
+ this.apiService = apiService;
21
+ }
22
+ async getPublicLinkRoot(token) {
23
+ const response = await this.apiService.get(`drive/urls/${token}`);
24
+ const encryptedNode = tokenToEncryptedNode(this.logger, response.Token);
25
+ return {
26
+ encryptedNode: encryptedNode,
27
+ encryptedShare: {
28
+ base64UrlPasswordSalt: response.Token.SharePasswordSalt,
29
+ armoredKey: response.Token.ShareKey,
30
+ armoredPassphrase: response.Token.SharePassphrase,
31
+ },
32
+ };
33
+ }
34
+ async *iterateChildren(parentUid) {
35
+ const { volumeId: token, nodeId } = (0, uids_1.splitNodeUid)(parentUid);
36
+ let page = 0;
37
+ while (true) {
38
+ const response = await this.apiService.get(`drive/urls/${token}/folders/${nodeId}/children?Page=${page}&PageSize=${PAGE_SIZE}`);
39
+ for (const link of response.Links) {
40
+ yield linkToEncryptedNode(this.logger, token, link);
41
+ }
42
+ if (response.Links.length < PAGE_SIZE) {
43
+ break;
44
+ }
45
+ page++;
46
+ }
47
+ }
48
+ }
49
+ exports.SharingPublicAPIService = SharingPublicAPIService;
50
+ function tokenToEncryptedNode(logger, token) {
51
+ const baseNodeMetadata = {
52
+ // Internal metadata
53
+ encryptedName: token.Name,
54
+ // Basic node metadata
55
+ uid: (0, uids_1.makeNodeUid)(token.Token, token.LinkID),
56
+ parentUid: undefined,
57
+ type: (0, apiService_1.nodeTypeNumberToNodeType)(logger, token.LinkType),
58
+ };
59
+ const baseCryptoNodeMetadata = {
60
+ signatureEmail: token.SignatureEmail || undefined,
61
+ armoredKey: token.NodeKey,
62
+ armoredNodePassphrase: token.NodePassphrase,
63
+ armoredNodePassphraseSignature: token.NodePassphraseSignature || undefined,
64
+ };
65
+ if (token.LinkType === 1 && token.NodeHashKey) {
66
+ return {
67
+ ...baseNodeMetadata,
68
+ encryptedCrypto: {
69
+ ...baseCryptoNodeMetadata,
70
+ folder: {
71
+ armoredHashKey: token.NodeHashKey,
72
+ },
73
+ },
74
+ };
75
+ }
76
+ if (token.LinkType === 2 && token.ContentKeyPacket) {
77
+ return {
78
+ ...baseNodeMetadata,
79
+ totalStorageSize: token.Size || undefined,
80
+ mediaType: token.MIMEType || undefined,
81
+ encryptedCrypto: {
82
+ ...baseCryptoNodeMetadata,
83
+ file: {
84
+ base64ContentKeyPacket: token.ContentKeyPacket,
85
+ },
86
+ },
87
+ };
88
+ }
89
+ throw new Error(`Unknown node type: ${token.LinkType}`);
90
+ }
91
+ function linkToEncryptedNode(logger, token, link) {
92
+ const baseNodeMetadata = {
93
+ // Internal metadata
94
+ hash: link.Hash || undefined,
95
+ encryptedName: link.Name,
96
+ // Basic node metadata
97
+ uid: (0, uids_1.makeNodeUid)(token, link.LinkID),
98
+ parentUid: link.ParentLinkID ? (0, uids_1.makeNodeUid)(token, link.ParentLinkID) : undefined,
99
+ type: (0, apiService_1.nodeTypeNumberToNodeType)(logger, link.Type),
100
+ totalStorageSize: link.TotalSize,
101
+ };
102
+ const baseCryptoNodeMetadata = {
103
+ signatureEmail: link.SignatureEmail || undefined,
104
+ armoredKey: link.NodeKey,
105
+ armoredNodePassphrase: link.NodePassphrase,
106
+ armoredNodePassphraseSignature: link.NodePassphraseSignature || undefined,
107
+ };
108
+ if (link.Type === 1 && link.FolderProperties) {
109
+ return {
110
+ ...baseNodeMetadata,
111
+ encryptedCrypto: {
112
+ ...baseCryptoNodeMetadata,
113
+ folder: {
114
+ armoredHashKey: link.FolderProperties.NodeHashKey,
115
+ },
116
+ },
117
+ };
118
+ }
119
+ if (link.Type === 2 && link.FileProperties?.ContentKeyPacket) {
120
+ return {
121
+ ...baseNodeMetadata,
122
+ totalStorageSize: link.FileProperties.ActiveRevision?.Size || undefined,
123
+ mediaType: link.MIMEType || undefined,
124
+ encryptedCrypto: {
125
+ ...baseCryptoNodeMetadata,
126
+ file: {
127
+ base64ContentKeyPacket: link.FileProperties.ContentKeyPacket,
128
+ },
129
+ },
130
+ };
131
+ }
132
+ throw new Error(`Unknown node type: ${link.Type}`);
133
+ }
134
+ //# sourceMappingURL=apiService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiService.js","sourceRoot":"","sources":["../../../src/internal/sharingPublic/apiService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { PrivateKey } from '../../crypto';
2
+ import { ProtonDriveCryptoCache, Logger } from '../../interface';
3
+ import { DecryptedNodeKeys } from './interface';
4
+ /**
5
+ * Provides caching for public link crypto material.
6
+ *
7
+ * The cache is responsible for serialising and deserialising public link
8
+ * crypto material.
9
+ */
10
+ export declare class SharingPublicCryptoCache {
11
+ private logger;
12
+ private driveCache;
13
+ constructor(logger: Logger, driveCache: ProtonDriveCryptoCache);
14
+ setShareKey(shareKey: PrivateKey): Promise<void>;
15
+ getShareKey(): Promise<PrivateKey>;
16
+ setNodeKeys(nodeUid: string, keys: DecryptedNodeKeys): Promise<void>;
17
+ getNodeKeys(nodeUid: string): Promise<DecryptedNodeKeys>;
18
+ removeNodeKeys(nodeUids: string[]): Promise<void>;
19
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SharingPublicCryptoCache = void 0;
4
+ /**
5
+ * Provides caching for public link crypto material.
6
+ *
7
+ * The cache is responsible for serialising and deserialising public link
8
+ * crypto material.
9
+ */
10
+ class SharingPublicCryptoCache {
11
+ logger;
12
+ driveCache;
13
+ constructor(logger, driveCache) {
14
+ this.logger = logger;
15
+ this.driveCache = driveCache;
16
+ this.logger = logger;
17
+ this.driveCache = driveCache;
18
+ }
19
+ async setShareKey(shareKey) {
20
+ await this.driveCache.setEntity(getShareKeyCacheKey(), {
21
+ publicShareKey: {
22
+ key: shareKey,
23
+ },
24
+ });
25
+ }
26
+ async getShareKey() {
27
+ const shareKeyData = await this.driveCache.getEntity(getShareKeyCacheKey());
28
+ if (!shareKeyData.publicShareKey) {
29
+ try {
30
+ await this.driveCache.removeEntities([getShareKeyCacheKey()]);
31
+ }
32
+ catch (removingError) {
33
+ this.logger.warn(`Failed to remove corrupted public share key from the cache: ${removingError instanceof Error ? removingError.message : removingError}`);
34
+ }
35
+ throw new Error('Failed to deserialize public share key');
36
+ }
37
+ return shareKeyData.publicShareKey.key;
38
+ }
39
+ async setNodeKeys(nodeUid, keys) {
40
+ const cacheUid = getNodeCacheKey(nodeUid);
41
+ await this.driveCache.setEntity(cacheUid, {
42
+ nodeKeys: keys,
43
+ });
44
+ }
45
+ async getNodeKeys(nodeUid) {
46
+ const nodeKeysData = await this.driveCache.getEntity(getNodeCacheKey(nodeUid));
47
+ if (!nodeKeysData.nodeKeys) {
48
+ try {
49
+ await this.removeNodeKeys([nodeUid]);
50
+ }
51
+ catch (removingError) {
52
+ // The node keys will not be returned, thus SDK will re-fetch
53
+ // and re-cache it. Setting it again should then fix the problem.
54
+ this.logger.warn(`Failed to remove corrupted public node keys from the cache: ${removingError instanceof Error ? removingError.message : removingError}`);
55
+ }
56
+ throw new Error(`Failed to deserialize public node keys`);
57
+ }
58
+ return nodeKeysData.nodeKeys;
59
+ }
60
+ async removeNodeKeys(nodeUids) {
61
+ const cacheUids = nodeUids.map(getNodeCacheKey);
62
+ await this.driveCache.removeEntities(cacheUids);
63
+ }
64
+ }
65
+ exports.SharingPublicCryptoCache = SharingPublicCryptoCache;
66
+ function getShareKeyCacheKey() {
67
+ return 'publicShareKey';
68
+ }
69
+ function getNodeCacheKey(nodeUid) {
70
+ return `publicNodeKeys-${nodeUid}`;
71
+ }
72
+ //# sourceMappingURL=cryptoCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cryptoCache.js","sourceRoot":"","sources":["../../../src/internal/sharingPublic/cryptoCache.ts"],"names":[],"mappings":";;;AAIA;;;;;GAKG;AACH,MAAa,wBAAwB;IAErB;IACA;IAFZ,YACY,MAAc,EACd,UAAkC;QADlC,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAwB;QAE1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAoB;QAClC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,mBAAmB,EAAE,EAAE;YACnD,cAAc,EAAE;gBACZ,GAAG,EAAE,QAAQ;aAChB;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,aAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,+DAA+D,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAC1I,CAAC;YACN,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,IAAuB;QACtD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE;YACtC,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC7B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,aAAsB,EAAE,CAAC;gBAC9B,6DAA6D;gBAC7D,iEAAiE;gBACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,+DAA+D,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAC1I,CAAC;YACN,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAkB;QACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACJ;AA5DD,4DA4DC;AAED,SAAS,mBAAmB;IACxB,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACpC,OAAO,kBAAkB,OAAO,EAAE,CAAC;AACvC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { DriveCrypto, PrivateKey } from '../../crypto';
2
+ import { EncryptedShareCrypto, EncryptedNode, DecryptedNode, DecryptedNodeKeys } from './interface';
3
+ /**
4
+ * Provides crypto operations for public link data.
5
+ *
6
+ * The public link crypto service is responsible for decrypting and encrypting
7
+ * public link data. It should export high-level actions only, such as "decrypt
8
+ * share key" instead of low-level operations like "decrypt key". Low-level
9
+ * operations should be kept private to the module.
10
+ */
11
+ export declare class SharingPublicCryptoService {
12
+ private driveCrypto;
13
+ private password;
14
+ constructor(driveCrypto: DriveCrypto, password: string);
15
+ decryptShareKey(encryptedShare: EncryptedShareCrypto): Promise<PrivateKey>;
16
+ decryptNode(node: EncryptedNode, parentKey: PrivateKey): Promise<{
17
+ node: DecryptedNode;
18
+ keys?: DecryptedNodeKeys;
19
+ }>;
20
+ private decryptKey;
21
+ private decryptName;
22
+ private decryptHashKey;
23
+ }
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SharingPublicCryptoService = void 0;
4
+ const interface_1 = require("../../interface");
5
+ const errors_1 = require("../errors");
6
+ /**
7
+ * Provides crypto operations for public link data.
8
+ *
9
+ * The public link crypto service is responsible for decrypting and encrypting
10
+ * public link data. It should export high-level actions only, such as "decrypt
11
+ * share key" instead of low-level operations like "decrypt key". Low-level
12
+ * operations should be kept private to the module.
13
+ */
14
+ class SharingPublicCryptoService {
15
+ driveCrypto;
16
+ password;
17
+ constructor(driveCrypto, password) {
18
+ this.driveCrypto = driveCrypto;
19
+ this.password = password;
20
+ this.driveCrypto = driveCrypto;
21
+ this.password = password;
22
+ }
23
+ async decryptShareKey(encryptedShare) {
24
+ const { key: shareKey } = await this.driveCrypto.decryptKeyWithSrpPassword(this.password, encryptedShare.base64UrlPasswordSalt, encryptedShare.armoredKey, encryptedShare.armoredPassphrase);
25
+ return shareKey;
26
+ }
27
+ // TODO: verfiy it has all needed
28
+ async decryptNode(node, parentKey) {
29
+ const commonNodeMetadata = {
30
+ ...node,
31
+ encryptedCrypto: undefined,
32
+ };
33
+ const { name } = await this.decryptName(node, parentKey);
34
+ let passphrase, key, passphraseSessionKey;
35
+ try {
36
+ const keyResult = await this.decryptKey(node, parentKey);
37
+ passphrase = keyResult.passphrase;
38
+ key = keyResult.key;
39
+ passphraseSessionKey = keyResult.passphraseSessionKey;
40
+ }
41
+ catch (error) {
42
+ return {
43
+ node: {
44
+ ...commonNodeMetadata,
45
+ name,
46
+ errors: [error],
47
+ },
48
+ };
49
+ }
50
+ const errors = [];
51
+ let hashKey;
52
+ if ('folder' in node.encryptedCrypto) {
53
+ try {
54
+ const hashKeyResult = await this.decryptHashKey(node, key);
55
+ hashKey = hashKeyResult.hashKey;
56
+ }
57
+ catch (error) {
58
+ errors.push(error);
59
+ }
60
+ }
61
+ let contentKeyPacketSessionKey;
62
+ if ('file' in node.encryptedCrypto) {
63
+ try {
64
+ const keySessionKeyResult = await this.driveCrypto.decryptAndVerifySessionKey(node.encryptedCrypto.file.base64ContentKeyPacket, '', key, []);
65
+ contentKeyPacketSessionKey = keySessionKeyResult.sessionKey;
66
+ }
67
+ catch (error) {
68
+ errors.push(error);
69
+ }
70
+ }
71
+ return {
72
+ node: {
73
+ ...commonNodeMetadata,
74
+ name,
75
+ errors: errors.length ? errors : undefined,
76
+ },
77
+ keys: {
78
+ passphrase,
79
+ key,
80
+ passphraseSessionKey,
81
+ contentKeyPacketSessionKey,
82
+ hashKey,
83
+ },
84
+ };
85
+ }
86
+ async decryptKey(node, parentKey) {
87
+ const key = await this.driveCrypto.decryptKey(node.encryptedCrypto.armoredKey, node.encryptedCrypto.armoredNodePassphrase, '', [parentKey], []);
88
+ return {
89
+ passphrase: key.passphrase,
90
+ key: key.key,
91
+ passphraseSessionKey: key.passphraseSessionKey,
92
+ };
93
+ }
94
+ async decryptName(node, parentKey) {
95
+ try {
96
+ const { name } = await this.driveCrypto.decryptNodeName(node.encryptedName, parentKey, []);
97
+ return {
98
+ name: (0, interface_1.resultOk)(name),
99
+ };
100
+ }
101
+ catch (error) {
102
+ const errorMessage = (0, errors_1.getErrorMessage)(error);
103
+ return {
104
+ name: (0, interface_1.resultError)(new Error(errorMessage)),
105
+ };
106
+ }
107
+ }
108
+ async decryptHashKey(node, nodeKey) {
109
+ if (!('folder' in node.encryptedCrypto)) {
110
+ // This is developer error.
111
+ throw new Error('Node is not a folder');
112
+ }
113
+ const { hashKey } = await this.driveCrypto.decryptNodeHashKey(node.encryptedCrypto.folder.armoredHashKey, nodeKey, []);
114
+ return {
115
+ hashKey,
116
+ };
117
+ }
118
+ }
119
+ exports.SharingPublicCryptoService = SharingPublicCryptoService;
120
+ //# sourceMappingURL=cryptoService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cryptoService.js","sourceRoot":"","sources":["../../../src/internal/sharingPublic/cryptoService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { DriveCrypto } from '../../crypto';
2
+ import { ProtonDriveCryptoCache, ProtonDriveTelemetry } from '../../interface';
3
+ import { DriveAPIService } from '../apiService';
4
+ import { SharingPublicManager } from './manager';
5
+ export { SharingPublicSessionManager } from './session/manager';
6
+ /**
7
+ * Provides facade for the whole sharing public module.
8
+ *
9
+ * The sharing public module is responsible for handling public link data, including
10
+ * API communication, encryption, decryption, and caching.
11
+ *
12
+ * This facade provides internal interface that other modules can use to
13
+ * interact with the public links.
14
+ */
15
+ export declare function initSharingPublicModule(telemetry: ProtonDriveTelemetry, apiService: DriveAPIService, driveCryptoCache: ProtonDriveCryptoCache, driveCrypto: DriveCrypto, token: string, password: string): SharingPublicManager;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SharingPublicSessionManager = void 0;
4
+ exports.initSharingPublicModule = initSharingPublicModule;
5
+ const apiService_1 = require("./apiService");
6
+ const cryptoCache_1 = require("./cryptoCache");
7
+ const cryptoService_1 = require("./cryptoService");
8
+ const manager_1 = require("./manager");
9
+ var manager_2 = require("./session/manager");
10
+ Object.defineProperty(exports, "SharingPublicSessionManager", { enumerable: true, get: function () { return manager_2.SharingPublicSessionManager; } });
11
+ /**
12
+ * Provides facade for the whole sharing public module.
13
+ *
14
+ * The sharing public module is responsible for handling public link data, including
15
+ * API communication, encryption, decryption, and caching.
16
+ *
17
+ * This facade provides internal interface that other modules can use to
18
+ * interact with the public links.
19
+ */
20
+ function initSharingPublicModule(telemetry, apiService, driveCryptoCache, driveCrypto, token, password) {
21
+ const api = new apiService_1.SharingPublicAPIService(telemetry.getLogger('sharingPublic-api'), apiService);
22
+ const cryptoCache = new cryptoCache_1.SharingPublicCryptoCache(telemetry.getLogger('sharingPublic-crypto'), driveCryptoCache);
23
+ const cryptoService = new cryptoService_1.SharingPublicCryptoService(driveCrypto, password);
24
+ const manager = new manager_1.SharingPublicManager(telemetry.getLogger('sharingPublic-nodes'), api, cryptoCache, cryptoService, token);
25
+ return manager;
26
+ }
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/sharingPublic/index.ts"],"names":[],"mappings":";;;AAmBA,0DAoBC;AApCD,6CAAuD;AACvD,+CAAyD;AACzD,mDAA6D;AAC7D,uCAAiD;AAEjD,6CAAgE;AAAvD,sHAAA,2BAA2B,OAAA;AAEpC;;;;;;;;GAQG;AACH,SAAgB,uBAAuB,CACnC,SAA+B,EAC/B,UAA2B,EAC3B,gBAAwC,EACxC,WAAwB,EACxB,KAAa,EACb,QAAgB;IAEhB,MAAM,GAAG,GAAG,IAAI,oCAAuB,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9F,MAAM,WAAW,GAAG,IAAI,sCAAwB,CAAC,SAAS,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAChH,MAAM,aAAa,GAAG,IAAI,0CAA0B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAI,8BAAoB,CACpC,SAAS,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAC1C,GAAG,EACH,WAAW,EACX,aAAa,EACb,KAAK,CACR,CAAC;IAEF,OAAO,OAAO,CAAC;AACnB,CAAC"}