chirag-appwrite-cli 0.1.1 → 0.2.0

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 (875) hide show
  1. package/.github/workflows/build-verify.yml +71 -0
  2. package/.github/workflows/npm-publish.yml +41 -22
  3. package/CHANGELOG.md +190 -1
  4. package/LICENSE.md +12 -1
  5. package/README.md +182 -15
  6. package/bun.lock +627 -0
  7. package/dist/bundle.cjs +108228 -0
  8. package/dist/index.d.ts +7 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +149 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/lib/client.d.ts +88 -0
  13. package/dist/lib/client.d.ts.map +1 -0
  14. package/dist/lib/client.js +238 -0
  15. package/dist/lib/client.js.map +1 -0
  16. package/dist/lib/commands/config.d.ts +557 -0
  17. package/dist/lib/commands/config.d.ts.map +1 -0
  18. package/dist/lib/commands/config.js +415 -0
  19. package/dist/lib/commands/config.js.map +1 -0
  20. package/dist/lib/commands/db.d.ts +34 -0
  21. package/dist/lib/commands/db.d.ts.map +1 -0
  22. package/dist/lib/commands/db.js +247 -0
  23. package/dist/lib/commands/db.js.map +1 -0
  24. package/dist/lib/commands/errors.d.ts +68 -0
  25. package/dist/lib/commands/errors.d.ts.map +1 -0
  26. package/dist/lib/commands/errors.js +72 -0
  27. package/dist/lib/commands/errors.js.map +1 -0
  28. package/dist/lib/commands/generic.d.ts +17 -0
  29. package/dist/lib/commands/generic.d.ts.map +1 -0
  30. package/dist/lib/commands/generic.js +292 -0
  31. package/dist/lib/commands/generic.js.map +1 -0
  32. package/dist/lib/commands/init.d.ts +3 -0
  33. package/dist/lib/commands/init.d.ts.map +1 -0
  34. package/dist/lib/commands/init.js +526 -0
  35. package/dist/lib/commands/init.js.map +1 -0
  36. package/dist/lib/commands/pull.d.ts +110 -0
  37. package/dist/lib/commands/pull.d.ts.map +1 -0
  38. package/dist/lib/commands/pull.js +626 -0
  39. package/dist/lib/commands/pull.js.map +1 -0
  40. package/dist/lib/commands/push.d.ts +82 -0
  41. package/dist/lib/commands/push.d.ts.map +1 -0
  42. package/dist/lib/commands/push.js +1666 -0
  43. package/dist/lib/commands/push.js.map +1 -0
  44. package/dist/lib/commands/run.d.ts +3 -0
  45. package/dist/lib/commands/run.d.ts.map +1 -0
  46. package/dist/lib/commands/run.js +289 -0
  47. package/dist/lib/commands/run.js.map +1 -0
  48. package/dist/lib/commands/schema.d.ts +57 -0
  49. package/dist/lib/commands/schema.d.ts.map +1 -0
  50. package/dist/lib/commands/schema.js +75 -0
  51. package/dist/lib/commands/schema.js.map +1 -0
  52. package/dist/lib/commands/services/account.d.ts +3 -0
  53. package/dist/lib/commands/services/account.d.ts.map +1 -0
  54. package/dist/lib/commands/services/account.js +306 -0
  55. package/dist/lib/commands/services/account.js.map +1 -0
  56. package/dist/lib/commands/services/avatars.d.ts +3 -0
  57. package/dist/lib/commands/services/avatars.d.ts.map +1 -0
  58. package/dist/lib/commands/services/avatars.js +118 -0
  59. package/dist/lib/commands/services/avatars.js.map +1 -0
  60. package/dist/lib/commands/services/console.d.ts +3 -0
  61. package/dist/lib/commands/services/console.d.ts.map +1 -0
  62. package/dist/lib/commands/services/console.js +41 -0
  63. package/dist/lib/commands/services/console.js.map +1 -0
  64. package/dist/lib/commands/services/databases.d.ts +3 -0
  65. package/dist/lib/commands/services/databases.d.ts.map +1 -0
  66. package/dist/lib/commands/services/databases.js +612 -0
  67. package/dist/lib/commands/services/databases.js.map +1 -0
  68. package/dist/lib/commands/services/functions.d.ts +3 -0
  69. package/dist/lib/commands/services/functions.d.ts.map +1 -0
  70. package/dist/lib/commands/services/functions.js +258 -0
  71. package/dist/lib/commands/services/functions.js.map +1 -0
  72. package/dist/lib/commands/services/graphql.d.ts +3 -0
  73. package/dist/lib/commands/services/graphql.d.ts.map +1 -0
  74. package/dist/lib/commands/services/graphql.js +28 -0
  75. package/dist/lib/commands/services/graphql.js.map +1 -0
  76. package/dist/lib/commands/services/health.d.ts +3 -0
  77. package/dist/lib/commands/services/health.d.ts.map +1 -0
  78. package/dist/lib/commands/services/health.js +123 -0
  79. package/dist/lib/commands/services/health.js.map +1 -0
  80. package/dist/lib/commands/services/locale.d.ts +3 -0
  81. package/dist/lib/commands/services/locale.d.ts.map +1 -0
  82. package/dist/lib/commands/services/locale.js +52 -0
  83. package/dist/lib/commands/services/locale.js.map +1 -0
  84. package/dist/lib/commands/services/messaging.d.ts +3 -0
  85. package/dist/lib/commands/services/messaging.d.ts.map +1 -0
  86. package/dist/lib/commands/services/messaging.js +505 -0
  87. package/dist/lib/commands/services/messaging.js.map +1 -0
  88. package/dist/lib/commands/services/migrations.d.ts +3 -0
  89. package/dist/lib/commands/services/migrations.d.ts.map +1 -0
  90. package/dist/lib/commands/services/migrations.js +135 -0
  91. package/dist/lib/commands/services/migrations.js.map +1 -0
  92. package/dist/lib/commands/services/project.d.ts +3 -0
  93. package/dist/lib/commands/services/project.d.ts.map +1 -0
  94. package/dist/lib/commands/services/project.js +54 -0
  95. package/dist/lib/commands/services/project.js.map +1 -0
  96. package/dist/lib/commands/services/projects.d.ts +3 -0
  97. package/dist/lib/commands/services/projects.d.ts.map +1 -0
  98. package/dist/lib/commands/services/projects.js +415 -0
  99. package/dist/lib/commands/services/projects.js.map +1 -0
  100. package/dist/lib/commands/services/proxy.d.ts +3 -0
  101. package/dist/lib/commands/services/proxy.d.ts.map +1 -0
  102. package/dist/lib/commands/services/proxy.js +68 -0
  103. package/dist/lib/commands/services/proxy.js.map +1 -0
  104. package/dist/lib/commands/services/sites.d.ts +3 -0
  105. package/dist/lib/commands/services/sites.d.ts.map +1 -0
  106. package/dist/lib/commands/services/sites.js +242 -0
  107. package/dist/lib/commands/services/sites.js.map +1 -0
  108. package/dist/lib/commands/services/storage.d.ts +3 -0
  109. package/dist/lib/commands/services/storage.d.ts.map +1 -0
  110. package/dist/lib/commands/services/storage.js +153 -0
  111. package/dist/lib/commands/services/storage.js.map +1 -0
  112. package/dist/lib/commands/services/tablesdb.d.ts +3 -0
  113. package/dist/lib/commands/services/tablesdb.d.ts.map +1 -0
  114. package/dist/lib/commands/services/tablesdb.js +605 -0
  115. package/dist/lib/commands/services/tablesdb.js.map +1 -0
  116. package/dist/lib/commands/services/teams.d.ts +3 -0
  117. package/dist/lib/commands/services/teams.d.ts.map +1 -0
  118. package/dist/lib/commands/services/teams.js +123 -0
  119. package/dist/lib/commands/services/teams.js.map +1 -0
  120. package/dist/lib/commands/services/tokens.d.ts +3 -0
  121. package/dist/lib/commands/services/tokens.d.ts.map +1 -0
  122. package/dist/lib/commands/services/tokens.js +49 -0
  123. package/dist/lib/commands/services/tokens.js.map +1 -0
  124. package/dist/lib/commands/services/users.d.ts +3 -0
  125. package/dist/lib/commands/services/users.d.ts.map +1 -0
  126. package/dist/lib/commands/services/users.js +312 -0
  127. package/dist/lib/commands/services/users.js.map +1 -0
  128. package/dist/lib/commands/services/vcs.d.ts +3 -0
  129. package/dist/lib/commands/services/vcs.d.ts.map +1 -0
  130. package/dist/lib/commands/services/vcs.js +87 -0
  131. package/dist/lib/commands/services/vcs.js.map +1 -0
  132. package/dist/lib/commands/types.d.ts +3 -0
  133. package/dist/lib/commands/types.d.ts.map +1 -0
  134. package/dist/lib/commands/types.js +151 -0
  135. package/dist/lib/commands/types.js.map +1 -0
  136. package/dist/lib/commands/update.d.ts +3 -0
  137. package/dist/lib/commands/update.d.ts.map +1 -0
  138. package/dist/lib/commands/update.js +201 -0
  139. package/dist/lib/commands/update.js.map +1 -0
  140. package/dist/lib/commands/utils/attributes.d.ts +46 -0
  141. package/dist/lib/commands/utils/attributes.d.ts.map +1 -0
  142. package/dist/lib/commands/utils/attributes.js +521 -0
  143. package/dist/lib/commands/utils/attributes.js.map +1 -0
  144. package/dist/lib/commands/utils/change-approval.d.ts +25 -0
  145. package/dist/lib/commands/utils/change-approval.d.ts.map +1 -0
  146. package/dist/lib/commands/utils/change-approval.js +129 -0
  147. package/dist/lib/commands/utils/change-approval.js.map +1 -0
  148. package/dist/lib/commands/utils/database-sync.d.ts +10 -0
  149. package/dist/lib/commands/utils/database-sync.d.ts.map +1 -0
  150. package/dist/lib/commands/utils/database-sync.js +136 -0
  151. package/dist/lib/commands/utils/database-sync.js.map +1 -0
  152. package/dist/lib/commands/utils/deployment.d.ts +34 -0
  153. package/dist/lib/commands/utils/deployment.d.ts.map +1 -0
  154. package/dist/lib/commands/utils/deployment.js +108 -0
  155. package/dist/lib/commands/utils/deployment.js.map +1 -0
  156. package/dist/lib/commands/utils/error-formatter.d.ts +19 -0
  157. package/dist/lib/commands/utils/error-formatter.d.ts.map +1 -0
  158. package/dist/lib/commands/utils/error-formatter.js +333 -0
  159. package/dist/lib/commands/utils/error-formatter.js.map +1 -0
  160. package/dist/lib/commands/utils/pools.d.ts +16 -0
  161. package/dist/lib/commands/utils/pools.d.ts.map +1 -0
  162. package/dist/lib/commands/utils/pools.js +197 -0
  163. package/dist/lib/commands/utils/pools.js.map +1 -0
  164. package/dist/lib/config.d.ts +119 -0
  165. package/dist/lib/config.d.ts.map +1 -0
  166. package/dist/lib/config.js +728 -0
  167. package/dist/lib/config.js.map +1 -0
  168. package/dist/lib/emulation/docker.d.ts +7 -0
  169. package/dist/lib/emulation/docker.d.ts.map +1 -0
  170. package/dist/lib/emulation/docker.js +224 -0
  171. package/dist/lib/emulation/docker.js.map +1 -0
  172. package/dist/lib/emulation/utils.d.ts +29 -0
  173. package/dist/lib/emulation/utils.d.ts.map +1 -0
  174. package/dist/lib/emulation/utils.js +165 -0
  175. package/dist/lib/emulation/utils.js.map +1 -0
  176. package/dist/lib/id.d.ts +7 -0
  177. package/dist/lib/id.d.ts.map +1 -0
  178. package/dist/lib/id.js +27 -0
  179. package/dist/lib/id.js.map +1 -0
  180. package/dist/lib/paginate.d.ts +9 -0
  181. package/dist/lib/paginate.d.ts.map +1 -0
  182. package/dist/lib/paginate.js +43 -0
  183. package/dist/lib/paginate.js.map +1 -0
  184. package/dist/lib/parser.d.ts +18 -0
  185. package/dist/lib/parser.d.ts.map +1 -0
  186. package/dist/lib/parser.js +225 -0
  187. package/dist/lib/parser.js.map +1 -0
  188. package/dist/lib/questions.d.ts +59 -0
  189. package/dist/lib/questions.d.ts.map +1 -0
  190. package/dist/lib/questions.js +991 -0
  191. package/dist/lib/questions.js.map +1 -0
  192. package/dist/lib/sdks.d.ts +4 -0
  193. package/dist/lib/sdks.d.ts.map +1 -0
  194. package/dist/lib/sdks.js +61 -0
  195. package/dist/lib/sdks.js.map +1 -0
  196. package/dist/lib/services.d.ts +13 -0
  197. package/dist/lib/services.d.ts.map +1 -0
  198. package/dist/lib/services.js +47 -0
  199. package/dist/lib/services.js.map +1 -0
  200. package/dist/lib/spinner.d.ts +28 -0
  201. package/dist/lib/spinner.d.ts.map +1 -0
  202. package/dist/lib/spinner.js +91 -0
  203. package/dist/lib/spinner.js.map +1 -0
  204. package/dist/lib/type-generation/attribute.d.ts +17 -0
  205. package/dist/lib/type-generation/attribute.d.ts.map +1 -0
  206. package/dist/lib/type-generation/attribute.js +16 -0
  207. package/dist/lib/type-generation/attribute.js.map +1 -0
  208. package/dist/lib/type-generation/languages/csharp.d.ts +7 -0
  209. package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -0
  210. package/dist/lib/type-generation/languages/csharp.js +180 -0
  211. package/dist/lib/type-generation/languages/csharp.js.map +1 -0
  212. package/dist/lib/type-generation/languages/dart.d.ts +8 -0
  213. package/dist/lib/type-generation/languages/dart.d.ts.map +1 -0
  214. package/dist/lib/type-generation/languages/dart.js +197 -0
  215. package/dist/lib/type-generation/languages/dart.js.map +1 -0
  216. package/dist/lib/type-generation/languages/java.d.ts +7 -0
  217. package/dist/lib/type-generation/languages/java.d.ts.map +1 -0
  218. package/dist/lib/type-generation/languages/java.js +140 -0
  219. package/dist/lib/type-generation/languages/java.js.map +1 -0
  220. package/dist/lib/type-generation/languages/javascript.d.ts +9 -0
  221. package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -0
  222. package/dist/lib/type-generation/languages/javascript.js +109 -0
  223. package/dist/lib/type-generation/languages/javascript.js.map +1 -0
  224. package/dist/lib/type-generation/languages/kotlin.d.ts +7 -0
  225. package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -0
  226. package/dist/lib/type-generation/languages/kotlin.js +95 -0
  227. package/dist/lib/type-generation/languages/kotlin.js.map +1 -0
  228. package/dist/lib/type-generation/languages/language.d.ts +43 -0
  229. package/dist/lib/type-generation/languages/language.d.ts.map +1 -0
  230. package/dist/lib/type-generation/languages/language.js +77 -0
  231. package/dist/lib/type-generation/languages/language.js.map +1 -0
  232. package/dist/lib/type-generation/languages/php.d.ts +7 -0
  233. package/dist/lib/type-generation/languages/php.d.ts.map +1 -0
  234. package/dist/lib/type-generation/languages/php.js +116 -0
  235. package/dist/lib/type-generation/languages/php.js.map +1 -0
  236. package/dist/lib/type-generation/languages/swift.d.ts +7 -0
  237. package/dist/lib/type-generation/languages/swift.d.ts.map +1 -0
  238. package/dist/lib/type-generation/languages/swift.js +179 -0
  239. package/dist/lib/type-generation/languages/swift.js.map +1 -0
  240. package/dist/lib/type-generation/languages/typescript.d.ts +9 -0
  241. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -0
  242. package/dist/lib/type-generation/languages/typescript.js +115 -0
  243. package/dist/lib/type-generation/languages/typescript.js.map +1 -0
  244. package/dist/lib/types.d.ts +63 -0
  245. package/dist/lib/types.d.ts.map +1 -0
  246. package/dist/lib/types.js +2 -0
  247. package/dist/lib/types.js.map +1 -0
  248. package/dist/lib/utils.d.ts +18 -0
  249. package/dist/lib/utils.d.ts.map +1 -0
  250. package/dist/lib/utils.js +323 -0
  251. package/dist/lib/utils.js.map +1 -0
  252. package/dist/lib/validations.d.ts +2 -0
  253. package/dist/lib/validations.d.ts.map +1 -0
  254. package/dist/lib/validations.js +16 -0
  255. package/dist/lib/validations.js.map +1 -0
  256. package/dist/package.json +68 -0
  257. package/dist/scripts/generate-commands.d.ts +2 -0
  258. package/dist/scripts/generate-commands.d.ts.map +1 -0
  259. package/dist/scripts/generate-commands.js +398 -0
  260. package/dist/scripts/generate-commands.js.map +1 -0
  261. package/dist/sites/profile-website/src/lib/utils.d.ts +4 -0
  262. package/dist/sites/profile-website/src/lib/utils.d.ts.map +1 -0
  263. package/dist/sites/profile-website/src/lib/utils.js +32 -0
  264. package/dist/sites/profile-website/src/lib/utils.js.map +1 -0
  265. package/dist/sites/profile-website/tailwind.config.d.ts +3 -0
  266. package/dist/sites/profile-website/tailwind.config.d.ts.map +1 -0
  267. package/dist/sites/profile-website/tailwind.config.js +110 -0
  268. package/dist/sites/profile-website/tailwind.config.js.map +1 -0
  269. package/dist/test.d.ts +2 -0
  270. package/dist/test.d.ts.map +1 -0
  271. package/dist/test.js +38 -0
  272. package/dist/test.js.map +1 -0
  273. package/index.ts +190 -0
  274. package/install.ps1 +5 -8
  275. package/install.sh +4 -5
  276. package/lib/client.ts +292 -0
  277. package/lib/commands/config.ts +493 -0
  278. package/lib/commands/db.ts +324 -0
  279. package/lib/commands/errors.ts +93 -0
  280. package/lib/commands/generic.ts +440 -0
  281. package/lib/commands/init.ts +713 -0
  282. package/lib/commands/pull.ts +944 -0
  283. package/lib/commands/push.ts +2355 -0
  284. package/lib/commands/run.ts +416 -0
  285. package/lib/commands/schema.ts +103 -0
  286. package/lib/commands/services/account.ts +832 -0
  287. package/lib/commands/services/avatars.ts +400 -0
  288. package/lib/commands/services/console.ts +73 -0
  289. package/lib/commands/services/databases.ts +2080 -0
  290. package/lib/commands/services/functions.ts +855 -0
  291. package/lib/commands/services/graphql.ts +47 -0
  292. package/lib/commands/services/health.ts +322 -0
  293. package/lib/commands/services/locale.ts +99 -0
  294. package/lib/commands/services/messaging.ts +1871 -0
  295. package/lib/commands/services/migrations.ts +421 -0
  296. package/lib/commands/services/project.ts +116 -0
  297. package/lib/commands/services/projects.ts +1317 -0
  298. package/lib/commands/services/proxy.ts +163 -0
  299. package/lib/commands/services/sites.ts +777 -0
  300. package/lib/commands/services/storage.ts +547 -0
  301. package/lib/commands/services/tablesdb.ts +1928 -0
  302. package/lib/commands/services/teams.ts +294 -0
  303. package/lib/commands/services/tokens.ts +106 -0
  304. package/lib/commands/services/users.ts +886 -0
  305. package/lib/commands/services/vcs.ts +268 -0
  306. package/lib/commands/types.ts +220 -0
  307. package/lib/commands/update.ts +245 -0
  308. package/lib/commands/utils/attributes.ts +734 -0
  309. package/lib/commands/utils/change-approval.ts +186 -0
  310. package/lib/commands/utils/database-sync.ts +180 -0
  311. package/lib/commands/utils/deployment.ts +180 -0
  312. package/lib/commands/utils/error-formatter.ts +417 -0
  313. package/lib/commands/utils/pools.ts +354 -0
  314. package/lib/config.ts +932 -0
  315. package/lib/emulation/docker.ts +312 -0
  316. package/lib/emulation/utils.ts +207 -0
  317. package/lib/id.ts +30 -0
  318. package/lib/paginate.ts +77 -0
  319. package/lib/parser.ts +264 -0
  320. package/lib/questions.ts +1167 -0
  321. package/lib/sdks.ts +84 -0
  322. package/lib/services.ts +72 -0
  323. package/lib/spinner.ts +131 -0
  324. package/lib/type-generation/attribute.ts +18 -0
  325. package/lib/type-generation/languages/csharp.ts +192 -0
  326. package/lib/type-generation/languages/dart.ts +217 -0
  327. package/lib/type-generation/languages/java.ts +152 -0
  328. package/lib/type-generation/languages/javascript.ts +122 -0
  329. package/lib/type-generation/languages/kotlin.ts +107 -0
  330. package/lib/type-generation/languages/language.ts +127 -0
  331. package/lib/type-generation/languages/php.ts +128 -0
  332. package/lib/type-generation/languages/swift.ts +191 -0
  333. package/lib/type-generation/languages/typescript.ts +133 -0
  334. package/lib/types.ts +75 -0
  335. package/lib/utils.ts +394 -0
  336. package/lib/validations.ts +20 -0
  337. package/package.json +39 -21
  338. package/scoop/appwrite.config.json +20 -0
  339. package/scripts/generate-commands.ts +539 -0
  340. package/tsconfig.json +24 -0
  341. package/appwrite.config.json +0 -420
  342. package/docs/examples/account/create-anonymous-session.md +0 -1
  343. package/docs/examples/account/create-email-password-session.md +0 -3
  344. package/docs/examples/account/create-email-token.md +0 -4
  345. package/docs/examples/account/create-j-w-t.md +0 -1
  346. package/docs/examples/account/create-magic-u-r-l-token.md +0 -5
  347. package/docs/examples/account/create-mfa-authenticator.md +0 -2
  348. package/docs/examples/account/create-mfa-challenge.md +0 -2
  349. package/docs/examples/account/create-mfa-recovery-codes.md +0 -1
  350. package/docs/examples/account/create-o-auth2session.md +0 -5
  351. package/docs/examples/account/create-o-auth2token.md +0 -5
  352. package/docs/examples/account/create-phone-token.md +0 -3
  353. package/docs/examples/account/create-phone-verification.md +0 -1
  354. package/docs/examples/account/create-push-target.md +0 -4
  355. package/docs/examples/account/create-recovery.md +0 -3
  356. package/docs/examples/account/create-session.md +0 -3
  357. package/docs/examples/account/create-verification.md +0 -2
  358. package/docs/examples/account/create.md +0 -5
  359. package/docs/examples/account/delete-identity.md +0 -2
  360. package/docs/examples/account/delete-mfa-authenticator.md +0 -2
  361. package/docs/examples/account/delete-push-target.md +0 -2
  362. package/docs/examples/account/delete-session.md +0 -2
  363. package/docs/examples/account/delete-sessions.md +0 -1
  364. package/docs/examples/account/delete.md +0 -1
  365. package/docs/examples/account/get-mfa-recovery-codes.md +0 -1
  366. package/docs/examples/account/get-prefs.md +0 -1
  367. package/docs/examples/account/get-session.md +0 -2
  368. package/docs/examples/account/get.md +0 -1
  369. package/docs/examples/account/list-identities.md +0 -2
  370. package/docs/examples/account/list-logs.md +0 -2
  371. package/docs/examples/account/list-mfa-factors.md +0 -1
  372. package/docs/examples/account/list-sessions.md +0 -1
  373. package/docs/examples/account/update-email.md +0 -3
  374. package/docs/examples/account/update-m-f-a.md +0 -2
  375. package/docs/examples/account/update-magic-u-r-l-session.md +0 -3
  376. package/docs/examples/account/update-mfa-authenticator.md +0 -3
  377. package/docs/examples/account/update-mfa-challenge.md +0 -3
  378. package/docs/examples/account/update-mfa-recovery-codes.md +0 -1
  379. package/docs/examples/account/update-name.md +0 -2
  380. package/docs/examples/account/update-password.md +0 -3
  381. package/docs/examples/account/update-phone-session.md +0 -3
  382. package/docs/examples/account/update-phone-verification.md +0 -3
  383. package/docs/examples/account/update-phone.md +0 -3
  384. package/docs/examples/account/update-prefs.md +0 -2
  385. package/docs/examples/account/update-push-target.md +0 -3
  386. package/docs/examples/account/update-recovery.md +0 -4
  387. package/docs/examples/account/update-session.md +0 -2
  388. package/docs/examples/account/update-status.md +0 -1
  389. package/docs/examples/account/update-verification.md +0 -3
  390. package/docs/examples/avatars/get-browser.md +0 -5
  391. package/docs/examples/avatars/get-credit-card.md +0 -5
  392. package/docs/examples/avatars/get-favicon.md +0 -2
  393. package/docs/examples/avatars/get-flag.md +0 -5
  394. package/docs/examples/avatars/get-image.md +0 -4
  395. package/docs/examples/avatars/get-initials.md +0 -5
  396. package/docs/examples/avatars/get-q-r.md +0 -5
  397. package/docs/examples/console/get-resource.md +0 -3
  398. package/docs/examples/console/variables.md +0 -1
  399. package/docs/examples/databases/create-boolean-attribute.md +0 -7
  400. package/docs/examples/databases/create-collection.md +0 -7
  401. package/docs/examples/databases/create-datetime-attribute.md +0 -7
  402. package/docs/examples/databases/create-document.md +0 -6
  403. package/docs/examples/databases/create-documents.md +0 -4
  404. package/docs/examples/databases/create-email-attribute.md +0 -7
  405. package/docs/examples/databases/create-enum-attribute.md +0 -8
  406. package/docs/examples/databases/create-float-attribute.md +0 -9
  407. package/docs/examples/databases/create-index.md +0 -8
  408. package/docs/examples/databases/create-integer-attribute.md +0 -9
  409. package/docs/examples/databases/create-ip-attribute.md +0 -7
  410. package/docs/examples/databases/create-relationship-attribute.md +0 -9
  411. package/docs/examples/databases/create-string-attribute.md +0 -9
  412. package/docs/examples/databases/create-url-attribute.md +0 -7
  413. package/docs/examples/databases/create.md +0 -4
  414. package/docs/examples/databases/decrement-document-attribute.md +0 -7
  415. package/docs/examples/databases/delete-attribute.md +0 -4
  416. package/docs/examples/databases/delete-collection.md +0 -3
  417. package/docs/examples/databases/delete-document.md +0 -4
  418. package/docs/examples/databases/delete-documents.md +0 -4
  419. package/docs/examples/databases/delete-index.md +0 -4
  420. package/docs/examples/databases/delete.md +0 -2
  421. package/docs/examples/databases/get-attribute.md +0 -4
  422. package/docs/examples/databases/get-collection-usage.md +0 -4
  423. package/docs/examples/databases/get-collection.md +0 -3
  424. package/docs/examples/databases/get-database-usage.md +0 -3
  425. package/docs/examples/databases/get-document.md +0 -5
  426. package/docs/examples/databases/get-index.md +0 -4
  427. package/docs/examples/databases/get-usage.md +0 -2
  428. package/docs/examples/databases/get.md +0 -2
  429. package/docs/examples/databases/increment-document-attribute.md +0 -7
  430. package/docs/examples/databases/list-attributes.md +0 -4
  431. package/docs/examples/databases/list-collection-logs.md +0 -4
  432. package/docs/examples/databases/list-collections.md +0 -4
  433. package/docs/examples/databases/list-document-logs.md +0 -5
  434. package/docs/examples/databases/list-documents.md +0 -4
  435. package/docs/examples/databases/list-indexes.md +0 -4
  436. package/docs/examples/databases/list-logs.md +0 -3
  437. package/docs/examples/databases/list-usage.md +0 -2
  438. package/docs/examples/databases/list.md +0 -3
  439. package/docs/examples/databases/update-boolean-attribute.md +0 -7
  440. package/docs/examples/databases/update-collection.md +0 -7
  441. package/docs/examples/databases/update-datetime-attribute.md +0 -7
  442. package/docs/examples/databases/update-document.md +0 -6
  443. package/docs/examples/databases/update-documents.md +0 -5
  444. package/docs/examples/databases/update-email-attribute.md +0 -7
  445. package/docs/examples/databases/update-enum-attribute.md +0 -8
  446. package/docs/examples/databases/update-float-attribute.md +0 -9
  447. package/docs/examples/databases/update-integer-attribute.md +0 -9
  448. package/docs/examples/databases/update-ip-attribute.md +0 -7
  449. package/docs/examples/databases/update-relationship-attribute.md +0 -6
  450. package/docs/examples/databases/update-string-attribute.md +0 -8
  451. package/docs/examples/databases/update-url-attribute.md +0 -7
  452. package/docs/examples/databases/update.md +0 -4
  453. package/docs/examples/databases/upsert-document.md +0 -6
  454. package/docs/examples/databases/upsert-documents.md +0 -4
  455. package/docs/examples/functions/create-deployment.md +0 -6
  456. package/docs/examples/functions/create-duplicate-deployment.md +0 -4
  457. package/docs/examples/functions/create-execution.md +0 -8
  458. package/docs/examples/functions/create-template-deployment.md +0 -7
  459. package/docs/examples/functions/create-variable.md +0 -5
  460. package/docs/examples/functions/create-vcs-deployment.md +0 -5
  461. package/docs/examples/functions/create.md +0 -19
  462. package/docs/examples/functions/delete-deployment.md +0 -3
  463. package/docs/examples/functions/delete-execution.md +0 -3
  464. package/docs/examples/functions/delete-variable.md +0 -3
  465. package/docs/examples/functions/delete.md +0 -2
  466. package/docs/examples/functions/get-deployment-download.md +0 -4
  467. package/docs/examples/functions/get-deployment.md +0 -3
  468. package/docs/examples/functions/get-execution.md +0 -3
  469. package/docs/examples/functions/get-template.md +0 -2
  470. package/docs/examples/functions/get-usage.md +0 -3
  471. package/docs/examples/functions/get-variable.md +0 -3
  472. package/docs/examples/functions/get.md +0 -2
  473. package/docs/examples/functions/list-deployments.md +0 -4
  474. package/docs/examples/functions/list-executions.md +0 -3
  475. package/docs/examples/functions/list-runtimes.md +0 -1
  476. package/docs/examples/functions/list-specifications.md +0 -1
  477. package/docs/examples/functions/list-templates.md +0 -5
  478. package/docs/examples/functions/list-usage.md +0 -2
  479. package/docs/examples/functions/list-variables.md +0 -2
  480. package/docs/examples/functions/list.md +0 -3
  481. package/docs/examples/functions/update-deployment-status.md +0 -3
  482. package/docs/examples/functions/update-function-deployment.md +0 -3
  483. package/docs/examples/functions/update-variable.md +0 -6
  484. package/docs/examples/functions/update.md +0 -19
  485. package/docs/examples/graphql/mutation.md +0 -2
  486. package/docs/examples/graphql/query.md +0 -2
  487. package/docs/examples/health/get-antivirus.md +0 -1
  488. package/docs/examples/health/get-cache.md +0 -1
  489. package/docs/examples/health/get-certificate.md +0 -2
  490. package/docs/examples/health/get-d-b.md +0 -1
  491. package/docs/examples/health/get-failed-jobs.md +0 -3
  492. package/docs/examples/health/get-pub-sub.md +0 -1
  493. package/docs/examples/health/get-queue-builds.md +0 -2
  494. package/docs/examples/health/get-queue-certificates.md +0 -2
  495. package/docs/examples/health/get-queue-databases.md +0 -3
  496. package/docs/examples/health/get-queue-deletes.md +0 -2
  497. package/docs/examples/health/get-queue-functions.md +0 -2
  498. package/docs/examples/health/get-queue-logs.md +0 -2
  499. package/docs/examples/health/get-queue-mails.md +0 -2
  500. package/docs/examples/health/get-queue-messaging.md +0 -2
  501. package/docs/examples/health/get-queue-migrations.md +0 -2
  502. package/docs/examples/health/get-queue-stats-resources.md +0 -2
  503. package/docs/examples/health/get-queue-usage.md +0 -2
  504. package/docs/examples/health/get-queue-webhooks.md +0 -2
  505. package/docs/examples/health/get-storage-local.md +0 -1
  506. package/docs/examples/health/get-storage.md +0 -1
  507. package/docs/examples/health/get-time.md +0 -1
  508. package/docs/examples/health/get.md +0 -1
  509. package/docs/examples/locale/get.md +0 -1
  510. package/docs/examples/locale/list-codes.md +0 -1
  511. package/docs/examples/locale/list-continents.md +0 -1
  512. package/docs/examples/locale/list-countries-e-u.md +0 -1
  513. package/docs/examples/locale/list-countries-phones.md +0 -1
  514. package/docs/examples/locale/list-countries.md +0 -1
  515. package/docs/examples/locale/list-currencies.md +0 -1
  516. package/docs/examples/locale/list-languages.md +0 -1
  517. package/docs/examples/messaging/create-apns-provider.md +0 -9
  518. package/docs/examples/messaging/create-email.md +0 -13
  519. package/docs/examples/messaging/create-fcm-provider.md +0 -5
  520. package/docs/examples/messaging/create-mailgun-provider.md +0 -11
  521. package/docs/examples/messaging/create-msg91provider.md +0 -7
  522. package/docs/examples/messaging/create-push.md +0 -20
  523. package/docs/examples/messaging/create-sendgrid-provider.md +0 -9
  524. package/docs/examples/messaging/create-sms.md +0 -8
  525. package/docs/examples/messaging/create-smtp-provider.md +0 -15
  526. package/docs/examples/messaging/create-subscriber.md +0 -4
  527. package/docs/examples/messaging/create-telesign-provider.md +0 -7
  528. package/docs/examples/messaging/create-textmagic-provider.md +0 -7
  529. package/docs/examples/messaging/create-topic.md +0 -4
  530. package/docs/examples/messaging/create-twilio-provider.md +0 -7
  531. package/docs/examples/messaging/create-vonage-provider.md +0 -7
  532. package/docs/examples/messaging/delete-provider.md +0 -2
  533. package/docs/examples/messaging/delete-subscriber.md +0 -3
  534. package/docs/examples/messaging/delete-topic.md +0 -2
  535. package/docs/examples/messaging/delete.md +0 -2
  536. package/docs/examples/messaging/get-message.md +0 -2
  537. package/docs/examples/messaging/get-provider.md +0 -2
  538. package/docs/examples/messaging/get-subscriber.md +0 -3
  539. package/docs/examples/messaging/get-topic.md +0 -2
  540. package/docs/examples/messaging/list-message-logs.md +0 -3
  541. package/docs/examples/messaging/list-messages.md +0 -3
  542. package/docs/examples/messaging/list-provider-logs.md +0 -3
  543. package/docs/examples/messaging/list-providers.md +0 -3
  544. package/docs/examples/messaging/list-subscriber-logs.md +0 -3
  545. package/docs/examples/messaging/list-subscribers.md +0 -4
  546. package/docs/examples/messaging/list-targets.md +0 -3
  547. package/docs/examples/messaging/list-topic-logs.md +0 -3
  548. package/docs/examples/messaging/list-topics.md +0 -3
  549. package/docs/examples/messaging/update-apns-provider.md +0 -9
  550. package/docs/examples/messaging/update-email.md +0 -13
  551. package/docs/examples/messaging/update-fcm-provider.md +0 -5
  552. package/docs/examples/messaging/update-mailgun-provider.md +0 -11
  553. package/docs/examples/messaging/update-msg91provider.md +0 -7
  554. package/docs/examples/messaging/update-push.md +0 -20
  555. package/docs/examples/messaging/update-sendgrid-provider.md +0 -9
  556. package/docs/examples/messaging/update-sms.md +0 -8
  557. package/docs/examples/messaging/update-smtp-provider.md +0 -15
  558. package/docs/examples/messaging/update-telesign-provider.md +0 -7
  559. package/docs/examples/messaging/update-textmagic-provider.md +0 -7
  560. package/docs/examples/messaging/update-topic.md +0 -4
  561. package/docs/examples/messaging/update-twilio-provider.md +0 -7
  562. package/docs/examples/messaging/update-vonage-provider.md +0 -7
  563. package/docs/examples/migrations/create-appwrite-migration.md +0 -5
  564. package/docs/examples/migrations/create-csv-migration.md +0 -4
  565. package/docs/examples/migrations/create-firebase-migration.md +0 -3
  566. package/docs/examples/migrations/create-n-host-migration.md +0 -9
  567. package/docs/examples/migrations/create-supabase-migration.md +0 -8
  568. package/docs/examples/migrations/delete.md +0 -2
  569. package/docs/examples/migrations/get-appwrite-report.md +0 -5
  570. package/docs/examples/migrations/get-firebase-report.md +0 -3
  571. package/docs/examples/migrations/get-n-host-report.md +0 -9
  572. package/docs/examples/migrations/get-supabase-report.md +0 -8
  573. package/docs/examples/migrations/get.md +0 -2
  574. package/docs/examples/migrations/list.md +0 -3
  575. package/docs/examples/migrations/retry.md +0 -2
  576. package/docs/examples/project/create-variable.md +0 -4
  577. package/docs/examples/project/delete-variable.md +0 -2
  578. package/docs/examples/project/get-usage.md +0 -4
  579. package/docs/examples/project/get-variable.md +0 -2
  580. package/docs/examples/project/list-variables.md +0 -1
  581. package/docs/examples/project/update-variable.md +0 -5
  582. package/docs/examples/projects/create-dev-key.md +0 -4
  583. package/docs/examples/projects/create-j-w-t.md +0 -4
  584. package/docs/examples/projects/create-key.md +0 -5
  585. package/docs/examples/projects/create-platform.md +0 -7
  586. package/docs/examples/projects/create-smtp-test.md +0 -11
  587. package/docs/examples/projects/create-webhook.md +0 -9
  588. package/docs/examples/projects/create.md +0 -14
  589. package/docs/examples/projects/delete-dev-key.md +0 -3
  590. package/docs/examples/projects/delete-email-template.md +0 -4
  591. package/docs/examples/projects/delete-key.md +0 -3
  592. package/docs/examples/projects/delete-platform.md +0 -3
  593. package/docs/examples/projects/delete-sms-template.md +0 -4
  594. package/docs/examples/projects/delete-webhook.md +0 -3
  595. package/docs/examples/projects/delete.md +0 -2
  596. package/docs/examples/projects/get-dev-key.md +0 -3
  597. package/docs/examples/projects/get-email-template.md +0 -4
  598. package/docs/examples/projects/get-key.md +0 -3
  599. package/docs/examples/projects/get-platform.md +0 -3
  600. package/docs/examples/projects/get-sms-template.md +0 -4
  601. package/docs/examples/projects/get-webhook.md +0 -3
  602. package/docs/examples/projects/get.md +0 -2
  603. package/docs/examples/projects/list-dev-keys.md +0 -3
  604. package/docs/examples/projects/list-keys.md +0 -2
  605. package/docs/examples/projects/list-platforms.md +0 -2
  606. package/docs/examples/projects/list-webhooks.md +0 -2
  607. package/docs/examples/projects/list.md +0 -3
  608. package/docs/examples/projects/update-api-status-all.md +0 -3
  609. package/docs/examples/projects/update-api-status.md +0 -4
  610. package/docs/examples/projects/update-auth-duration.md +0 -3
  611. package/docs/examples/projects/update-auth-limit.md +0 -3
  612. package/docs/examples/projects/update-auth-password-dictionary.md +0 -3
  613. package/docs/examples/projects/update-auth-password-history.md +0 -3
  614. package/docs/examples/projects/update-auth-sessions-limit.md +0 -3
  615. package/docs/examples/projects/update-auth-status.md +0 -4
  616. package/docs/examples/projects/update-dev-key.md +0 -5
  617. package/docs/examples/projects/update-email-template.md +0 -9
  618. package/docs/examples/projects/update-key.md +0 -6
  619. package/docs/examples/projects/update-memberships-privacy.md +0 -5
  620. package/docs/examples/projects/update-mock-numbers.md +0 -3
  621. package/docs/examples/projects/update-o-auth2.md +0 -6
  622. package/docs/examples/projects/update-personal-data-check.md +0 -3
  623. package/docs/examples/projects/update-platform.md +0 -7
  624. package/docs/examples/projects/update-service-status-all.md +0 -3
  625. package/docs/examples/projects/update-service-status.md +0 -4
  626. package/docs/examples/projects/update-session-alerts.md +0 -3
  627. package/docs/examples/projects/update-session-invalidation.md +0 -3
  628. package/docs/examples/projects/update-sms-template.md +0 -5
  629. package/docs/examples/projects/update-smtp.md +0 -11
  630. package/docs/examples/projects/update-team.md +0 -3
  631. package/docs/examples/projects/update-webhook-signature.md +0 -3
  632. package/docs/examples/projects/update-webhook.md +0 -10
  633. package/docs/examples/projects/update.md +0 -12
  634. package/docs/examples/proxy/create-a-p-i-rule.md +0 -2
  635. package/docs/examples/proxy/create-function-rule.md +0 -4
  636. package/docs/examples/proxy/create-redirect-rule.md +0 -6
  637. package/docs/examples/proxy/create-site-rule.md +0 -4
  638. package/docs/examples/proxy/delete-rule.md +0 -2
  639. package/docs/examples/proxy/get-rule.md +0 -2
  640. package/docs/examples/proxy/list-rules.md +0 -3
  641. package/docs/examples/proxy/update-rule-verification.md +0 -2
  642. package/docs/examples/sites/create-deployment.md +0 -7
  643. package/docs/examples/sites/create-duplicate-deployment.md +0 -3
  644. package/docs/examples/sites/create-template-deployment.md +0 -7
  645. package/docs/examples/sites/create-variable.md +0 -5
  646. package/docs/examples/sites/create-vcs-deployment.md +0 -5
  647. package/docs/examples/sites/create.md +0 -19
  648. package/docs/examples/sites/delete-deployment.md +0 -3
  649. package/docs/examples/sites/delete-log.md +0 -3
  650. package/docs/examples/sites/delete-variable.md +0 -3
  651. package/docs/examples/sites/delete.md +0 -2
  652. package/docs/examples/sites/get-deployment-download.md +0 -4
  653. package/docs/examples/sites/get-deployment.md +0 -3
  654. package/docs/examples/sites/get-log.md +0 -3
  655. package/docs/examples/sites/get-template.md +0 -2
  656. package/docs/examples/sites/get-usage.md +0 -3
  657. package/docs/examples/sites/get-variable.md +0 -3
  658. package/docs/examples/sites/get.md +0 -2
  659. package/docs/examples/sites/list-deployments.md +0 -4
  660. package/docs/examples/sites/list-frameworks.md +0 -1
  661. package/docs/examples/sites/list-logs.md +0 -3
  662. package/docs/examples/sites/list-specifications.md +0 -1
  663. package/docs/examples/sites/list-templates.md +0 -5
  664. package/docs/examples/sites/list-usage.md +0 -2
  665. package/docs/examples/sites/list-variables.md +0 -2
  666. package/docs/examples/sites/list.md +0 -3
  667. package/docs/examples/sites/update-deployment-status.md +0 -3
  668. package/docs/examples/sites/update-site-deployment.md +0 -3
  669. package/docs/examples/sites/update-variable.md +0 -6
  670. package/docs/examples/sites/update.md +0 -19
  671. package/docs/examples/storage/create-bucket.md +0 -11
  672. package/docs/examples/storage/create-file.md +0 -5
  673. package/docs/examples/storage/delete-bucket.md +0 -2
  674. package/docs/examples/storage/delete-file.md +0 -3
  675. package/docs/examples/storage/get-bucket-usage.md +0 -3
  676. package/docs/examples/storage/get-bucket.md +0 -2
  677. package/docs/examples/storage/get-file-download.md +0 -4
  678. package/docs/examples/storage/get-file-preview.md +0 -15
  679. package/docs/examples/storage/get-file-view.md +0 -4
  680. package/docs/examples/storage/get-file.md +0 -3
  681. package/docs/examples/storage/get-usage.md +0 -2
  682. package/docs/examples/storage/list-buckets.md +0 -3
  683. package/docs/examples/storage/list-files.md +0 -4
  684. package/docs/examples/storage/update-bucket.md +0 -11
  685. package/docs/examples/storage/update-file.md +0 -5
  686. package/docs/examples/tables/create-boolean-column.md +0 -7
  687. package/docs/examples/tables/create-datetime-column.md +0 -7
  688. package/docs/examples/tables/create-email-column.md +0 -7
  689. package/docs/examples/tables/create-enum-column.md +0 -8
  690. package/docs/examples/tables/create-float-column.md +0 -9
  691. package/docs/examples/tables/create-index.md +0 -8
  692. package/docs/examples/tables/create-integer-column.md +0 -9
  693. package/docs/examples/tables/create-ip-column.md +0 -7
  694. package/docs/examples/tables/create-relationship-column.md +0 -9
  695. package/docs/examples/tables/create-row.md +0 -6
  696. package/docs/examples/tables/create-rows.md +0 -4
  697. package/docs/examples/tables/create-string-column.md +0 -9
  698. package/docs/examples/tables/create-url-column.md +0 -7
  699. package/docs/examples/tables/create.md +0 -7
  700. package/docs/examples/tables/decrement-row-column.md +0 -7
  701. package/docs/examples/tables/delete-column.md +0 -4
  702. package/docs/examples/tables/delete-index.md +0 -4
  703. package/docs/examples/tables/delete-row.md +0 -4
  704. package/docs/examples/tables/delete-rows.md +0 -4
  705. package/docs/examples/tables/delete.md +0 -3
  706. package/docs/examples/tables/get-column.md +0 -4
  707. package/docs/examples/tables/get-index.md +0 -4
  708. package/docs/examples/tables/get-row.md +0 -5
  709. package/docs/examples/tables/get-usage.md +0 -4
  710. package/docs/examples/tables/get.md +0 -3
  711. package/docs/examples/tables/increment-row-column.md +0 -7
  712. package/docs/examples/tables/list-columns.md +0 -4
  713. package/docs/examples/tables/list-indexes.md +0 -4
  714. package/docs/examples/tables/list-logs.md +0 -4
  715. package/docs/examples/tables/list-row-logs.md +0 -5
  716. package/docs/examples/tables/list-rows.md +0 -4
  717. package/docs/examples/tables/list.md +0 -4
  718. package/docs/examples/tables/update-boolean-column.md +0 -7
  719. package/docs/examples/tables/update-datetime-column.md +0 -7
  720. package/docs/examples/tables/update-email-column.md +0 -7
  721. package/docs/examples/tables/update-enum-column.md +0 -8
  722. package/docs/examples/tables/update-float-column.md +0 -9
  723. package/docs/examples/tables/update-integer-column.md +0 -9
  724. package/docs/examples/tables/update-ip-column.md +0 -7
  725. package/docs/examples/tables/update-relationship-column.md +0 -6
  726. package/docs/examples/tables/update-row.md +0 -6
  727. package/docs/examples/tables/update-rows.md +0 -5
  728. package/docs/examples/tables/update-string-column.md +0 -8
  729. package/docs/examples/tables/update-url-column.md +0 -7
  730. package/docs/examples/tables/update.md +0 -7
  731. package/docs/examples/tables/upsert-row.md +0 -4
  732. package/docs/examples/tables/upsert-rows.md +0 -3
  733. package/docs/examples/teams/create-membership.md +0 -8
  734. package/docs/examples/teams/create.md +0 -4
  735. package/docs/examples/teams/delete-membership.md +0 -3
  736. package/docs/examples/teams/delete.md +0 -2
  737. package/docs/examples/teams/get-membership.md +0 -3
  738. package/docs/examples/teams/get-prefs.md +0 -2
  739. package/docs/examples/teams/get.md +0 -2
  740. package/docs/examples/teams/list-logs.md +0 -3
  741. package/docs/examples/teams/list-memberships.md +0 -4
  742. package/docs/examples/teams/list.md +0 -3
  743. package/docs/examples/teams/update-membership-status.md +0 -5
  744. package/docs/examples/teams/update-membership.md +0 -4
  745. package/docs/examples/teams/update-name.md +0 -3
  746. package/docs/examples/teams/update-prefs.md +0 -3
  747. package/docs/examples/tokens/create-file-token.md +0 -4
  748. package/docs/examples/tokens/delete.md +0 -2
  749. package/docs/examples/tokens/get.md +0 -2
  750. package/docs/examples/tokens/list.md +0 -4
  751. package/docs/examples/tokens/update.md +0 -3
  752. package/docs/examples/users/create-argon2user.md +0 -5
  753. package/docs/examples/users/create-bcrypt-user.md +0 -5
  754. package/docs/examples/users/create-j-w-t.md +0 -4
  755. package/docs/examples/users/create-m-d5user.md +0 -5
  756. package/docs/examples/users/create-mfa-recovery-codes.md +0 -2
  757. package/docs/examples/users/create-p-h-pass-user.md +0 -5
  758. package/docs/examples/users/create-s-h-a-user.md +0 -6
  759. package/docs/examples/users/create-scrypt-modified-user.md +0 -8
  760. package/docs/examples/users/create-scrypt-user.md +0 -10
  761. package/docs/examples/users/create-session.md +0 -2
  762. package/docs/examples/users/create-target.md +0 -7
  763. package/docs/examples/users/create-token.md +0 -4
  764. package/docs/examples/users/create.md +0 -6
  765. package/docs/examples/users/delete-identity.md +0 -2
  766. package/docs/examples/users/delete-mfa-authenticator.md +0 -3
  767. package/docs/examples/users/delete-session.md +0 -3
  768. package/docs/examples/users/delete-sessions.md +0 -2
  769. package/docs/examples/users/delete-target.md +0 -3
  770. package/docs/examples/users/delete.md +0 -2
  771. package/docs/examples/users/get-mfa-recovery-codes.md +0 -2
  772. package/docs/examples/users/get-prefs.md +0 -2
  773. package/docs/examples/users/get-target.md +0 -3
  774. package/docs/examples/users/get-usage.md +0 -2
  775. package/docs/examples/users/get.md +0 -2
  776. package/docs/examples/users/list-identities.md +0 -3
  777. package/docs/examples/users/list-logs.md +0 -3
  778. package/docs/examples/users/list-memberships.md +0 -4
  779. package/docs/examples/users/list-mfa-factors.md +0 -2
  780. package/docs/examples/users/list-sessions.md +0 -2
  781. package/docs/examples/users/list-targets.md +0 -3
  782. package/docs/examples/users/list.md +0 -3
  783. package/docs/examples/users/update-email-verification.md +0 -3
  784. package/docs/examples/users/update-email.md +0 -3
  785. package/docs/examples/users/update-labels.md +0 -3
  786. package/docs/examples/users/update-mfa-recovery-codes.md +0 -2
  787. package/docs/examples/users/update-mfa.md +0 -3
  788. package/docs/examples/users/update-name.md +0 -3
  789. package/docs/examples/users/update-password.md +0 -3
  790. package/docs/examples/users/update-phone-verification.md +0 -3
  791. package/docs/examples/users/update-phone.md +0 -3
  792. package/docs/examples/users/update-prefs.md +0 -3
  793. package/docs/examples/users/update-status.md +0 -3
  794. package/docs/examples/users/update-target.md +0 -6
  795. package/docs/examples/vcs/create-repository-detection.md +0 -5
  796. package/docs/examples/vcs/create-repository.md +0 -4
  797. package/docs/examples/vcs/delete-installation.md +0 -2
  798. package/docs/examples/vcs/get-installation.md +0 -2
  799. package/docs/examples/vcs/get-repository-contents.md +0 -5
  800. package/docs/examples/vcs/get-repository.md +0 -3
  801. package/docs/examples/vcs/list-installations.md +0 -3
  802. package/docs/examples/vcs/list-repositories.md +0 -4
  803. package/docs/examples/vcs/list-repository-branches.md +0 -3
  804. package/docs/examples/vcs/update-external-deployments.md +0 -4
  805. package/functions/Starter function/.prettierrc.json +0 -6
  806. package/functions/Starter function/README.md +0 -48
  807. package/functions/Starter function/package-lock.json +0 -60
  808. package/functions/Starter function/package.json +0 -16
  809. package/functions/Starter function/src/main.js +0 -35
  810. package/generate/appwrite.d.ts +0 -55
  811. package/generate/appwrite.db.ts +0 -75
  812. package/index.js +0 -109
  813. package/lib/client-generation/languages/typescript.js +0 -65
  814. package/lib/client.js +0 -259
  815. package/lib/commands/account.js +0 -2074
  816. package/lib/commands/avatars.js +0 -491
  817. package/lib/commands/console.js +0 -129
  818. package/lib/commands/databases.js +0 -2972
  819. package/lib/commands/functions.js +0 -1737
  820. package/lib/commands/generic.js +0 -328
  821. package/lib/commands/graphql.js +0 -128
  822. package/lib/commands/health.js +0 -891
  823. package/lib/commands/init.js +0 -566
  824. package/lib/commands/locale.js +0 -324
  825. package/lib/commands/messaging.js +0 -2970
  826. package/lib/commands/migrations.js +0 -751
  827. package/lib/commands/organizations.js +0 -48
  828. package/lib/commands/project.js +0 -308
  829. package/lib/commands/projects.js +0 -2615
  830. package/lib/commands/proxy.js +0 -406
  831. package/lib/commands/pull.js +0 -474
  832. package/lib/commands/push.js +0 -2117
  833. package/lib/commands/run.js +0 -330
  834. package/lib/commands/sites.js +0 -1663
  835. package/lib/commands/storage.js +0 -990
  836. package/lib/commands/tables.js +0 -2607
  837. package/lib/commands/teams.js +0 -682
  838. package/lib/commands/tokens.js +0 -261
  839. package/lib/commands/types.js +0 -191
  840. package/lib/commands/users.js +0 -2035
  841. package/lib/commands/vcs.js +0 -484
  842. package/lib/config.js +0 -717
  843. package/lib/emulation/docker.js +0 -264
  844. package/lib/emulation/utils.js +0 -186
  845. package/lib/exception.js +0 -9
  846. package/lib/id.js +0 -30
  847. package/lib/paginate.js +0 -52
  848. package/lib/parser.js +0 -246
  849. package/lib/questions.js +0 -1006
  850. package/lib/sdks.js +0 -60
  851. package/lib/spinner.js +0 -104
  852. package/lib/type-generation/attribute.js +0 -16
  853. package/lib/type-generation/languages/dart.js +0 -196
  854. package/lib/type-generation/languages/java.js +0 -130
  855. package/lib/type-generation/languages/javascript.js +0 -102
  856. package/lib/type-generation/languages/kotlin.js +0 -85
  857. package/lib/type-generation/languages/language.js +0 -125
  858. package/lib/type-generation/languages/php.js +0 -110
  859. package/lib/type-generation/languages/swift.js +0 -169
  860. package/lib/type-generation/languages/typescript.js +0 -105
  861. package/lib/utils.js +0 -289
  862. package/lib/validations.js +0 -17
  863. package/scoop/appwrite.json +0 -30
  864. package/sites/JavaScript starter2/.env.example +0 -3
  865. package/sites/JavaScript starter2/LICENSE +0 -21
  866. package/sites/JavaScript starter2/images/appwrite.svg +0 -8
  867. package/sites/JavaScript starter2/images/javascript.svg +0 -5
  868. package/sites/JavaScript starter2/index.html +0 -250
  869. package/sites/JavaScript starter2/lib/appwrite.js +0 -10
  870. package/sites/JavaScript starter2/package-lock.json +0 -1431
  871. package/sites/JavaScript starter2/package.json +0 -21
  872. package/sites/JavaScript starter2/readme.md +0 -26
  873. package/sites/JavaScript starter2/src/javascript.svg +0 -1
  874. package/sites/JavaScript starter2/style/app.css +0 -20
  875. package/sites/JavaScript starter2/vite.config.js +0 -7
