appwrite-cli 13.0.0-rc.1 → 13.0.0-rc.2

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 (868) hide show
  1. package/.github/workflows/build-verify.yml +71 -0
  2. package/.github/workflows/npm-publish.yml +41 -22
  3. package/CHANGELOG.md +106 -102
  4. package/LICENSE.md +1 -1
  5. package/README.md +58 -35
  6. package/bun.lock +625 -0
  7. package/dist/bundle.cjs +94853 -0
  8. package/dist/index.js +99 -99
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/client.d.ts +2 -3
  11. package/dist/lib/client.d.ts.map +1 -1
  12. package/dist/lib/client.js +56 -45
  13. package/dist/lib/client.js.map +1 -1
  14. package/dist/lib/commands/generic.d.ts +2 -2
  15. package/dist/lib/commands/generic.d.ts.map +1 -1
  16. package/dist/lib/commands/generic.js +170 -157
  17. package/dist/lib/commands/generic.js.map +1 -1
  18. package/dist/lib/commands/init.d.ts +1 -1
  19. package/dist/lib/commands/init.d.ts.map +1 -1
  20. package/dist/lib/commands/init.js +197 -189
  21. package/dist/lib/commands/init.js.map +1 -1
  22. package/dist/lib/commands/pull.d.ts +2 -2
  23. package/dist/lib/commands/pull.d.ts.map +1 -1
  24. package/dist/lib/commands/pull.js +215 -244
  25. package/dist/lib/commands/pull.js.map +1 -1
  26. package/dist/lib/commands/push.d.ts.map +1 -1
  27. package/dist/lib/commands/push.js +814 -841
  28. package/dist/lib/commands/push.js.map +1 -1
  29. package/dist/lib/commands/run.d.ts +1 -1
  30. package/dist/lib/commands/run.d.ts.map +1 -1
  31. package/dist/lib/commands/run.js +129 -127
  32. package/dist/lib/commands/run.js.map +1 -1
  33. package/dist/lib/commands/services/account.d.ts +3 -0
  34. package/dist/lib/commands/services/account.d.ts.map +1 -0
  35. package/dist/lib/commands/services/account.js +306 -0
  36. package/dist/lib/commands/services/account.js.map +1 -0
  37. package/dist/lib/commands/services/avatars.d.ts +3 -0
  38. package/dist/lib/commands/services/avatars.d.ts.map +1 -0
  39. package/dist/lib/commands/services/avatars.js +118 -0
  40. package/dist/lib/commands/services/avatars.js.map +1 -0
  41. package/dist/lib/commands/services/console.d.ts +3 -0
  42. package/dist/lib/commands/services/console.d.ts.map +1 -0
  43. package/dist/lib/commands/services/console.js +41 -0
  44. package/dist/lib/commands/services/console.js.map +1 -0
  45. package/dist/lib/commands/services/databases.d.ts +3 -0
  46. package/dist/lib/commands/services/databases.d.ts.map +1 -0
  47. package/dist/lib/commands/services/databases.js +612 -0
  48. package/dist/lib/commands/services/databases.js.map +1 -0
  49. package/dist/lib/commands/services/functions.d.ts +3 -0
  50. package/dist/lib/commands/services/functions.d.ts.map +1 -0
  51. package/dist/lib/commands/services/functions.js +258 -0
  52. package/dist/lib/commands/services/functions.js.map +1 -0
  53. package/dist/lib/commands/services/graphql.d.ts +3 -0
  54. package/dist/lib/commands/services/graphql.d.ts.map +1 -0
  55. package/dist/lib/commands/services/graphql.js +28 -0
  56. package/dist/lib/commands/services/graphql.js.map +1 -0
  57. package/dist/lib/commands/services/health.d.ts +3 -0
  58. package/dist/lib/commands/services/health.d.ts.map +1 -0
  59. package/dist/lib/commands/services/health.js +123 -0
  60. package/dist/lib/commands/services/health.js.map +1 -0
  61. package/dist/lib/commands/services/locale.d.ts +3 -0
  62. package/dist/lib/commands/services/locale.d.ts.map +1 -0
  63. package/dist/lib/commands/services/locale.js +52 -0
  64. package/dist/lib/commands/services/locale.js.map +1 -0
  65. package/dist/lib/commands/services/messaging.d.ts +3 -0
  66. package/dist/lib/commands/services/messaging.d.ts.map +1 -0
  67. package/dist/lib/commands/services/messaging.js +505 -0
  68. package/dist/lib/commands/services/messaging.js.map +1 -0
  69. package/dist/lib/commands/services/migrations.d.ts +3 -0
  70. package/dist/lib/commands/services/migrations.d.ts.map +1 -0
  71. package/dist/lib/commands/services/migrations.js +135 -0
  72. package/dist/lib/commands/services/migrations.js.map +1 -0
  73. package/dist/lib/commands/services/project.d.ts +3 -0
  74. package/dist/lib/commands/services/project.d.ts.map +1 -0
  75. package/dist/lib/commands/services/project.js +54 -0
  76. package/dist/lib/commands/services/project.js.map +1 -0
  77. package/dist/lib/commands/services/projects.d.ts +3 -0
  78. package/dist/lib/commands/services/projects.d.ts.map +1 -0
  79. package/dist/lib/commands/services/projects.js +415 -0
  80. package/dist/lib/commands/services/projects.js.map +1 -0
  81. package/dist/lib/commands/services/proxy.d.ts +3 -0
  82. package/dist/lib/commands/services/proxy.d.ts.map +1 -0
  83. package/dist/lib/commands/services/proxy.js +68 -0
  84. package/dist/lib/commands/services/proxy.js.map +1 -0
  85. package/dist/lib/commands/services/sites.d.ts +3 -0
  86. package/dist/lib/commands/services/sites.d.ts.map +1 -0
  87. package/dist/lib/commands/services/sites.js +242 -0
  88. package/dist/lib/commands/services/sites.js.map +1 -0
  89. package/dist/lib/commands/services/storage.d.ts +3 -0
  90. package/dist/lib/commands/services/storage.d.ts.map +1 -0
  91. package/dist/lib/commands/services/storage.js +153 -0
  92. package/dist/lib/commands/services/storage.js.map +1 -0
  93. package/dist/lib/commands/services/tablesdb.d.ts +3 -0
  94. package/dist/lib/commands/services/tablesdb.d.ts.map +1 -0
  95. package/dist/lib/commands/services/tablesdb.js +605 -0
  96. package/dist/lib/commands/services/tablesdb.js.map +1 -0
  97. package/dist/lib/commands/services/teams.d.ts +3 -0
  98. package/dist/lib/commands/services/teams.d.ts.map +1 -0
  99. package/dist/lib/commands/services/teams.js +123 -0
  100. package/dist/lib/commands/services/teams.js.map +1 -0
  101. package/dist/lib/commands/services/tokens.d.ts +3 -0
  102. package/dist/lib/commands/services/tokens.d.ts.map +1 -0
  103. package/dist/lib/commands/services/tokens.js +49 -0
  104. package/dist/lib/commands/services/tokens.js.map +1 -0
  105. package/dist/lib/commands/services/users.d.ts +3 -0
  106. package/dist/lib/commands/services/users.d.ts.map +1 -0
  107. package/dist/lib/commands/services/users.js +312 -0
  108. package/dist/lib/commands/services/users.js.map +1 -0
  109. package/dist/lib/commands/services/vcs.d.ts +3 -0
  110. package/dist/lib/commands/services/vcs.d.ts.map +1 -0
  111. package/dist/lib/commands/services/vcs.js +87 -0
  112. package/dist/lib/commands/services/vcs.js.map +1 -0
  113. package/dist/lib/commands/types.d.ts +1 -1
  114. package/dist/lib/commands/types.d.ts.map +1 -1
  115. package/dist/lib/commands/types.js +53 -57
  116. package/dist/lib/commands/types.js.map +1 -1
  117. package/dist/lib/commands/update.d.ts +1 -1
  118. package/dist/lib/commands/update.d.ts.map +1 -1
  119. package/dist/lib/commands/update.js +65 -66
  120. package/dist/lib/commands/update.js.map +1 -1
  121. package/dist/lib/config.d.ts +39 -39
  122. package/dist/lib/config.d.ts.map +1 -1
  123. package/dist/lib/config.js +264 -202
  124. package/dist/lib/config.js.map +1 -1
  125. package/dist/lib/emulation/docker.d.ts +1 -9
  126. package/dist/lib/emulation/docker.d.ts.map +1 -1
  127. package/dist/lib/emulation/docker.js +111 -107
  128. package/dist/lib/emulation/docker.js.map +1 -1
  129. package/dist/lib/emulation/utils.d.ts +1 -1
  130. package/dist/lib/emulation/utils.d.ts.map +1 -1
  131. package/dist/lib/emulation/utils.js +55 -58
  132. package/dist/lib/emulation/utils.js.map +1 -1
  133. package/dist/lib/id.d.ts +1 -1
  134. package/dist/lib/id.d.ts.map +1 -1
  135. package/dist/lib/id.js +13 -18
  136. package/dist/lib/id.js.map +1 -1
  137. package/dist/lib/paginate.d.ts +3 -4
  138. package/dist/lib/paginate.d.ts.map +1 -1
  139. package/dist/lib/paginate.js +7 -10
  140. package/dist/lib/paginate.js.map +1 -1
  141. package/dist/lib/parser.d.ts +1 -1
  142. package/dist/lib/parser.d.ts.map +1 -1
  143. package/dist/lib/parser.js +84 -96
  144. package/dist/lib/parser.js.map +1 -1
  145. package/dist/lib/questions.d.ts +1 -1
  146. package/dist/lib/questions.d.ts.map +1 -1
  147. package/dist/lib/questions.js +364 -368
  148. package/dist/lib/questions.js.map +1 -1
  149. package/dist/lib/sdks.d.ts +1 -1
  150. package/dist/lib/sdks.d.ts.map +1 -1
  151. package/dist/lib/sdks.js +40 -30
  152. package/dist/lib/sdks.js.map +1 -1
  153. package/dist/lib/services.d.ts +13 -0
  154. package/dist/lib/services.d.ts.map +1 -0
  155. package/dist/lib/services.js +47 -0
  156. package/dist/lib/services.js.map +1 -0
  157. package/dist/lib/spinner.d.ts +1 -1
  158. package/dist/lib/spinner.d.ts.map +1 -1
  159. package/dist/lib/spinner.js +25 -27
  160. package/dist/lib/spinner.js.map +1 -1
  161. package/dist/lib/type-generation/attribute.d.ts +1 -1
  162. package/dist/lib/type-generation/attribute.d.ts.map +1 -1
  163. package/dist/lib/type-generation/attribute.js +14 -17
  164. package/dist/lib/type-generation/attribute.js.map +1 -1
  165. package/dist/lib/type-generation/languages/csharp.d.ts +1 -1
  166. package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -1
  167. package/dist/lib/type-generation/languages/csharp.js +34 -34
  168. package/dist/lib/type-generation/languages/csharp.js.map +1 -1
  169. package/dist/lib/type-generation/languages/dart.d.ts +1 -1
  170. package/dist/lib/type-generation/languages/dart.d.ts.map +1 -1
  171. package/dist/lib/type-generation/languages/dart.js +57 -57
  172. package/dist/lib/type-generation/languages/dart.js.map +1 -1
  173. package/dist/lib/type-generation/languages/java.d.ts +1 -1
  174. package/dist/lib/type-generation/languages/java.d.ts.map +1 -1
  175. package/dist/lib/type-generation/languages/java.js +35 -35
  176. package/dist/lib/type-generation/languages/java.js.map +1 -1
  177. package/dist/lib/type-generation/languages/javascript.d.ts +1 -1
  178. package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -1
  179. package/dist/lib/type-generation/languages/javascript.js +45 -44
  180. package/dist/lib/type-generation/languages/javascript.js.map +1 -1
  181. package/dist/lib/type-generation/languages/kotlin.d.ts +1 -1
  182. package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -1
  183. package/dist/lib/type-generation/languages/kotlin.js +35 -35
  184. package/dist/lib/type-generation/languages/kotlin.js.map +1 -1
  185. package/dist/lib/type-generation/languages/language.d.ts.map +1 -1
  186. package/dist/lib/type-generation/languages/language.js +32 -37
  187. package/dist/lib/type-generation/languages/language.js.map +1 -1
  188. package/dist/lib/type-generation/languages/php.d.ts +1 -1
  189. package/dist/lib/type-generation/languages/php.d.ts.map +1 -1
  190. package/dist/lib/type-generation/languages/php.js +34 -34
  191. package/dist/lib/type-generation/languages/php.js.map +1 -1
  192. package/dist/lib/type-generation/languages/swift.d.ts +1 -1
  193. package/dist/lib/type-generation/languages/swift.d.ts.map +1 -1
  194. package/dist/lib/type-generation/languages/swift.js +35 -35
  195. package/dist/lib/type-generation/languages/swift.js.map +1 -1
  196. package/dist/lib/type-generation/languages/typescript.d.ts +1 -1
  197. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -1
  198. package/dist/lib/type-generation/languages/typescript.js +49 -46
  199. package/dist/lib/type-generation/languages/typescript.js.map +1 -1
  200. package/dist/lib/types.d.ts +189 -45
  201. package/dist/lib/types.d.ts.map +1 -1
  202. package/dist/lib/types.js +1 -2
  203. package/dist/lib/utils.d.ts.map +1 -1
  204. package/dist/lib/utils.js +102 -98
  205. package/dist/lib/utils.js.map +1 -1
  206. package/dist/lib/validations.d.ts.map +1 -1
  207. package/dist/lib/validations.js +2 -6
  208. package/dist/lib/validations.js.map +1 -1
  209. package/dist/package.json +67 -0
  210. package/dist/scripts/generate-commands.d.ts +2 -0
  211. package/dist/scripts/generate-commands.d.ts.map +1 -0
  212. package/dist/scripts/generate-commands.js +398 -0
  213. package/dist/scripts/generate-commands.js.map +1 -0
  214. package/index.ts +146 -130
  215. package/install.ps1 +2 -2
  216. package/install.sh +1 -1
  217. package/lib/client.ts +253 -220
  218. package/lib/commands/generic.ts +371 -269
  219. package/lib/commands/init.ts +620 -519
  220. package/lib/commands/pull.ts +581 -470
  221. package/lib/commands/push.ts +2838 -2269
  222. package/lib/commands/run.ts +382 -302
  223. package/lib/commands/services/account.ts +832 -0
  224. package/lib/commands/services/avatars.ts +400 -0
  225. package/lib/commands/services/console.ts +73 -0
  226. package/lib/commands/services/databases.ts +2080 -0
  227. package/lib/commands/services/functions.ts +855 -0
  228. package/lib/commands/services/graphql.ts +47 -0
  229. package/lib/commands/services/health.ts +322 -0
  230. package/lib/commands/services/locale.ts +99 -0
  231. package/lib/commands/services/messaging.ts +1871 -0
  232. package/lib/commands/services/migrations.ts +421 -0
  233. package/lib/commands/services/project.ts +116 -0
  234. package/lib/commands/services/projects.ts +1317 -0
  235. package/lib/commands/services/proxy.ts +163 -0
  236. package/lib/commands/services/sites.ts +777 -0
  237. package/lib/commands/services/storage.ts +547 -0
  238. package/lib/commands/services/tablesdb.ts +1928 -0
  239. package/lib/commands/services/teams.ts +294 -0
  240. package/lib/commands/services/tokens.ts +106 -0
  241. package/lib/commands/services/users.ts +886 -0
  242. package/lib/commands/services/vcs.ts +268 -0
  243. package/lib/commands/types.ts +144 -117
  244. package/lib/commands/update.ts +198 -159
  245. package/lib/config.ts +815 -700
  246. package/lib/emulation/docker.ts +291 -244
  247. package/lib/emulation/utils.ts +188 -174
  248. package/lib/id.ts +23 -23
  249. package/lib/paginate.ts +69 -55
  250. package/lib/parser.ts +215 -189
  251. package/lib/questions.ts +1025 -948
  252. package/lib/sdks.ts +80 -51
  253. package/lib/services.ts +72 -0
  254. package/lib/spinner.ts +112 -99
  255. package/lib/type-generation/attribute.ts +15 -14
  256. package/lib/type-generation/languages/csharp.ts +71 -60
  257. package/lib/type-generation/languages/dart.ts +106 -93
  258. package/lib/type-generation/languages/java.ts +69 -58
  259. package/lib/type-generation/languages/javascript.ts +84 -73
  260. package/lib/type-generation/languages/kotlin.ts +71 -60
  261. package/lib/type-generation/languages/language.ts +103 -95
  262. package/lib/type-generation/languages/php.ts +67 -56
  263. package/lib/type-generation/languages/swift.ts +71 -60
  264. package/lib/type-generation/languages/typescript.ts +93 -76
  265. package/lib/types.ts +261 -107
  266. package/lib/utils.ts +263 -233
  267. package/lib/validations.ts +17 -14
  268. package/package.json +27 -19
  269. package/scoop/appwrite.config.json +19 -29
  270. package/scripts/generate-commands.ts +539 -0
  271. package/tsconfig.json +7 -13
  272. package/.github/workflows/autoclose.yml +0 -11
  273. package/dist/lib/commands/account.d.ts +0 -379
  274. package/dist/lib/commands/account.d.ts.map +0 -1
  275. package/dist/lib/commands/account.js +0 -1228
  276. package/dist/lib/commands/account.js.map +0 -1
  277. package/dist/lib/commands/console.d.ts +0 -20
  278. package/dist/lib/commands/console.d.ts.map +0 -1
  279. package/dist/lib/commands/console.js +0 -78
  280. package/dist/lib/commands/console.js.map +0 -1
  281. package/dist/lib/commands/databases.d.ts +0 -732
  282. package/dist/lib/commands/databases.d.ts.map +0 -1
  283. package/dist/lib/commands/databases.js +0 -2196
  284. package/dist/lib/commands/databases.js.map +0 -1
  285. package/dist/lib/commands/functions.d.ts +0 -310
  286. package/dist/lib/commands/functions.d.ts.map +0 -1
  287. package/dist/lib/commands/functions.js +0 -1100
  288. package/dist/lib/commands/functions.js.map +0 -1
  289. package/dist/lib/commands/graphql.d.ts +0 -19
  290. package/dist/lib/commands/graphql.d.ts.map +0 -1
  291. package/dist/lib/commands/graphql.js +0 -77
  292. package/dist/lib/commands/graphql.js.map +0 -1
  293. package/dist/lib/commands/health.d.ts +0 -153
  294. package/dist/lib/commands/health.d.ts.map +0 -1
  295. package/dist/lib/commands/health.js +0 -464
  296. package/dist/lib/commands/health.js.map +0 -1
  297. package/dist/lib/commands/locale.d.ts +0 -53
  298. package/dist/lib/commands/locale.d.ts.map +0 -1
  299. package/dist/lib/commands/locale.js +0 -165
  300. package/dist/lib/commands/locale.js.map +0 -1
  301. package/dist/lib/commands/messaging.d.ts +0 -588
  302. package/dist/lib/commands/messaging.d.ts.map +0 -1
  303. package/dist/lib/commands/messaging.js +0 -2042
  304. package/dist/lib/commands/messaging.js.map +0 -1
  305. package/dist/lib/commands/migrations.d.ts +0 -150
  306. package/dist/lib/commands/migrations.d.ts.map +0 -1
  307. package/dist/lib/commands/migrations.js +0 -524
  308. package/dist/lib/commands/migrations.js.map +0 -1
  309. package/dist/lib/commands/organizations.d.ts +0 -11
  310. package/dist/lib/commands/organizations.d.ts.map +0 -1
  311. package/dist/lib/commands/organizations.js +0 -31
  312. package/dist/lib/commands/organizations.js.map +0 -1
  313. package/dist/lib/commands/project.d.ts +0 -53
  314. package/dist/lib/commands/project.d.ts.map +0 -1
  315. package/dist/lib/commands/project.js +0 -176
  316. package/dist/lib/commands/project.js.map +0 -1
  317. package/dist/lib/commands/projects.d.ts +0 -516
  318. package/dist/lib/commands/projects.d.ts.map +0 -1
  319. package/dist/lib/commands/projects.js +0 -1590
  320. package/dist/lib/commands/projects.js.map +0 -1
  321. package/dist/lib/commands/proxy.d.ts +0 -71
  322. package/dist/lib/commands/proxy.d.ts.map +0 -1
  323. package/dist/lib/commands/proxy.js +0 -240
  324. package/dist/lib/commands/proxy.js.map +0 -1
  325. package/dist/lib/commands/sites.d.ts +0 -296
  326. package/dist/lib/commands/sites.d.ts.map +0 -1
  327. package/dist/lib/commands/sites.js +0 -1046
  328. package/dist/lib/commands/sites.js.map +0 -1
  329. package/dist/lib/commands/storage.d.ts +0 -170
  330. package/dist/lib/commands/storage.d.ts.map +0 -1
  331. package/dist/lib/commands/storage.js +0 -651
  332. package/dist/lib/commands/storage.js.map +0 -1
  333. package/dist/lib/commands/tables-db.d.ts +0 -728
  334. package/dist/lib/commands/tables-db.d.ts.map +0 -1
  335. package/dist/lib/commands/tables-db.js +0 -2198
  336. package/dist/lib/commands/tables-db.js.map +0 -1
  337. package/dist/lib/commands/teams.d.ts +0 -129
  338. package/dist/lib/commands/teams.d.ts.map +0 -1
  339. package/dist/lib/commands/teams.js +0 -403
  340. package/dist/lib/commands/teams.js.map +0 -1
  341. package/dist/lib/commands/tokens.d.ts +0 -48
  342. package/dist/lib/commands/tokens.d.ts.map +0 -1
  343. package/dist/lib/commands/tokens.js +0 -156
  344. package/dist/lib/commands/tokens.js.map +0 -1
  345. package/dist/lib/commands/users.d.ts +0 -382
  346. package/dist/lib/commands/users.d.ts.map +0 -1
  347. package/dist/lib/commands/users.js +0 -1195
  348. package/dist/lib/commands/users.js.map +0 -1
  349. package/dist/lib/commands/vcs.d.ts +0 -92
  350. package/dist/lib/commands/vcs.d.ts.map +0 -1
  351. package/dist/lib/commands/vcs.js +0 -276
  352. package/dist/lib/commands/vcs.js.map +0 -1
  353. package/dist/lib/exception.d.ts +0 -8
  354. package/dist/lib/exception.d.ts.map +0 -1
  355. package/dist/lib/exception.js +0 -16
  356. package/dist/lib/exception.js.map +0 -1
  357. package/docs/examples/account/create-anonymous-session.md +0 -1
  358. package/docs/examples/account/create-email-password-session.md +0 -3
  359. package/docs/examples/account/create-email-token.md +0 -3
  360. package/docs/examples/account/create-email-verification.md +0 -2
  361. package/docs/examples/account/create-jwt.md +0 -1
  362. package/docs/examples/account/create-magic-url-token.md +0 -3
  363. package/docs/examples/account/create-mfa-authenticator.md +0 -2
  364. package/docs/examples/account/create-mfa-challenge.md +0 -2
  365. package/docs/examples/account/create-mfa-recovery-codes.md +0 -1
  366. package/docs/examples/account/create-o-auth-2-session.md +0 -2
  367. package/docs/examples/account/create-o-auth-2-token.md +0 -2
  368. package/docs/examples/account/create-phone-token.md +0 -3
  369. package/docs/examples/account/create-phone-verification.md +0 -1
  370. package/docs/examples/account/create-push-target.md +0 -3
  371. package/docs/examples/account/create-recovery.md +0 -3
  372. package/docs/examples/account/create-session.md +0 -3
  373. package/docs/examples/account/create-verification.md +0 -2
  374. package/docs/examples/account/create.md +0 -4
  375. package/docs/examples/account/delete-identity.md +0 -2
  376. package/docs/examples/account/delete-mfa-authenticator.md +0 -2
  377. package/docs/examples/account/delete-push-target.md +0 -2
  378. package/docs/examples/account/delete-session.md +0 -2
  379. package/docs/examples/account/delete-sessions.md +0 -1
  380. package/docs/examples/account/delete.md +0 -1
  381. package/docs/examples/account/get-mfa-recovery-codes.md +0 -1
  382. package/docs/examples/account/get-prefs.md +0 -1
  383. package/docs/examples/account/get-session.md +0 -2
  384. package/docs/examples/account/get.md +0 -1
  385. package/docs/examples/account/list-identities.md +0 -1
  386. package/docs/examples/account/list-logs.md +0 -1
  387. package/docs/examples/account/list-mfa-factors.md +0 -1
  388. package/docs/examples/account/list-sessions.md +0 -1
  389. package/docs/examples/account/update-email-verification.md +0 -3
  390. package/docs/examples/account/update-email.md +0 -3
  391. package/docs/examples/account/update-magic-url-session.md +0 -3
  392. package/docs/examples/account/update-mfa-authenticator.md +0 -3
  393. package/docs/examples/account/update-mfa-challenge.md +0 -3
  394. package/docs/examples/account/update-mfa-recovery-codes.md +0 -1
  395. package/docs/examples/account/update-mfa.md +0 -2
  396. package/docs/examples/account/update-name.md +0 -2
  397. package/docs/examples/account/update-password.md +0 -2
  398. package/docs/examples/account/update-phone-session.md +0 -3
  399. package/docs/examples/account/update-phone-verification.md +0 -3
  400. package/docs/examples/account/update-phone.md +0 -3
  401. package/docs/examples/account/update-prefs.md +0 -2
  402. package/docs/examples/account/update-push-target.md +0 -3
  403. package/docs/examples/account/update-recovery.md +0 -4
  404. package/docs/examples/account/update-session.md +0 -2
  405. package/docs/examples/account/update-status.md +0 -1
  406. package/docs/examples/account/update-verification.md +0 -3
  407. package/docs/examples/console/get-resource.md +0 -3
  408. package/docs/examples/console/variables.md +0 -1
  409. package/docs/examples/databases/create-boolean-attribute.md +0 -5
  410. package/docs/examples/databases/create-collection.md +0 -4
  411. package/docs/examples/databases/create-datetime-attribute.md +0 -5
  412. package/docs/examples/databases/create-document.md +0 -5
  413. package/docs/examples/databases/create-documents.md +0 -4
  414. package/docs/examples/databases/create-email-attribute.md +0 -5
  415. package/docs/examples/databases/create-enum-attribute.md +0 -6
  416. package/docs/examples/databases/create-float-attribute.md +0 -5
  417. package/docs/examples/databases/create-index.md +0 -6
  418. package/docs/examples/databases/create-integer-attribute.md +0 -5
  419. package/docs/examples/databases/create-ip-attribute.md +0 -5
  420. package/docs/examples/databases/create-line-attribute.md +0 -5
  421. package/docs/examples/databases/create-operations.md +0 -2
  422. package/docs/examples/databases/create-point-attribute.md +0 -5
  423. package/docs/examples/databases/create-polygon-attribute.md +0 -5
  424. package/docs/examples/databases/create-relationship-attribute.md +0 -5
  425. package/docs/examples/databases/create-string-attribute.md +0 -6
  426. package/docs/examples/databases/create-transaction.md +0 -1
  427. package/docs/examples/databases/create-url-attribute.md +0 -5
  428. package/docs/examples/databases/create.md +0 -3
  429. package/docs/examples/databases/decrement-document-attribute.md +0 -5
  430. package/docs/examples/databases/delete-attribute.md +0 -4
  431. package/docs/examples/databases/delete-collection.md +0 -3
  432. package/docs/examples/databases/delete-document.md +0 -4
  433. package/docs/examples/databases/delete-documents.md +0 -3
  434. package/docs/examples/databases/delete-index.md +0 -4
  435. package/docs/examples/databases/delete-transaction.md +0 -2
  436. package/docs/examples/databases/delete.md +0 -2
  437. package/docs/examples/databases/get-attribute.md +0 -4
  438. package/docs/examples/databases/get-collection-usage.md +0 -3
  439. package/docs/examples/databases/get-collection.md +0 -3
  440. package/docs/examples/databases/get-document.md +0 -4
  441. package/docs/examples/databases/get-index.md +0 -4
  442. package/docs/examples/databases/get-transaction.md +0 -2
  443. package/docs/examples/databases/get-usage.md +0 -2
  444. package/docs/examples/databases/get.md +0 -2
  445. package/docs/examples/databases/increment-document-attribute.md +0 -5
  446. package/docs/examples/databases/list-attributes.md +0 -3
  447. package/docs/examples/databases/list-collection-logs.md +0 -3
  448. package/docs/examples/databases/list-collections.md +0 -2
  449. package/docs/examples/databases/list-document-logs.md +0 -4
  450. package/docs/examples/databases/list-documents.md +0 -3
  451. package/docs/examples/databases/list-indexes.md +0 -3
  452. package/docs/examples/databases/list-logs.md +0 -2
  453. package/docs/examples/databases/list-transactions.md +0 -1
  454. package/docs/examples/databases/list-usage.md +0 -1
  455. package/docs/examples/databases/list.md +0 -1
  456. package/docs/examples/databases/update-boolean-attribute.md +0 -6
  457. package/docs/examples/databases/update-collection.md +0 -4
  458. package/docs/examples/databases/update-datetime-attribute.md +0 -6
  459. package/docs/examples/databases/update-document.md +0 -4
  460. package/docs/examples/databases/update-documents.md +0 -3
  461. package/docs/examples/databases/update-email-attribute.md +0 -6
  462. package/docs/examples/databases/update-enum-attribute.md +0 -7
  463. package/docs/examples/databases/update-float-attribute.md +0 -6
  464. package/docs/examples/databases/update-integer-attribute.md +0 -6
  465. package/docs/examples/databases/update-ip-attribute.md +0 -6
  466. package/docs/examples/databases/update-line-attribute.md +0 -5
  467. package/docs/examples/databases/update-point-attribute.md +0 -5
  468. package/docs/examples/databases/update-polygon-attribute.md +0 -5
  469. package/docs/examples/databases/update-relationship-attribute.md +0 -4
  470. package/docs/examples/databases/update-string-attribute.md +0 -6
  471. package/docs/examples/databases/update-transaction.md +0 -2
  472. package/docs/examples/databases/update-url-attribute.md +0 -6
  473. package/docs/examples/databases/update.md +0 -3
  474. package/docs/examples/databases/upsert-document.md +0 -4
  475. package/docs/examples/databases/upsert-documents.md +0 -4
  476. package/docs/examples/functions/create-deployment.md +0 -4
  477. package/docs/examples/functions/create-duplicate-deployment.md +0 -3
  478. package/docs/examples/functions/create-execution.md +0 -2
  479. package/docs/examples/functions/create-template-deployment.md +0 -7
  480. package/docs/examples/functions/create-variable.md +0 -4
  481. package/docs/examples/functions/create-vcs-deployment.md +0 -4
  482. package/docs/examples/functions/create.md +0 -4
  483. package/docs/examples/functions/delete-deployment.md +0 -3
  484. package/docs/examples/functions/delete-execution.md +0 -3
  485. package/docs/examples/functions/delete-variable.md +0 -3
  486. package/docs/examples/functions/delete.md +0 -2
  487. package/docs/examples/functions/get-deployment-download.md +0 -3
  488. package/docs/examples/functions/get-deployment.md +0 -3
  489. package/docs/examples/functions/get-execution.md +0 -3
  490. package/docs/examples/functions/get-template.md +0 -2
  491. package/docs/examples/functions/get-usage.md +0 -2
  492. package/docs/examples/functions/get-variable.md +0 -3
  493. package/docs/examples/functions/get.md +0 -2
  494. package/docs/examples/functions/list-deployments.md +0 -2
  495. package/docs/examples/functions/list-executions.md +0 -2
  496. package/docs/examples/functions/list-runtimes.md +0 -1
  497. package/docs/examples/functions/list-specifications.md +0 -1
  498. package/docs/examples/functions/list-templates.md +0 -1
  499. package/docs/examples/functions/list-usage.md +0 -1
  500. package/docs/examples/functions/list-variables.md +0 -2
  501. package/docs/examples/functions/list.md +0 -1
  502. package/docs/examples/functions/update-deployment-status.md +0 -3
  503. package/docs/examples/functions/update-function-deployment.md +0 -3
  504. package/docs/examples/functions/update-variable.md +0 -4
  505. package/docs/examples/functions/update.md +0 -3
  506. package/docs/examples/graphql/mutation.md +0 -2
  507. package/docs/examples/graphql/query.md +0 -2
  508. package/docs/examples/health/get-antivirus.md +0 -1
  509. package/docs/examples/health/get-cache.md +0 -1
  510. package/docs/examples/health/get-certificate.md +0 -1
  511. package/docs/examples/health/get-db.md +0 -1
  512. package/docs/examples/health/get-failed-jobs.md +0 -2
  513. package/docs/examples/health/get-pub-sub.md +0 -1
  514. package/docs/examples/health/get-queue-builds.md +0 -1
  515. package/docs/examples/health/get-queue-certificates.md +0 -1
  516. package/docs/examples/health/get-queue-databases.md +0 -1
  517. package/docs/examples/health/get-queue-deletes.md +0 -1
  518. package/docs/examples/health/get-queue-functions.md +0 -1
  519. package/docs/examples/health/get-queue-logs.md +0 -1
  520. package/docs/examples/health/get-queue-mails.md +0 -1
  521. package/docs/examples/health/get-queue-messaging.md +0 -1
  522. package/docs/examples/health/get-queue-migrations.md +0 -1
  523. package/docs/examples/health/get-queue-stats-resources.md +0 -1
  524. package/docs/examples/health/get-queue-usage.md +0 -1
  525. package/docs/examples/health/get-queue-webhooks.md +0 -1
  526. package/docs/examples/health/get-storage-local.md +0 -1
  527. package/docs/examples/health/get-storage.md +0 -1
  528. package/docs/examples/health/get-time.md +0 -1
  529. package/docs/examples/health/get.md +0 -1
  530. package/docs/examples/locale/get.md +0 -1
  531. package/docs/examples/locale/list-codes.md +0 -1
  532. package/docs/examples/locale/list-continents.md +0 -1
  533. package/docs/examples/locale/list-countries-eu.md +0 -1
  534. package/docs/examples/locale/list-countries-phones.md +0 -1
  535. package/docs/examples/locale/list-countries.md +0 -1
  536. package/docs/examples/locale/list-currencies.md +0 -1
  537. package/docs/examples/locale/list-languages.md +0 -1
  538. package/docs/examples/messaging/create-apns-provider.md +0 -3
  539. package/docs/examples/messaging/create-email.md +0 -4
  540. package/docs/examples/messaging/create-fcm-provider.md +0 -3
  541. package/docs/examples/messaging/create-mailgun-provider.md +0 -3
  542. package/docs/examples/messaging/create-msg-91-provider.md +0 -3
  543. package/docs/examples/messaging/create-push.md +0 -2
  544. package/docs/examples/messaging/create-resend-provider.md +0 -3
  545. package/docs/examples/messaging/create-sendgrid-provider.md +0 -3
  546. package/docs/examples/messaging/create-sms.md +0 -3
  547. package/docs/examples/messaging/create-smtp-provider.md +0 -4
  548. package/docs/examples/messaging/create-subscriber.md +0 -4
  549. package/docs/examples/messaging/create-telesign-provider.md +0 -3
  550. package/docs/examples/messaging/create-textmagic-provider.md +0 -3
  551. package/docs/examples/messaging/create-topic.md +0 -3
  552. package/docs/examples/messaging/create-twilio-provider.md +0 -3
  553. package/docs/examples/messaging/create-vonage-provider.md +0 -3
  554. package/docs/examples/messaging/delete-provider.md +0 -2
  555. package/docs/examples/messaging/delete-subscriber.md +0 -3
  556. package/docs/examples/messaging/delete-topic.md +0 -2
  557. package/docs/examples/messaging/delete.md +0 -2
  558. package/docs/examples/messaging/get-message.md +0 -2
  559. package/docs/examples/messaging/get-provider.md +0 -2
  560. package/docs/examples/messaging/get-subscriber.md +0 -3
  561. package/docs/examples/messaging/get-topic.md +0 -2
  562. package/docs/examples/messaging/list-message-logs.md +0 -2
  563. package/docs/examples/messaging/list-messages.md +0 -1
  564. package/docs/examples/messaging/list-provider-logs.md +0 -2
  565. package/docs/examples/messaging/list-providers.md +0 -1
  566. package/docs/examples/messaging/list-subscriber-logs.md +0 -2
  567. package/docs/examples/messaging/list-subscribers.md +0 -2
  568. package/docs/examples/messaging/list-targets.md +0 -2
  569. package/docs/examples/messaging/list-topic-logs.md +0 -2
  570. package/docs/examples/messaging/list-topics.md +0 -1
  571. package/docs/examples/messaging/update-apns-provider.md +0 -2
  572. package/docs/examples/messaging/update-email.md +0 -2
  573. package/docs/examples/messaging/update-fcm-provider.md +0 -2
  574. package/docs/examples/messaging/update-mailgun-provider.md +0 -2
  575. package/docs/examples/messaging/update-msg-91-provider.md +0 -2
  576. package/docs/examples/messaging/update-push.md +0 -2
  577. package/docs/examples/messaging/update-resend-provider.md +0 -2
  578. package/docs/examples/messaging/update-sendgrid-provider.md +0 -2
  579. package/docs/examples/messaging/update-sms.md +0 -2
  580. package/docs/examples/messaging/update-smtp-provider.md +0 -2
  581. package/docs/examples/messaging/update-telesign-provider.md +0 -2
  582. package/docs/examples/messaging/update-textmagic-provider.md +0 -2
  583. package/docs/examples/messaging/update-topic.md +0 -2
  584. package/docs/examples/messaging/update-twilio-provider.md +0 -2
  585. package/docs/examples/messaging/update-vonage-provider.md +0 -2
  586. package/docs/examples/migrations/create-appwrite-migration.md +0 -5
  587. package/docs/examples/migrations/create-csv-export.md +0 -3
  588. package/docs/examples/migrations/create-csv-import.md +0 -4
  589. package/docs/examples/migrations/create-firebase-migration.md +0 -3
  590. package/docs/examples/migrations/create-n-host-migration.md +0 -8
  591. package/docs/examples/migrations/create-supabase-migration.md +0 -7
  592. package/docs/examples/migrations/delete.md +0 -2
  593. package/docs/examples/migrations/get-appwrite-report.md +0 -5
  594. package/docs/examples/migrations/get-firebase-report.md +0 -3
  595. package/docs/examples/migrations/get-n-host-report.md +0 -8
  596. package/docs/examples/migrations/get-supabase-report.md +0 -7
  597. package/docs/examples/migrations/get.md +0 -2
  598. package/docs/examples/migrations/list.md +0 -1
  599. package/docs/examples/migrations/retry.md +0 -2
  600. package/docs/examples/project/create-variable.md +0 -3
  601. package/docs/examples/project/delete-variable.md +0 -2
  602. package/docs/examples/project/get-usage.md +0 -3
  603. package/docs/examples/project/get-variable.md +0 -2
  604. package/docs/examples/project/list-variables.md +0 -1
  605. package/docs/examples/project/update-variable.md +0 -3
  606. package/docs/examples/projects/create-dev-key.md +0 -4
  607. package/docs/examples/projects/create-jwt.md +0 -3
  608. package/docs/examples/projects/create-key.md +0 -4
  609. package/docs/examples/projects/create-platform.md +0 -4
  610. package/docs/examples/projects/create-smtp-test.md +0 -6
  611. package/docs/examples/projects/create-webhook.md +0 -6
  612. package/docs/examples/projects/create.md +0 -4
  613. package/docs/examples/projects/delete-dev-key.md +0 -3
  614. package/docs/examples/projects/delete-email-template.md +0 -4
  615. package/docs/examples/projects/delete-key.md +0 -3
  616. package/docs/examples/projects/delete-platform.md +0 -3
  617. package/docs/examples/projects/delete-sms-template.md +0 -4
  618. package/docs/examples/projects/delete-webhook.md +0 -3
  619. package/docs/examples/projects/delete.md +0 -2
  620. package/docs/examples/projects/get-dev-key.md +0 -3
  621. package/docs/examples/projects/get-email-template.md +0 -4
  622. package/docs/examples/projects/get-key.md +0 -3
  623. package/docs/examples/projects/get-platform.md +0 -3
  624. package/docs/examples/projects/get-sms-template.md +0 -4
  625. package/docs/examples/projects/get-webhook.md +0 -3
  626. package/docs/examples/projects/get.md +0 -2
  627. package/docs/examples/projects/list-dev-keys.md +0 -2
  628. package/docs/examples/projects/list-keys.md +0 -2
  629. package/docs/examples/projects/list-platforms.md +0 -2
  630. package/docs/examples/projects/list-webhooks.md +0 -2
  631. package/docs/examples/projects/list.md +0 -1
  632. package/docs/examples/projects/update-api-status-all.md +0 -3
  633. package/docs/examples/projects/update-api-status.md +0 -4
  634. package/docs/examples/projects/update-auth-duration.md +0 -3
  635. package/docs/examples/projects/update-auth-limit.md +0 -3
  636. package/docs/examples/projects/update-auth-password-dictionary.md +0 -3
  637. package/docs/examples/projects/update-auth-password-history.md +0 -3
  638. package/docs/examples/projects/update-auth-sessions-limit.md +0 -3
  639. package/docs/examples/projects/update-auth-status.md +0 -4
  640. package/docs/examples/projects/update-dev-key.md +0 -5
  641. package/docs/examples/projects/update-email-template.md +0 -6
  642. package/docs/examples/projects/update-key.md +0 -5
  643. package/docs/examples/projects/update-memberships-privacy.md +0 -5
  644. package/docs/examples/projects/update-mock-numbers.md +0 -3
  645. package/docs/examples/projects/update-o-auth-2.md +0 -3
  646. package/docs/examples/projects/update-personal-data-check.md +0 -3
  647. package/docs/examples/projects/update-platform.md +0 -4
  648. package/docs/examples/projects/update-service-status-all.md +0 -3
  649. package/docs/examples/projects/update-service-status.md +0 -4
  650. package/docs/examples/projects/update-session-alerts.md +0 -3
  651. package/docs/examples/projects/update-session-invalidation.md +0 -3
  652. package/docs/examples/projects/update-sms-template.md +0 -5
  653. package/docs/examples/projects/update-smtp.md +0 -3
  654. package/docs/examples/projects/update-team.md +0 -3
  655. package/docs/examples/projects/update-webhook-signature.md +0 -3
  656. package/docs/examples/projects/update-webhook.md +0 -7
  657. package/docs/examples/projects/update.md +0 -3
  658. package/docs/examples/proxy/create-api-rule.md +0 -2
  659. package/docs/examples/proxy/create-function-rule.md +0 -3
  660. package/docs/examples/proxy/create-redirect-rule.md +0 -6
  661. package/docs/examples/proxy/create-site-rule.md +0 -3
  662. package/docs/examples/proxy/delete-rule.md +0 -2
  663. package/docs/examples/proxy/get-rule.md +0 -2
  664. package/docs/examples/proxy/list-rules.md +0 -1
  665. package/docs/examples/proxy/update-rule-verification.md +0 -2
  666. package/docs/examples/sites/create-deployment.md +0 -4
  667. package/docs/examples/sites/create-duplicate-deployment.md +0 -3
  668. package/docs/examples/sites/create-template-deployment.md +0 -7
  669. package/docs/examples/sites/create-variable.md +0 -4
  670. package/docs/examples/sites/create-vcs-deployment.md +0 -4
  671. package/docs/examples/sites/create.md +0 -5
  672. package/docs/examples/sites/delete-deployment.md +0 -3
  673. package/docs/examples/sites/delete-log.md +0 -3
  674. package/docs/examples/sites/delete-variable.md +0 -3
  675. package/docs/examples/sites/delete.md +0 -2
  676. package/docs/examples/sites/get-deployment-download.md +0 -3
  677. package/docs/examples/sites/get-deployment.md +0 -3
  678. package/docs/examples/sites/get-log.md +0 -3
  679. package/docs/examples/sites/get-template.md +0 -2
  680. package/docs/examples/sites/get-usage.md +0 -2
  681. package/docs/examples/sites/get-variable.md +0 -3
  682. package/docs/examples/sites/get.md +0 -2
  683. package/docs/examples/sites/list-deployments.md +0 -2
  684. package/docs/examples/sites/list-frameworks.md +0 -1
  685. package/docs/examples/sites/list-logs.md +0 -2
  686. package/docs/examples/sites/list-specifications.md +0 -1
  687. package/docs/examples/sites/list-templates.md +0 -1
  688. package/docs/examples/sites/list-usage.md +0 -1
  689. package/docs/examples/sites/list-variables.md +0 -2
  690. package/docs/examples/sites/list.md +0 -1
  691. package/docs/examples/sites/update-deployment-status.md +0 -3
  692. package/docs/examples/sites/update-site-deployment.md +0 -3
  693. package/docs/examples/sites/update-variable.md +0 -4
  694. package/docs/examples/sites/update.md +0 -4
  695. package/docs/examples/storage/create-bucket.md +0 -3
  696. package/docs/examples/storage/create-file.md +0 -4
  697. package/docs/examples/storage/delete-bucket.md +0 -2
  698. package/docs/examples/storage/delete-file.md +0 -3
  699. package/docs/examples/storage/get-bucket-usage.md +0 -2
  700. package/docs/examples/storage/get-bucket.md +0 -2
  701. package/docs/examples/storage/get-file-download.md +0 -3
  702. package/docs/examples/storage/get-file-preview.md +0 -3
  703. package/docs/examples/storage/get-file-view.md +0 -3
  704. package/docs/examples/storage/get-file.md +0 -3
  705. package/docs/examples/storage/get-usage.md +0 -1
  706. package/docs/examples/storage/list-buckets.md +0 -1
  707. package/docs/examples/storage/list-files.md +0 -2
  708. package/docs/examples/storage/update-bucket.md +0 -3
  709. package/docs/examples/storage/update-file.md +0 -3
  710. package/docs/examples/tablesdb/create-boolean-column.md +0 -5
  711. package/docs/examples/tablesdb/create-datetime-column.md +0 -5
  712. package/docs/examples/tablesdb/create-email-column.md +0 -5
  713. package/docs/examples/tablesdb/create-enum-column.md +0 -6
  714. package/docs/examples/tablesdb/create-float-column.md +0 -5
  715. package/docs/examples/tablesdb/create-index.md +0 -6
  716. package/docs/examples/tablesdb/create-integer-column.md +0 -5
  717. package/docs/examples/tablesdb/create-ip-column.md +0 -5
  718. package/docs/examples/tablesdb/create-line-column.md +0 -5
  719. package/docs/examples/tablesdb/create-operations.md +0 -2
  720. package/docs/examples/tablesdb/create-point-column.md +0 -5
  721. package/docs/examples/tablesdb/create-polygon-column.md +0 -5
  722. package/docs/examples/tablesdb/create-relationship-column.md +0 -5
  723. package/docs/examples/tablesdb/create-row.md +0 -5
  724. package/docs/examples/tablesdb/create-rows.md +0 -4
  725. package/docs/examples/tablesdb/create-string-column.md +0 -6
  726. package/docs/examples/tablesdb/create-table.md +0 -4
  727. package/docs/examples/tablesdb/create-transaction.md +0 -1
  728. package/docs/examples/tablesdb/create-url-column.md +0 -5
  729. package/docs/examples/tablesdb/create.md +0 -3
  730. package/docs/examples/tablesdb/decrement-row-column.md +0 -5
  731. package/docs/examples/tablesdb/delete-column.md +0 -4
  732. package/docs/examples/tablesdb/delete-index.md +0 -4
  733. package/docs/examples/tablesdb/delete-row.md +0 -4
  734. package/docs/examples/tablesdb/delete-rows.md +0 -3
  735. package/docs/examples/tablesdb/delete-table.md +0 -3
  736. package/docs/examples/tablesdb/delete-transaction.md +0 -2
  737. package/docs/examples/tablesdb/delete.md +0 -2
  738. package/docs/examples/tablesdb/get-column.md +0 -4
  739. package/docs/examples/tablesdb/get-index.md +0 -4
  740. package/docs/examples/tablesdb/get-row.md +0 -4
  741. package/docs/examples/tablesdb/get-table-usage.md +0 -3
  742. package/docs/examples/tablesdb/get-table.md +0 -3
  743. package/docs/examples/tablesdb/get-transaction.md +0 -2
  744. package/docs/examples/tablesdb/get-usage.md +0 -2
  745. package/docs/examples/tablesdb/get.md +0 -2
  746. package/docs/examples/tablesdb/increment-row-column.md +0 -5
  747. package/docs/examples/tablesdb/list-columns.md +0 -3
  748. package/docs/examples/tablesdb/list-indexes.md +0 -3
  749. package/docs/examples/tablesdb/list-row-logs.md +0 -4
  750. package/docs/examples/tablesdb/list-rows.md +0 -3
  751. package/docs/examples/tablesdb/list-table-logs.md +0 -3
  752. package/docs/examples/tablesdb/list-tables.md +0 -2
  753. package/docs/examples/tablesdb/list-transactions.md +0 -1
  754. package/docs/examples/tablesdb/list-usage.md +0 -1
  755. package/docs/examples/tablesdb/list.md +0 -1
  756. package/docs/examples/tablesdb/update-boolean-column.md +0 -6
  757. package/docs/examples/tablesdb/update-datetime-column.md +0 -6
  758. package/docs/examples/tablesdb/update-email-column.md +0 -6
  759. package/docs/examples/tablesdb/update-enum-column.md +0 -7
  760. package/docs/examples/tablesdb/update-float-column.md +0 -6
  761. package/docs/examples/tablesdb/update-integer-column.md +0 -6
  762. package/docs/examples/tablesdb/update-ip-column.md +0 -6
  763. package/docs/examples/tablesdb/update-line-column.md +0 -5
  764. package/docs/examples/tablesdb/update-point-column.md +0 -5
  765. package/docs/examples/tablesdb/update-polygon-column.md +0 -5
  766. package/docs/examples/tablesdb/update-relationship-column.md +0 -4
  767. package/docs/examples/tablesdb/update-row.md +0 -4
  768. package/docs/examples/tablesdb/update-rows.md +0 -3
  769. package/docs/examples/tablesdb/update-string-column.md +0 -6
  770. package/docs/examples/tablesdb/update-table.md +0 -4
  771. package/docs/examples/tablesdb/update-transaction.md +0 -2
  772. package/docs/examples/tablesdb/update-url-column.md +0 -6
  773. package/docs/examples/tablesdb/update.md +0 -3
  774. package/docs/examples/tablesdb/upsert-row.md +0 -4
  775. package/docs/examples/tablesdb/upsert-rows.md +0 -4
  776. package/docs/examples/teams/create-membership.md +0 -3
  777. package/docs/examples/teams/create.md +0 -3
  778. package/docs/examples/teams/delete-membership.md +0 -3
  779. package/docs/examples/teams/delete.md +0 -2
  780. package/docs/examples/teams/get-membership.md +0 -3
  781. package/docs/examples/teams/get-prefs.md +0 -2
  782. package/docs/examples/teams/get.md +0 -2
  783. package/docs/examples/teams/list-logs.md +0 -2
  784. package/docs/examples/teams/list-memberships.md +0 -2
  785. package/docs/examples/teams/list.md +0 -1
  786. package/docs/examples/teams/update-membership-status.md +0 -5
  787. package/docs/examples/teams/update-membership.md +0 -4
  788. package/docs/examples/teams/update-name.md +0 -3
  789. package/docs/examples/teams/update-prefs.md +0 -3
  790. package/docs/examples/tokens/create-file-token.md +0 -3
  791. package/docs/examples/tokens/delete.md +0 -2
  792. package/docs/examples/tokens/get.md +0 -2
  793. package/docs/examples/tokens/list.md +0 -3
  794. package/docs/examples/tokens/update.md +0 -2
  795. package/docs/examples/users/create-argon-2-user.md +0 -4
  796. package/docs/examples/users/create-bcrypt-user.md +0 -4
  797. package/docs/examples/users/create-jwt.md +0 -2
  798. package/docs/examples/users/create-md-5-user.md +0 -4
  799. package/docs/examples/users/create-mfa-recovery-codes.md +0 -2
  800. package/docs/examples/users/create-ph-pass-user.md +0 -4
  801. package/docs/examples/users/create-scrypt-modified-user.md +0 -7
  802. package/docs/examples/users/create-scrypt-user.md +0 -9
  803. package/docs/examples/users/create-session.md +0 -2
  804. package/docs/examples/users/create-sha-user.md +0 -4
  805. package/docs/examples/users/create-target.md +0 -5
  806. package/docs/examples/users/create-token.md +0 -2
  807. package/docs/examples/users/create.md +0 -2
  808. package/docs/examples/users/delete-identity.md +0 -2
  809. package/docs/examples/users/delete-mfa-authenticator.md +0 -3
  810. package/docs/examples/users/delete-session.md +0 -3
  811. package/docs/examples/users/delete-sessions.md +0 -2
  812. package/docs/examples/users/delete-target.md +0 -3
  813. package/docs/examples/users/delete.md +0 -2
  814. package/docs/examples/users/get-mfa-recovery-codes.md +0 -2
  815. package/docs/examples/users/get-prefs.md +0 -2
  816. package/docs/examples/users/get-target.md +0 -3
  817. package/docs/examples/users/get-usage.md +0 -1
  818. package/docs/examples/users/get.md +0 -2
  819. package/docs/examples/users/list-identities.md +0 -1
  820. package/docs/examples/users/list-logs.md +0 -2
  821. package/docs/examples/users/list-memberships.md +0 -2
  822. package/docs/examples/users/list-mfa-factors.md +0 -2
  823. package/docs/examples/users/list-sessions.md +0 -2
  824. package/docs/examples/users/list-targets.md +0 -2
  825. package/docs/examples/users/list.md +0 -1
  826. package/docs/examples/users/update-email-verification.md +0 -3
  827. package/docs/examples/users/update-email.md +0 -3
  828. package/docs/examples/users/update-labels.md +0 -3
  829. package/docs/examples/users/update-mfa-recovery-codes.md +0 -2
  830. package/docs/examples/users/update-mfa.md +0 -3
  831. package/docs/examples/users/update-name.md +0 -3
  832. package/docs/examples/users/update-password.md +0 -3
  833. package/docs/examples/users/update-phone-verification.md +0 -3
  834. package/docs/examples/users/update-phone.md +0 -3
  835. package/docs/examples/users/update-prefs.md +0 -3
  836. package/docs/examples/users/update-status.md +0 -3
  837. package/docs/examples/users/update-target.md +0 -3
  838. package/docs/examples/vcs/create-repository-detection.md +0 -4
  839. package/docs/examples/vcs/create-repository.md +0 -4
  840. package/docs/examples/vcs/delete-installation.md +0 -2
  841. package/docs/examples/vcs/get-installation.md +0 -2
  842. package/docs/examples/vcs/get-repository-contents.md +0 -3
  843. package/docs/examples/vcs/get-repository.md +0 -3
  844. package/docs/examples/vcs/list-installations.md +0 -1
  845. package/docs/examples/vcs/list-repositories.md +0 -3
  846. package/docs/examples/vcs/list-repository-branches.md +0 -3
  847. package/docs/examples/vcs/update-external-deployments.md +0 -4
  848. package/lib/commands/account.ts +0 -1867
  849. package/lib/commands/console.ts +0 -112
  850. package/lib/commands/databases.ts +0 -3272
  851. package/lib/commands/functions.ts +0 -1587
  852. package/lib/commands/graphql.ts +0 -110
  853. package/lib/commands/health.ts +0 -753
  854. package/lib/commands/locale.ts +0 -270
  855. package/lib/commands/messaging.ts +0 -2878
  856. package/lib/commands/migrations.ts +0 -754
  857. package/lib/commands/organizations.ts +0 -46
  858. package/lib/commands/project.ts +0 -266
  859. package/lib/commands/projects.ts +0 -2370
  860. package/lib/commands/proxy.ts +0 -357
  861. package/lib/commands/sites.ts +0 -1514
  862. package/lib/commands/storage.ts +0 -919
  863. package/lib/commands/tables-db.ts +0 -3260
  864. package/lib/commands/teams.ts +0 -609
  865. package/lib/commands/tokens.ts +0 -232
  866. package/lib/commands/users.ts +0 -1804
  867. package/lib/commands/vcs.ts +0 -428
  868. package/lib/exception.ts +0 -20
