@secrecy/lib 1.0.0-dev.25 → 1.0.0-dev.28

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 (155) hide show
  1. package/dist/BaseClient.d.ts +274 -0
  2. package/dist/BaseClient.js +2227 -0
  3. package/dist/PopupTools.d.ts +17 -0
  4. package/dist/PopupTools.js +213 -0
  5. package/dist/ZeusThunder.d.ts +2 -0
  6. package/dist/ZeusThunder.js +113 -0
  7. package/dist/cache.d.ts +7 -0
  8. package/dist/cache.js +5 -0
  9. package/dist/client/admin/index.d.ts +11 -0
  10. package/dist/client/admin/index.js +198 -0
  11. package/dist/client/convert/file.d.ts +5 -0
  12. package/dist/client/convert/file.js +39 -0
  13. package/dist/client/convert/folder.d.ts +8 -0
  14. package/dist/client/convert/folder.js +264 -0
  15. package/dist/client/convert/mail.d.ts +3 -0
  16. package/dist/client/convert/mail.js +46 -0
  17. package/dist/client/convert/vFile.d.ts +5 -0
  18. package/dist/client/convert/vFile.js +164 -0
  19. package/dist/client/helpers.d.ts +23 -0
  20. package/dist/client/helpers.js +114 -0
  21. package/dist/client/index.d.ts +172 -0
  22. package/dist/client/index.js +6169 -0
  23. package/dist/client/storage.d.ts +7 -0
  24. package/dist/client/storage.js +12 -0
  25. package/dist/client/types/File.d.ts +21 -0
  26. package/dist/client/types/File.js +3 -0
  27. package/dist/client/types/FilesOnUsersOnApplications.d.ts +9 -0
  28. package/dist/client/types/FilesOnUsersOnApplications.js +3 -0
  29. package/dist/client/types/Folder.d.ts +68 -0
  30. package/dist/client/types/Folder.js +7 -0
  31. package/dist/client/types/Inputs.d.ts +21 -0
  32. package/dist/client/types/Inputs.js +3 -0
  33. package/dist/client/types/UserAppNotifications.d.ts +6 -0
  34. package/dist/client/types/UserAppNotifications.js +3 -0
  35. package/dist/client/types/UserAppSettings.d.ts +7 -0
  36. package/dist/client/types/UserAppSettings.js +3 -0
  37. package/dist/client/types/VFile.d.ts +62 -0
  38. package/dist/client/types/VFile.js +4 -0
  39. package/dist/client/types/index.d.ts +154 -0
  40. package/dist/client/types/index.js +10 -0
  41. package/dist/client/types/queries.d.ts +535 -0
  42. package/dist/client/types/queries.js +192 -0
  43. package/dist/crypto/file.d.ts +14 -0
  44. package/dist/crypto/file.js +291 -0
  45. package/dist/crypto/index.d.ts +12 -0
  46. package/dist/crypto/index.js +45 -0
  47. package/dist/error.d.ts +30 -0
  48. package/dist/error.js +3 -0
  49. package/dist/index.d.ts +13 -3857
  50. package/dist/index.js +42 -255
  51. package/dist/minify/index.d.ts +2 -0
  52. package/dist/minify/index.js +28 -0
  53. package/dist/minify/lz4.d.ts +5 -0
  54. package/dist/minify/lz4.js +633 -0
  55. package/dist/sodium.d.ts +3 -0
  56. package/dist/sodium.js +28 -0
  57. package/dist/utils/store-buddy.d.ts +14 -0
  58. package/dist/utils/store-buddy.js +69 -0
  59. package/dist/utils/time.d.ts +10 -0
  60. package/dist/utils/time.js +22 -0
  61. package/dist/utils.d.ts +4 -0
  62. package/dist/utils.js +188 -0
  63. package/dist/worker/__mock__/sodium.worker.d.ts +19 -0
  64. package/dist/worker/__mock__/sodium.worker.js +46 -0
  65. package/dist/worker/md5.d.ts +1 -0
  66. package/dist/worker/md5.js +43 -0
  67. package/dist/worker/sodium.d.ts +3 -0
  68. package/dist/worker/sodium.js +155 -0
  69. package/dist/worker/workerCodes.d.ts +2 -0
  70. package/dist/worker/workerCodes.js +3 -0
  71. package/dist/zeus/const.d.ts +2 -0
  72. package/dist/zeus/const.js +2267 -0
  73. package/dist/zeus/index.d.ts +4043 -0
  74. package/dist/zeus/index.js +549 -0
  75. package/package.json +24 -16
  76. package/CHANGELOG.md +0 -178
  77. package/__tests__/client/client.test.ts +0 -81
  78. package/__tests__/client/folder.test.ts +0 -302
  79. package/__tests__/client/mail.test.ts +0 -476
  80. package/__tests__/client/timing.test.ts +0 -35
  81. package/__tests__/client/utils.ts +0 -41
  82. package/__tests__/client/vFile.test.ts +0 -207
  83. package/__tests__/index.test.ts +0 -171
  84. package/commitlint.config.cjs +0 -3
  85. package/dist/index.js.map +0 -1
  86. package/dist/index.mjs +0 -255
  87. package/dist/index.mjs.map +0 -1
  88. package/docs/assets/css/main.css +0 -2660
  89. package/docs/assets/images/icons.png +0 -0
  90. package/docs/assets/images/icons@2x.png +0 -0
  91. package/docs/assets/images/widgets.png +0 -0
  92. package/docs/assets/images/widgets@2x.png +0 -0
  93. package/docs/assets/js/main.js +0 -248
  94. package/docs/assets/js/search.js +0 -1
  95. package/docs/classes/baseclient.baseclient-1.html +0 -1165
  96. package/docs/classes/client.secrecyclient.html +0 -2527
  97. package/docs/enums/index.sodium.base64_variants.html +0 -205
  98. package/docs/index.html +0 -198
  99. package/docs/interfaces/client_types.draftmail.html +0 -335
  100. package/docs/interfaces/client_types.filecontentbase.html +0 -231
  101. package/docs/interfaces/client_types.filecontentcloud.html +0 -244
  102. package/docs/interfaces/client_types.filecontentreceivedmail.html +0 -244
  103. package/docs/interfaces/client_types.filecontentsentmail.html +0 -230
  104. package/docs/interfaces/client_types.receivedmail.html +0 -363
  105. package/docs/interfaces/client_types.sentmail.html +0 -335
  106. package/docs/interfaces/crypto.keypair.html +0 -202
  107. package/docs/interfaces/index.sodium.cryptobox.html +0 -185
  108. package/docs/interfaces/index.sodium.cryptokx.html +0 -185
  109. package/docs/interfaces/index.sodium.keypair.html +0 -199
  110. package/docs/interfaces/index.sodium.messagetag.html +0 -185
  111. package/docs/interfaces/index.sodium.secretbox.html +0 -185
  112. package/docs/interfaces/index.sodium.stateaddress.html +0 -171
  113. package/docs/interfaces/index.sodium.stringcryptobox.html +0 -185
  114. package/docs/interfaces/index.sodium.stringcryptokx.html +0 -185
  115. package/docs/interfaces/index.sodium.stringkeypair.html +0 -199
  116. package/docs/interfaces/index.sodium.stringmessagetag.html +0 -185
  117. package/docs/interfaces/index.sodium.stringsecretbox.html +0 -185
  118. package/docs/interfaces/utils_store_buddy.storebuddy.html +0 -333
  119. package/docs/modules/baseclient.html +0 -929
  120. package/docs/modules/cache.html +0 -185
  121. package/docs/modules/client.html +0 -207
  122. package/docs/modules/client_convert_file.html +0 -216
  123. package/docs/modules/client_convert_folder.html +0 -303
  124. package/docs/modules/client_convert_vfile.html +0 -216
  125. package/docs/modules/client_helpers.html +0 -311
  126. package/docs/modules/client_storage.html +0 -167
  127. package/docs/modules/client_types.html +0 -1227
  128. package/docs/modules/client_types_file.html +0 -233
  129. package/docs/modules/client_types_filesonusersonapplications.html +0 -168
  130. package/docs/modules/client_types_folder.html +0 -383
  131. package/docs/modules/client_types_inputs.html +0 -263
  132. package/docs/modules/client_types_mail.html +0 -181
  133. package/docs/modules/client_types_queries.html +0 -199
  134. package/docs/modules/client_types_userappsettings.html +0 -163
  135. package/docs/modules/client_types_vfile.html +0 -364
  136. package/docs/modules/crypto.html +0 -366
  137. package/docs/modules/crypto_file.html +0 -344
  138. package/docs/modules/index.html +0 -779
  139. package/docs/modules/index.sodium.html +0 -6039
  140. package/docs/modules/minify.html +0 -183
  141. package/docs/modules/minify_lz4.html +0 -279
  142. package/docs/modules/popuptools.html +0 -259
  143. package/docs/modules/sodium.html +0 -167
  144. package/docs/modules/utils.html +0 -219
  145. package/docs/modules/utils_store_buddy.html +0 -208
  146. package/docs/modules/utils_time.html +0 -330
  147. package/docs/modules/worker_md5.html +0 -156
  148. package/docs/modules/worker_sodium.html +0 -231
  149. package/docs/modules/worker_workercodes.html +0 -157
  150. package/docs/modules.html +0 -235
  151. package/index.html +0 -21
  152. package/jest.config.ts +0 -27
  153. package/jest.setup.ts +0 -6
  154. package/release.config.cjs +0 -15
  155. package/tsup.config.ts +0 -23
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@secrecy/lib",
3
3
  "author": "Anonymize <anonymize@gmail.com>",
