chirag-appwrite-cli 0.1.0 → 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 (823) 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.json +0 -164
  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.md +0 -3
  438. package/docs/examples/databases/update-boolean-attribute.md +0 -7
  439. package/docs/examples/databases/update-collection.md +0 -7
  440. package/docs/examples/databases/update-datetime-attribute.md +0 -7
  441. package/docs/examples/databases/update-document.md +0 -6
  442. package/docs/examples/databases/update-documents.md +0 -5
  443. package/docs/examples/databases/update-email-attribute.md +0 -7
  444. package/docs/examples/databases/update-enum-attribute.md +0 -8
  445. package/docs/examples/databases/update-float-attribute.md +0 -9
  446. package/docs/examples/databases/update-integer-attribute.md +0 -9
  447. package/docs/examples/databases/update-ip-attribute.md +0 -7
  448. package/docs/examples/databases/update-relationship-attribute.md +0 -6
  449. package/docs/examples/databases/update-string-attribute.md +0 -8
  450. package/docs/examples/databases/update-url-attribute.md +0 -7
  451. package/docs/examples/databases/update.md +0 -4
  452. package/docs/examples/databases/upsert-document.md +0 -6
  453. package/docs/examples/databases/upsert-documents.md +0 -4
  454. package/docs/examples/functions/create-deployment.md +0 -6
  455. package/docs/examples/functions/create-duplicate-deployment.md +0 -4
  456. package/docs/examples/functions/create-execution.md +0 -8
  457. package/docs/examples/functions/create-template-deployment.md +0 -7
  458. package/docs/examples/functions/create-variable.md +0 -5
  459. package/docs/examples/functions/create-vcs-deployment.md +0 -5
  460. package/docs/examples/functions/create.md +0 -19
  461. package/docs/examples/functions/delete-deployment.md +0 -3
  462. package/docs/examples/functions/delete-execution.md +0 -3
  463. package/docs/examples/functions/delete-variable.md +0 -3
  464. package/docs/examples/functions/delete.md +0 -2
  465. package/docs/examples/functions/get-deployment-download.md +0 -4
  466. package/docs/examples/functions/get-deployment.md +0 -3
  467. package/docs/examples/functions/get-execution.md +0 -3
  468. package/docs/examples/functions/get-template.md +0 -2
  469. package/docs/examples/functions/get-usage.md +0 -3
  470. package/docs/examples/functions/get-variable.md +0 -3
  471. package/docs/examples/functions/get.md +0 -2
  472. package/docs/examples/functions/list-deployments.md +0 -4
  473. package/docs/examples/functions/list-executions.md +0 -3
  474. package/docs/examples/functions/list-runtimes.md +0 -1
  475. package/docs/examples/functions/list-specifications.md +0 -1
  476. package/docs/examples/functions/list-templates.md +0 -5
  477. package/docs/examples/functions/list-usage.md +0 -2
  478. package/docs/examples/functions/list-variables.md +0 -2
  479. package/docs/examples/functions/list.md +0 -3
  480. package/docs/examples/functions/update-deployment-status.md +0 -3
  481. package/docs/examples/functions/update-function-deployment.md +0 -3
  482. package/docs/examples/functions/update-variable.md +0 -6
  483. package/docs/examples/functions/update.md +0 -19
  484. package/docs/examples/graphql/mutation.md +0 -2
  485. package/docs/examples/graphql/query.md +0 -2
  486. package/docs/examples/health/get-antivirus.md +0 -1
  487. package/docs/examples/health/get-cache.md +0 -1
  488. package/docs/examples/health/get-certificate.md +0 -2
  489. package/docs/examples/health/get-d-b.md +0 -1
  490. package/docs/examples/health/get-failed-jobs.md +0 -3
  491. package/docs/examples/health/get-pub-sub.md +0 -1
  492. package/docs/examples/health/get-queue-builds.md +0 -2
  493. package/docs/examples/health/get-queue-certificates.md +0 -2
  494. package/docs/examples/health/get-queue-databases.md +0 -3
  495. package/docs/examples/health/get-queue-deletes.md +0 -2
  496. package/docs/examples/health/get-queue-functions.md +0 -2
  497. package/docs/examples/health/get-queue-logs.md +0 -2
  498. package/docs/examples/health/get-queue-mails.md +0 -2
  499. package/docs/examples/health/get-queue-messaging.md +0 -2
  500. package/docs/examples/health/get-queue-migrations.md +0 -2
  501. package/docs/examples/health/get-queue-stats-resources.md +0 -2
  502. package/docs/examples/health/get-queue-usage.md +0 -2
  503. package/docs/examples/health/get-queue-webhooks.md +0 -2
  504. package/docs/examples/health/get-storage-local.md +0 -1
  505. package/docs/examples/health/get-storage.md +0 -1
  506. package/docs/examples/health/get-time.md +0 -1
  507. package/docs/examples/health/get.md +0 -1
  508. package/docs/examples/locale/get.md +0 -1
  509. package/docs/examples/locale/list-codes.md +0 -1
  510. package/docs/examples/locale/list-continents.md +0 -1
  511. package/docs/examples/locale/list-countries-e-u.md +0 -1
  512. package/docs/examples/locale/list-countries-phones.md +0 -1
  513. package/docs/examples/locale/list-countries.md +0 -1
  514. package/docs/examples/locale/list-currencies.md +0 -1
  515. package/docs/examples/locale/list-languages.md +0 -1
  516. package/docs/examples/messaging/create-apns-provider.md +0 -9
  517. package/docs/examples/messaging/create-email.md +0 -13
  518. package/docs/examples/messaging/create-fcm-provider.md +0 -5
  519. package/docs/examples/messaging/create-mailgun-provider.md +0 -11
  520. package/docs/examples/messaging/create-msg91provider.md +0 -7
  521. package/docs/examples/messaging/create-push.md +0 -20
  522. package/docs/examples/messaging/create-sendgrid-provider.md +0 -9
  523. package/docs/examples/messaging/create-sms.md +0 -8
  524. package/docs/examples/messaging/create-smtp-provider.md +0 -15
  525. package/docs/examples/messaging/create-subscriber.md +0 -4
  526. package/docs/examples/messaging/create-telesign-provider.md +0 -7
  527. package/docs/examples/messaging/create-textmagic-provider.md +0 -7
  528. package/docs/examples/messaging/create-topic.md +0 -4
  529. package/docs/examples/messaging/create-twilio-provider.md +0 -7
  530. package/docs/examples/messaging/create-vonage-provider.md +0 -7
  531. package/docs/examples/messaging/delete-provider.md +0 -2
  532. package/docs/examples/messaging/delete-subscriber.md +0 -3
  533. package/docs/examples/messaging/delete-topic.md +0 -2
  534. package/docs/examples/messaging/delete.md +0 -2
  535. package/docs/examples/messaging/get-message.md +0 -2
  536. package/docs/examples/messaging/get-provider.md +0 -2
  537. package/docs/examples/messaging/get-subscriber.md +0 -3
  538. package/docs/examples/messaging/get-topic.md +0 -2
  539. package/docs/examples/messaging/list-message-logs.md +0 -3
  540. package/docs/examples/messaging/list-messages.md +0 -3
  541. package/docs/examples/messaging/list-provider-logs.md +0 -3
  542. package/docs/examples/messaging/list-providers.md +0 -3
  543. package/docs/examples/messaging/list-subscriber-logs.md +0 -3
  544. package/docs/examples/messaging/list-subscribers.md +0 -4
  545. package/docs/examples/messaging/list-targets.md +0 -3
  546. package/docs/examples/messaging/list-topic-logs.md +0 -3
  547. package/docs/examples/messaging/list-topics.md +0 -3
  548. package/docs/examples/messaging/update-apns-provider.md +0 -9
  549. package/docs/examples/messaging/update-email.md +0 -13
  550. package/docs/examples/messaging/update-fcm-provider.md +0 -5
  551. package/docs/examples/messaging/update-mailgun-provider.md +0 -11
  552. package/docs/examples/messaging/update-msg91provider.md +0 -7
  553. package/docs/examples/messaging/update-push.md +0 -20
  554. package/docs/examples/messaging/update-sendgrid-provider.md +0 -9
  555. package/docs/examples/messaging/update-sms.md +0 -8
  556. package/docs/examples/messaging/update-smtp-provider.md +0 -15
  557. package/docs/examples/messaging/update-telesign-provider.md +0 -7
  558. package/docs/examples/messaging/update-textmagic-provider.md +0 -7
  559. package/docs/examples/messaging/update-topic.md +0 -4
  560. package/docs/examples/messaging/update-twilio-provider.md +0 -7
  561. package/docs/examples/messaging/update-vonage-provider.md +0 -7
  562. package/docs/examples/migrations/create-appwrite-migration.md +0 -5
  563. package/docs/examples/migrations/create-csv-migration.md +0 -4
  564. package/docs/examples/migrations/create-firebase-migration.md +0 -3
  565. package/docs/examples/migrations/create-n-host-migration.md +0 -9
  566. package/docs/examples/migrations/create-supabase-migration.md +0 -8
  567. package/docs/examples/migrations/delete.md +0 -2
  568. package/docs/examples/migrations/get-appwrite-report.md +0 -5
  569. package/docs/examples/migrations/get-firebase-report.md +0 -3
  570. package/docs/examples/migrations/get-n-host-report.md +0 -9
  571. package/docs/examples/migrations/get-supabase-report.md +0 -8
  572. package/docs/examples/migrations/get.md +0 -2
  573. package/docs/examples/migrations/list.md +0 -3
  574. package/docs/examples/migrations/retry.md +0 -2
  575. package/docs/examples/project/create-variable.md +0 -4
  576. package/docs/examples/project/delete-variable.md +0 -2
  577. package/docs/examples/project/get-usage.md +0 -4
  578. package/docs/examples/project/get-variable.md +0 -2
  579. package/docs/examples/project/list-variables.md +0 -1
  580. package/docs/examples/project/update-variable.md +0 -5
  581. package/docs/examples/projects/create-dev-key.md +0 -4
  582. package/docs/examples/projects/create-j-w-t.md +0 -4
  583. package/docs/examples/projects/create-key.md +0 -5
  584. package/docs/examples/projects/create-platform.md +0 -7
  585. package/docs/examples/projects/create-smtp-test.md +0 -11
  586. package/docs/examples/projects/create-webhook.md +0 -9
  587. package/docs/examples/projects/create.md +0 -14
  588. package/docs/examples/projects/delete-dev-key.md +0 -3
  589. package/docs/examples/projects/delete-email-template.md +0 -4
  590. package/docs/examples/projects/delete-key.md +0 -3
  591. package/docs/examples/projects/delete-platform.md +0 -3
  592. package/docs/examples/projects/delete-sms-template.md +0 -4
  593. package/docs/examples/projects/delete-webhook.md +0 -3
  594. package/docs/examples/projects/delete.md +0 -2
  595. package/docs/examples/projects/get-dev-key.md +0 -3
  596. package/docs/examples/projects/get-email-template.md +0 -4
  597. package/docs/examples/projects/get-key.md +0 -3
  598. package/docs/examples/projects/get-platform.md +0 -3
  599. package/docs/examples/projects/get-sms-template.md +0 -4
  600. package/docs/examples/projects/get-webhook.md +0 -3
  601. package/docs/examples/projects/get.md +0 -2
  602. package/docs/examples/projects/list-dev-keys.md +0 -3
  603. package/docs/examples/projects/list-keys.md +0 -2
  604. package/docs/examples/projects/list-platforms.md +0 -2
  605. package/docs/examples/projects/list-webhooks.md +0 -2
  606. package/docs/examples/projects/list.md +0 -3
  607. package/docs/examples/projects/update-api-status-all.md +0 -3
  608. package/docs/examples/projects/update-api-status.md +0 -4
  609. package/docs/examples/projects/update-auth-duration.md +0 -3
  610. package/docs/examples/projects/update-auth-limit.md +0 -3
  611. package/docs/examples/projects/update-auth-password-dictionary.md +0 -3
  612. package/docs/examples/projects/update-auth-password-history.md +0 -3
  613. package/docs/examples/projects/update-auth-sessions-limit.md +0 -3
  614. package/docs/examples/projects/update-auth-status.md +0 -4
  615. package/docs/examples/projects/update-dev-key.md +0 -5
  616. package/docs/examples/projects/update-email-template.md +0 -9
  617. package/docs/examples/projects/update-key.md +0 -6
  618. package/docs/examples/projects/update-memberships-privacy.md +0 -5
  619. package/docs/examples/projects/update-mock-numbers.md +0 -3
  620. package/docs/examples/projects/update-o-auth2.md +0 -6
  621. package/docs/examples/projects/update-personal-data-check.md +0 -3
  622. package/docs/examples/projects/update-platform.md +0 -7
  623. package/docs/examples/projects/update-service-status-all.md +0 -3
  624. package/docs/examples/projects/update-service-status.md +0 -4
  625. package/docs/examples/projects/update-session-alerts.md +0 -3
  626. package/docs/examples/projects/update-sms-template.md +0 -5
  627. package/docs/examples/projects/update-smtp.md +0 -11
  628. package/docs/examples/projects/update-team.md +0 -3
  629. package/docs/examples/projects/update-webhook-signature.md +0 -3
  630. package/docs/examples/projects/update-webhook.md +0 -10
  631. package/docs/examples/projects/update.md +0 -12
  632. package/docs/examples/proxy/create-a-p-i-rule.md +0 -2
  633. package/docs/examples/proxy/create-function-rule.md +0 -4
  634. package/docs/examples/proxy/create-redirect-rule.md +0 -6
  635. package/docs/examples/proxy/create-site-rule.md +0 -4
  636. package/docs/examples/proxy/delete-rule.md +0 -2
  637. package/docs/examples/proxy/get-rule.md +0 -2
  638. package/docs/examples/proxy/list-rules.md +0 -3
  639. package/docs/examples/proxy/update-rule-verification.md +0 -2
  640. package/docs/examples/sites/create-deployment.md +0 -7
  641. package/docs/examples/sites/create-duplicate-deployment.md +0 -3
  642. package/docs/examples/sites/create-template-deployment.md +0 -7
  643. package/docs/examples/sites/create-variable.md +0 -5
  644. package/docs/examples/sites/create-vcs-deployment.md +0 -5
  645. package/docs/examples/sites/create.md +0 -19
  646. package/docs/examples/sites/delete-deployment.md +0 -3
  647. package/docs/examples/sites/delete-log.md +0 -3
  648. package/docs/examples/sites/delete-variable.md +0 -3
  649. package/docs/examples/sites/delete.md +0 -2
  650. package/docs/examples/sites/get-deployment-download.md +0 -4
  651. package/docs/examples/sites/get-deployment.md +0 -3
  652. package/docs/examples/sites/get-log.md +0 -3
  653. package/docs/examples/sites/get-template.md +0 -2
  654. package/docs/examples/sites/get-usage.md +0 -3
  655. package/docs/examples/sites/get-variable.md +0 -3
  656. package/docs/examples/sites/get.md +0 -2
  657. package/docs/examples/sites/list-deployments.md +0 -4
  658. package/docs/examples/sites/list-frameworks.md +0 -1
  659. package/docs/examples/sites/list-logs.md +0 -3
  660. package/docs/examples/sites/list-specifications.md +0 -1
  661. package/docs/examples/sites/list-templates.md +0 -5
  662. package/docs/examples/sites/list-usage.md +0 -2
  663. package/docs/examples/sites/list-variables.md +0 -2
  664. package/docs/examples/sites/list.md +0 -3
  665. package/docs/examples/sites/update-deployment-status.md +0 -3
  666. package/docs/examples/sites/update-site-deployment.md +0 -3
  667. package/docs/examples/sites/update-variable.md +0 -6
  668. package/docs/examples/sites/update.md +0 -19
  669. package/docs/examples/storage/create-bucket.md +0 -11
  670. package/docs/examples/storage/create-file.md +0 -5
  671. package/docs/examples/storage/delete-bucket.md +0 -2
  672. package/docs/examples/storage/delete-file.md +0 -3
  673. package/docs/examples/storage/get-bucket-usage.md +0 -3
  674. package/docs/examples/storage/get-bucket.md +0 -2
  675. package/docs/examples/storage/get-file-download.md +0 -4
  676. package/docs/examples/storage/get-file-preview.md +0 -15
  677. package/docs/examples/storage/get-file-view.md +0 -4
  678. package/docs/examples/storage/get-file.md +0 -3
  679. package/docs/examples/storage/get-usage.md +0 -2
  680. package/docs/examples/storage/list-buckets.md +0 -3
  681. package/docs/examples/storage/list-files.md +0 -4
  682. package/docs/examples/storage/update-bucket.md +0 -11
  683. package/docs/examples/storage/update-file.md +0 -5
  684. package/docs/examples/teams/create-membership.md +0 -8
  685. package/docs/examples/teams/create.md +0 -4
  686. package/docs/examples/teams/delete-membership.md +0 -3
  687. package/docs/examples/teams/delete.md +0 -2
  688. package/docs/examples/teams/get-membership.md +0 -3
  689. package/docs/examples/teams/get-prefs.md +0 -2
  690. package/docs/examples/teams/get.md +0 -2
  691. package/docs/examples/teams/list-logs.md +0 -3
  692. package/docs/examples/teams/list-memberships.md +0 -4
  693. package/docs/examples/teams/list.md +0 -3
  694. package/docs/examples/teams/update-membership-status.md +0 -5
  695. package/docs/examples/teams/update-membership.md +0 -4
  696. package/docs/examples/teams/update-name.md +0 -3
  697. package/docs/examples/teams/update-prefs.md +0 -3
  698. package/docs/examples/tokens/create-file-token.md +0 -4
  699. package/docs/examples/tokens/delete.md +0 -2
  700. package/docs/examples/tokens/get.md +0 -2
  701. package/docs/examples/tokens/list.md +0 -4
  702. package/docs/examples/tokens/update.md +0 -3
  703. package/docs/examples/users/create-argon2user.md +0 -5
  704. package/docs/examples/users/create-bcrypt-user.md +0 -5
  705. package/docs/examples/users/create-j-w-t.md +0 -4
  706. package/docs/examples/users/create-m-d5user.md +0 -5
  707. package/docs/examples/users/create-mfa-recovery-codes.md +0 -2
  708. package/docs/examples/users/create-p-h-pass-user.md +0 -5
  709. package/docs/examples/users/create-s-h-a-user.md +0 -6
  710. package/docs/examples/users/create-scrypt-modified-user.md +0 -8
  711. package/docs/examples/users/create-scrypt-user.md +0 -10
  712. package/docs/examples/users/create-session.md +0 -2
  713. package/docs/examples/users/create-target.md +0 -7
  714. package/docs/examples/users/create-token.md +0 -4
  715. package/docs/examples/users/create.md +0 -6
  716. package/docs/examples/users/delete-identity.md +0 -2
  717. package/docs/examples/users/delete-mfa-authenticator.md +0 -3
  718. package/docs/examples/users/delete-session.md +0 -3
  719. package/docs/examples/users/delete-sessions.md +0 -2
  720. package/docs/examples/users/delete-target.md +0 -3
  721. package/docs/examples/users/delete.md +0 -2
  722. package/docs/examples/users/get-mfa-recovery-codes.md +0 -2
  723. package/docs/examples/users/get-prefs.md +0 -2
  724. package/docs/examples/users/get-target.md +0 -3
  725. package/docs/examples/users/get-usage.md +0 -2
  726. package/docs/examples/users/get.md +0 -2
  727. package/docs/examples/users/list-identities.md +0 -3
  728. package/docs/examples/users/list-logs.md +0 -3
  729. package/docs/examples/users/list-memberships.md +0 -4
  730. package/docs/examples/users/list-mfa-factors.md +0 -2
  731. package/docs/examples/users/list-sessions.md +0 -2
  732. package/docs/examples/users/list-targets.md +0 -3
  733. package/docs/examples/users/list.md +0 -3
  734. package/docs/examples/users/update-email-verification.md +0 -3
  735. package/docs/examples/users/update-email.md +0 -3
  736. package/docs/examples/users/update-labels.md +0 -3
  737. package/docs/examples/users/update-mfa-recovery-codes.md +0 -2
  738. package/docs/examples/users/update-mfa.md +0 -3
  739. package/docs/examples/users/update-name.md +0 -3
  740. package/docs/examples/users/update-password.md +0 -3
  741. package/docs/examples/users/update-phone-verification.md +0 -3
  742. package/docs/examples/users/update-phone.md +0 -3
  743. package/docs/examples/users/update-prefs.md +0 -3
  744. package/docs/examples/users/update-status.md +0 -3
  745. package/docs/examples/users/update-target.md +0 -6
  746. package/docs/examples/vcs/create-repository-detection.md +0 -5
  747. package/docs/examples/vcs/create-repository.md +0 -4
  748. package/docs/examples/vcs/delete-installation.md +0 -2
  749. package/docs/examples/vcs/get-installation.md +0 -2
  750. package/docs/examples/vcs/get-repository-contents.md +0 -5
  751. package/docs/examples/vcs/get-repository.md +0 -3
  752. package/docs/examples/vcs/list-installations.md +0 -3
  753. package/docs/examples/vcs/list-repositories.md +0 -4
  754. package/docs/examples/vcs/list-repository-branches.md +0 -3
  755. package/docs/examples/vcs/update-external-deployments.md +0 -4
  756. package/functions/Starter function/.prettierrc.json +0 -6
  757. package/functions/Starter function/README.md +0 -48
  758. package/functions/Starter function/package-lock.json +0 -60
  759. package/functions/Starter function/package.json +0 -16
  760. package/functions/Starter function/src/main.js +0 -35
  761. package/generate/appwrite.d.ts +0 -18
  762. package/index.js +0 -109
  763. package/lib/client.js +0 -259
  764. package/lib/commands/account.js +0 -2074
  765. package/lib/commands/avatars.js +0 -491
  766. package/lib/commands/console.js +0 -129
  767. package/lib/commands/databases.js +0 -2972
  768. package/lib/commands/functions.js +0 -1737
  769. package/lib/commands/generic.js +0 -328
  770. package/lib/commands/graphql.js +0 -128
  771. package/lib/commands/health.js +0 -891
  772. package/lib/commands/init.js +0 -566
  773. package/lib/commands/locale.js +0 -324
  774. package/lib/commands/messaging.js +0 -2970
  775. package/lib/commands/migrations.js +0 -751
  776. package/lib/commands/organizations.js +0 -48
  777. package/lib/commands/project.js +0 -308
  778. package/lib/commands/projects.js +0 -2615
  779. package/lib/commands/proxy.js +0 -406
  780. package/lib/commands/pull.js +0 -474
  781. package/lib/commands/push.js +0 -2117
  782. package/lib/commands/run.js +0 -330
  783. package/lib/commands/sites.js +0 -1663
  784. package/lib/commands/storage.js +0 -990
  785. package/lib/commands/teams.js +0 -682
  786. package/lib/commands/tokens.js +0 -261
  787. package/lib/commands/types.js +0 -156
  788. package/lib/commands/users.js +0 -2035
  789. package/lib/commands/vcs.js +0 -484
  790. package/lib/config.js +0 -705
  791. package/lib/emulation/docker.js +0 -264
  792. package/lib/emulation/utils.js +0 -186
  793. package/lib/exception.js +0 -9
  794. package/lib/id.js +0 -30
  795. package/lib/paginate.js +0 -52
  796. package/lib/parser.js +0 -246
  797. package/lib/questions.js +0 -1006
  798. package/lib/sdks.js +0 -60
  799. package/lib/spinner.js +0 -104
  800. package/lib/type-generation/attribute.js +0 -16
  801. package/lib/type-generation/languages/dart.js +0 -196
  802. package/lib/type-generation/languages/java.js +0 -130
  803. package/lib/type-generation/languages/javascript.js +0 -102
  804. package/lib/type-generation/languages/kotlin.js +0 -84
  805. package/lib/type-generation/languages/language.js +0 -125
  806. package/lib/type-generation/languages/php.js +0 -109
  807. package/lib/type-generation/languages/swift.js +0 -169
  808. package/lib/type-generation/languages/typescript.js +0 -102
  809. package/lib/utils.js +0 -289
  810. package/lib/validations.js +0 -17
  811. package/scoop/appwrite.json +0 -30
  812. package/sites/JavaScript starter/.env.example +0 -3
  813. package/sites/JavaScript starter/LICENSE +0 -21
  814. package/sites/JavaScript starter/images/appwrite.svg +0 -8
  815. package/sites/JavaScript starter/images/javascript.svg +0 -5
  816. package/sites/JavaScript starter/index.html +0 -250
  817. package/sites/JavaScript starter/lib/appwrite.js +0 -10
  818. package/sites/JavaScript starter/package-lock.json +0 -1431
  819. package/sites/JavaScript starter/package.json +0 -21
  820. package/sites/JavaScript starter/readme.md +0 -26
  821. package/sites/JavaScript starter/src/javascript.svg +0 -1
  822. package/sites/JavaScript starter/style/app.css +0 -20
  823. package/sites/JavaScript starter/vite.config.js +0 -7