@@ -1,557 +1,668 @@
1
- import fs = require('fs');
2
- import chalk from 'chalk';
3
- import tar = require('tar');
4
- import { Command } from 'commander';
5
- import inquirer from 'inquirer';
6
- import { messagingListTopics } from './messaging';
7
- import { teamsList } from './teams';
8
- import { projectsGet } from './projects';
9
- import { functionsList, functionsGetDeploymentDownload, functionsListDeployments } from './functions';
10
- import { sitesList, sitesGetDeploymentDownload, sitesListDeployments } from './sites';
11
- import { databasesGet, databasesListCollections, databasesList } from './databases';
12
- import { tablesDBList, tablesDBGet, tablesDBListTables } from './tables-db';
13
- import { storageListBuckets } from './storage';
14
- import { localConfig } from '../config';
15
- import { paginate } from '../paginate';
16
- import { questionsPullCollection, questionsPullFunctions, questionsPullFunctionsCode, questionsPullSites, questionsPullSitesCode, questionsPullResources } from '../questions';
17
- import { cliConfig, success, log, warn, actionRunner, commandDescriptions } from '../parser';
1
+ import fs from "fs";
2
+ import chalk from "chalk";
3
+ import tar from "tar";
4
+ import { Command } from "commander";
5
+ import inquirer from "inquirer";
6
+ import {
7
+ getMessagingService,
8
+ getTeamsService,
9
+ getProjectsService,
10
+ getFunctionsService,
11
+ getSitesService,
12
+ getDatabasesService,
13
+ getTablesDBService,
14
+ getStorageService,
15
+ } from "../services.js";
16
+ import { localConfig } from "../config.js";
17
+ import { paginate } from "../paginate.js";
18
+ import {
19
+ questionsPullCollection,
20
+ questionsPullFunctions,
21
+ questionsPullFunctionsCode,
22
+ questionsPullSites,
23
+ questionsPullSitesCode,
24
+ questionsPullResources,
25
+ } from "../questions.js";
26
+ import {
27
+ cliConfig,
28
+ success,
29
+ log,
30
+ warn,
31
+ error,
32
+ actionRunner,
33
+ commandDescriptions,
34
+ } from "../parser.js";
18
35
 