4
4
  "description": "Anonymize Secrecy Library",
5
- "version": "1.0.0-dev.25",
5
+ "version": "1.0.0-dev.28",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "ssh://git@github.com/xsecrecy/lib.git"
@@ -17,19 +17,12 @@
17
17
  "lib",
18
18
  "secrecy"
19
19
  ],
20
- "main": "dist/index.js",
21
- "module": "dist/index.mjs",
20
+ "type": "module",
21
+ "exports": "./dist/index.js",
22
22
  "types": "dist/index.d.ts",
23
- "exports": {
24
- ".": {
25
- "require": "./dist/index.js",
26
- "import": "./dist/index.mjs"
27
- },
28
- "./*": {
29
- "require": "./dist/*.js",
30
- "import": "./dist/*.mjs"
31
- }
32
- },
23
+ "files": [
24
+ "dist"
25
+ ],
33
26
  "engines": {
34
27
  "node": ">=16.13.0"
35
28
  },
@@ -42,22 +35,35 @@
42
35
  "prepublish": "yarn build",
43
36
  "type-check": "tsc --noEmit",
44
37
  "type-check:watch": "yarn type-check -- --watch",
45
- "build": "tsup",
38
+ "build:types": "tsc --emitDeclarationOnly",
39
+ "clean": "rimraf dist",
40
+ "build": "run-p -l clean build:types babel",
41
+ "babel": "babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps inline",
46
42
  "watch": "yarn build --watch",