@@ -0,0 +1,944 @@
1
+ import fs from "fs";
2
+ import chalk from "chalk";
3
+ import { Command } from "commander";
4
+ import inquirer from "inquirer";
5
+ import {
6
+ Databases,
7
+ Functions,
8
+ Messaging,
9
+ Projects,
10
+ Sites,
11
+ Storage,
12
+ TablesDB,
13
+ Teams,
14
+ Client,
15
+ Query,
16
+ Models,
17
+ } from "@appwrite.io/console";
18
+ import { getFunctionsService, getSitesService } from "../services.js";
19
+ import { sdkForProject, sdkForConsole } from "../sdks.js";
20
+ import { localConfig } from "../config.js";
21
+ import { paginate } from "../paginate.js";
22
+ import {
23
+ questionsPullFunctions,
24
+ questionsPullFunctionsCode,
25
+ questionsPullSites,
26
+ questionsPullSitesCode,
27
+ questionsPullResources,
28
+ } from "../questions.js";
29
+ import {
30
+ cliConfig,
31
+ success,
32
+ log,
33
+ warn,
34
+ error,
35
+ actionRunner,
36
+ commandDescriptions,
37
+ } from "../parser.js";
38
+ import type { ConfigType } from "./config.js";
39
+ import { createSettingsObject } from "../utils.js";
40
+ import { ProjectNotInitializedError } from "./errors.js";
41
+ import type { SettingsType, FunctionType, SiteType } from "./config.js";
42
+ import { downloadDeploymentCode } from "./utils/deployment.js";
43
+
44
+ export interface PullOptions {
45
+ all?: boolean;
46
+ settings?: boolean;
47
+ functions?: boolean;
48
+ sites?: boolean;
49
+ collections?: boolean;
50
+ tables?: boolean;
51
+ buckets?: boolean;
52
+ teams?: boolean;
53
+ topics?: boolean;
54
+ skipDeprecated?: boolean;
55
+ withVariables?: boolean;
56
+ noCode?: boolean;
57
+ }
58
+
59
+ interface PullFunctionsOptions {
60
+ code?: boolean;
61
+ withVariables?: boolean;
62
+ functionIds?: string[];
63
+ }
64
+
65
+ interface PullSitesOptions {
66
+ code?: boolean;
67
+ withVariables?: boolean;
68
+ siteIds?: string[];
69
+ }
70
+
71
+ export interface PullSettingsResult {
72
+ projectName: string;
73
+ settings: SettingsType;
74
+ project: Models.Project;
75
+ }
76
+
77
+ async function createPullInstance(): Promise<Pull> {
78
+ const projectClient = await sdkForProject();
79
+ const consoleClient = await sdkForConsole();
80
+ const pullInstance = new Pull(projectClient, consoleClient);
81
+
82
+ pullInstance.setConfigDirectoryPath(localConfig.configDirectoryPath);
83
+ return pullInstance;
84
+ }
85
+
86
+ export class Pull {
87
+ private projectClient: Client;
88
+ private consoleClient: Client;
89
+ private configDirectoryPath: string;
90
+ private silent: boolean;
91
+
92
+ constructor(projectClient: Client, consoleClient: Client, silent = false) {
93
+ this.projectClient = projectClient;
94
+ this.consoleClient = consoleClient;
95
+ this.configDirectoryPath = process.cwd();
96
+ this.silent = silent;
97
+ }
98
+
99
+ /**
100
+ * Set the base directory path for config files and resources
101
+ */
102
+ public setConfigDirectoryPath(path: string): void {
103
+ this.configDirectoryPath = path;
104
+ }
105
+
106
+ /**
107
+ * Log a message (respects silent mode)
108
+ */
109
+ private log(message: string): void {
110
+ if (!this.silent) {
111
+ log(message);
112
+ }
113
+ }
114
+
115
+ /**
116
+ * Log a success message (respects silent mode)
117
+ */
118
+ private success(message: string): void {
119
+ if (!this.silent) {
120
+ success(message);
121
+ }
122
+ }
123
+
124
+ /**
125
+ * Log a warning message (respects silent mode)
126
+ */
127
+ private warn(message: string): void {
128
+ if (!this.silent) {
129
+ warn(message);
130
+ }
131
+ }
132
+
133
+ /**
134
+ * Pull resources from Appwrite project and return updated config
135
+ *
136
+ * @param config - Current configuration object
137
+ * @param options - Pull options specifying which resources to pull
138
+ * @returns Updated configuration object with pulled resources
139
+ */
140
+ public async pullResources(
141
+ config: ConfigType,
142
+ options: PullOptions = { all: true, skipDeprecated: true },
143
+ ): Promise<ConfigType> {
144
+ const { skipDeprecated = true } = options;
145
+ if (!config.projectId) {
146
+ throw new ProjectNotInitializedError();
147
+ }
148
+
149
+ const updatedConfig: ConfigType = { ...config };
150
+ const shouldPullAll = options.all === true;
151
+
152
+ if (shouldPullAll || options.settings) {
153
+ const settings = await this.pullSettings(config.projectId);
154
+ updatedConfig.settings = settings.settings;
155
+ updatedConfig.projectName = settings.projectName;
156
+ }
157
+
158
+ if (shouldPullAll || options.functions) {
159
+ const functions = await this.pullFunctions({
160
+ code: options.noCode === true ? false : true,
161
+ withVariables: options.withVariables,
162
+ });
163
+ updatedConfig.functions = functions;
164
+ }
165
+
166
+ if (shouldPullAll || options.sites) {
167
+ const sites = await this.pullSites({
168
+ code: options.noCode === true ? false : true,
169
+ withVariables: options.withVariables,
170
+ });
171
+ updatedConfig.sites = sites;
172
+ }
173
+
174
+ if (shouldPullAll || options.tables) {
175
+ const { databases, tables } = await this.pullTables();
176
+ updatedConfig.databases = databases;
177
+ updatedConfig.tables = tables;
178
+ }
179
+
180
+ if (!skipDeprecated && (shouldPullAll || options.collections)) {
181
+ const { databases, collections } = await this.pullCollections();
182
+ updatedConfig.databases = databases;
183
+ updatedConfig.collections = collections;
184
+ }
185
+
186
+ if (shouldPullAll || options.buckets) {
187
+ const buckets = await this.pullBuckets();
188
+ updatedConfig.buckets = buckets;
189
+ }
190
+
191
+ if (shouldPullAll || options.teams) {
192
+ const teams = await this.pullTeams();
193
+ updatedConfig.teams = teams;
194
+ }
195
+
196
+ if (shouldPullAll || options.topics) {
197
+ const topics = await this.pullMessagingTopics();
198
+ updatedConfig.topics = topics;
199
+ }
200
+
201
+ return updatedConfig;
202
+ }
203
+
204
+ /**
205
+ * Pull project settings
206
+ */
207
+ public async pullSettings(projectId: string): Promise<PullSettingsResult> {
208
+ this.log("Pulling project settings ...");
209
+
210
+ const projectsService = new Projects(this.consoleClient);
211
+ const project = await projectsService.get({ projectId: projectId });
212
+
213
+ this.success(`Successfully pulled ${chalk.bold("all")} project settings.`);
214
+
215
+ return {
216
+ projectName: project.name,
217
+ settings: createSettingsObject(project),
218
+ project,
219
+ };
220
+ }
221
+
222
+ /**
223
+ * Pull functions from the project
224
+ */
225
+ public async pullFunctions(
226
+ options: PullFunctionsOptions = {},
227
+ ): Promise<FunctionType[]> {
228
+ this.log("Fetching functions ...");
229
+
230
+ const originalCwd = process.cwd();
231
+ process.chdir(this.configDirectoryPath);
232
+
233
+ try {
234
+ const functionsService = new Functions(this.projectClient);
235
+ let functions: Models.Function[];
236
+
237
+ if (options.functionIds && options.functionIds.length > 0) {
238
+ functions = await Promise.all(
239
+ options.functionIds.map((id) =>
240
+ functionsService.get({
241
+ functionId: id,
242
+ }),
243
+ ),
244
+ );
245
+ } else {
246
+ const fetchResponse = await functionsService.list({
247
+ queries: [Query.limit(1)],
248
+ });
249
+
250
+ if (fetchResponse["functions"].length <= 0) {
251
+ this.log("No functions found.");
252
+ this.success(`Successfully pulled ${chalk.bold(0)} functions.`);
253
+ return [];
254
+ }
255
+
256
+ const { functions: allFunctions } = await paginate(
257
+ async () => new Functions(this.projectClient).list(),
258
+ {},
259
+ 100,
260
+ "functions",
261
+ );
262
+ functions = allFunctions;
263
+ }
264
+
265
+ const result: FunctionType[] = [];
266
+
267
+ for (const func of functions) {
268
+ this.log(`Pulling function ${chalk.bold(func.name)} ...`);
269
+
270
+ const funcPath = `functions/${func.name}`;
271
+ const holdingVars = func.vars || [];
272
+
273
+ const functionConfig: FunctionType = {
274
+ $id: func.$id,
275
+ name: func.name,
276
+ runtime: func.runtime,
277
+ path: funcPath,
278
+ entrypoint: func.entrypoint,
279
+ execute: func.execute,
280
+ enabled: func.enabled,
281
+ logging: func.logging,
282
+ events: func.events,
283
+ schedule: func.schedule,
284
+ timeout: func.timeout,
285
+ commands: func.commands,
286
+ scopes: func.scopes,
287
+ specification: func.specification,
288
+ };
289
+
290
+ result.push(functionConfig);
291
+
292
+ if (!fs.existsSync(funcPath)) {
293
+ fs.mkdirSync(funcPath, { recursive: true });
294
+ }
295
+
296
+ if (options.code !== false) {
297
+ await downloadDeploymentCode({
298
+ resourceId: func["$id"],
299
+ resourcePath: funcPath,
300
+ holdingVars,
301
+ withVariables: options.withVariables,
302
+ listDeployments: () =>
303
+ functionsService.listDeployments({
304
+ functionId: func["$id"],
305
+ queries: [Query.limit(1), Query.orderDesc("$id")],
306
+ }),
307
+ getDownloadUrl: (deploymentId) =>
308
+ functionsService.getDeploymentDownload({
309
+ functionId: func["$id"],
310
+ deploymentId,
311
+ }),
312
+ projectClient: this.projectClient,
313
+ });
314
+ }
315
+ }
316
+
317
+ if (options.code === false) {
318
+ this.warn("Source code download skipped.");
319
+ }
320
+
321
+ this.success(
322
+ `Successfully pulled ${chalk.bold(result.length)} functions.`,
323
+ );
324
+ return result;
325
+ } finally {
326
+ process.chdir(originalCwd);
327
+ }
328
+ }
329
+
330
+ /**
331
+ * Pull sites from the project
332
+ */
333
+ public async pullSites(options: PullSitesOptions = {}): Promise<SiteType[]> {
334
+ this.log("Fetching sites ...");
335
+
336
+ const originalCwd = process.cwd();
337
+ process.chdir(this.configDirectoryPath);
338
+
339
+ try {
340
+ const sitesService = new Sites(this.projectClient);
341
+ let sites: Models.Site[];
342
+
343
+ if (options.siteIds && options.siteIds.length > 0) {
344
+ sites = await Promise.all(
345
+ options.siteIds.map((id) =>
346
+ sitesService.get({
347
+ siteId: id,
348
+ }),
349
+ ),
350
+ );
351
+ } else {
352
+ const fetchResponse = await sitesService.list({
353
+ queries: [Query.limit(1)],
354
+ });
355
+
356
+ if (fetchResponse["sites"].length <= 0) {
357
+ this.log("No sites found.");
358
+ this.success(`Successfully pulled ${chalk.bold(0)} sites.`);
359
+ return [];
360
+ }
361
+
362
+ const { sites: fetchedSites } = await paginate(
363
+ async () => new Sites(this.projectClient).list(),
364
+ {},
365
+ 100,
366
+ "sites",
367
+ );
368
+ sites = fetchedSites;
369
+ }
370
+
371
+ const result: SiteType[] = [];
372
+
373
+ for (const site of sites) {
374
+ this.log(`Pulling site ${chalk.bold(site.name)} ...`);
375
+
376
+ const sitePath = `sites/${site.name}`;
377
+ const holdingVars = site.vars || [];
378
+
379
+ const siteConfig: SiteType = {
380
+ $id: site.$id,
381
+ name: site.name,
382
+ path: sitePath,
383
+ framework: site.framework,
384
+ enabled: site.enabled,
385
+ logging: site.logging,
386
+ timeout: site.timeout,
387
+ buildRuntime: site.buildRuntime,
388
+ adapter: site.adapter,
389
+ installCommand: site.installCommand,
390
+ buildCommand: site.buildCommand,
391
+ outputDirectory: site.outputDirectory,
392
+ fallbackFile: site.fallbackFile,
393
+ specification: site.specification,
394
+ };
395
+
396
+ result.push(siteConfig);
397
+
398
+ if (!fs.existsSync(sitePath)) {
399
+ fs.mkdirSync(sitePath, { recursive: true });
400
+ }
401
+
402
+ if (options.code !== false) {
403
+ await downloadDeploymentCode({
404
+ resourceId: site["$id"],
405
+ resourcePath: sitePath,
406
+ holdingVars,
407
+ withVariables: options.withVariables,
408
+ listDeployments: () =>
409
+ sitesService.listDeployments({
410
+ siteId: site["$id"],
411
+ queries: [Query.limit(1), Query.orderDesc("$id")],
412
+ }),
413
+ getDownloadUrl: (deploymentId) =>
414
+ sitesService.getDeploymentDownload({
415
+ siteId: site["$id"],
416
+ deploymentId,
417
+ }),
418
+ projectClient: this.projectClient,
419
+ });
420
+ }
421
+ }
422
+
423
+ if (options.code === false) {
424
+ this.warn("Source code download skipped.");
425
+ }
426
+
427
+ this.success(`Successfully pulled ${chalk.bold(result.length)} sites.`);
428
+ return result;
429
+ } finally {
430
+ process.chdir(originalCwd);
431
+ }
432
+ }
433
+
434
+ /**
435
+ * Pull collections from the project (deprecated)
436
+ */
437
+ public async pullCollections(): Promise<{
438
+ databases: any[];
439
+ collections: any[];
440
+ }> {
441
+ this.warn(
442
+ "appwrite pull collection has been deprecated. Please consider using 'appwrite pull tables' instead",
443
+ );
444
+ this.log("Fetching collections ...");
445
+
446
+ const databasesService = new Databases(this.projectClient);
447
+
448
+ const fetchResponse = await databasesService.list([Query.limit(1)]);
449
+
450
+ if (fetchResponse["databases"].length <= 0) {
451
+ this.log("No collections found.");
452
+ this.success(
453
+ `Successfully pulled ${chalk.bold(0)} collections from ${chalk.bold(0)} databases.`,
454
+ );
455
+ return { databases: [], collections: [] };
456
+ }
457
+
458
+ const { databases } = await paginate(
459
+ async () => new Databases(this.projectClient).list(),
460
+ {},
461
+ 100,
462
+ "databases",
463
+ );
464
+
465
+ const allDatabases: any[] = [];
466
+ const allCollections: any[] = [];
467
+
468
+ for (const database of databases) {
469
+ this.log(
470
+ `Pulling all collections from ${chalk.bold(database.name)} database ...`,
471
+ );
472
+ allDatabases.push(database);
473
+
474
+ const { collections } = await paginate(
475
+ async () =>
476
+ new Databases(this.projectClient).listCollections(database.$id),
477
+ {},
478
+ 100,
479
+ "collections",
480
+ );
481
+
482
+ for (const collection of collections) {
483
+ allCollections.push({
484
+ ...collection,
485
+ $createdAt: undefined,
486
+ $updatedAt: undefined,
487
+ });
488
+ }
489
+ }
490
+
491
+ this.success(
492
+ `Successfully pulled ${chalk.bold(allCollections.length)} collections from ${chalk.bold(allDatabases.length)} databases.`,
493
+ );
494
+
495
+ return {
496
+ databases: allDatabases,
497
+ collections: allCollections,
498
+ };
499
+ }
500
+
501
+ /**
502
+ * Pull tables from the project
503
+ */
504
+ public async pullTables(): Promise<{
505
+ databases: any[];
506
+ tables: any[];
507
+ }> {
508
+ this.log("Fetching tables ...");
509
+
510
+ const tablesDBService = new TablesDB(this.projectClient);
511
+
512
+ const fetchResponse = await tablesDBService.list({
513
+ queries: [Query.limit(1)],
514
+ });
515
+
516
+ if (fetchResponse["databases"].length <= 0) {
517
+ this.log("No tables found.");
518
+ this.success(
519
+ `Successfully pulled ${chalk.bold(0)} tables from ${chalk.bold(0)} tableDBs.`,
520
+ );
521
+ return { databases: [], tables: [] };
522
+ }
523
+
524
+ const { databases } = await paginate(
525
+ async () => new TablesDB(this.projectClient).list(),
526
+ {},
527
+ 100,
528
+ "databases",
529
+ );
530
+
531
+ const allDatabases: any[] = [];
532
+ const allTables: any[] = [];
533
+
534
+ for (const database of databases) {
535
+ this.log(
536
+ `Pulling all tables from ${chalk.bold(database.name)} database ...`,
537
+ );
538
+ allDatabases.push(database);
539
+
540
+ const { tables } = await paginate(
541
+ async () => new TablesDB(this.projectClient).listTables(database.$id),
542
+ {},
543
+ 100,
544
+ "tables",
545
+ );
546
+
547
+ for (const table of tables) {
548
+ allTables.push({
549
+ ...table,
550
+ $createdAt: undefined,
551
+ $updatedAt: undefined,
552
+ });
553
+ }
554
+ }
555
+
556
+ this.success(
557
+ `Successfully pulled ${chalk.bold(allTables.length)} tables from ${chalk.bold(allDatabases.length)} tableDBs.`,
558
+ );
559
+
560
+ return {
561
+ databases: allDatabases,
562
+ tables: allTables,
563
+ };
564
+ }
565
+
566
+ /**
567
+ * Pull storage buckets from the project
568
+ */
569
+ public async pullBuckets(): Promise<any[]> {
570
+ this.log("Fetching buckets ...");
571
+
572
+ const storageService = new Storage(this.projectClient);
573
+
574
+ const fetchResponse = await storageService.listBuckets({
575
+ queries: [Query.limit(1)],
576
+ });
577
+
578
+ if (fetchResponse["buckets"].length <= 0) {
579
+ this.log("No buckets found.");
580
+ this.success(`Successfully pulled ${chalk.bold(0)} buckets.`);
581
+ return [];
582
+ }
583
+
584
+ const { buckets } = await paginate(
585
+ async () => new Storage(this.projectClient).listBuckets(),
586
+ {},
587
+ 100,
588
+ "buckets",
589
+ );
590
+
591
+ for (const bucket of buckets) {
592
+ this.log(`Pulling bucket ${chalk.bold(bucket.name)} ...`);
593
+ }
594
+
595
+ this.success(`Successfully pulled ${chalk.bold(buckets.length)} buckets.`);
596
+
597
+ return buckets;
598
+ }
599
+
600
+ /**
601
+ * Pull teams from the project
602
+ */
603
+ public async pullTeams(): Promise<any[]> {
604
+ this.log("Fetching teams ...");
605
+
606
+ const teamsService = new Teams(this.projectClient);
607
+
608
+ const fetchResponse = await teamsService.list({
609
+ queries: [Query.limit(1)],
610
+ });
611
+
612
+ if (fetchResponse["teams"].length <= 0) {
613
+ this.log("No teams found.");
614
+ this.success(`Successfully pulled ${chalk.bold(0)} teams.`);
615
+ return [];
616
+ }
617
+
618
+ const { teams } = await paginate(
619
+ async () => new Teams(this.projectClient).list(),
620
+ {},
621
+ 100,
622
+ "teams",
623
+ );
624
+
625
+ for (const team of teams) {
626
+ this.log(`Pulling team ${chalk.bold(team.name)} ...`);
627
+ }
628
+
629
+ this.success(`Successfully pulled ${chalk.bold(teams.length)} teams.`);
630
+
631
+ return teams;
632
+ }
633
+
634
+ /**
635
+ * Pull messaging topics from the project
636
+ */
637
+ public async pullMessagingTopics(): Promise<any[]> {
638
+ this.log("Fetching topics ...");
639
+
640
+ const messagingService = new Messaging(this.projectClient);
641
+
642
+ const fetchResponse = await messagingService.listTopics({
643
+ queries: [Query.limit(1)],
644
+ });
645
+
646
+ if (fetchResponse["topics"].length <= 0) {
647
+ this.log("No topics found.");
648
+ this.success(`Successfully pulled ${chalk.bold(0)} topics.`);
649
+ return [];
650
+ }
651
+
652
+ const { topics } = await paginate(
653
+ async () => new Messaging(this.projectClient).listTopics(),
654
+ {},
655
+ 100,
656
+ "topics",
657
+ );
658
+
659
+ for (const topic of topics) {
660
+ this.log(`Pulling topic ${chalk.bold(topic.name)} ...`);
661
+ }
662
+
663
+ this.success(`Successfully pulled ${chalk.bold(topics.length)} topics.`);
664
+
665
+ return topics;
666
+ }
667
+ }
668
+
669
+ /** Helper methods for CLI commands */
670
+
671
+ export const pullResources = async ({
672
+ skipDeprecated = true,
673
+ }: {
674
+ skipDeprecated?: boolean;
675
+ } = {}): Promise<void> => {
676
+ const project = localConfig.getProject();
677
+ if (!project.projectId) {
678
+ error(
679
+ "Project configuration not found. Please run 'appwrite init project' to initialize your project first.",
680
+ );
681
+ process.exit(1);
682
+ }
683
+
684
+ const actions: Record<string, (options?: any) => Promise<void>> = {
685
+ settings: pullSettings,
686
+ functions: pullFunctions,
687
+ sites: pullSites,
688
+ collections: pullCollection,
689
+ tables: pullTable,
690
+ buckets: pullBucket,
691
+ teams: pullTeam,
692
+ messages: pullMessagingTopic,
693
+ };
694
+
695
+ if (skipDeprecated) {
696
+ delete actions.collections;
697
+ }
698
+
699
+ if (cliConfig.all) {
700
+ for (let action of Object.values(actions)) {
701
+ cliConfig.all = true;
702
+ await action({ returnOnZero: true });
703
+ }
704
+ } else {
705
+ const answers = await inquirer.prompt([questionsPullResources[0]]);
706
+
707
+ const action = actions[answers.resource];
708
+ if (action !== undefined) {
709
+ await action({ returnOnZero: true });
710
+ }
711
+ }
712
+ };
713
+
714
+ const pullSettings = async (): Promise<void> => {
715
+ const pullInstance = await createPullInstance();
716
+ const projectId = localConfig.getProject().projectId;
717
+ const settings = await pullInstance.pullSettings(projectId);
718
+
719
+ localConfig.setProject(projectId, settings.projectName, settings.project);
720
+ };
721
+
722
+ const pullFunctions = async ({
723
+ code,
724
+ withVariables,
725
+ }: PullFunctionsOptions = {}): Promise<void> => {
726
+ const functionsService = await getFunctionsService();
727
+ const fetchResponse = await functionsService.list([Query.limit(1)]);
728
+ if (fetchResponse["functions"].length <= 0) {
729
+ log("No functions found.");
730
+ success(`Successfully pulled ${chalk.bold(0)} functions.`);
731
+ return;
732
+ }
733
+
734
+ const functionsToCheck = cliConfig.all
735
+ ? (
736
+ await paginate(
737
+ async () => (await getFunctionsService()).list(),
738
+ {},
739
+ 100,
740
+ "functions",
741
+ )
742
+ ).functions
743
+ : (await inquirer.prompt(questionsPullFunctions)).functions;
744
+
745
+ let allowCodePull: boolean | null = cliConfig.force === true ? true : null;
746
+ if (code !== false && allowCodePull === null) {
747
+ const codeAnswer = await inquirer.prompt(questionsPullFunctionsCode);
748
+ allowCodePull = codeAnswer.override;
749
+ }
750
+
751
+ const shouldPullCode = code !== false && allowCodePull === true;
752
+ const selectedFunctionIds = functionsToCheck.map((f: any) => f.$id);
753
+
754
+ const pullInstance = await createPullInstance();
755
+ const functions = await pullInstance.pullFunctions({
756
+ code: shouldPullCode,
757
+ withVariables,
758
+ functionIds: selectedFunctionIds,
759
+ });
760
+
761
+ for (const func of functions) {
762
+ const localFunction = localConfig.getFunction(func.$id);
763
+ func["path"] = localFunction["path"] || func["path"];
764
+ localConfig.addFunction(func);
765
+ }
766
+ };
767
+
768
+ const pullSites = async ({
769
+ code,
770
+ withVariables,
771
+ }: PullSitesOptions = {}): Promise<void> => {
772
+ const sitesService = await getSitesService();
773
+ const fetchResponse = await sitesService.list({
774
+ queries: [Query.limit(1)],
775
+ });
776
+ if (fetchResponse["sites"].length <= 0) {
777
+ log("No sites found.");
778
+ success(`Successfully pulled ${chalk.bold(0)} sites.`);
779
+ return;
780
+ }
781
+
782
+ const sitesToCheck = cliConfig.all
783
+ ? (
784
+ await paginate(
785
+ async () => (await getSitesService()).list(),
786
+ {},
787
+ 100,
788
+ "sites",
789
+ )
790
+ ).sites
791
+ : (await inquirer.prompt(questionsPullSites)).sites;
792
+
793
+ let allowCodePull: boolean | null = cliConfig.force === true ? true : null;
794
+ if (code !== false && allowCodePull === null) {
795
+ const codeAnswer = await inquirer.prompt(questionsPullSitesCode);
796
+ allowCodePull = codeAnswer.override;
797
+ }
798
+
799
+ const shouldPullCode = code !== false && allowCodePull === true;
800
+ const selectedSiteIds = sitesToCheck.map((s: any) => s.$id);
801
+
802
+ const pullInstance = await createPullInstance();
803
+ const sites = await pullInstance.pullSites({
804
+ code: shouldPullCode,
805
+ withVariables,
806
+ siteIds: selectedSiteIds,
807
+ });
808
+
809
+ for (const site of sites) {
810
+ const localSite = localConfig.getSite(site.$id);
811
+ site["path"] = localSite["path"] || site["path"];
812
+ localConfig.addSite(site);
813
+ }
814
+ };
815
+
816
+ const pullCollection = async (): Promise<void> => {
817
+ const pullInstance = await createPullInstance();
818
+ const { databases, collections } = await pullInstance.pullCollections();
819
+
820
+ for (const database of databases) {
821
+ localConfig.addDatabase(database);
822
+ }
823
+
824
+ for (const collection of collections) {
825
+ localConfig.addCollection(collection);
826
+ }
827
+ };
828
+
829
+ const pullTable = async (): Promise<void> => {
830
+ const pullInstance = await createPullInstance();
831
+ const { databases, tables } = await pullInstance.pullTables();
832
+
833
+ for (const database of databases) {
834
+ localConfig.addTablesDB(database);
835
+ }
836
+
837
+ for (const table of tables) {
838
+ localConfig.addTable(table);
839
+ }
840
+ };
841
+
842
+ const pullBucket = async (): Promise<void> => {
843
+ const pullInstance = await createPullInstance();
844
+ const buckets = await pullInstance.pullBuckets();
845
+
846
+ for (const bucket of buckets) {
847
+ localConfig.addBucket(bucket);
848
+ }
849
+ };
850
+
851
+ const pullTeam = async (): Promise<void> => {
852
+ const pullInstance = await createPullInstance();
853
+ const teams = await pullInstance.pullTeams();
854
+
855
+ for (const team of teams) {
856
+ localConfig.addTeam(team);
857
+ }
858
+ };
859
+
860
+ const pullMessagingTopic = async (): Promise<void> => {
861
+ const pullInstance = await createPullInstance();
862
+ const topics = await pullInstance.pullMessagingTopics();
863
+
864
+ for (const topic of topics) {
865
+ localConfig.addMessagingTopic(topic);
866
+ }
867
+ };
868
+
869
+ /** Commander.js exports */
870
+
871
+ export const pull = new Command("pull")
872
+ .description(commandDescriptions["pull"])
873
+ .action(actionRunner(() => pullResources({ skipDeprecated: true })));
874
+
875
+ pull
876
+ .command("all")
877
+ .description("Pull all resources")
878
+ .action(
879
+ actionRunner(() => {
880
+ cliConfig.all = true;
881
+ return pullResources({
882
+ skipDeprecated: true,
883
+ });
884
+ }),
885
+ );
886
+
887
+ pull
888
+ .command("settings")
889
+ .description("Pull your Appwrite project name, services and auth settings")
890
+ .action(actionRunner(pullSettings));
891
+
892
+ pull
893
+ .command("function")
894
+ .alias("functions")
895
+ .description("Pull your Appwrite cloud function")
896
+ .option("--no-code", "Don't pull the function's code")
897
+ .option(
898
+ "--with-variables",
899
+ `Pull function variables. ${chalk.red("recommend for testing purposes only")}`,
900
+ )
901
+ .action(actionRunner(pullFunctions));
902
+
903
+ pull
904
+ .command("site")
905
+ .alias("sites")
906
+ .description("Pull your Appwrite site")
907
+ .option("--no-code", "Don't pull the site's code")
908
+ .option(
909
+ "--with-variables",
910
+ `Pull site variables. ${chalk.red("recommend for testing purposes only")}`,
911
+ )
912
+ .action(actionRunner(pullSites));
913
+
914
+ pull
915
+ .command("collection")
916
+ .alias("collections")
917
+ .description(
918
+ "Pull your Appwrite collections (deprecated, please use 'pull tables' instead)",
919
+ )
920
+ .action(actionRunner(pullCollection));
921
+
922
+ pull
923
+ .command("table")
924
+ .alias("tables")
925
+ .description("Pull your Appwrite tables")
926
+ .action(actionRunner(pullTable));
927
+
928
+ pull
929
+ .command("bucket")
930
+ .alias("buckets")
931
+ .description("Pull your Appwrite buckets")
932
+ .action(actionRunner(pullBucket));
933
+
934
+ pull
935
+ .command("team")
936
+ .alias("teams")
937
+ .description("Pull your Appwrite teams")
938
+ .action(actionRunner(pullTeam));
939
+
940
+ pull
941
+ .command("topic")
942
+ .alias("topics")
943
+ .description("Pull your Appwrite messaging topics")
944
+ .action(actionRunner(pullMessagingTopic));