package/lib/config.ts ADDED
@@ -0,0 +1,932 @@
1
+ import os from "os";
2
+ import fs from "fs";
3
+ import _path from "path";
4
+ import process from "process";
5
+ import JSONbig from "json-bigint";
6
+ import type { Models } from "@appwrite.io/console";
7
+ import type {
8
+ BucketType,
9
+ CollectionType,
10
+ FunctionType,
11
+ ConfigType,
12
+ SettingsType,
13
+ SiteType,
14
+ TableType,
15
+ TeamType,
16
+ TopicType,
17
+ } from "./commands/config.js";
18
+ import type {
19
+ SessionData,
20
+ ConfigData,
21
+ Entity,
22
+ GlobalConfigData,
23
+ } from "./types.js";
24
+ import { createSettingsObject } from "./utils.js";
25
+
26
+ const JSONBigInt = JSONbig({ storeAsString: false });
27
+
28
+ const KeysVars = new Set(["key", "value"]);
29
+ const KeysSite = new Set([
30
+ "path",
31
+ "$id",
32
+ "name",
33
+ "enabled",
34
+ "logging",
35
+ "timeout",
36
+ "framework",
37
+ "buildRuntime",
38
+ "adapter",
39
+ "installCommand",
40
+ "buildCommand",
41
+ "outputDirectory",
42
+ "fallbackFile",
43
+ "specification",
44
+ "vars",
45
+ ]);
46
+ const KeysFunction = new Set([
47
+ "path",
48
+ "$id",
49
+ "execute",
50
+ "name",
51
+ "enabled",
52
+ "logging",
53
+ "runtime",
54
+ "specification",
55
+ "scopes",
56
+ "events",
57
+ "schedule",
58
+ "timeout",
59
+ "entrypoint",
60
+ "commands",
61
+ "vars",
62
+ ]);
63
+ const KeysDatabase = new Set(["$id", "name", "enabled"]);
64
+ const KeysCollection = new Set([
65
+ "$id",
66
+ "$permissions",
67
+ "databaseId",
68
+ "name",
69
+ "enabled",
70
+ "documentSecurity",
71
+ "attributes",
72
+ "indexes",
73
+ ]);
74
+ const KeysTable = new Set([
75
+ "$id",
76
+ "$permissions",
77
+ "databaseId",
78
+ "name",
79
+ "enabled",
80
+ "rowSecurity",
81
+ "columns",
82
+ "indexes",
83
+ ]);
84
+ const KeysStorage = new Set([
85
+ "$id",
86
+ "$permissions",
87
+ "fileSecurity",
88
+ "name",
89
+ "enabled",
90
+ "maximumFileSize",
91
+ "allowedFileExtensions",
92
+ "compression",
93
+ "encryption",
94
+ "antivirus",
95
+ ]);
96
+ const KeysTopics = new Set(["$id", "name", "subscribe"]);
97
+ const KeysTeams = new Set(["$id", "name"]);
98
+ const KeysAttributes = new Set([
99
+ "key",
100
+ "type",
101
+ "required",
102
+ "array",
103
+ "size",
104
+ "default",
105
+ // integer and float
106
+ "min",
107
+ "max",
108
+ // email, enum, URL, IP, and datetime
109
+ "format",
110
+ // enum
111
+ "elements",
112
+ // relationship
113
+ "relatedCollection",
114
+ "relationType",
115
+ "twoWay",
116
+ "twoWayKey",
117
+ "onDelete",
118
+ "side",
119
+ // Indexes
120
+ "attributes",
121
+ "orders",
122
+ // Strings
123
+ "encrypt",
124
+ ]);
125
+ const KeysColumns = new Set([
126
+ "key",
127
+ "type",
128
+ "required",
129
+ "array",
130
+ "size",
131
+ "default",
132
+ // integer and float
133
+ "min",
134
+ "max",
135
+ // email, enum, URL, IP, and datetime
136
+ "format",
137
+ // enum
138
+ "elements",
139
+ // relationship
140
+ "relatedTable",
141
+ "relationType",
142
+ "twoWay",
143
+ "twoWayKey",
144
+ "onDelete",
145
+ "side",
146
+ // Indexes
147
+ "columns",
148
+ "orders",
149
+ // Strings
150
+ "encrypt",
151
+ ]);
152
+ const KeyIndexes = new Set(["key", "type", "status", "attributes", "orders"]);
153
+ const KeyIndexesColumns = new Set([
154
+ "key",
155
+ "type",
156
+ "status",
157
+ "columns",
158
+ "orders",
159
+ ]);
160
+
161
+ function whitelistKeys<T = any>(
162
+ value: T,
163
+ keys: Set<string>,
164
+ nestedKeys: Record<string, Set<string>> = {},
165
+ ): T {
166
+ if (Array.isArray(value)) {
167
+ const newValue: any[] = [];
168
+
169
+ for (const item of value) {
170
+ newValue.push(whitelistKeys(item, keys, nestedKeys));
171
+ }
172
+
173
+ return newValue as T;
174
+ }
175
+
176
+ const newValue: Record<string, any> = {};
177
+ Object.keys(value as any).forEach((key) => {
178
+ if (keys.has(key)) {
179
+ if (nestedKeys[key]) {
180
+ newValue[key] = whitelistKeys((value as any)[key], nestedKeys[key]);
181
+ } else {
182
+ newValue[key] = (value as any)[key];
183
+ }
184
+ }
185
+ });
186
+ return newValue as T;
187
+ }
188
+
189
+ class Config<T extends ConfigData = ConfigData> {
190
+ readonly path: string;
191
+ protected data: T;
192
+
193
+ constructor(path: string) {
194
+ this.path = path;
195
+ this.data = {} as T;
196
+ this.read();
197
+ }
198
+
199
+ read(): void {
200
+ try {
201
+ const file = fs.readFileSync(this.path).toString();
202
+ this.data = JSONBigInt.parse(file);
203
+ } catch (e) {
204
+ this.data = {} as T;
205
+ }
206
+ }
207
+
208
+ write(): void {
209
+ const dir = _path.dirname(this.path);
210
+ if (!fs.existsSync(dir)) {
211
+ fs.mkdirSync(dir, { recursive: true });
212
+ }
213
+ fs.writeFileSync(this.path, JSONBigInt.stringify(this.data, null, 4), {
214
+ mode: 0o600,
215
+ });
216
+ }
217
+
218
+ get<K extends keyof T>(key: K): T[K];
219
+ get(key: string): any {
220
+ return this.data[key as keyof T];
221
+ }
222
+
223
+ set<K extends keyof T>(key: K, value: T[K]): void;
224
+ set(key: string, value: any): void {
225
+ (this.data as any)[key] = value;
226
+ this.write();
227
+ }
228
+
229
+ delete(key: string): void {
230
+ delete (this.data as any)[key];
231
+ this.write();
232
+ }
233
+
234
+ clear(): void {
235
+ this.data = {} as T;
236
+ this.write();
237
+ }
238
+
239
+ has(key: string): boolean {
240
+ return this.data[key as keyof T] !== undefined;
241
+ }
242
+
243
+ keys(): string[] {
244
+ return Object.keys(this.data);
245
+ }
246
+
247
+ values(): unknown[] {
248
+ return Object.values(this.data);
249
+ }
250
+
251
+ toString(): string {
252
+ return JSONBigInt.stringify(this.data, null, 4);
253
+ }
254
+
255
+ protected _getDBEntities(entityType: string): Entity[] {
256
+ if (!this.has(entityType)) {
257
+ return [];
258
+ }
259
+ return this.get(entityType) as Entity[];
260
+ }
261
+
262
+ protected _getDBEntity(
263
+ entityType: string,
264
+ $id: string,
265
+ ): Entity | Record<string, never> {
266
+ if (!this.has(entityType)) {
267
+ return {};
268
+ }
269
+
270
+ const entities = this.get(entityType) as Entity[];
271
+ for (let i = 0; i < entities.length; i++) {
272
+ if (entities[i]["$id"] == $id) {
273
+ return entities[i];
274
+ }
275
+ }
276
+
277
+ return {};
278
+ }
279
+
280
+ protected _addDBEntity(
281
+ entityType: string,
282
+ props: Entity,
283
+ keysSet: Set<string>,
284
+ nestedKeys: Record<string, Set<string>> = {},
285
+ ): void {
286
+ props = whitelistKeys(props, keysSet, nestedKeys);
287
+
288
+ if (!this.has(entityType)) {
289
+ (this.set as (key: string, value: Entity[]) => void)(entityType, []);
290
+ }
291
+
292
+ const entities = this.get(entityType) as Entity[];
293
+ for (let i = 0; i < entities.length; i++) {
294
+ if (entities[i]["$id"] == props["$id"]) {
295
+ entities[i] = props;
296
+ (this.set as (key: string, value: Entity[]) => void)(
297
+ entityType,
298
+ entities,
299
+ );
300
+ return;
301
+ }
302
+ }
303
+ entities.push(props);
304
+ (this.set as (key: string, value: Entity[]) => void)(entityType, entities);
305
+ }
306
+ }
307
+
308
+ class Local extends Config<ConfigType> {
309
+ static CONFIG_FILE_PATH = "appwrite.config.json";
310
+ static CONFIG_FILE_PATH_LEGACY = "appwrite.json";
311
+ configDirectoryPath = "";
312
+
313
+ constructor(
314
+ path: string = Local.CONFIG_FILE_PATH,
315
+ legacyPath: string = Local.CONFIG_FILE_PATH_LEGACY,
316
+ ) {
317
+ let absolutePath =
318
+ Local.findConfigFile(path) || Local.findConfigFile(legacyPath);
319
+
320
+ if (!absolutePath) {
321
+ absolutePath = `${process.cwd()}/${path}`;
322
+ }
323
+
324
+ super(absolutePath);
325
+ this.configDirectoryPath = _path.dirname(absolutePath);
326
+ }
327
+
328
+ static findConfigFile(filename: string): string | null {
329
+ let currentPath = process.cwd();
330
+
331
+ while (true) {
332
+ const filePath = `${currentPath}/${filename}`;
333
+
334
+ if (fs.existsSync(filePath)) {
335
+ return filePath;
336
+ }
337
+
338
+ const parentDirectory = _path.dirname(currentPath);
339
+ if (parentDirectory === currentPath) {
340
+ break;
341
+ }
342
+ currentPath = parentDirectory;
343
+ }
344
+
345
+ return null;
346
+ }
347
+
348
+ getDirname(): string {
349
+ return _path.dirname(this.path);
350
+ }
351
+
352
+ getEndpoint(): string {
353
+ return this.get("endpoint") || "";
354
+ }
355
+
356
+ setEndpoint(endpoint: string): void {
357
+ this.set("endpoint", endpoint);
358
+ }
359
+
360
+ getSites(): SiteType[] {
361
+ if (!this.has("sites")) {
362
+ return [];
363
+ }
364
+ return this.get("sites") ?? [];
365
+ }
366
+
367
+ getSite($id: string): SiteType | Record<string, never> {
368
+ if (!this.has("sites")) {
369
+ return {};
370
+ }
371
+
372
+ const sites = this.get("sites") ?? [];
373
+ for (let i = 0; i < sites.length; i++) {
374
+ if (sites[i]["$id"] == $id) {
375
+ return sites[i];
376
+ }
377
+ }
378
+
379
+ return {};
380
+ }
381
+
382
+ addSite(props: SiteType): void {
383
+ props = whitelistKeys(props, KeysSite, {
384
+ vars: KeysVars,
385
+ });
386
+
387
+ if (!this.has("sites")) {
388
+ this.set("sites", []);
389
+ }
390
+
391
+ const sites = this.get("sites") ?? [];
392
+ for (let i = 0; i < sites.length; i++) {
393
+ if (sites[i]["$id"] == props["$id"]) {
394
+ sites[i] = {
395
+ ...sites[i],
396
+ ...props,
397
+ };
398
+ this.set("sites", sites);
399
+ return;
400
+ }
401
+ }
402
+
403
+ sites.push(props);
404
+ this.set("sites", sites);
405
+ }
406
+
407
+ getFunctions(): FunctionType[] {
408
+ if (!this.has("functions")) {
409
+ return [];
410
+ }
411
+ return this.get("functions") ?? [];
412
+ }
413
+
414
+ getFunction($id: string): FunctionType | Record<string, never> {
415
+ if (!this.has("functions")) {
416
+ return {};
417
+ }
418
+
419
+ const functions = this.get("functions") ?? [];
420
+ for (let i = 0; i < functions.length; i++) {
421
+ if (functions[i]["$id"] == $id) {
422
+ return functions[i];
423
+ }
424
+ }
425
+
426
+ return {};
427
+ }
428
+
429
+ addFunction(props: FunctionType): void {
430
+ props = whitelistKeys(props, KeysFunction, {
431
+ vars: KeysVars,
432
+ });
433
+
434
+ if (!this.has("functions")) {
435
+ this.set("functions", []);
436
+ }
437
+
438
+ const functions = this.get("functions") ?? [];
439
+ for (let i = 0; i < functions.length; i++) {
440
+ if (functions[i]["$id"] == props["$id"]) {
441
+ functions[i] = {
442
+ ...functions[i],
443
+ ...props,
444
+ };
445
+ this.set("functions", functions);
446
+ return;
447
+ }
448
+ }
449
+
450
+ functions.push(props);
451
+ this.set("functions", functions);
452
+ }
453
+
454
+ getCollections(): CollectionType[] {
455
+ if (!this.has("collections")) {
456
+ return [];
457
+ }
458
+ return this.get("collections") ?? [];
459
+ }
460
+
461
+ getCollection($id: string): CollectionType | Record<string, never> {
462
+ if (!this.has("collections")) {
463
+ return {};
464
+ }
465
+
466
+ const collections = this.get("collections") ?? [];
467
+ for (let i = 0; i < collections.length; i++) {
468
+ if (collections[i]["$id"] == $id) {
469
+ return collections[i];
470
+ }
471
+ }
472
+
473
+ return {};
474
+ }
475
+
476
+ addCollection(props: CollectionType): void {
477
+ props = whitelistKeys(props, KeysCollection, {
478
+ attributes: KeysAttributes,
479
+ indexes: KeyIndexes,
480
+ });
481
+
482
+ if (!this.has("collections")) {
483
+ this.set("collections", []);
484
+ }
485
+
486
+ const collections = this.get("collections") ?? [];
487
+ for (let i = 0; i < collections.length; i++) {
488
+ if (
489
+ collections[i]["$id"] == props["$id"] &&
490
+ collections[i]["databaseId"] == props["databaseId"]
491
+ ) {
492
+ collections[i] = props;
493
+ this.set("collections", collections);
494
+ return;
495
+ }
496
+ }
497
+ collections.push(props);
498
+ this.set("collections", collections);
499
+ }
500
+
501
+ getTables(): TableType[] {
502
+ if (!this.has("tables")) {
503
+ return [];
504
+ }
505
+ return this.get("tables") ?? [];
506
+ }
507
+
508
+ getTable($id: string): TableType | Record<string, never> {
509
+ if (!this.has("tables")) {
510
+ return {};
511
+ }
512
+
513
+ const tables = this.get("tables") ?? [];
514
+ for (let i = 0; i < tables.length; i++) {
515
+ if (tables[i]["$id"] == $id) {
516
+ return tables[i];
517
+ }
518
+ }
519
+
520
+ return {};
521
+ }
522
+
523
+ addTable(props: TableType): void {
524
+ props = whitelistKeys(props, KeysTable, {
525
+ columns: KeysColumns,
526
+ indexes: KeyIndexesColumns,
527
+ });
528
+
529
+ if (!this.has("tables")) {
530
+ this.set("tables", []);
531
+ }
532
+
533
+ const tables = this.get("tables") ?? [];
534
+ for (let i = 0; i < tables.length; i++) {
535
+ if (
536
+ tables[i]["$id"] == props["$id"] &&
537
+ tables[i]["databaseId"] == props["databaseId"]
538
+ ) {
539
+ tables[i] = props;
540
+ this.set("tables", tables);
541
+ return;
542
+ }
543
+ }
544
+ tables.push(props);
545
+ this.set("tables", tables);
546
+ }
547
+
548
+ getBuckets(): BucketType[] {
549
+ if (!this.has("buckets")) {
550
+ return [];
551
+ }
552
+ return this.get("buckets") ?? [];
553
+ }
554
+
555
+ getBucket($id: string): BucketType | Record<string, never> {
556
+ if (!this.has("buckets")) {
557
+ return {};
558
+ }
559
+
560
+ const buckets = this.get("buckets") ?? [];
561
+ for (let i = 0; i < buckets.length; i++) {
562
+ if (buckets[i]["$id"] == $id) {
563
+ return buckets[i];
564
+ }
565
+ }
566
+
567
+ return {};
568
+ }
569
+
570
+ addBucket(props: BucketType): void {
571
+ props = whitelistKeys(props, KeysStorage);
572
+
573
+ if (!this.has("buckets")) {
574
+ this.set("buckets", []);
575
+ }
576
+
577
+ const buckets = this.get("buckets") ?? [];
578
+ for (let i = 0; i < buckets.length; i++) {
579
+ if (buckets[i]["$id"] == props["$id"]) {
580
+ buckets[i] = props;
581
+ this.set("buckets", buckets);
582
+ return;
583
+ }
584
+ }
585
+ buckets.push(props);
586
+ this.set("buckets", buckets);
587
+ }
588
+
589
+ getMessagingTopics(): TopicType[] {
590
+ if (!this.has("topics")) {
591
+ return [];
592
+ }
593
+ return this.get("topics") ?? [];
594
+ }
595
+
596
+ getMessagingTopic($id: string): TopicType | Record<string, never> {
597
+ if (!this.has("topics")) {
598
+ return {};
599
+ }
600
+
601
+ const topics = this.get("topics") ?? [];
602
+ for (let i = 0; i < topics.length; i++) {
603
+ if (topics[i]["$id"] == $id) {
604
+ return topics[i];
605
+ }
606
+ }
607
+
608
+ return {};
609
+ }
610
+
611
+ addMessagingTopic(props: TopicType): void {
612
+ props = whitelistKeys(props, KeysTopics);
613
+
614
+ if (!this.has("topics")) {
615
+ this.set("topics", []);
616
+ }
617
+
618
+ const topics = this.get("topics") ?? [];
619
+ for (let i = 0; i < topics.length; i++) {
620
+ if (topics[i]["$id"] === props["$id"]) {
621
+ topics[i] = props;
622
+ this.set("topics", topics);
623
+ return;
624
+ }
625
+ }
626
+ topics.push(props);
627
+ this.set("topics", topics);
628
+ }
629
+
630
+ getTablesDBs(): any[] {
631
+ return this._getDBEntities("tablesDB");
632
+ }
633
+
634
+ getTablesDB($id: string): any {
635
+ return this._getDBEntity("tablesDB", $id);
636
+ }
637
+
638
+ addTablesDB(props: any): void {
639
+ this._addDBEntity("tablesDB", props, KeysDatabase);
640
+ }
641
+
642
+ getDatabases(): any[] {
643
+ return this._getDBEntities("databases");
644
+ }
645
+
646
+ getDatabase($id: string): any {
647
+ return this._getDBEntity("databases", $id);
648
+ }
649
+
650
+ addDatabase(props: any): void {
651
+ this._addDBEntity("databases", props, KeysDatabase);
652
+ }
653
+
654
+ getTeams(): TeamType[] {
655
+ if (!this.has("teams")) {
656
+ return [];
657
+ }
658
+ return this.get("teams") ?? [];
659
+ }
660
+
661
+ getTeam($id: string): TeamType | Record<string, never> {
662
+ if (!this.has("teams")) {
663
+ return {};
664
+ }
665
+
666
+ const teams = this.get("teams") ?? [];
667
+ for (let i = 0; i < teams.length; i++) {
668
+ if (teams[i]["$id"] == $id) {
669
+ return teams[i];
670
+ }
671
+ }
672
+
673
+ return {};
674
+ }
675
+
676
+ addTeam(props: TeamType): void {
677
+ props = whitelistKeys(props, KeysTeams);
678
+ if (!this.has("teams")) {
679
+ this.set("teams", []);
680
+ }
681
+
682
+ const teams = this.get("teams") ?? [];
683
+ for (let i = 0; i < teams.length; i++) {
684
+ if (teams[i]["$id"] == props["$id"]) {
685
+ teams[i] = props;
686
+ this.set("teams", teams);
687
+ return;
688
+ }
689
+ }
690
+ teams.push(props);
691
+ this.set("teams", teams);
692
+ }
693
+
694
+ getProject(): {
695
+ projectId?: string;
696
+ projectName?: string;
697
+ projectSettings?: SettingsType;
698
+ } {
699
+ if (!this.has("projectId")) {
700
+ return {};
701
+ }
702
+
703
+ return {
704
+ projectId: this.get("projectId"),
705
+ projectName: this.get("projectName"),
706
+ projectSettings: this.get("settings"),
707
+ };
708
+ }
709
+
710
+ setProject(
711
+ projectId: string,
712
+ projectName: string = "",
713
+ project?: Models.Project,
714
+ ): void {
715
+ this.set("projectId", projectId);
716
+
717
+ if (projectName !== "") {
718
+ this.set("projectName", projectName);
719
+ }
720
+
721
+ if (project === undefined) {
722
+ return;
723
+ }
724
+
725
+ this.set("settings", createSettingsObject(project));
726
+ }
727
+ }
728
+
729
+ class Global extends Config<GlobalConfigData> {
730
+ static CONFIG_FILE_PATH = ".appwrite/prefs.json";
731
+
732
+ static PREFERENCE_CURRENT = "current" as const;
733
+ static PREFERENCE_ENDPOINT = "endpoint" as const;
734
+ static PREFERENCE_EMAIL = "email" as const;
735
+ static PREFERENCE_SELF_SIGNED = "selfSigned" as const;
736
+ static PREFERENCE_COOKIE = "cookie" as const;
737
+ static PREFERENCE_PROJECT = "project" as const;
738
+ static PREFERENCE_KEY = "key" as const;
739
+ static PREFERENCE_LOCALE = "locale" as const;
740
+ static PREFERENCE_MODE = "mode" as const;
741
+
742
+ static IGNORE_ATTRIBUTES: readonly string[] = [
743
+ Global.PREFERENCE_CURRENT,
744
+ Global.PREFERENCE_SELF_SIGNED,
745
+ Global.PREFERENCE_ENDPOINT,
746
+ Global.PREFERENCE_COOKIE,
747
+ Global.PREFERENCE_PROJECT,
748
+ Global.PREFERENCE_KEY,
749
+ Global.PREFERENCE_LOCALE,
750
+ Global.PREFERENCE_MODE,
751
+ ];
752
+
753
+ static MODE_ADMIN = "admin";
754
+ static MODE_DEFAULT = "default";
755
+
756
+ static PROJECT_CONSOLE = "console";
757
+
758
+ constructor(path: string = Global.CONFIG_FILE_PATH) {
759
+ const homeDir = os.homedir();
760
+ super(`${homeDir}/${path}`);
761
+ }
762
+
763
+ getCurrentSession(): string {
764
+ if (!this.has(Global.PREFERENCE_CURRENT)) {
765
+ return "";
766
+ }
767
+ return this.get(Global.PREFERENCE_CURRENT);
768
+ }
769
+
770
+ setCurrentSession(session: string): void {
771
+ if (session !== undefined) {
772
+ this.set(Global.PREFERENCE_CURRENT, session);
773
+ }
774
+ }
775
+
776
+ getSessionIds(): string[] {
777
+ return Object.keys(this.data).filter(
778
+ (key) => !Global.IGNORE_ATTRIBUTES.includes(key),
779
+ );
780
+ }
781
+
782
+ getSessions(): Array<{ id: string; endpoint: string; email: string }> {
783
+ const sessions = Object.keys(this.data).filter(
784
+ (key) => !Global.IGNORE_ATTRIBUTES.includes(key),
785
+ );
786
+ const current = this.getCurrentSession();
787
+
788
+ const sessionMap = new Map<
789
+ string,
790
+ { id: string; endpoint: string; email: string }
791
+ >();
792
+
793
+ sessions.forEach((sessionId) => {
794
+ const sessionData = (this.data as any)[sessionId];
795
+ const email = sessionData[Global.PREFERENCE_EMAIL];
796
+ const endpoint = sessionData[Global.PREFERENCE_ENDPOINT];
797
+ const key = `${email}|${endpoint}`;
798
+
799
+ if (sessionId === current || !sessionMap.has(key)) {
800
+ sessionMap.set(key, {
801
+ id: sessionId,
802
+ endpoint: sessionData[Global.PREFERENCE_ENDPOINT],
803
+ email: sessionData[Global.PREFERENCE_EMAIL],
804
+ });
805
+ }
806
+ });
807
+
808
+ return Array.from(sessionMap.values());
809
+ }
810
+
811
+ addSession(session: string, data: SessionData): void {
812
+ this.set(session as any, data as any);
813
+ }
814
+
815
+ removeSession(session: string): void {
816
+ this.delete(session);
817
+ }
818
+
819
+ getEmail(): string {
820
+ if (!this.hasFrom(Global.PREFERENCE_EMAIL)) {
821
+ return "";
822
+ }
823
+
824
+ return this.getFrom(Global.PREFERENCE_EMAIL);
825
+ }
826
+
827
+ setEmail(email: string): void {
828
+ this.setTo(Global.PREFERENCE_EMAIL, email);
829
+ }
830
+
831
+ getEndpoint(): string {
832
+ if (!this.hasFrom(Global.PREFERENCE_ENDPOINT)) {
833
+ return "";
834
+ }
835
+
836
+ return this.getFrom(Global.PREFERENCE_ENDPOINT);
837
+ }
838
+
839
+ setEndpoint(endpoint: string): void {
840
+ this.setTo(Global.PREFERENCE_ENDPOINT, endpoint);
841
+ }
842
+
843
+ getSelfSigned(): boolean {
844
+ if (!this.hasFrom(Global.PREFERENCE_SELF_SIGNED)) {
845
+ return false;
846
+ }
847
+ return this.getFrom(Global.PREFERENCE_SELF_SIGNED);
848
+ }
849
+
850
+ setSelfSigned(selfSigned: boolean): void {
851
+ this.setTo(Global.PREFERENCE_SELF_SIGNED, selfSigned);
852
+ }
853
+
854
+ getCookie(): string {
855
+ if (!this.hasFrom(Global.PREFERENCE_COOKIE)) {
856
+ return "";
857
+ }
858
+ return this.getFrom(Global.PREFERENCE_COOKIE);
859
+ }
860
+
861
+ setCookie(cookie: string): void {
862
+ this.setTo(Global.PREFERENCE_COOKIE, cookie);
863
+ }
864
+
865
+ getProject(): string {
866
+ if (!this.hasFrom(Global.PREFERENCE_PROJECT)) {
867
+ return "";
868
+ }
869
+ return this.getFrom(Global.PREFERENCE_PROJECT);
870
+ }
871
+
872
+ setProject(project: string): void {
873
+ this.setTo(Global.PREFERENCE_PROJECT, project);
874
+ }
875
+
876
+ getKey(): string {
877
+ if (!this.hasFrom(Global.PREFERENCE_KEY)) {
878
+ return "";
879
+ }
880
+ return this.getFrom(Global.PREFERENCE_KEY);
881
+ }
882
+
883
+ setKey(key: string): void {
884
+ this.setTo(Global.PREFERENCE_KEY, key);
885
+ }
886
+
887
+ hasFrom(key: string): boolean {
888
+ const current = this.getCurrentSession();
889
+
890
+ if (current) {
891
+ const config = this.get(current as any) ?? {};
892
+
893
+ return (config as any)[key] !== undefined;
894
+ }
895
+ return false;
896
+ }
897
+
898
+ getFrom(key: string): any {
899
+ const current = this.getCurrentSession();
900
+
901
+ if (current) {
902
+ const config = this.get(current as any) ?? {};
903
+
904
+ return (config as any)[key];
905
+ }
906
+ }
907
+
908
+ setTo(key: string, value: any): void {
909
+ const current = this.getCurrentSession();
910
+
911
+ if (current) {
912
+ const config = this.get(current as any);
913
+
914
+ (config as any)[key] = value;
915
+ this.write();
916
+ }
917
+ }
918
+ }
919
+
920
+ export const localConfig = new Local();
921
+ export const globalConfig = new Global();
922
+ export {
923
+ KeysAttributes,
924
+ KeysSite,
925
+ KeysFunction,
926
+ KeysTopics,
927
+ KeysStorage,
928
+ KeysTeams,
929
+ KeysCollection,
930
+ KeysTable,
931
+ whitelistKeys,
932
+ };