47
43
  "zeus": "zeus http://localhost:4000/graphql ./src --ts --es",
48
44
  "prepare": "husky install"
49
45
  },
50
46
  "devDependencies": {
47
+ "@babel/cli": "^7.17.6",
48
+ "@babel/core": "^7.17.5",
49
+ "@babel/plugin-proposal-class-properties": "^7.16.7",
50
+ "@babel/plugin-proposal-object-rest-spread": "^7.17.3",
51
+ "@babel/plugin-syntax-import-meta": "^7.10.4",
52
+ "@babel/plugin-transform-runtime": "^7.17.0",
53
+ "@babel/plugin-transform-typescript": "^7.16.8",
54
+ "@babel/preset-env": "^7.16.11",
55
+ "@babel/preset-typescript": "^7.16.7",
51
56
  "@commitlint/cli": "^16.2.1",
52
57
  "@commitlint/config-conventional": "^16.2.1",
53
58
  "@semantic-release/changelog": "^6.0.1",
54
59
  "@semantic-release/git": "^10.0.1",
55
- "@types/jest": "^27.4.0",
56
- "@types/node-fetch": "^3.0.3",
60
+ "@types/jest": "^27.4.1",
57
61
  "@types/shortid": "^0.0.29",
58
62
  "@types/spark-md5": "^3.0.2",
59
63
  "@typescript-eslint/eslint-plugin": "^5.12.1",
60
64
  "@typescript-eslint/parser": "^5.12.1",
65
+ "babel-loader": "^8.2.3",
66
+ "babel-plugin-const-enum": "^1.2.0",
61
67
  "cross-env": "^7.0.3",
62
68
  "eslint": "^8.9.0",
63
69
  "eslint-config-prettier": "^8.4.0",
@@ -66,7 +72,9 @@
66
72
  "husky": "^7.0.4",
67
73
  "jest": "^27.5.1",
68
74
  "jest-fetch-mock": "^3.0.3",
75
+ "npm-run-all": "^4.1.5",
69
76
  "prettier": "^2.5.1",
77
+ "rimraf": "^3.0.2",
70
78
  "ts-jest": "^27.1.3",
71
79
  "ts-node": "^10.5.0",
72
80
  "tsup": "^5.11.13",
package/CHANGELOG.md DELETED
@@ -1,178 +0,0 @@
1
- # [1.0.0-dev.24](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.23...v1.0.0-dev.24) (2022-02-02)
2
-
3
-
4
- ### Features
5
-
6
- * remove staging ([#8](https://github.com/xsecrecy/lib/issues/8)) ([935e2eb](https://github.com/xsecrecy/lib/commit/935e2ebc11ee12ba26963b6479ddf1fb9ceaa2fd))
7
-
8
- # [1.0.0-dev.23](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.22...v1.0.0-dev.23) (2022-01-14)
9
-
10
-
11
- ### Features
12
-
13
- * accept-language on header ([bef6b04](https://github.com/xsecrecy/lib/commit/bef6b04afe869d60bad93d7ce23b594acab29ced))
14
-
15
- # [1.0.0-dev.22](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.21...v1.0.0-dev.22) (2022-01-13)
16
-
17
-
18
- ### Bug Fixes
19
-
20
- * mutation finito ([4a59874](https://github.com/xsecrecy/lib/commit/4a59874cefb24e998080e18b3d8c4ddea8832dce))
21
-
22
-
23
- ### Features
24
-
25
- * handling mutation error ([81826ea](https://github.com/xsecrecy/lib/commit/81826ea75eeeea7e33129cf6a701ca9a71e4a0a3))
26
-
27
- # [1.0.0-dev.21](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.20...v1.0.0-dev.21) (2022-01-06)
28
-
29
-
30
- ### Features
31
-
32
- * handling graphql query error ([135c8c6](https://github.com/xsecrecy/lib/commit/135c8c63775a4e035410fdc5d8497ea21deb426f))
33
-
34
- # [1.0.0-dev.20](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.19...v1.0.0-dev.20) (2022-01-03)
35
-
36
-
37
- ### Bug Fixes
38
-
39
- * const enum ([8d80e98](https://github.com/xsecrecy/lib/commit/8d80e98466c769676e243ab3ac11d2f44e363fd3))
40
-
41
- # [1.0.0-dev.19](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.18...v1.0.0-dev.19) (2022-01-03)
42
-
43
-
44
- ### Features
45
-
46
- * unreadReceivedMailsCount ([936e319](https://github.com/xsecrecy/lib/commit/936e3193f8da2656f7fbb8db20e85acb3b0efbd1))
47
-
48
- # [1.0.0-dev.18](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.17...v1.0.0-dev.18) (2021-12-22)
49
-
50
-
51
- ### Bug Fixes
52
-
53
- * admin publicKey ([2d0b6fb](https://github.com/xsecrecy/lib/commit/2d0b6fb50e03487e82b2e8c901d73eaa13895ce0))
54
-
55
- # [1.0.0-dev.17](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.16...v1.0.0-dev.17) (2021-10-27)
56
-
57
-
58
- ### Bug Fixes
59
-
60
- * publicKey meta ([0496aef](https://github.com/xsecrecy/lib/commit/0496aef201a1edf72c1ea9fbc3f74d1902e9085a))
61
-
62
- # [1.0.0-dev.16](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.15...v1.0.0-dev.16) (2021-10-14)
63
-
64
-
65
- ### Bug Fixes
66
-
67
- * error upload ([5cbe9da](https://github.com/xsecrecy/lib/commit/5cbe9daf2f688decbea5ae05af7ab5c517147e16))
68
-
69
- # [1.0.0-dev.15](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.14...v1.0.0-dev.15) (2021-10-14)
70
-
71
-
72
- ### Bug Fixes
73
-
74
- * const enum ([50394e4](https://github.com/xsecrecy/lib/commit/50394e481bb010ea7acd2a6f6e6df96c698b36bf))
75
-
76
- # [1.0.0-dev.14](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.13...v1.0.0-dev.14) (2021-10-13)
77
-
78
-
79
- ### Bug Fixes
80
-
81
- * const enum [#1](https://github.com/xsecrecy/lib/issues/1) ([11c92da](https://github.com/xsecrecy/lib/commit/11c92da9f218999fadcbc8c3afed4fc60584963f))
82
-
83
- # [1.0.0-dev.13](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.12...v1.0.0-dev.13) (2021-10-12)
84
-
85
-
86
- ### Bug Fixes
87
-
88
- * const enums ([234bd7b](https://github.com/xsecrecy/lib/commit/234bd7b5db5bd5b30fa92651ec3aef1dbf50dca0))
89
-
90
- # [1.0.0-dev.12](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.11...v1.0.0-dev.12) (2021-10-12)
91
-
92
-
93
- ### Bug Fixes
94
-
95
- * admin client ([f222d34](https://github.com/xsecrecy/lib/commit/f222d34b4774ca8c4c71b45231f0a6afbf0cdacb))
96
-
97
- # [1.0.0-dev.11](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.10...v1.0.0-dev.11) (2021-10-12)
98
-
99
-
100
- ### Bug Fixes
101
-
102
- * user session ([bf186a0](https://github.com/xsecrecy/lib/commit/bf186a09d8919b15fa35bb763af162cd1bd142b4))
103
-
104
- # [1.0.0-dev.10](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.9...v1.0.0-dev.10) (2021-10-07)
105
-
106
-
107
- ### Bug Fixes
108
-
109
- * add getSponsorshipLink ([77e14d0](https://github.com/xsecrecy/lib/commit/77e14d00691316ff28aa4a4bd49647d05c01e0ec))
110
-
111
- # [1.0.0-dev.9](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.8...v1.0.0-dev.9) (2021-10-07)
112
-
113
-
114
- ### Features
115
-
116
- * admin client ([1c75370](https://github.com/xsecrecy/lib/commit/1c753700300452ed8c85e94dc6dc724c529c8d88))
117
-
118
- # [1.0.0-dev.8](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.7...v1.0.0-dev.8) (2021-10-06)
119
-
120
-
121
- ### Features
122
-
123
- * app notifications query ([#6](https://github.com/xsecrecy/lib/issues/6)) ([e64d132](https://github.com/xsecrecy/lib/commit/e64d1326c5bd0a1daf2ee8023fd53d0c14eef264))
124
-
125
- # [1.0.0-dev.7](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.6...v1.0.0-dev.7) (2021-10-06)
126
-
127
-
128
- ### Features
129
-
130
- * updateAppNotifications ([#5](https://github.com/xsecrecy/lib/issues/5)) ([cc72437](https://github.com/xsecrecy/lib/commit/cc7243766090e7e76cc5b6bae5c5b0f309cb03d3))
131
-
132
- # [1.0.0-dev.6](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.5...v1.0.0-dev.6) (2021-10-01)
133
-
134
-
135
- ### Features
136
-
137
- * axios signal (abort) ([5be9283](https://github.com/xsecrecy/lib/commit/5be92833c3e27b94f4ffacbec5c2de16b0382871))
138
-
139
- # [1.0.0-dev.5](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.4...v1.0.0-dev.5) (2021-09-30)
140
-
141
-
142
- ### Features
143
-
144
- * add langs ([f0705fe](https://github.com/xsecrecy/lib/commit/f0705fe48cd424680d1e2373a4bbe734020621d9))
145
-
146
- # [1.0.0-dev.4](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.3...v1.0.0-dev.4) (2021-09-30)
147
-
148
-
149
- ### Bug Fixes
150
-
151
- * folder breadcrumb ([b716c89](https://github.com/xsecrecy/lib/commit/b716c892b351b82a363f9aced952e68a35c1595a))
152
-
153
- # [1.0.0-dev.3](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.2...v1.0.0-dev.3) (2021-09-29)
154
-
155
-
156
- ### Bug Fixes
157
-
158
- * tests ([8d1ee88](https://github.com/xsecrecy/lib/commit/8d1ee88905f86833e76a8c054ced9361145e5a32))
159
-
160
- # [1.0.0-dev.2](https://github.com/xsecrecy/lib/compare/v1.0.0-dev.1...v1.0.0-dev.2) (2021-09-24)
161
-
162
-
163
- ### Bug Fixes
164
-
165
- * redirect ([5ac821c](https://github.com/xsecrecy/lib/commit/5ac821c6db69217b631ff6aa3b839c06081d08d3))
166
-
167
- # 1.0.0-dev.1 (2021-09-23)
168
-
169
-
170
- ### Bug Fixes
171
-
172
- * ci ([432bad3](https://github.com/xsecrecy/lib/commit/432bad354172c88d135aa90d56e7f0a758399cdd))
173
-
174
-
175
- ### Features
176
-
177
- * Folder & FolderFull ([f613786](https://github.com/xsecrecy/lib/commit/f6137862960c4c5016a63b618c94eb8c985ab913))
178
- * yarn 2 ([9b1547c](https://github.com/xsecrecy/lib/commit/9b1547ce911cb11a67af0d601a2b34374457ec8a))
@@ -1,81 +0,0 @@
1
- import { chrisId, raphId, chris, raph, axel, axelId } from "./utils.js";
2
- import { setup } from "../../src/index.js";
3
-
4
- beforeAll(setup);
5
-
6
- describe("SecrecyClient", () => {
7
- test("me", async () => {
8
- const chrisMe = await chris.me({ withPublicKey: true });
9
- if (!chrisMe) {
10
- throw new Error("undefined or null: chrisMe");
11
- }
12
- if (chrisMe.__typename === "ErrorNotFound") {
13
- throw new Error("chrisMe not found");
14
- }
15
- expect(chrisMe.data).toMatchObject({
16
- email: "chris@secrecy.me",
17
- firstname: "Christopher",
18
- id: chrisId,
19
- lastname: "Yovanovitch",
20
- phone: "+33783263010",
21
- publicKey: chris.publicKey,
22
- role: "admin"
23
- });
24
- const raphMe = await raph.me({ withPublicKey: true });
25
- if (!raphMe) {
26
- throw new Error("undefined or null: raphMe");
27
- }
28
- if (raphMe.__typename === "ErrorNotFound") {
29
- throw new Error("raphMe not found");
30
- }
31
- expect(raphMe.data).toMatchObject({
32
- email: "raphaelmortier@outlook.fr",
33
- firstname: "Raphaël",
34
- id: raphId,
35
- lastname: "Mortier",
36
- phone: "+33622471563",
37
- publicKey: raph.publicKey,
38
- role: "admin"
39
- });
40
- const axelMe = await axel.me({ withPublicKey: true });
41
- if (!axelMe) {
42
- throw new Error("undefined or null: axelMe");
43
- }
44
- if (axelMe.__typename === "ErrorNotFound") {
45
- throw new Error("axelMe not found");
46
- }
47
- expect(axelMe.data).toMatchObject({
48
- email: "axel.lavoie@gmail.com",
49
- firstname: "Axel",
50
- id: axelId,
51
- lastname: "Lavoie",
52
- phone: "+33627464948",
53
- publicKey: axel.publicKey,
54
- role: "admin"
55
- });
56
- });
57
-
58
- test("limits", async () => {
59
- const limits = await chris.limits();
60
- if (!limits) {
61
- throw new Error("limits not found");
62
- }
63
- if (limits.__typename === "ErrorAccessDenied") {
64
- throw new Error("ErrorAccessDenied");
65
- }
66
- if (limits.__typename === "ErrorLimit") {
67
- throw new Error("ErrorLimit");
68
- }
69
- if (limits.__typename === "ErrorNotExist") {
70
- throw new Error("ErrorNotExist");
71
- }
72
- if (limits.__typename === "ErrorNotFound") {
73
- throw new Error("ErrorNotFound");
74
- }
75
- expect(limits.data).toMatchObject({
76
- cloud: {
77
- maxCount: 10000n
78
- }
79
- });
80
- });
81
- });
@@ -1,302 +0,0 @@
1
- import { chris, raph, raphId } from "./utils.js";
2
- import { Rights, setup } from "../../src/index.js";
3
-
4
- beforeAll(setup);
5
-
6
- beforeAll(async () => {
7
- await Promise.all([chris.emptyCloudTrash(), raph.emptyCloudTrash()]);
8
- });
9
-
10
- describe("SecrecyClient - Folders", () => {
11
- test("wrong folder", async () => {
12
- //wrong folder
13
- const folder = await chris.folder({
14
- id: "id"
15
- });
16
- expect(folder).toBeNull();
17
- });
18
-
19
- test("shareFolder", async () => {
20
- //root folder
21
- const rootFolder = await chris.folder();
22
- expect(rootFolder).not.toBeNull();
23
- if (!rootFolder) {
24
- throw new Error("empty or undefined value: rootFolder");
25
- }
26
-
27
- if (rootFolder.__typename === "ErrorAccessDenied") {
28
- expect(rootFolder.message).toBe("Access denied");
29
- }
30
- if (rootFolder.__typename === "SuccessResponse") {
31
- const cloudFolder = rootFolder.data.subfolders.find(
32
- f => f.name === "cloud"
33
- );
34
- expect(cloudFolder).not.toBeUndefined();
35
- if (!cloudFolder) {
36
- throw new Error("empty or undefined value: cloudFolder");
37
- }
38
-
39
- //create folder
40
- const name = "test_folder_to_share";
41
- const folderToShare = await chris.createFolder({
42
- name,
43
- parentFolderId: cloudFolder.id
44
- });
45
-
46
- expect(folderToShare).not.toBeNull();
47
- if (!folderToShare) {
48
- throw new Error("empty or undefined value: folderToShare");
49
- }
50
-
51
- if (folderToShare.__typename !== "SuccessResponse") {
52
- throw new Error("folderToShare is not a SuccessResponse");
53
- }
54
-
55
- //share folder
56
- const res = await chris.shareFolder({
57
- folderId: folderToShare.data.id,
58
- rights: Rights.write,
59
- userId: raphId
60
- });
61
- expect(res).toStrictEqual({ __typename: "SuccessResponse", data: true });
62
- const allShared = await raph.foldersSharedWithMe();
63
- if (!allShared) {
64
- throw new Error("empty or undefined value: allShared");
65
- }
66
-
67
- if (allShared.__typename === "ErrorAccessDenied") {
68
- throw new Error("Access denied");
69
- }
70
-
71
- if (allShared.__typename === "SuccessResponse") {
72
- const folderShared = allShared.data.find(
73
- f => f.id === folderToShare.data.id
74
- );
75
- expect(folderShared).not.toBeUndefined();
76
- if (!folderShared) {
77
- throw new Error("empty or undefined value: folderShared");
78
- }
79
-
80
- expect(folderShared.name).toBe(name);
81
-
82
- //create folder in shared folder
83
- const nameFolder = "test";
84
- await raph.createFolder({
85
- name: nameFolder,
86
- parentFolderId: folderToShare.data.id
87
- });
88
- const test = await chris.folder({ id: folderToShare.data.id });
89
- await chris.deleteFolder({ id: folderToShare.data.id });
90
- expect(test).not.toBeNull();
91
- if (!test) {
92
- throw new Error("empty or undefined value: test");
93
- }
94
-
95
- if (test.__typename === "ErrorAccessDenied") {
96
- throw new Error("Access denied");
97
- }
98
-
99
- if (test.__typename === "SuccessResponse") {
100
- const folderCreatedByraph = test.data.subfolders.find(
101
- f => f.name === nameFolder
102
- );
103
- expect(folderCreatedByraph).not.toBeUndefined();
104
- if (!folderCreatedByraph) {
105
- throw new Error("empty or undefined value: folderCreatedByraph");
106
- }
107
- expect(folderCreatedByraph.name).toBe(nameFolder);
108
-
109
- //delete sharing
110
- const deleteSharing = await chris.deleteFolderSharing({
111
- folderId: test.data.id,
112
- userId: raphId
113
- });
114
- expect(deleteSharing).toStrictEqual({
115
- __typename: "SuccessResponse",
116
- data: true
117
- });
118
- }
119
- }
120
- }
121
- }, 50000);
122
-
123
- test("deleteFolder", async () => {
124
- //root folder
125
- const rootFolder = await chris.folder();
126
- expect(rootFolder).not.toBeNull();
127
- if (!rootFolder) {
128
- throw new Error("empty or undefined value: rootFolder");
129
- }
130
- if (rootFolder.__typename === "ErrorAccessDenied") {
131
- throw new Error("Access denied");
132
- }
133
- const cloudFolder = rootFolder.data.subfolders.find(
134
- f => f.name === "cloud"
135
- );
136
- expect(cloudFolder).not.toBeUndefined();
137
- if (!cloudFolder) {
138
- throw new Error("empty or undefined value: cloudFolder");
139
- }
140
-
141
- // create folder
142
- const name = "test_folder_to_delete";
143
- const folderToDelete = await chris.createFolder({
144
- name,
145
- parentFolderId: cloudFolder.id
146
- });
147
-
148
- expect(folderToDelete).not.toBeNull();
149
- if (!folderToDelete) {
150
- throw new Error("empty or undefined value: folderToDelete");
151
- }
152
-
153
- if (folderToDelete.__typename !== "SuccessResponse") {
154
- throw new Error("folderToDelete is not a SuccessResponse");
155
- }
156
-
157
- // test breadcrumb
158
- expect(folderToDelete.data.breadcrumb.map(f => f.name)).toEqual([
159
- name,
160
- "cloud",
161
- "root"
162
- ]);
163
-
164
- // delete folder
165
- const deletedFolder = await chris.deleteFolder({
166
- id: folderToDelete.data.id
167
- });
168
- expect(deletedFolder).toStrictEqual({
169
- __typename: "SuccessResponse",
170
- data: true
171
- });
172
- const folderDeleted = await chris.folder({
173
- id: folderToDelete.data.id,
174
- deleted: true
175
- });
176
- expect(folderDeleted).not.toBeNull();
177
- if (!folderDeleted) {
178
- throw new Error("empty or undefined value: folderDeleted");
179
- }
180
- if (folderDeleted.__typename === "ErrorAccessDenied") {
181
- throw new Error("Access denied");
182
- }
183
- expect(folderDeleted.data.deletedAt).not.toBeNull();
184
- const deletedFolders = await chris.deletedFolders();
185
- if (!deletedFolders) {
186
- throw new Error("empty or undefined value: deletedFolders");
187
- }
188
- if (deletedFolders.__typename === "ErrorAccessDenied") {
189
- throw new Error("Access denied");
190
- }
191
- const folderDeletedByChris = deletedFolders.data.find(
192
- f => f.id === folderToDelete.data.id
193
- );
194
- if (!folderDeletedByChris) {
195
- throw new Error("empty or undefined value: folderDeletedByChris");
196
- }
197
- expect(folderDeletedByChris.name).toBe(folderToDelete.data.name);
198
-
199
- //recover folder
200
- const folderToRecover = await chris.recoverFolder({
201
- id: folderDeleted.data.id
202
- });
203
-
204
- expect(folderToRecover).toStrictEqual({
205
- __typename: "SuccessResponse",
206
- data: true
207
- });
208
- const folderRecovered = await chris.folder({
209
- id: folderDeleted.data.id
210
- });
211
-
212
- if (!folderRecovered) {
213
- throw new Error("empty or undefined value: folderRecovered");
214
- }
215
- if (folderRecovered.__typename === "ErrorAccessDenied") {
216
- throw new Error("Access denied");
217
- }
218
- expect(folderRecovered).not.toBeNull();
219
- if (!folderRecovered) {
220
- throw new Error("empty or undefined value: folderRecovered");
221
- }
222
- expect(folderRecovered.data.deletedAt).toBeNull();
223
-
224
- // await expect(
225
- // raph.recoverFolder({ id: folderDeleted.id })
226
- // ).rejects.toThrowError("Invalid plan");
227
-
228
- //delete cloud trash
229
- const deletedFolderCloudTrash = await chris.deleteFolderCloudTrash({
230
- ids: [folderRecovered.data.id]
231
- });
232
- expect(deletedFolderCloudTrash).toBe(true);
233
- }, 50000);
234
-
235
- test("update folder", async () => {
236
- //root folder
237
- const rootFolder = await chris.folder();
238
- expect(rootFolder).not.toBeNull();
239
- if (!rootFolder) {
240
- throw new Error("empty or undefined value: rootFolder");
241
- }
242
- if (rootFolder.__typename === "ErrorAccessDenied") {
243
- throw new Error("Access denied");
244
- }
245
- const cloudFolder = rootFolder.data.subfolders.find(
246
- f => f.name === "cloud"
247
- );
248
- expect(cloudFolder).not.toBeUndefined();
249
- if (!cloudFolder) {
250
- throw new Error("empty or undefined value: cloudFolder");
251
- }
252
-
253
- //create folder
254
- const name = "test_folder_to_update";
255
- const folderToUpdate = await chris.createFolder({
256
- name,
257
- parentFolderId: cloudFolder.id
258
- });
259
-
260
- expect(folderToUpdate).not.toBeNull();
261
- if (!folderToUpdate) {
262
- throw new Error("empty or undefined value: folderToUpdate");
263
- }
264
-
265
- if (folderToUpdate.__typename !== "SuccessResponse") {
266
- throw new Error("folderToUpdate is not a SuccessResponse");
267
- }
268
-
269
- //update folder
270
- const folderUpdated = await chris.updateFolder({
271
- folderId: folderToUpdate.data.id,
272
- name: "test_folder_updated"
273
- });
274
-
275
- expect(folderUpdated).not.toBeNull();
276
- if (!folderUpdated) {
277
- throw new Error("empty or undefined value: folderUpdated");
278
- }
279
-
280
- if (folderUpdated.__typename !== "SuccessResponse") {
281
- throw new Error("folderToUpdate is not a SuccessResponse");
282
- }
283
-
284
- expect(folderUpdated.data.name).toBe("test_folder_updated");
285
-
286
- //delete folder
287
- const deletedFolder = await chris.deleteFolder({
288
- id: folderToUpdate.data.id
289
- });
290
- expect(deletedFolder).toStrictEqual({
291
- __typename: "SuccessResponse",
292
- data: true
293
- });
294
- const deletedFolderCloudTrash = await chris.deleteFolderCloudTrash({
295
- ids: [folderToUpdate.data.id]
296
- });
297
- expect(deletedFolderCloudTrash).toStrictEqual({
298
- __typename: "SuccessResponse",
299
- data: true
300
- });
301
- });
302
- });