19
36
  interface PullResourcesOptions {
20
- skipDeprecated?: boolean;
37
+ skipDeprecated?: boolean;
21
38
  }
22
39
 
23
40
  interface PullFunctionsOptions {
24
- code?: boolean;
25
- withVariables?: boolean;
41
+ code?: boolean;
42
+ withVariables?: boolean;
26
43
  }
27
44
 
28
45
  interface PullSitesOptions {
29
- code?: boolean;
30
- withVariables?: boolean;
46
+ code?: boolean;
47
+ withVariables?: boolean;
31
48
  }
32
49
 
33
50
  export const pullResources = async ({
34
- skipDeprecated = false
51
+ skipDeprecated = false,
35
52
  }: PullResourcesOptions = {}): Promise<void> => {
36
- const actions: Record<string, (options?: any) => Promise<void>> = {
37
- settings: pullSettings,
38
- functions: pullFunctions,
39
- sites: pullSites,
40
- collections: pullCollection,
41
- tables: pullTable,
42
- buckets: pullBucket,
43
- teams: pullTeam,
44
- messages: pullMessagingTopic
53
+ const project = localConfig.getProject();
54
+ if (!project.projectId) {
55
+ error(
56
+ "Project configuration not found. Please run 'appwrite init project' to initialize your project first.",
57
+ );
58
+ process.exit(1);
59
+ }
60
+
61
+ const actions: Record<string, (options?: any) => Promise<void>> = {
62
+ settings: pullSettings,
63
+ functions: pullFunctions,
64
+ sites: pullSites,
65
+ collections: pullCollection,
66
+ tables: pullTable,
67
+ buckets: pullBucket,
68
+ teams: pullTeam,
69
+ messages: pullMessagingTopic,
70
+ };
71
+
72
+ if (skipDeprecated) {
73
+ delete actions.collections;
74
+ }
75
+
76
+ if (cliConfig.all) {
77
+ for (let action of Object.values(actions)) {
78
+ cliConfig.all = true;
79
+ await action({ returnOnZero: true });
45
80
  }
81
+ } else {
82
+ const answers = await inquirer.prompt([questionsPullResources[0]]);
46
83
 
47
- if (skipDeprecated) {
48
- delete actions.collections;
49
- }
50
-
51
- if (cliConfig.all) {
52
- for (let action of Object.values(actions)) {
53
- cliConfig.all = true;
54
- await action({ returnOnZero: true });
55
- }
56
- } else {
57
- const answers = await inquirer.prompt(questionsPullResources[0]);
58
-
59
- const action = actions[answers.resource];
60
- if (action !== undefined) {
61
- await action({ returnOnZero: true });
62
- }
84
+ const action = actions[answers.resource];
85
+ if (action !== undefined) {
86
+ await action({ returnOnZero: true });
63
87
  }
88
+ }
64
89
  };
65
90
 
66
91
  const pullSettings = async (): Promise<void> => {
67
- log("Pulling project settings ...");
92
+ log("Pulling project settings ...");
68
93
 
69
- try {
70
- let response = await projectsGet({
71
- parseOutput: false,
72
- projectId: localConfig.getProject().projectId
73
- });
74
-
75
- localConfig.setProject(response.$id, response.name, response);
76
-
77
- success(`Successfully pulled ${chalk.bold('all')} project settings.`);
78
- } catch (e) {
79
- throw e;
80
- }
81
- }
94
+ try {
95
+ const projectsService = await getProjectsService();
96
+ let response = await projectsService.get(
97
+ localConfig.getProject().projectId,
98
+ );
82
99
 
83
- const pullFunctions = async ({ code, withVariables }: PullFunctionsOptions = {}): Promise<void> => {
84
- process.chdir(localConfig.configDirectoryPath)
100
+ localConfig.setProject(response.$id, response.name, response);
85
101
 
86
- log("Fetching functions ...");
87
- let total = 0;
102
+ success(`Successfully pulled ${chalk.bold("all")} project settings.`);
103
+ } catch (e) {
104
+ throw e;
105
+ }
106
+ };
88
107
 
89
- const fetchResponse = await functionsList({
90
- queries: [JSON.stringify({ method: 'limit', values: [1] })],
91
- parseOutput: false
92
- });
93
- if (fetchResponse["functions"].length <= 0) {
94
- log("No functions found.");
95
- success(`Successfully pulled ${chalk.bold(total)} functions.`);
96
- return;
108
+ const pullFunctions = async ({
109
+ code,
110
+ withVariables,
111
+ }: PullFunctionsOptions = {}): Promise<void> => {
112
+ process.chdir(localConfig.configDirectoryPath);
113
+
114
+ log("Fetching functions ...");
115
+ let total = 0;
116
+
117
+ const functionsService = await getFunctionsService();
118
+ const fetchResponse = await functionsService.list([
119
+ JSON.stringify({ method: "limit", values: [1] }),
120
+ ]);
121
+ if (fetchResponse["functions"].length <= 0) {
122
+ log("No functions found.");
123
+ success(`Successfully pulled ${chalk.bold(total)} functions.`);
124
+ return;
125
+ }
126
+
127
+ const functions = cliConfig.all
128
+ ? (
129
+ await paginate(
130
+ async () => (await getFunctionsService()).list(),
131
+ {},
132
+ 100,
133
+ "functions",
134
+ )
135
+ ).functions
136
+ : (await inquirer.prompt(questionsPullFunctions)).functions;
137
+
138
+ let allowCodePull: boolean | null = cliConfig.force === true ? true : null;
139
+
140
+ for (let func of functions) {
141
+ total++;
142
+ log(`Pulling function ${chalk.bold(func["name"])} ...`);
143
+
144
+ const localFunction = localConfig.getFunction(func.$id);
145
+
146
+ func["path"] = localFunction["path"];
147
+ if (!localFunction["path"]) {
148
+ func["path"] = `functions/${func.name}`;
97
149
  }
150
+ const holdingVars = func["vars"];
151
+ // We don't save var in to the config
152
+ delete func["vars"];
153
+ localConfig.addFunction(func);
98
154
 
99
- const functions = cliConfig.all
100
- ? (await paginate(functionsList, { parseOutput: false }, 100, 'functions')).functions
101
- : (await inquirer.prompt(questionsPullFunctions)).functions;
102
-
103
- let allowCodePull: boolean | null = cliConfig.force === true ? true : null;
104
-
105
- for (let func of functions) {
106
- total++;
107
- log(`Pulling function ${chalk.bold(func['name'])} ...`);
108
-
109
- const localFunction = localConfig.getFunction(func.$id);
110
-
111
- func['path'] = localFunction['path'];
112
- if (!localFunction['path']) {
113
- func['path'] = `functions/${func.name}`;
114
- }
115
- const holdingVars = func['vars'];
116
- // We don't save var in to the config
117
- delete func['vars'];
118
- localConfig.addFunction(func);
119
-
120
- if (!fs.existsSync(func['path'])) {
121
- fs.mkdirSync(func['path'], { recursive: true });
122
- }
123
-
124
- if (code === false) {
125
- warn("Source code download skipped.");
126
- continue;
127
- }
128
-
129
- if (allowCodePull === null) {
130
- const codeAnswer = await inquirer.prompt(questionsPullFunctionsCode);
131
- allowCodePull = codeAnswer.override;
132
- }
133
-
134
- if (!allowCodePull) {
135
- continue;
136
- }
137
-
138
- let deploymentId: string | null = null;
139
-
140
- try {
141
- const fetchResponse = await functionsListDeployments({
142
- functionId: func['$id'],
143
- queries: [
144
- JSON.stringify({ method: 'limit', values: [1] }),
145
- JSON.stringify({ method: 'orderDesc', values: ['$id'] })
146
- ],
147
- parseOutput: false
148
- });
149
-
150
- if (fetchResponse['total'] > 0) {
151
- deploymentId = fetchResponse['deployments'][0]['$id'];
152
- }
153
-
154
- } catch {
155
- }
156
-
157
- if (deploymentId === null) {
158
- log("Source code download skipped because function doesn't have any available deployment");
159
- continue;
160
- }
161
-
162
- log("Pulling latest deployment code ...");
163
-
164
- const compressedFileName = `${func['$id']}-${+new Date()}.tar.gz`
165
- await functionsGetDeploymentDownload({
166
- functionId: func['$id'],
167
- deploymentId,
168
- destination: compressedFileName,
169
- overrideForCli: true,
170
- parseOutput: false
171
- });
172
-
173
- tar.extract({
174
- sync: true,
175
- cwd: func['path'],
176
- file: compressedFileName,
177
- strict: false,
178
- });
179
-
180
- fs.rmSync(compressedFileName);
181
-
182
- if (withVariables) {
183
- const envFileLocation = `${func['path']}/.env`
184
- try {
185
- fs.rmSync(envFileLocation);
186
- } catch {
187
- }
188
-
189
- fs.writeFileSync(envFileLocation, holdingVars.map((r: any) => `${r.key}=${r.value}\n`).join(''))
190
- }
155
+ if (!fs.existsSync(func["path"])) {
156
+ fs.mkdirSync(func["path"], { recursive: true });
191
157
  }
192
158
 
193
- success(`Successfully pulled ${chalk.bold(total)} functions.`);
194
- }
195
-
196
- const pullSites = async ({ code, withVariables }: PullSitesOptions = {}): Promise<void> => {
197
- process.chdir(localConfig.configDirectoryPath)
198
-
199
- log("Fetching sites ...");
200
- let total = 0;
159
+ if (code === false) {
160
+ warn("Source code download skipped.");
161
+ continue;
162
+ }
201
163
 
202
- const fetchResponse = await sitesList({
203
- queries: [JSON.stringify({ method: 'limit', values: [1] })],
204
- parseOutput: false
205
- });
206
- if (fetchResponse["sites"].length <= 0) {
207
- log("No sites found.");
208
- success(`Successfully pulled ${chalk.bold(total)} sites.`);
209
- return;
164
+ if (allowCodePull === null) {
165
+ const codeAnswer = await inquirer.prompt(questionsPullFunctionsCode);
166
+ allowCodePull = codeAnswer.override;
210
167
  }
211
168
 
212
- const sites = cliConfig.all
213
- ? (await paginate(sitesList, { parseOutput: false }, 100, 'sites')).sites
214
- : (await inquirer.prompt(questionsPullSites)).sites;
215
-
216
- let allowCodePull: boolean | null = cliConfig.force === true ? true : null;
217
-
218
- for (let site of sites) {
219
- total++;
220
- log(`Pulling site ${chalk.bold(site['name'])} ...`);
221
-
222
- const localSite = localConfig.getSite(site.$id);
223
-
224
- site['path'] = localSite['path'];
225
- if (!localSite['path']) {
226
- site['path'] = `sites/${site.name}`;
227
- }
228
- const holdingVars = site['vars'];
229
- // We don't save var in to the config
230
- delete site['vars'];
231
- localConfig.addSite(site);
232
-
233
- if (!fs.existsSync(site['path'])) {
234
- fs.mkdirSync(site['path'], { recursive: true });
235
- }
236
-
237
- if (code === false) {
238
- warn("Source code download skipped.");
239
- continue;
240
- }
241
-
242
- if (allowCodePull === null) {
243
- const codeAnswer = await inquirer.prompt(questionsPullSitesCode);
244
- allowCodePull = codeAnswer.override;
245
- }
246
-
247
- if (!allowCodePull) {
248
- continue;
249
- }
250
-
251
- let deploymentId: string | null = null;
252
-
253
- try {
254
- const fetchResponse = await sitesListDeployments({
255
- siteId: site['$id'],
256
- queries: [
257
- JSON.stringify({ method: 'limit', values: [1] }),
258
- JSON.stringify({ method: 'orderDesc', values: ['$id'] })
259
- ],
260
- parseOutput: false
261
- });
262
-
263
- if (fetchResponse['total'] > 0) {
264
- deploymentId = fetchResponse['deployments'][0]['$id'];
265
- }
266
-
267
- } catch {
268
- }
269
-
270
- if (deploymentId === null) {
271
- log("Source code download skipped because site doesn't have any available deployment");
272
- continue;
273
- }
274
-
275
- log("Pulling latest deployment code ...");
276
-
277
- const compressedFileName = `${site['$id']}-${+new Date()}.tar.gz`
278
- await sitesGetDeploymentDownload({
279
- siteId: site['$id'],
280
- deploymentId,
281
- destination: compressedFileName,
282
- overrideForCli: true,
283
- parseOutput: false
284
- });
285
-
286
- tar.extract({
287
- sync: true,
288
- cwd: site['path'],
289
- file: compressedFileName,
290
- strict: false,
291
- });
292
-
293
- fs.rmSync(compressedFileName);
294
-
295
- if (withVariables) {
296
- const envFileLocation = `${site['path']}/.env`
297
- try {
298
- fs.rmSync(envFileLocation);
299
- } catch {
300
- }
301
-
302
- fs.writeFileSync(envFileLocation, holdingVars.map((r: any) => `${r.key}=${r.value}\n`).join(''))
303
- }
169
+ if (!allowCodePull) {
170
+ continue;
304
171
  }
305
172
 
306
- success(`Successfully pulled ${chalk.bold(total)} sites.`);
307
- }
173
+ let deploymentId: string | null = null;
308
174
 
309
- const pullCollection = async (): Promise<void> => {
310
- warn("appwrite pull collection has been deprecated. Please consider using 'appwrite pull tables' instead");
311
- log("Fetching collections ...");
312
- let totalDatabases = 0;
313
- let totalCollections = 0;
314
-
315
- const fetchResponse = await databasesList({
316
- queries: [JSON.stringify({ method: 'limit', values: [1] })],
317
- parseOutput: false
318
- });
319
- if (fetchResponse["databases"].length <= 0) {
320
- log("No collections found.");
321
- success(`Successfully pulled ${chalk.bold(totalCollections)} collections from ${chalk.bold(totalDatabases)} databases.`);
322
- return;
175
+ try {
176
+ const fetchResponse = await functionsService.listDeployments({
177
+ functionId: func["$id"],
178
+ queries: [
179
+ JSON.stringify({ method: "limit", values: [1] }),
180
+ JSON.stringify({ method: "orderDesc", values: ["$id"] }),
181
+ ],
182
+ });
183
+
184
+ if (fetchResponse["total"] > 0) {
185
+ deploymentId = fetchResponse["deployments"][0]["$id"];
186
+ }
187
+ } catch {}
188
+
189
+ if (deploymentId === null) {
190
+ log(
191
+ "Source code download skipped because function doesn't have any available deployment",
192
+ );
193
+ continue;
323
194
  }
324
195
 
325
- let databases: string[] = cliConfig.ids;
196
+ log("Pulling latest deployment code ...");
326
197
 
327
- if (databases.length === 0) {
328
- if (cliConfig.all) {
329
- databases = (await paginate(databasesList, { parseOutput: false }, 100, 'databases')).databases.map((database: any) => database.$id);
330
- } else {
331
- databases = (await inquirer.prompt(questionsPullCollection)).databases;
332
- }
333
- }
198
+ const compressedFileName = `${func["$id"]}-${+new Date()}.tar.gz`;
199
+ const downloadUrl = functionsService.getDeploymentDownload({
200
+ functionId: func["$id"],
201
+ deploymentId: deploymentId,
202
+ });
334
203
 
335
- for (const databaseId of databases) {
336
- const database = await databasesGet({
337
- databaseId,
338
- parseOutput: false
339
- });
340
-
341
- totalDatabases++;
342
- log(`Pulling all collections from ${chalk.bold(database['name'])} database ...`);
343
-
344
- localConfig.addDatabase(database);
345
-
346
- const { collections } = await paginate(databasesListCollections, {
347
- databaseId,
348
- parseOutput: false
349
- }, 100, 'collections');
350
-
351
- for (const collection of collections) {
352
- totalCollections++;
353
- localConfig.addCollection({
354
- ...collection,
355
- '$createdAt': undefined,
356
- '$updatedAt': undefined
357
- });
358
- }
359
- }
204
+ const client = (await getFunctionsService()).client;
205
+ const downloadBuffer = await client.call(
206
+ "get",
207
+ new URL(downloadUrl),
208
+ {},
209
+ {},
210
+ "arrayBuffer",
211
+ );
212
+
213
+ fs.writeFileSync(compressedFileName, Buffer.from(downloadBuffer as any));
214
+
215
+ tar.extract({
216
+ sync: true,
217
+ cwd: func["path"],
218
+ file: compressedFileName,
219
+ strict: false,
220
+ });
360
221
 
361
- success(`Successfully pulled ${chalk.bold(totalCollections)} collections from ${chalk.bold(totalDatabases)} databases.`);
362
- }
222
+ fs.rmSync(compressedFileName);
363
223
 
364
- const pullTable = async (): Promise<void> => {
365
- log("Fetching tables ...");
366
- let totalTablesDBs = 0;
367
- let totalTables = 0;
224
+ if (withVariables) {
225
+ const envFileLocation = `${func["path"]}/.env`;
226
+ try {
227
+ fs.rmSync(envFileLocation);
228
+ } catch {}
368
229
 
369
- const fetchResponse = await tablesDBList({
370
- queries: [JSON.stringify({ method: 'limit', values: [1] })],
371
- parseOutput: false
372
- });
373
- if (fetchResponse["databases"].length <= 0) {
374
- log("No tables found.");
375
- success(`Successfully pulled ${chalk.bold(totalTables)} tables from ${chalk.bold(totalTablesDBs)} tableDBs.`);
376
- return;
230
+ fs.writeFileSync(
231
+ envFileLocation,
232
+ holdingVars.map((r: any) => `${r.key}=${r.value}\n`).join(""),
233
+ );
377
234
  }
235
+ }
378
236
 
379
- let databases: string[] = cliConfig.ids;
237
+ success(`Successfully pulled ${chalk.bold(total)} functions.`);
238
+ };
380
239
 
381
- if (databases.length === 0) {
382
- if (cliConfig.all) {
383
- databases = (await paginate(tablesDBList, { parseOutput: false }, 100, 'databases')).databases.map((database: any) => database.$id);
384
- } else {
385
- databases = (await inquirer.prompt(questionsPullCollection)).databases;
386
- }
240
+ const pullSites = async ({
241
+ code,
242
+ withVariables,
243
+ }: PullSitesOptions = {}): Promise<void> => {
244
+ process.chdir(localConfig.configDirectoryPath);
245
+
246
+ log("Fetching sites ...");
247
+ let total = 0;
248
+
249
+ const sitesService = await getSitesService();
250
+ const fetchResponse = await sitesService.list([
251
+ JSON.stringify({ method: "limit", values: [1] }),
252
+ ]);
253
+ if (fetchResponse["sites"].length <= 0) {
254
+ log("No sites found.");
255
+ success(`Successfully pulled ${chalk.bold(total)} sites.`);
256
+ return;
257
+ }
258
+
259
+ const sites = cliConfig.all
260
+ ? (
261
+ await paginate(
262
+ async () => (await getSitesService()).list(),
263
+ {},
264
+ 100,
265
+ "sites",
266
+ )
267
+ ).sites
268
+ : (await inquirer.prompt(questionsPullSites)).sites;
269
+
270
+ let allowCodePull: boolean | null = cliConfig.force === true ? true : null;
271
+
272
+ for (let site of sites) {
273
+ total++;
274
+ log(`Pulling site ${chalk.bold(site["name"])} ...`);
275
+
276
+ const localSite = localConfig.getSite(site.$id);
277
+
278
+ site["path"] = localSite["path"];
279
+ if (!localSite["path"]) {
280
+ site["path"] = `sites/${site.name}`;
387
281
  }
282
+ const holdingVars = site["vars"];
283
+ // We don't save var in to the config
284
+ delete site["vars"];
285
+ localConfig.addSite(site);
388
286
 
389
- for (const databaseId of databases) {
390
- const database = await tablesDBGet({
391
- databaseId,
392
- parseOutput: false
393
- });
394
-
395
- totalTablesDBs++;
396
- log(`Pulling all tables from ${chalk.bold(database['name'])} database ...`);
397
-
398
- localConfig.addTablesDB(database);
399
-
400
- const { tables } = await paginate(tablesDBListTables, {
401
- databaseId,
402
- parseOutput: false
403
- }, 100, 'tables');
404
-
405
- for (const table of tables) {
406
- totalTables++;
407
- localConfig.addTable({
408
- ...table,
409
- '$createdAt': undefined,
410
- '$updatedAt': undefined
411
- });
412
- }
287
+ if (!fs.existsSync(site["path"])) {
288
+ fs.mkdirSync(site["path"], { recursive: true });
413
289
  }
414
290
 
415
- success(`Successfully pulled ${chalk.bold(totalTables)} tables from ${chalk.bold(totalTablesDBs)} tableDBs.`);
416
- }
291
+ if (code === false) {
292
+ warn("Source code download skipped.");
293
+ continue;
294
+ }
417
295
 
418
- const pullBucket = async (): Promise<void> => {
419
- log("Fetching buckets ...");
420
- let total = 0;
296
+ if (allowCodePull === null) {
297
+ const codeAnswer = await inquirer.prompt(questionsPullSitesCode);
298
+ allowCodePull = codeAnswer.override;
299
+ }
421
300
 
422
- const fetchResponse = await storageListBuckets({
423
- queries: [JSON.stringify({ method: 'limit', values: [1] })],
424
- parseOutput: false
425
- });
426
- if (fetchResponse["buckets"].length <= 0) {
427
- log("No buckets found.");
428
- success(`Successfully pulled ${chalk.bold(total)} buckets.`);
429
- return;
301
+ if (!allowCodePull) {
302
+ continue;
430
303
  }
431
304
 
432
- const { buckets } = await paginate(storageListBuckets, { parseOutput: false }, 100, 'buckets');
305
+ let deploymentId: string | null = null;
433
306
 
434
- for (const bucket of buckets) {
435
- total++;
436
- log(`Pulling bucket ${chalk.bold(bucket['name'])} ...`);
437
- localConfig.addBucket(bucket);
307
+ try {
308
+ const fetchResponse = await sitesService.listDeployments({
309
+ siteId: site["$id"],
310
+ queries: [
311
+ JSON.stringify({ method: "limit", values: [1] }),
312
+ JSON.stringify({ method: "orderDesc", values: ["$id"] }),
313
+ ],
314
+ });
315
+
316
+ if (fetchResponse["total"] > 0) {
317
+ deploymentId = fetchResponse["deployments"][0]["$id"];
318
+ }
319
+ } catch {}
320
+
321
+ if (deploymentId === null) {
322
+ log(
323
+ "Source code download skipped because site doesn't have any available deployment",
324
+ );
325
+ continue;
438
326
  }
439
327
 
440
- success(`Successfully pulled ${chalk.bold(total)} buckets.`);
441
- }
328
+ log("Pulling latest deployment code ...");
442
329
 
443
- const pullTeam = async (): Promise<void> => {
444
- log("Fetching teams ...");
445
- let total = 0;
330
+ const compressedFileName = `${site["$id"]}-${+new Date()}.tar.gz`;
331
+ const downloadUrl = sitesService.getDeploymentDownload({
332
+ siteId: site["$id"],
333
+ deploymentId: deploymentId,
334
+ });
446
335
 
447
- const fetchResponse = await teamsList({
448
- queries: [JSON.stringify({ method: 'limit', values: [1] })],
449
- parseOutput: false
336
+ const client = (await getSitesService()).client;
337
+ const downloadBuffer = await client.call(
338
+ "get",
339
+ new URL(downloadUrl),
340
+ {},
341
+ {},
342
+ "arrayBuffer",
343
+ );
344
+
345
+ fs.writeFileSync(compressedFileName, Buffer.from(downloadBuffer as any));
346
+
347
+ tar.extract({
348
+ sync: true,
349
+ cwd: site["path"],
350
+ file: compressedFileName,
351
+ strict: false,
450
352
  });
451
- if (fetchResponse["teams"].length <= 0) {
452
- log("No teams found.");
453
- success(`Successfully pulled ${chalk.bold(total)} teams.`);
454
- return;
455
- }
456
353
 
457
- const { teams } = await paginate(teamsList, { parseOutput: false }, 100, 'teams');
354
+ fs.rmSync(compressedFileName);
458
355
 
459
- for (const team of teams) {
460
- total++;
461
- log(`Pulling team ${chalk.bold(team['name'])} ...`);
462
- localConfig.addTeam(team);
463
- }
356
+ if (withVariables) {
357
+ const envFileLocation = `${site["path"]}/.env`;
358
+ try {
359
+ fs.rmSync(envFileLocation);
360
+ } catch {}
464
361
 
465
- success(`Successfully pulled ${chalk.bold(total)} teams.`);
466
- }
362
+ fs.writeFileSync(
363
+ envFileLocation,
364
+ holdingVars.map((r: any) => `${r.key}=${r.value}\n`).join(""),
365
+ );
366
+ }
367
+ }
467
368
 
468
- const pullMessagingTopic = async (): Promise<void> => {
469
- log("Fetching topics ...");
470
- let total = 0;
369
+ success(`Successfully pulled ${chalk.bold(total)} sites.`);
370
+ };
471
371
 
472
- const fetchResponse = await messagingListTopics({
473
- queries: [JSON.stringify({ method: 'limit', values: [1] })],
474
- parseOutput: false
475
- });
476
- if (fetchResponse["topics"].length <= 0) {
477
- log("No topics found.");
478
- success(`Successfully pulled ${chalk.bold(total)} topics.`);
479
- return;
372
+ const pullCollection = async (): Promise<void> => {
373
+ warn(
374
+ "appwrite pull collection has been deprecated. Please consider using 'appwrite pull tables' instead",
375
+ );
376
+ log("Fetching collections ...");
377
+ let totalDatabases = 0;
378
+ let totalCollections = 0;
379
+
380
+ const databasesService = await getDatabasesService();
381
+ const fetchResponse = await databasesService.list([
382
+ JSON.stringify({ method: "limit", values: [1] }),
383
+ ]);
384
+ if (fetchResponse["databases"].length <= 0) {
385
+ log("No collections found.");
386
+ success(
387
+ `Successfully pulled ${chalk.bold(totalCollections)} collections from ${chalk.bold(totalDatabases)} databases.`,
388
+ );
389
+ return;
390
+ }
391
+
392
+ let databases: string[] = cliConfig.ids;
393
+
394
+ if (databases.length === 0) {
395
+ if (cliConfig.all) {
396
+ databases = (
397
+ await paginate(
398
+ async () => (await getDatabasesService()).list(),
399
+ {},
400
+ 100,
401
+ "databases",
402
+ )
403
+ ).databases.map((database: any) => database.$id);
404
+ } else {
405
+ databases = (await inquirer.prompt(questionsPullCollection)).databases;
480
406
  }
407
+ }
408
+
409
+ for (const databaseId of databases) {
410
+ const database = await databasesService.get(databaseId);
411
+
412
+ totalDatabases++;
413
+ log(
414
+ `Pulling all collections from ${chalk.bold(database["name"])} database ...`,
415
+ );
416
+
417
+ localConfig.addDatabase(database);
418
+
419
+ const { collections } = await paginate(
420
+ async () => (await getDatabasesService()).listCollections(databaseId),
421
+ {},
422
+ 100,
423
+ "collections",
424
+ );
425
+
426
+ for (const collection of collections) {
427
+ totalCollections++;
428
+ localConfig.addCollection({
429
+ ...collection,
430
+ $createdAt: undefined,
431
+ $updatedAt: undefined,
432
+ });
433
+ }
434
+ }
481
435
 
482
- const { topics } = await paginate(messagingListTopics, { parseOutput: false }, 100, 'topics');
436
+ success(
437
+ `Successfully pulled ${chalk.bold(totalCollections)} collections from ${chalk.bold(totalDatabases)} databases.`,
438
+ );
439
+ };
483
440
 
484
- for (const topic of topics) {
485
- total++;
486
- log(`Pulling topic ${chalk.bold(topic['name'])} ...`);
487
- localConfig.addMessagingTopic(topic);
441
+ const pullTable = async (): Promise<void> => {
442
+ log("Fetching tables ...");
443
+ let totalTablesDBs = 0;
444
+ let totalTables = 0;
445
+
446
+ const tablesDBService = await getTablesDBService();
447
+ const fetchResponse = await tablesDBService.list([
448
+ JSON.stringify({ method: "limit", values: [1] }),
449
+ ]);
450
+ if (fetchResponse["databases"].length <= 0) {
451
+ log("No tables found.");
452
+ success(
453
+ `Successfully pulled ${chalk.bold(totalTables)} tables from ${chalk.bold(totalTablesDBs)} tableDBs.`,
454
+ );
455
+ return;
456
+ }
457
+
458
+ let databases: string[] = cliConfig.ids;
459
+
460
+ if (databases.length === 0) {
461
+ if (cliConfig.all) {
462
+ databases = (
463
+ await paginate(
464
+ async () => (await getTablesDBService()).list(),
465
+ {},
466
+ 100,
467
+ "databases",
468
+ )
469
+ ).databases.map((database: any) => database.$id);
470
+ } else {
471
+ databases = (await inquirer.prompt(questionsPullCollection)).databases;
488
472
  }
473
+ }
474
+
475
+ for (const databaseId of databases) {
476
+ const database = await tablesDBService.get(databaseId);
477
+
478
+ totalTablesDBs++;
479
+ log(`Pulling all tables from ${chalk.bold(database["name"])} database ...`);
480
+
481
+ localConfig.addTablesDB(database);
482
+
483
+ const { tables } = await paginate(
484
+ async () => (await getTablesDBService()).listTables(databaseId),
485
+ {},
486
+ 100,
487
+ "tables",
488
+ );
489
+
490
+ for (const table of tables) {
491
+ totalTables++;
492
+ localConfig.addTable({
493
+ ...table,
494
+ $createdAt: undefined,
495
+ $updatedAt: undefined,
496
+ });
497
+ }
498
+ }
499
+
500
+ success(
501
+ `Successfully pulled ${chalk.bold(totalTables)} tables from ${chalk.bold(totalTablesDBs)} tableDBs.`,
502
+ );
503
+ };
504
+
505
+ const pullBucket = async (): Promise<void> => {
506
+ log("Fetching buckets ...");
507
+ let total = 0;
508
+
509
+ const storageService = await getStorageService();
510
+ const fetchResponse = await storageService.listBuckets([
511
+ JSON.stringify({ method: "limit", values: [1] }),
512
+ ]);
513
+ if (fetchResponse["buckets"].length <= 0) {
514
+ log("No buckets found.");
515
+ success(`Successfully pulled ${chalk.bold(total)} buckets.`);
516
+ return;
517
+ }
518
+
519
+ const { buckets } = await paginate(
520
+ async () => (await getStorageService()).listBuckets(),
521
+ {},
522
+ 100,
523
+ "buckets",
524
+ );
525
+
526
+ for (const bucket of buckets) {
527
+ total++;
528
+ log(`Pulling bucket ${chalk.bold(bucket["name"])} ...`);
529
+ localConfig.addBucket(bucket);
530
+ }
531
+
532
+ success(`Successfully pulled ${chalk.bold(total)} buckets.`);
533
+ };
534
+
535
+ const pullTeam = async (): Promise<void> => {
536
+ log("Fetching teams ...");
537
+ let total = 0;
538
+
539
+ const teamsService = await getTeamsService();
540
+ const fetchResponse = await teamsService.list([
541
+ JSON.stringify({ method: "limit", values: [1] }),
542
+ ]);
543
+ if (fetchResponse["teams"].length <= 0) {
544
+ log("No teams found.");
545
+ success(`Successfully pulled ${chalk.bold(total)} teams.`);
546
+ return;
547
+ }
548
+
549
+ const { teams } = await paginate(
550
+ async () => (await getTeamsService()).list(),
551
+ {},
552
+ 100,
553
+ "teams",
554
+ );
555
+
556
+ for (const team of teams) {
557
+ total++;
558
+ log(`Pulling team ${chalk.bold(team["name"])} ...`);
559
+ localConfig.addTeam(team);
560
+ }
561
+
562
+ success(`Successfully pulled ${chalk.bold(total)} teams.`);
563
+ };
489
564
 
565
+ const pullMessagingTopic = async (): Promise<void> => {
566
+ log("Fetching topics ...");
567
+ let total = 0;
568
+
569
+ const messagingService = await getMessagingService();
570
+ const fetchResponse = await messagingService.listTopics([
571
+ JSON.stringify({ method: "limit", values: [1] }),
572
+ ]);
573
+ if (fetchResponse["topics"].length <= 0) {
574
+ log("No topics found.");
490
575
  success(`Successfully pulled ${chalk.bold(total)} topics.`);
491
- }
576
+ return;
577
+ }
578
+
579
+ const { topics } = await paginate(
580
+ async () => (await getMessagingService()).listTopics(),
581
+ {},
582
+ 100,
583
+ "topics",
584
+ );
585
+
586
+ for (const topic of topics) {
587
+ total++;
588
+ log(`Pulling topic ${chalk.bold(topic["name"])} ...`);
589
+ localConfig.addMessagingTopic(topic);
590
+ }
591
+
592
+ success(`Successfully pulled ${chalk.bold(total)} topics.`);
593
+ };
492
594
 
493
595
  export const pull = new Command("pull")
494
- .description(commandDescriptions['pull'])
495
- .action(actionRunner(() => pullResources({ skipDeprecated: true })));
596
+ .description(commandDescriptions["pull"])
597
+ .action(actionRunner(() => pullResources({ skipDeprecated: true })));
496
598
 
497
599
  pull
498
- .command("all")
499
- .description("Pull all resource.")
500
- .action(actionRunner(() => {
501
- cliConfig.all = true;
502
- return pullResources({
503
- skipDeprecated: true
504
- });
505
- }));
600
+ .command("all")
601
+ .description("Pull all resource.")
602
+ .action(
603
+ actionRunner(() => {
604
+ cliConfig.all = true;
605
+ return pullResources({
606
+ skipDeprecated: true,
607
+ });
608
+ }),
609
+ );
506
610
 
507
611
  pull
508
- .command("settings")
509
- .description("Pull your Appwrite project name, services and auth settings")
510
- .action(actionRunner(pullSettings));
612
+ .command("settings")
613
+ .description("Pull your Appwrite project name, services and auth settings")
614
+ .action(actionRunner(pullSettings));
511
615
 
512
616
  pull
513
- .command("function")
514
- .alias("functions")
515
- .description("Pull your Appwrite cloud function")
516
- .option("--no-code", "Don't pull the function's code")
517
- .option("--with-variables", `Pull function variables. ${chalk.red('recommend for testing purposes only')}`)
518
- .action(actionRunner(pullFunctions))
617
+ .command("function")
618
+ .alias("functions")
619
+ .description("Pull your Appwrite cloud function")
620
+ .option("--no-code", "Don't pull the function's code")
621
+ .option(
622
+ "--with-variables",
623
+ `Pull function variables. ${chalk.red("recommend for testing purposes only")}`,
624
+ )
625
+ .action(actionRunner(pullFunctions));
519
626
 
520
627
  pull
521
- .command("site")
522
- .alias("sites")
523
- .description("Pull your Appwrite site")
524
- .option("--no-code", "Don't pull the site's code")
525
- .option("--with-variables", `Pull site variables. ${chalk.red('recommend for testing purposes only')}`)
526
- .action(actionRunner(pullSites))
628
+ .command("site")
629
+ .alias("sites")
630
+ .description("Pull your Appwrite site")
631
+ .option("--no-code", "Don't pull the site's code")
632
+ .option(
633
+ "--with-variables",
634
+ `Pull site variables. ${chalk.red("recommend for testing purposes only")}`,
635
+ )
636
+ .action(actionRunner(pullSites));
527
637
 
528
638
  pull
529
- .command("collection")
530
- .alias("collections")
531
- .description("Pull your Appwrite collections (deprecated, please use 'pull tables' instead)")
532
- .action(actionRunner(pullCollection))
639
+ .command("collection")
640
+ .alias("collections")
641
+ .description(
642
+ "Pull your Appwrite collections (deprecated, please use 'pull tables' instead)",
643
+ )
644
+ .action(actionRunner(pullCollection));
533
645
 
534
646
  pull
535
- .command("table")
536
- .alias("tables")
537
- .description("Pull your Appwrite tables")
538
- .action(actionRunner(pullTable))
647
+ .command("table")
648
+ .alias("tables")
649
+ .description("Pull your Appwrite tables")
650
+ .action(actionRunner(pullTable));
539
651
 
540
652
  pull
541
- .command("bucket")
542
- .alias("buckets")
543
- .description("Pull your Appwrite buckets")
544
- .action(actionRunner(pullBucket))
653
+ .command("bucket")
654
+ .alias("buckets")
655
+ .description("Pull your Appwrite buckets")
656
+ .action(actionRunner(pullBucket));
545
657
 
546
658
  pull
547
- .command("team")
548
- .alias("teams")
549
- .description("Pull your Appwrite teams")
550
- .action(actionRunner(pullTeam))
659
+ .command("team")
660
+ .alias("teams")
661
+ .description("Pull your Appwrite teams")
662
+ .action(actionRunner(pullTeam));
551
663
 
552
664
  pull
553
- .command("topic")
554
- .alias("topics")
555
- .description("Pull your Appwrite messaging topics")
556
- .action(actionRunner(pullMessagingTopic))
557
-
665
+ .command("topic")
666
+ .alias("topics")
667
+ .description("Pull your Appwrite messaging topics")
668
+ .action(actionRunner(pullMessagingTopic));