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

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 (718) hide show
  1. package/.github/workflows/{npm-publish.yml → publish.yml} +1 -1
  2. package/CHANGELOG.md +106 -101
  3. package/LICENSE.md +2 -2
  4. package/README.md +36 -59
  5. package/cli.ts +152 -0
  6. package/dist/bundle.cjs +4613 -3653
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +145 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/index.d.ts +10 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +7 -142
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/client.d.ts.map +1 -1
  16. package/dist/lib/client.js +7 -6
  17. package/dist/lib/client.js.map +1 -1
  18. package/dist/lib/commands/config.d.ts +562 -0
  19. package/dist/lib/commands/config.d.ts.map +1 -0
  20. package/dist/lib/commands/config.js +416 -0
  21. package/dist/lib/commands/config.js.map +1 -0
  22. package/dist/lib/commands/db.d.ts +34 -0
  23. package/dist/lib/commands/db.d.ts.map +1 -0
  24. package/dist/lib/commands/db.js +247 -0
  25. package/dist/lib/commands/db.js.map +1 -0
  26. package/dist/lib/commands/errors.d.ts +68 -0
  27. package/dist/lib/commands/errors.d.ts.map +1 -0
  28. package/dist/lib/commands/errors.js +72 -0
  29. package/dist/lib/commands/errors.js.map +1 -0
  30. package/dist/lib/commands/init.d.ts.map +1 -1
  31. package/dist/lib/commands/init.js +15 -14
  32. package/dist/lib/commands/init.js.map +1 -1
  33. package/dist/lib/commands/pull.d.ts +104 -2
  34. package/dist/lib/commands/pull.d.ts.map +1 -1
  35. package/dist/lib/commands/pull.js +470 -281
  36. package/dist/lib/commands/pull.js.map +1 -1
  37. package/dist/lib/commands/push.d.ts +106 -0
  38. package/dist/lib/commands/push.d.ts.map +1 -1
  39. package/dist/lib/commands/push.js +1257 -1628
  40. package/dist/lib/commands/push.js.map +1 -1
  41. package/dist/lib/commands/run.js +1 -1
  42. package/dist/lib/commands/run.js.map +1 -1
  43. package/dist/lib/commands/schema.d.ts +59 -0
  44. package/dist/lib/commands/schema.d.ts.map +1 -0
  45. package/dist/lib/commands/schema.js +86 -0
  46. package/dist/lib/commands/schema.js.map +1 -0
  47. package/dist/lib/commands/services/account.d.ts.map +1 -1
  48. package/dist/lib/commands/services/account.js +86 -64
  49. package/dist/lib/commands/services/account.js.map +1 -1
  50. package/dist/lib/commands/services/console.d.ts.map +1 -1
  51. package/dist/lib/commands/services/console.js +4 -17
  52. package/dist/lib/commands/services/console.js.map +1 -1
  53. package/dist/lib/commands/services/databases.d.ts.map +1 -1
  54. package/dist/lib/commands/services/databases.js +160 -152
  55. package/dist/lib/commands/services/databases.js.map +1 -1
  56. package/dist/lib/commands/services/functions.d.ts.map +1 -1
  57. package/dist/lib/commands/services/functions.js +41 -33
  58. package/dist/lib/commands/services/functions.js.map +1 -1
  59. package/dist/lib/commands/services/graphql.d.ts.map +1 -1
  60. package/dist/lib/commands/services/graphql.js +3 -3
  61. package/dist/lib/commands/services/graphql.js.map +1 -1
  62. package/dist/lib/commands/services/health.d.ts.map +1 -1
  63. package/dist/lib/commands/services/health.js +24 -24
  64. package/dist/lib/commands/services/health.js.map +1 -1
  65. package/dist/lib/commands/services/locale.d.ts.map +1 -1
  66. package/dist/lib/commands/services/locale.js +9 -9
  67. package/dist/lib/commands/services/locale.js.map +1 -1
  68. package/dist/lib/commands/services/messaging.d.ts.map +1 -1
  69. package/dist/lib/commands/services/messaging.js +59 -59
  70. package/dist/lib/commands/services/messaging.js.map +1 -1
  71. package/dist/lib/commands/services/migrations.d.ts.map +1 -1
  72. package/dist/lib/commands/services/migrations.js +19 -19
  73. package/dist/lib/commands/services/migrations.js.map +1 -1
  74. package/dist/lib/commands/services/project.d.ts.map +1 -1
  75. package/dist/lib/commands/services/project.js +8 -8
  76. package/dist/lib/commands/services/project.js.map +1 -1
  77. package/dist/lib/commands/services/projects.d.ts.map +1 -1
  78. package/dist/lib/commands/services/projects.js +64 -64
  79. package/dist/lib/commands/services/projects.js.map +1 -1
  80. package/dist/lib/commands/services/proxy.d.ts.map +1 -1
  81. package/dist/lib/commands/services/proxy.js +11 -11
  82. package/dist/lib/commands/services/proxy.js.map +1 -1
  83. package/dist/lib/commands/services/sites.d.ts.map +1 -1
  84. package/dist/lib/commands/services/sites.js +41 -33
  85. package/dist/lib/commands/services/sites.js.map +1 -1
  86. package/dist/lib/commands/services/storage.d.ts.map +1 -1
  87. package/dist/lib/commands/services/storage.js +38 -16
  88. package/dist/lib/commands/services/storage.js.map +1 -1
  89. package/dist/lib/commands/services/tables-db.d.ts +3 -0
  90. package/dist/lib/commands/services/tables-db.d.ts.map +1 -0
  91. package/dist/lib/commands/services/{tablesdb.js → tables-db.js} +171 -163
  92. package/dist/lib/commands/services/tables-db.js.map +1 -0
  93. package/dist/lib/commands/services/teams.d.ts.map +1 -1
  94. package/dist/lib/commands/services/teams.js +16 -16
  95. package/dist/lib/commands/services/teams.js.map +1 -1
  96. package/dist/lib/commands/services/tokens.d.ts.map +1 -1
  97. package/dist/lib/commands/services/tokens.js +6 -6
  98. package/dist/lib/commands/services/tokens.js.map +1 -1
  99. package/dist/lib/commands/services/users.d.ts.map +1 -1
  100. package/dist/lib/commands/services/users.js +54 -54
  101. package/dist/lib/commands/services/users.js.map +1 -1
  102. package/dist/lib/commands/services/vcs.d.ts.map +1 -1
  103. package/dist/lib/commands/services/vcs.js +13 -13
  104. package/dist/lib/commands/services/vcs.js.map +1 -1
  105. package/dist/lib/commands/types.d.ts.map +1 -1
  106. package/dist/lib/commands/types.js +1 -1
  107. package/dist/lib/commands/types.js.map +1 -1
  108. package/dist/lib/commands/update.d.ts.map +1 -1
  109. package/dist/lib/commands/update.js +9 -8
  110. package/dist/lib/commands/update.js.map +1 -1
  111. package/dist/lib/commands/utils/attributes.d.ts +47 -0
  112. package/dist/lib/commands/utils/attributes.d.ts.map +1 -0
  113. package/dist/lib/commands/utils/attributes.js +514 -0
  114. package/dist/lib/commands/utils/attributes.js.map +1 -0
  115. package/dist/lib/commands/utils/change-approval.d.ts +25 -0
  116. package/dist/lib/commands/utils/change-approval.d.ts.map +1 -0
  117. package/dist/lib/commands/utils/change-approval.js +129 -0
  118. package/dist/lib/commands/utils/change-approval.js.map +1 -0
  119. package/dist/lib/commands/utils/database-sync.d.ts +10 -0
  120. package/dist/lib/commands/utils/database-sync.d.ts.map +1 -0
  121. package/dist/lib/commands/utils/database-sync.js +136 -0
  122. package/dist/lib/commands/utils/database-sync.js.map +1 -0
  123. package/dist/lib/commands/utils/deployment.d.ts +34 -0
  124. package/dist/lib/commands/utils/deployment.d.ts.map +1 -0
  125. package/dist/lib/commands/utils/deployment.js +109 -0
  126. package/dist/lib/commands/utils/deployment.js.map +1 -0
  127. package/dist/lib/commands/utils/error-formatter.d.ts +19 -0
  128. package/dist/lib/commands/utils/error-formatter.d.ts.map +1 -0
  129. package/dist/lib/commands/utils/error-formatter.js +333 -0
  130. package/dist/lib/commands/utils/error-formatter.js.map +1 -0
  131. package/dist/lib/commands/utils/pools.d.ts +16 -0
  132. package/dist/lib/commands/utils/pools.d.ts.map +1 -0
  133. package/dist/lib/commands/utils/pools.js +198 -0
  134. package/dist/lib/commands/utils/pools.js.map +1 -0
  135. package/dist/lib/config.d.ts +27 -26
  136. package/dist/lib/config.d.ts.map +1 -1
  137. package/dist/lib/config.js +8 -45
  138. package/dist/lib/config.js.map +1 -1
  139. package/dist/lib/constants.d.ts +14 -0
  140. package/dist/lib/constants.d.ts.map +1 -0
  141. package/dist/lib/constants.js +19 -0
  142. package/dist/lib/constants.js.map +1 -0
  143. package/dist/lib/emulation/docker.d.ts +4 -4
  144. package/dist/lib/emulation/docker.d.ts.map +1 -1
  145. package/dist/lib/emulation/docker.js +80 -67
  146. package/dist/lib/emulation/docker.js.map +1 -1
  147. package/dist/lib/parser.d.ts.map +1 -1
  148. package/dist/lib/parser.js +11 -10
  149. package/dist/lib/parser.js.map +1 -1
  150. package/dist/lib/questions.d.ts.map +1 -1
  151. package/dist/lib/questions.js +20 -20
  152. package/dist/lib/questions.js.map +1 -1
  153. package/dist/lib/sdks.d.ts.map +1 -1
  154. package/dist/lib/sdks.js +10 -11
  155. package/dist/lib/sdks.js.map +1 -1
  156. package/dist/lib/types.d.ts +0 -214
  157. package/dist/lib/types.d.ts.map +1 -1
  158. package/dist/lib/utils.d.ts +3 -0
  159. package/dist/lib/utils.d.ts.map +1 -1
  160. package/dist/lib/utils.js +42 -2
  161. package/dist/lib/utils.js.map +1 -1
  162. package/dist/package.json +12 -11
  163. package/docs/examples/account/create-anonymous-session.md +1 -0
  164. package/docs/examples/account/create-email-password-session.md +3 -0
  165. package/docs/examples/account/create-email-token.md +3 -0
  166. package/docs/examples/account/create-email-verification.md +2 -0
  167. package/docs/examples/account/create-jwt.md +1 -0
  168. package/docs/examples/account/create-magic-url-token.md +3 -0
  169. package/docs/examples/account/create-mfa-authenticator.md +2 -0
  170. package/docs/examples/account/create-mfa-challenge.md +2 -0
  171. package/docs/examples/account/create-mfa-recovery-codes.md +1 -0
  172. package/docs/examples/account/create-o-auth-2-session.md +2 -0
  173. package/docs/examples/account/create-o-auth-2-token.md +2 -0
  174. package/docs/examples/account/create-phone-token.md +3 -0
  175. package/docs/examples/account/create-phone-verification.md +1 -0
  176. package/docs/examples/account/create-push-target.md +3 -0
  177. package/docs/examples/account/create-recovery.md +3 -0
  178. package/docs/examples/account/create-session.md +3 -0
  179. package/docs/examples/account/create-verification.md +2 -0
  180. package/docs/examples/account/create.md +4 -0
  181. package/docs/examples/account/delete-identity.md +2 -0
  182. package/docs/examples/account/delete-mfa-authenticator.md +2 -0
  183. package/docs/examples/account/delete-push-target.md +2 -0
  184. package/docs/examples/account/delete-session.md +2 -0
  185. package/docs/examples/account/delete-sessions.md +1 -0
  186. package/docs/examples/account/delete.md +1 -0
  187. package/docs/examples/account/get-mfa-recovery-codes.md +1 -0
  188. package/docs/examples/account/get-prefs.md +1 -0
  189. package/docs/examples/account/get-session.md +2 -0
  190. package/docs/examples/account/get.md +1 -0
  191. package/docs/examples/account/list-identities.md +1 -0
  192. package/docs/examples/account/list-logs.md +1 -0
  193. package/docs/examples/account/list-mfa-factors.md +1 -0
  194. package/docs/examples/account/list-sessions.md +1 -0
  195. package/docs/examples/account/update-email-verification.md +3 -0
  196. package/docs/examples/account/update-email.md +3 -0
  197. package/docs/examples/account/update-magic-url-session.md +3 -0
  198. package/docs/examples/account/update-mfa-authenticator.md +3 -0
  199. package/docs/examples/account/update-mfa-challenge.md +3 -0
  200. package/docs/examples/account/update-mfa-recovery-codes.md +1 -0
  201. package/docs/examples/account/update-mfa.md +2 -0
  202. package/docs/examples/account/update-name.md +2 -0
  203. package/docs/examples/account/update-password.md +2 -0
  204. package/docs/examples/account/update-phone-session.md +3 -0
  205. package/docs/examples/account/update-phone-verification.md +3 -0
  206. package/docs/examples/account/update-phone.md +3 -0
  207. package/docs/examples/account/update-prefs.md +2 -0
  208. package/docs/examples/account/update-push-target.md +3 -0
  209. package/docs/examples/account/update-recovery.md +4 -0
  210. package/docs/examples/account/update-session.md +2 -0
  211. package/docs/examples/account/update-status.md +1 -0
  212. package/docs/examples/account/update-verification.md +3 -0
  213. package/docs/examples/console/get-resource.md +3 -0
  214. package/docs/examples/console/variables.md +1 -0
  215. package/docs/examples/databases/create-boolean-attribute.md +5 -0
  216. package/docs/examples/databases/create-collection.md +4 -0
  217. package/docs/examples/databases/create-datetime-attribute.md +5 -0
  218. package/docs/examples/databases/create-document.md +5 -0
  219. package/docs/examples/databases/create-documents.md +4 -0
  220. package/docs/examples/databases/create-email-attribute.md +5 -0
  221. package/docs/examples/databases/create-enum-attribute.md +6 -0
  222. package/docs/examples/databases/create-float-attribute.md +5 -0
  223. package/docs/examples/databases/create-index.md +6 -0
  224. package/docs/examples/databases/create-integer-attribute.md +5 -0
  225. package/docs/examples/databases/create-ip-attribute.md +5 -0
  226. package/docs/examples/databases/create-line-attribute.md +5 -0
  227. package/docs/examples/databases/create-operations.md +2 -0
  228. package/docs/examples/databases/create-point-attribute.md +5 -0
  229. package/docs/examples/databases/create-polygon-attribute.md +5 -0
  230. package/docs/examples/databases/create-relationship-attribute.md +5 -0
  231. package/docs/examples/databases/create-string-attribute.md +6 -0
  232. package/docs/examples/databases/create-transaction.md +1 -0
  233. package/docs/examples/databases/create-url-attribute.md +5 -0
  234. package/docs/examples/databases/create.md +3 -0
  235. package/docs/examples/databases/decrement-document-attribute.md +5 -0
  236. package/docs/examples/databases/delete-attribute.md +4 -0
  237. package/docs/examples/databases/delete-collection.md +3 -0
  238. package/docs/examples/databases/delete-document.md +4 -0
  239. package/docs/examples/databases/delete-documents.md +3 -0
  240. package/docs/examples/databases/delete-index.md +4 -0
  241. package/docs/examples/databases/delete-transaction.md +2 -0
  242. package/docs/examples/databases/delete.md +2 -0
  243. package/docs/examples/databases/get-attribute.md +4 -0
  244. package/docs/examples/databases/get-collection-usage.md +3 -0
  245. package/docs/examples/databases/get-collection.md +3 -0
  246. package/docs/examples/databases/get-document.md +4 -0
  247. package/docs/examples/databases/get-index.md +4 -0
  248. package/docs/examples/databases/get-transaction.md +2 -0
  249. package/docs/examples/databases/get-usage.md +2 -0
  250. package/docs/examples/databases/get.md +2 -0
  251. package/docs/examples/databases/increment-document-attribute.md +5 -0
  252. package/docs/examples/databases/list-attributes.md +3 -0
  253. package/docs/examples/databases/list-collection-logs.md +3 -0
  254. package/docs/examples/databases/list-collections.md +2 -0
  255. package/docs/examples/databases/list-document-logs.md +4 -0
  256. package/docs/examples/databases/list-documents.md +3 -0
  257. package/docs/examples/databases/list-indexes.md +3 -0
  258. package/docs/examples/databases/list-logs.md +2 -0
  259. package/docs/examples/databases/list-transactions.md +1 -0
  260. package/docs/examples/databases/list-usage.md +1 -0
  261. package/docs/examples/databases/list.md +1 -0
  262. package/docs/examples/databases/update-boolean-attribute.md +6 -0
  263. package/docs/examples/databases/update-collection.md +4 -0
  264. package/docs/examples/databases/update-datetime-attribute.md +6 -0
  265. package/docs/examples/databases/update-document.md +4 -0
  266. package/docs/examples/databases/update-documents.md +3 -0
  267. package/docs/examples/databases/update-email-attribute.md +6 -0
  268. package/docs/examples/databases/update-enum-attribute.md +7 -0
  269. package/docs/examples/databases/update-float-attribute.md +6 -0
  270. package/docs/examples/databases/update-integer-attribute.md +6 -0
  271. package/docs/examples/databases/update-ip-attribute.md +6 -0
  272. package/docs/examples/databases/update-line-attribute.md +5 -0
  273. package/docs/examples/databases/update-point-attribute.md +5 -0
  274. package/docs/examples/databases/update-polygon-attribute.md +5 -0
  275. package/docs/examples/databases/update-relationship-attribute.md +4 -0
  276. package/docs/examples/databases/update-string-attribute.md +6 -0
  277. package/docs/examples/databases/update-transaction.md +2 -0
  278. package/docs/examples/databases/update-url-attribute.md +6 -0
  279. package/docs/examples/databases/update.md +3 -0
  280. package/docs/examples/databases/upsert-document.md +4 -0
  281. package/docs/examples/databases/upsert-documents.md +4 -0
  282. package/docs/examples/functions/create-deployment.md +4 -0
  283. package/docs/examples/functions/create-duplicate-deployment.md +3 -0
  284. package/docs/examples/functions/create-execution.md +2 -0
  285. package/docs/examples/functions/create-template-deployment.md +7 -0
  286. package/docs/examples/functions/create-variable.md +4 -0
  287. package/docs/examples/functions/create-vcs-deployment.md +4 -0
  288. package/docs/examples/functions/create.md +4 -0
  289. package/docs/examples/functions/delete-deployment.md +3 -0
  290. package/docs/examples/functions/delete-execution.md +3 -0
  291. package/docs/examples/functions/delete-variable.md +3 -0
  292. package/docs/examples/functions/delete.md +2 -0
  293. package/docs/examples/functions/get-deployment-download.md +3 -0
  294. package/docs/examples/functions/get-deployment.md +3 -0
  295. package/docs/examples/functions/get-execution.md +3 -0
  296. package/docs/examples/functions/get-template.md +2 -0
  297. package/docs/examples/functions/get-usage.md +2 -0
  298. package/docs/examples/functions/get-variable.md +3 -0
  299. package/docs/examples/functions/get.md +2 -0
  300. package/docs/examples/functions/list-deployments.md +2 -0
  301. package/docs/examples/functions/list-executions.md +2 -0
  302. package/docs/examples/functions/list-runtimes.md +1 -0
  303. package/docs/examples/functions/list-specifications.md +1 -0
  304. package/docs/examples/functions/list-templates.md +1 -0
  305. package/docs/examples/functions/list-usage.md +1 -0
  306. package/docs/examples/functions/list-variables.md +2 -0
  307. package/docs/examples/functions/list.md +1 -0
  308. package/docs/examples/functions/update-deployment-status.md +3 -0
  309. package/docs/examples/functions/update-function-deployment.md +3 -0
  310. package/docs/examples/functions/update-variable.md +4 -0
  311. package/docs/examples/functions/update.md +3 -0
  312. package/docs/examples/graphql/mutation.md +2 -0
  313. package/docs/examples/graphql/query.md +2 -0
  314. package/docs/examples/health/get-antivirus.md +1 -0
  315. package/docs/examples/health/get-cache.md +1 -0
  316. package/docs/examples/health/get-certificate.md +1 -0
  317. package/docs/examples/health/get-db.md +1 -0
  318. package/docs/examples/health/get-failed-jobs.md +2 -0
  319. package/docs/examples/health/get-pub-sub.md +1 -0
  320. package/docs/examples/health/get-queue-builds.md +1 -0
  321. package/docs/examples/health/get-queue-certificates.md +1 -0
  322. package/docs/examples/health/get-queue-databases.md +1 -0
  323. package/docs/examples/health/get-queue-deletes.md +1 -0
  324. package/docs/examples/health/get-queue-functions.md +1 -0
  325. package/docs/examples/health/get-queue-logs.md +1 -0
  326. package/docs/examples/health/get-queue-mails.md +1 -0
  327. package/docs/examples/health/get-queue-messaging.md +1 -0
  328. package/docs/examples/health/get-queue-migrations.md +1 -0
  329. package/docs/examples/health/get-queue-stats-resources.md +1 -0
  330. package/docs/examples/health/get-queue-usage.md +1 -0
  331. package/docs/examples/health/get-queue-webhooks.md +1 -0
  332. package/docs/examples/health/get-storage-local.md +1 -0
  333. package/docs/examples/health/get-storage.md +1 -0
  334. package/docs/examples/health/get-time.md +1 -0
  335. package/docs/examples/health/get.md +1 -0
  336. package/docs/examples/locale/get.md +1 -0
  337. package/docs/examples/locale/list-codes.md +1 -0
  338. package/docs/examples/locale/list-continents.md +1 -0
  339. package/docs/examples/locale/list-countries-eu.md +1 -0
  340. package/docs/examples/locale/list-countries-phones.md +1 -0
  341. package/docs/examples/locale/list-countries.md +1 -0
  342. package/docs/examples/locale/list-currencies.md +1 -0
  343. package/docs/examples/locale/list-languages.md +1 -0
  344. package/docs/examples/messaging/create-apns-provider.md +3 -0
  345. package/docs/examples/messaging/create-email.md +4 -0
  346. package/docs/examples/messaging/create-fcm-provider.md +3 -0
  347. package/docs/examples/messaging/create-mailgun-provider.md +3 -0
  348. package/docs/examples/messaging/create-msg-91-provider.md +3 -0
  349. package/docs/examples/messaging/create-push.md +2 -0
  350. package/docs/examples/messaging/create-resend-provider.md +3 -0
  351. package/docs/examples/messaging/create-sendgrid-provider.md +3 -0
  352. package/docs/examples/messaging/create-sms.md +3 -0
  353. package/docs/examples/messaging/create-smtp-provider.md +4 -0
  354. package/docs/examples/messaging/create-subscriber.md +4 -0
  355. package/docs/examples/messaging/create-telesign-provider.md +3 -0
  356. package/docs/examples/messaging/create-textmagic-provider.md +3 -0
  357. package/docs/examples/messaging/create-topic.md +3 -0
  358. package/docs/examples/messaging/create-twilio-provider.md +3 -0
  359. package/docs/examples/messaging/create-vonage-provider.md +3 -0
  360. package/docs/examples/messaging/delete-provider.md +2 -0
  361. package/docs/examples/messaging/delete-subscriber.md +3 -0
  362. package/docs/examples/messaging/delete-topic.md +2 -0
  363. package/docs/examples/messaging/delete.md +2 -0
  364. package/docs/examples/messaging/get-message.md +2 -0
  365. package/docs/examples/messaging/get-provider.md +2 -0
  366. package/docs/examples/messaging/get-subscriber.md +3 -0
  367. package/docs/examples/messaging/get-topic.md +2 -0
  368. package/docs/examples/messaging/list-message-logs.md +2 -0
  369. package/docs/examples/messaging/list-messages.md +1 -0
  370. package/docs/examples/messaging/list-provider-logs.md +2 -0
  371. package/docs/examples/messaging/list-providers.md +1 -0
  372. package/docs/examples/messaging/list-subscriber-logs.md +2 -0
  373. package/docs/examples/messaging/list-subscribers.md +2 -0
  374. package/docs/examples/messaging/list-targets.md +2 -0
  375. package/docs/examples/messaging/list-topic-logs.md +2 -0
  376. package/docs/examples/messaging/list-topics.md +1 -0
  377. package/docs/examples/messaging/update-apns-provider.md +2 -0
  378. package/docs/examples/messaging/update-email.md +2 -0
  379. package/docs/examples/messaging/update-fcm-provider.md +2 -0
  380. package/docs/examples/messaging/update-mailgun-provider.md +2 -0
  381. package/docs/examples/messaging/update-msg-91-provider.md +2 -0
  382. package/docs/examples/messaging/update-push.md +2 -0
  383. package/docs/examples/messaging/update-resend-provider.md +2 -0
  384. package/docs/examples/messaging/update-sendgrid-provider.md +2 -0
  385. package/docs/examples/messaging/update-sms.md +2 -0
  386. package/docs/examples/messaging/update-smtp-provider.md +2 -0
  387. package/docs/examples/messaging/update-telesign-provider.md +2 -0
  388. package/docs/examples/messaging/update-textmagic-provider.md +2 -0
  389. package/docs/examples/messaging/update-topic.md +2 -0
  390. package/docs/examples/messaging/update-twilio-provider.md +2 -0
  391. package/docs/examples/messaging/update-vonage-provider.md +2 -0
  392. package/docs/examples/migrations/create-appwrite-migration.md +5 -0
  393. package/docs/examples/migrations/create-csv-export.md +3 -0
  394. package/docs/examples/migrations/create-csv-import.md +4 -0
  395. package/docs/examples/migrations/create-firebase-migration.md +3 -0
  396. package/docs/examples/migrations/create-n-host-migration.md +8 -0
  397. package/docs/examples/migrations/create-supabase-migration.md +7 -0
  398. package/docs/examples/migrations/delete.md +2 -0
  399. package/docs/examples/migrations/get-appwrite-report.md +5 -0
  400. package/docs/examples/migrations/get-firebase-report.md +3 -0
  401. package/docs/examples/migrations/get-n-host-report.md +8 -0
  402. package/docs/examples/migrations/get-supabase-report.md +7 -0
  403. package/docs/examples/migrations/get.md +2 -0
  404. package/docs/examples/migrations/list.md +1 -0
  405. package/docs/examples/migrations/retry.md +2 -0
  406. package/docs/examples/project/create-variable.md +3 -0
  407. package/docs/examples/project/delete-variable.md +2 -0
  408. package/docs/examples/project/get-usage.md +3 -0
  409. package/docs/examples/project/get-variable.md +2 -0
  410. package/docs/examples/project/list-variables.md +1 -0
  411. package/docs/examples/project/update-variable.md +3 -0
  412. package/docs/examples/projects/create-dev-key.md +4 -0
  413. package/docs/examples/projects/create-jwt.md +3 -0
  414. package/docs/examples/projects/create-key.md +4 -0
  415. package/docs/examples/projects/create-platform.md +4 -0
  416. package/docs/examples/projects/create-smtp-test.md +6 -0
  417. package/docs/examples/projects/create-webhook.md +6 -0
  418. package/docs/examples/projects/create.md +4 -0
  419. package/docs/examples/projects/delete-dev-key.md +3 -0
  420. package/docs/examples/projects/delete-email-template.md +4 -0
  421. package/docs/examples/projects/delete-key.md +3 -0
  422. package/docs/examples/projects/delete-platform.md +3 -0
  423. package/docs/examples/projects/delete-sms-template.md +4 -0
  424. package/docs/examples/projects/delete-webhook.md +3 -0
  425. package/docs/examples/projects/delete.md +2 -0
  426. package/docs/examples/projects/get-dev-key.md +3 -0
  427. package/docs/examples/projects/get-email-template.md +4 -0
  428. package/docs/examples/projects/get-key.md +3 -0
  429. package/docs/examples/projects/get-platform.md +3 -0
  430. package/docs/examples/projects/get-sms-template.md +4 -0
  431. package/docs/examples/projects/get-webhook.md +3 -0
  432. package/docs/examples/projects/get.md +2 -0
  433. package/docs/examples/projects/list-dev-keys.md +2 -0
  434. package/docs/examples/projects/list-keys.md +2 -0
  435. package/docs/examples/projects/list-platforms.md +2 -0
  436. package/docs/examples/projects/list-webhooks.md +2 -0
  437. package/docs/examples/projects/list.md +1 -0
  438. package/docs/examples/projects/update-api-status-all.md +3 -0
  439. package/docs/examples/projects/update-api-status.md +4 -0
  440. package/docs/examples/projects/update-auth-duration.md +3 -0
  441. package/docs/examples/projects/update-auth-limit.md +3 -0
  442. package/docs/examples/projects/update-auth-password-dictionary.md +3 -0
  443. package/docs/examples/projects/update-auth-password-history.md +3 -0
  444. package/docs/examples/projects/update-auth-sessions-limit.md +3 -0
  445. package/docs/examples/projects/update-auth-status.md +4 -0
  446. package/docs/examples/projects/update-dev-key.md +5 -0
  447. package/docs/examples/projects/update-email-template.md +6 -0
  448. package/docs/examples/projects/update-key.md +5 -0
  449. package/docs/examples/projects/update-memberships-privacy.md +5 -0
  450. package/docs/examples/projects/update-mock-numbers.md +3 -0
  451. package/docs/examples/projects/update-o-auth-2.md +3 -0
  452. package/docs/examples/projects/update-personal-data-check.md +3 -0
  453. package/docs/examples/projects/update-platform.md +4 -0
  454. package/docs/examples/projects/update-service-status-all.md +3 -0
  455. package/docs/examples/projects/update-service-status.md +4 -0
  456. package/docs/examples/projects/update-session-alerts.md +3 -0
  457. package/docs/examples/projects/update-session-invalidation.md +3 -0
  458. package/docs/examples/projects/update-sms-template.md +5 -0
  459. package/docs/examples/projects/update-smtp.md +3 -0
  460. package/docs/examples/projects/update-team.md +3 -0
  461. package/docs/examples/projects/update-webhook-signature.md +3 -0
  462. package/docs/examples/projects/update-webhook.md +7 -0
  463. package/docs/examples/projects/update.md +3 -0
  464. package/docs/examples/proxy/create-api-rule.md +2 -0
  465. package/docs/examples/proxy/create-function-rule.md +3 -0
  466. package/docs/examples/proxy/create-redirect-rule.md +6 -0
  467. package/docs/examples/proxy/create-site-rule.md +3 -0
  468. package/docs/examples/proxy/delete-rule.md +2 -0
  469. package/docs/examples/proxy/get-rule.md +2 -0
  470. package/docs/examples/proxy/list-rules.md +1 -0
  471. package/docs/examples/proxy/update-rule-verification.md +2 -0
  472. package/docs/examples/sites/create-deployment.md +4 -0
  473. package/docs/examples/sites/create-duplicate-deployment.md +3 -0
  474. package/docs/examples/sites/create-template-deployment.md +7 -0
  475. package/docs/examples/sites/create-variable.md +4 -0
  476. package/docs/examples/sites/create-vcs-deployment.md +4 -0
  477. package/docs/examples/sites/create.md +5 -0
  478. package/docs/examples/sites/delete-deployment.md +3 -0
  479. package/docs/examples/sites/delete-log.md +3 -0
  480. package/docs/examples/sites/delete-variable.md +3 -0
  481. package/docs/examples/sites/delete.md +2 -0
  482. package/docs/examples/sites/get-deployment-download.md +3 -0
  483. package/docs/examples/sites/get-deployment.md +3 -0
  484. package/docs/examples/sites/get-log.md +3 -0
  485. package/docs/examples/sites/get-template.md +2 -0
  486. package/docs/examples/sites/get-usage.md +2 -0
  487. package/docs/examples/sites/get-variable.md +3 -0
  488. package/docs/examples/sites/get.md +2 -0
  489. package/docs/examples/sites/list-deployments.md +2 -0
  490. package/docs/examples/sites/list-frameworks.md +1 -0
  491. package/docs/examples/sites/list-logs.md +2 -0
  492. package/docs/examples/sites/list-specifications.md +1 -0
  493. package/docs/examples/sites/list-templates.md +1 -0
  494. package/docs/examples/sites/list-usage.md +1 -0
  495. package/docs/examples/sites/list-variables.md +2 -0
  496. package/docs/examples/sites/list.md +1 -0
  497. package/docs/examples/sites/update-deployment-status.md +3 -0
  498. package/docs/examples/sites/update-site-deployment.md +3 -0
  499. package/docs/examples/sites/update-variable.md +4 -0
  500. package/docs/examples/sites/update.md +4 -0
  501. package/docs/examples/storage/create-bucket.md +3 -0
  502. package/docs/examples/storage/create-file.md +4 -0
  503. package/docs/examples/storage/delete-bucket.md +2 -0
  504. package/docs/examples/storage/delete-file.md +3 -0
  505. package/docs/examples/storage/get-bucket-usage.md +2 -0
  506. package/docs/examples/storage/get-bucket.md +2 -0
  507. package/docs/examples/storage/get-file-download.md +3 -0
  508. package/docs/examples/storage/get-file-preview.md +3 -0
  509. package/docs/examples/storage/get-file-view.md +3 -0
  510. package/docs/examples/storage/get-file.md +3 -0
  511. package/docs/examples/storage/get-usage.md +1 -0
  512. package/docs/examples/storage/list-buckets.md +1 -0
  513. package/docs/examples/storage/list-files.md +2 -0
  514. package/docs/examples/storage/update-bucket.md +3 -0
  515. package/docs/examples/storage/update-file.md +3 -0
  516. package/docs/examples/tablesdb/create-boolean-column.md +5 -0
  517. package/docs/examples/tablesdb/create-datetime-column.md +5 -0
  518. package/docs/examples/tablesdb/create-email-column.md +5 -0
  519. package/docs/examples/tablesdb/create-enum-column.md +6 -0
  520. package/docs/examples/tablesdb/create-float-column.md +5 -0
  521. package/docs/examples/tablesdb/create-index.md +6 -0
  522. package/docs/examples/tablesdb/create-integer-column.md +5 -0
  523. package/docs/examples/tablesdb/create-ip-column.md +5 -0
  524. package/docs/examples/tablesdb/create-line-column.md +5 -0
  525. package/docs/examples/tablesdb/create-operations.md +2 -0
  526. package/docs/examples/tablesdb/create-point-column.md +5 -0
  527. package/docs/examples/tablesdb/create-polygon-column.md +5 -0
  528. package/docs/examples/tablesdb/create-relationship-column.md +5 -0
  529. package/docs/examples/tablesdb/create-row.md +5 -0
  530. package/docs/examples/tablesdb/create-rows.md +4 -0
  531. package/docs/examples/tablesdb/create-string-column.md +6 -0
  532. package/docs/examples/tablesdb/create-table.md +4 -0
  533. package/docs/examples/tablesdb/create-transaction.md +1 -0
  534. package/docs/examples/tablesdb/create-url-column.md +5 -0
  535. package/docs/examples/tablesdb/create.md +3 -0
  536. package/docs/examples/tablesdb/decrement-row-column.md +5 -0
  537. package/docs/examples/tablesdb/delete-column.md +4 -0
  538. package/docs/examples/tablesdb/delete-index.md +4 -0
  539. package/docs/examples/tablesdb/delete-row.md +4 -0
  540. package/docs/examples/tablesdb/delete-rows.md +3 -0
  541. package/docs/examples/tablesdb/delete-table.md +3 -0
  542. package/docs/examples/tablesdb/delete-transaction.md +2 -0
  543. package/docs/examples/tablesdb/delete.md +2 -0
  544. package/docs/examples/tablesdb/get-column.md +4 -0
  545. package/docs/examples/tablesdb/get-index.md +4 -0
  546. package/docs/examples/tablesdb/get-row.md +4 -0
  547. package/docs/examples/tablesdb/get-table-usage.md +3 -0
  548. package/docs/examples/tablesdb/get-table.md +3 -0
  549. package/docs/examples/tablesdb/get-transaction.md +2 -0
  550. package/docs/examples/tablesdb/get-usage.md +2 -0
  551. package/docs/examples/tablesdb/get.md +2 -0
  552. package/docs/examples/tablesdb/increment-row-column.md +5 -0
  553. package/docs/examples/tablesdb/list-columns.md +3 -0
  554. package/docs/examples/tablesdb/list-indexes.md +3 -0
  555. package/docs/examples/tablesdb/list-row-logs.md +4 -0
  556. package/docs/examples/tablesdb/list-rows.md +3 -0
  557. package/docs/examples/tablesdb/list-table-logs.md +3 -0
  558. package/docs/examples/tablesdb/list-tables.md +2 -0
  559. package/docs/examples/tablesdb/list-transactions.md +1 -0
  560. package/docs/examples/tablesdb/list-usage.md +1 -0
  561. package/docs/examples/tablesdb/list.md +1 -0
  562. package/docs/examples/tablesdb/update-boolean-column.md +6 -0
  563. package/docs/examples/tablesdb/update-datetime-column.md +6 -0
  564. package/docs/examples/tablesdb/update-email-column.md +6 -0
  565. package/docs/examples/tablesdb/update-enum-column.md +7 -0
  566. package/docs/examples/tablesdb/update-float-column.md +6 -0
  567. package/docs/examples/tablesdb/update-integer-column.md +6 -0
  568. package/docs/examples/tablesdb/update-ip-column.md +6 -0
  569. package/docs/examples/tablesdb/update-line-column.md +5 -0
  570. package/docs/examples/tablesdb/update-point-column.md +5 -0
  571. package/docs/examples/tablesdb/update-polygon-column.md +5 -0
  572. package/docs/examples/tablesdb/update-relationship-column.md +4 -0
  573. package/docs/examples/tablesdb/update-row.md +4 -0
  574. package/docs/examples/tablesdb/update-rows.md +3 -0
  575. package/docs/examples/tablesdb/update-string-column.md +6 -0
  576. package/docs/examples/tablesdb/update-table.md +4 -0
  577. package/docs/examples/tablesdb/update-transaction.md +2 -0
  578. package/docs/examples/tablesdb/update-url-column.md +6 -0
  579. package/docs/examples/tablesdb/update.md +3 -0
  580. package/docs/examples/tablesdb/upsert-row.md +4 -0
  581. package/docs/examples/tablesdb/upsert-rows.md +4 -0
  582. package/docs/examples/teams/create-membership.md +3 -0
  583. package/docs/examples/teams/create.md +3 -0
  584. package/docs/examples/teams/delete-membership.md +3 -0
  585. package/docs/examples/teams/delete.md +2 -0
  586. package/docs/examples/teams/get-membership.md +3 -0
  587. package/docs/examples/teams/get-prefs.md +2 -0
  588. package/docs/examples/teams/get.md +2 -0
  589. package/docs/examples/teams/list-logs.md +2 -0
  590. package/docs/examples/teams/list-memberships.md +2 -0
  591. package/docs/examples/teams/list.md +1 -0
  592. package/docs/examples/teams/update-membership-status.md +5 -0
  593. package/docs/examples/teams/update-membership.md +4 -0
  594. package/docs/examples/teams/update-name.md +3 -0
  595. package/docs/examples/teams/update-prefs.md +3 -0
  596. package/docs/examples/tokens/create-file-token.md +3 -0
  597. package/docs/examples/tokens/delete.md +2 -0
  598. package/docs/examples/tokens/get.md +2 -0
  599. package/docs/examples/tokens/list.md +3 -0
  600. package/docs/examples/tokens/update.md +2 -0
  601. package/docs/examples/users/create-argon-2-user.md +4 -0
  602. package/docs/examples/users/create-bcrypt-user.md +4 -0
  603. package/docs/examples/users/create-jwt.md +2 -0
  604. package/docs/examples/users/create-md-5-user.md +4 -0
  605. package/docs/examples/users/create-mfa-recovery-codes.md +2 -0
  606. package/docs/examples/users/create-ph-pass-user.md +4 -0
  607. package/docs/examples/users/create-scrypt-modified-user.md +7 -0
  608. package/docs/examples/users/create-scrypt-user.md +9 -0
  609. package/docs/examples/users/create-session.md +2 -0
  610. package/docs/examples/users/create-sha-user.md +4 -0
  611. package/docs/examples/users/create-target.md +5 -0
  612. package/docs/examples/users/create-token.md +2 -0
  613. package/docs/examples/users/create.md +2 -0
  614. package/docs/examples/users/delete-identity.md +2 -0
  615. package/docs/examples/users/delete-mfa-authenticator.md +3 -0
  616. package/docs/examples/users/delete-session.md +3 -0
  617. package/docs/examples/users/delete-sessions.md +2 -0
  618. package/docs/examples/users/delete-target.md +3 -0
  619. package/docs/examples/users/delete.md +2 -0
  620. package/docs/examples/users/get-mfa-recovery-codes.md +2 -0
  621. package/docs/examples/users/get-prefs.md +2 -0
  622. package/docs/examples/users/get-target.md +3 -0
  623. package/docs/examples/users/get-usage.md +1 -0
  624. package/docs/examples/users/get.md +2 -0
  625. package/docs/examples/users/list-identities.md +1 -0
  626. package/docs/examples/users/list-logs.md +2 -0
  627. package/docs/examples/users/list-memberships.md +2 -0
  628. package/docs/examples/users/list-mfa-factors.md +2 -0
  629. package/docs/examples/users/list-sessions.md +2 -0
  630. package/docs/examples/users/list-targets.md +2 -0
  631. package/docs/examples/users/list.md +1 -0
  632. package/docs/examples/users/update-email-verification.md +3 -0
  633. package/docs/examples/users/update-email.md +3 -0
  634. package/docs/examples/users/update-labels.md +3 -0
  635. package/docs/examples/users/update-mfa-recovery-codes.md +2 -0
  636. package/docs/examples/users/update-mfa.md +3 -0
  637. package/docs/examples/users/update-name.md +3 -0
  638. package/docs/examples/users/update-password.md +3 -0
  639. package/docs/examples/users/update-phone-verification.md +3 -0
  640. package/docs/examples/users/update-phone.md +3 -0
  641. package/docs/examples/users/update-prefs.md +3 -0
  642. package/docs/examples/users/update-status.md +3 -0
  643. package/docs/examples/users/update-target.md +3 -0
  644. package/docs/examples/vcs/create-repository-detection.md +4 -0
  645. package/docs/examples/vcs/create-repository.md +4 -0
  646. package/docs/examples/vcs/delete-installation.md +2 -0
  647. package/docs/examples/vcs/get-installation.md +2 -0
  648. package/docs/examples/vcs/get-repository-contents.md +3 -0
  649. package/docs/examples/vcs/get-repository.md +3 -0
  650. package/docs/examples/vcs/list-installations.md +1 -0
  651. package/docs/examples/vcs/list-repositories.md +3 -0
  652. package/docs/examples/vcs/list-repository-branches.md +3 -0
  653. package/docs/examples/vcs/update-external-deployments.md +4 -0
  654. package/index.ts +25 -165
  655. package/install.ps1 +2 -2
  656. package/install.sh +1 -1
  657. package/lib/client.ts +14 -6
  658. package/lib/commands/config.ts +494 -0
  659. package/lib/commands/db.ts +324 -0
  660. package/lib/commands/errors.ts +93 -0
  661. package/lib/commands/init.ts +25 -14
  662. package/lib/commands/pull.ts +683 -420
  663. package/lib/commands/push.ts +1677 -2404
  664. package/lib/commands/run.ts +1 -1
  665. package/lib/commands/schema.ts +122 -0
  666. package/lib/commands/services/account.ts +200 -385
  667. package/lib/commands/services/console.ts +13 -34
  668. package/lib/commands/services/databases.ts +298 -1215
  669. package/lib/commands/services/functions.ts +115 -434
  670. package/lib/commands/services/graphql.ts +5 -2
  671. package/lib/commands/services/health.ts +87 -149
  672. package/lib/commands/services/locale.ts +36 -33
  673. package/lib/commands/services/messaging.ts +180 -999
  674. package/lib/commands/services/migrations.ts +54 -226
  675. package/lib/commands/services/project.ts +19 -23
  676. package/lib/commands/services/projects.ts +182 -714
  677. package/lib/commands/services/proxy.ts +30 -58
  678. package/lib/commands/services/sites.ts +107 -379
  679. package/lib/commands/services/storage.ts +93 -302
  680. package/lib/commands/services/tables-db.ts +1150 -0
  681. package/lib/commands/services/teams.ts +48 -110
  682. package/lib/commands/services/tokens.ts +16 -28
  683. package/lib/commands/services/users.ts +133 -403
  684. package/lib/commands/services/vcs.ts +48 -151
  685. package/lib/commands/types.ts +1 -1
  686. package/lib/commands/update.ts +13 -22
  687. package/lib/commands/utils/attributes.ts +719 -0
  688. package/lib/commands/utils/change-approval.ts +186 -0
  689. package/lib/commands/utils/database-sync.ts +180 -0
  690. package/lib/commands/utils/deployment.ts +184 -0
  691. package/lib/commands/utils/error-formatter.ts +417 -0
  692. package/lib/commands/utils/pools.ts +355 -0
  693. package/lib/config.ts +46 -82
  694. package/lib/constants.ts +22 -0
  695. package/lib/emulation/docker.ts +101 -87
  696. package/lib/parser.ts +16 -11
  697. package/lib/questions.ts +20 -21
  698. package/lib/sdks.ts +15 -11
  699. package/lib/types.ts +0 -229
  700. package/lib/utils.ts +45 -4
  701. package/package.json +12 -11
  702. package/scoop/appwrite.config.json +29 -19
  703. package/.github/workflows/build-verify.yml +0 -71
  704. package/bun.lock +0 -625
  705. package/dist/lib/commands/services/avatars.d.ts +0 -3
  706. package/dist/lib/commands/services/avatars.d.ts.map +0 -1
  707. package/dist/lib/commands/services/avatars.js +0 -118
  708. package/dist/lib/commands/services/avatars.js.map +0 -1
  709. package/dist/lib/commands/services/tablesdb.d.ts +0 -3
  710. package/dist/lib/commands/services/tablesdb.d.ts.map +0 -1
  711. package/dist/lib/commands/services/tablesdb.js.map +0 -1
  712. package/dist/scripts/generate-commands.d.ts +0 -2
  713. package/dist/scripts/generate-commands.d.ts.map +0 -1
  714. package/dist/scripts/generate-commands.js +0 -398
  715. package/dist/scripts/generate-commands.js.map +0 -1
  716. package/lib/commands/services/avatars.ts +0 -400
  717. package/lib/commands/services/tablesdb.ts +0 -1928
  718. package/scripts/generate-commands.ts +0 -539
@@ -1,13 +1,19 @@
1
1
  import { Command } from "commander";
2
+ import fs from "fs";
2
3
  import { sdkForProject } from "../../sdks.js";
3
4
  import {
4
5
  actionRunner,
5
6
  commandDescriptions,
7
+ success,
8
+ parse,
6
9
  parseBool,
7
10
  parseInteger,
8
11
  } from "../../parser.js";
9
12
  import {
10
13
  Sites,
14
+ Framework,
15
+ BuildRuntime,
16
+ Adapter,
11
17
  UsageRange,
12
18
  TemplateReferenceType,
13
19
  VCSReferenceType,
@@ -32,17 +38,9 @@ export const sites = new Command("sites")
32
38
 
33
39
  sites
34
40
  .command(`list`)
35
- .description(
36
- `Get a list of all the project's sites. You can use the query params to filter your results.`,
37
- )
38
- .option(
39
- `--queries [queries...]`,
40
- `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, framework, deploymentId, buildCommand, installCommand, outputDirectory, installationId`,
41
- )
42
- .option(
43
- `--search <search>`,
44
- `Search term to filter your list results. Max length: 256 chars.`,
45
- )
41
+ .description(`Get a list of all the project's sites. You can use the query params to filter your results.`)
42
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, framework, deploymentId, buildCommand, installCommand, outputDirectory, installationId`)
43
+ .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
46
44
  .option(
47
45
  `--total [value]`,
48
46
  `When set to false, the total count returned will be 0 and will not be calculated.`,
@@ -52,19 +50,17 @@ sites
52
50
  .action(
53
51
  actionRunner(
54
52
  async ({ queries, search, total }) =>
55
- await (await getSitesClient()).list(queries, search, total),
53
+ parse(await (await getSitesClient()).list(queries, search, total)),
56
54
  ),
57
55
  );
58
56
 
59
57
  sites
60
58
  .command(`create`)
61
59
  .description(`Create a new site.`)
62
- .requiredOption(
63
- `--site-id <site-id>`,
64
- `Site ID. Choose a custom ID or generate a random ID with \`ID.unique()\`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.`,
65
- )
60
+ .requiredOption(`--site-id <site-id>`, `Site ID. Choose a custom ID or generate a random ID with \`ID.unique()\`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.`)
66
61
  .requiredOption(`--name <name>`, `Site name. Max length: 128 chars.`)
67
62
  .requiredOption(`--framework <framework>`, `Sites framework.`)
63
+ .requiredOption(`--build-runtime <build-runtime>`, `Runtime to use during build step.`)
68
64
  .option(
69
65
  `--enabled [value]`,
70
66
  `Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.`,
@@ -77,106 +73,37 @@ sites
77
73
  (value: string | undefined) =>
78
74
  value === undefined ? true : parseBool(value),
79
75
  )
80
- .option(
81
- `--timeout <timeout>`,
82
- `Maximum request time in seconds.`,
83
- parseInteger,
84
- )
76
+ .option(`--timeout <timeout>`, `Maximum request time in seconds.`, parseInteger)
85
77
  .option(`--install-command <install-command>`, `Install Command.`)
86
78
  .option(`--build-command <build-command>`, `Build Command.`)
87
79
  .option(`--output-directory <output-directory>`, `Output Directory for site.`)
88
- .requiredOption(
89
- `--build-runtime <build-runtime>`,
90
- `Runtime to use during build step.`,
91
- )
92
- .option(
93
- `--adapter <adapter>`,
94
- `Framework adapter defining rendering strategy. Allowed values are: static, ssr`,
95
- )
96
- .option(
97
- `--installation-id <installation-id>`,
98
- `Appwrite Installation ID for VCS (Version Control System) deployment.`,
99
- )
100
- .option(
101
- `--fallback-file <fallback-file>`,
102
- `Fallback file for single page application sites.`,
103
- )
104
- .option(
105
- `--provider-repository-id <provider-repository-id>`,
106
- `Repository ID of the repo linked to the site.`,
107
- )
108
- .option(
109
- `--provider-branch <provider-branch>`,
110
- `Production branch for the repo linked to the site.`,
111
- )
80
+ .option(`--adapter <adapter>`, `Framework adapter defining rendering strategy. Allowed values are: static, ssr`)
81
+ .option(`--installation-id <installation-id>`, `Appwrite Installation ID for VCS (Version Control System) deployment.`)
82
+ .option(`--fallback-file <fallback-file>`, `Fallback file for single page application sites.`)
83
+ .option(`--provider-repository-id <provider-repository-id>`, `Repository ID of the repo linked to the site.`)
84
+ .option(`--provider-branch <provider-branch>`, `Production branch for the repo linked to the site.`)
112
85
  .option(
113
86
  `--provider-silent-mode [value]`,
114
87
  `Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.`,
115
88
  (value: string | undefined) =>
116
89
  value === undefined ? true : parseBool(value),
117
90
  )
118
- .option(
119
- `--provider-root-directory <provider-root-directory>`,
120
- `Path to site code in the linked repo.`,
121
- )
122
- .option(
123
- `--specification <specification>`,
124
- `Framework specification for the site and builds.`,
125
- )
91
+ .option(`--provider-root-directory <provider-root-directory>`, `Path to site code in the linked repo.`)
92
+ .option(`--specification <specification>`, `Framework specification for the site and builds.`)
126
93
  .action(
127
94
  actionRunner(
128
- async ({
129
- siteId,
130
- name,
131
- framework,
132
- enabled,
133
- logging,
134
- timeout,
135
- installCommand,
136
- buildCommand,
137
- outputDirectory,
138
- buildRuntime,
139
- adapter,
140
- installationId,
141
- fallbackFile,
142
- providerRepositoryId,
143
- providerBranch,
144
- providerSilentMode,
145
- providerRootDirectory,
146
- specification,
147
- }) =>
148
- await (
149
- await getSitesClient()
150
- ).create(
151
- siteId,
152
- name,
153
- framework,
154
- enabled,
155
- logging,
156
- timeout,
157
- installCommand,
158
- buildCommand,
159
- outputDirectory,
160
- buildRuntime,
161
- adapter,
162
- installationId,
163
- fallbackFile,
164
- providerRepositoryId,
165
- providerBranch,
166
- providerSilentMode,
167
- providerRootDirectory,
168
- specification,
169
- ),
95
+ async ({ siteId, name, framework, buildRuntime, enabled, logging, timeout, installCommand, buildCommand, outputDirectory, adapter, installationId, fallbackFile, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification }) =>
96
+ parse(await (await getSitesClient()).create(siteId, name, framework as Framework, buildRuntime as BuildRuntime, enabled, logging, timeout, installCommand, buildCommand, outputDirectory, adapter as Adapter, installationId, fallbackFile, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification)),
170
97
  ),
171
98
  );
172
99
 
173
100
  sites
174
101
  .command(`list-frameworks`)
175
- .description(
176
- `Get a list of all frameworks that are currently available on the server instance.`,
177
- )
102
+ .description(`Get a list of all frameworks that are currently available on the server instance.`)
178
103
  .action(
179
- actionRunner(async () => await (await getSitesClient()).listFrameworks()),
104
+ actionRunner(
105
+ async () => parse(await (await getSitesClient()).listFrameworks()),
106
+ ),
180
107
  );
181
108
 
182
109
  sites
@@ -184,65 +111,43 @@ sites
184
111
  .description(`List allowed site specifications for this instance.`)
185
112
  .action(
186
113
  actionRunner(
187
- async () => await (await getSitesClient()).listSpecifications(),
114
+ async () => parse(await (await getSitesClient()).listSpecifications()),
188
115
  ),
189
116
  );
190
117
 
191
118
  sites
192
119
  .command(`list-templates`)
193
- .description(
194
- `List available site templates. You can use template details in [createSite](/docs/references/cloud/server-nodejs/sites#create) method.`,
195
- )
196
- .option(
197
- `--frameworks [frameworks...]`,
198
- `List of frameworks allowed for filtering site templates. Maximum of 100 frameworks are allowed.`,
199
- )
200
- .option(
201
- `--use-cases [use-cases...]`,
202
- `List of use cases allowed for filtering site templates. Maximum of 100 use cases are allowed.`,
203
- )
204
- .option(
205
- `--limit <limit>`,
206
- `Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.`,
207
- parseInteger,
208
- )
209
- .option(
210
- `--offset <offset>`,
211
- `Offset the list of returned templates. Maximum offset is 5000.`,
212
- parseInteger,
213
- )
120
+ .description(`List available site templates. You can use template details in [createSite](/docs/references/cloud/server-nodejs/sites#create) method.`)
121
+ .option(`--frameworks [frameworks...]`, `List of frameworks allowed for filtering site templates. Maximum of 100 frameworks are allowed.`)
122
+ .option(`--use-cases [use-cases...]`, `List of use cases allowed for filtering site templates. Maximum of 100 use cases are allowed.`)
123
+ .option(`--limit <limit>`, `Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.`, parseInteger)
124
+ .option(`--offset <offset>`, `Offset the list of returned templates. Maximum offset is 5000.`, parseInteger)
214
125
  .action(
215
126
  actionRunner(
216
127
  async ({ frameworks, useCases, limit, offset }) =>
217
- await (
218
- await getSitesClient()
219
- ).listTemplates(frameworks, useCases, limit, offset),
128
+ parse(await (await getSitesClient()).listTemplates(frameworks, useCases, limit, offset)),
220
129
  ),
221
130
  );
222
131
 
223
132
  sites
224
133
  .command(`get-template`)
225
- .description(
226
- `Get a site template using ID. You can use template details in [createSite](/docs/references/cloud/server-nodejs/sites#create) method.`,
227
- )
134
+ .description(`Get a site template using ID. You can use template details in [createSite](/docs/references/cloud/server-nodejs/sites#create) method.`)
228
135
  .requiredOption(`--template-id <template-id>`, `Template ID.`)
229
136
  .action(
230
137
  actionRunner(
231
138
  async ({ templateId }) =>
232
- await (await getSitesClient()).getTemplate(templateId),
139
+ parse(await (await getSitesClient()).getTemplate(templateId)),
233
140
  ),
234
141
  );
235
142
 
236
143
  sites
237
144
  .command(`list-usage`)
238
- .description(
239
- `Get usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.`,
240
- )
145
+ .description(`Get usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.`)
241
146
  .option(`--range <range>`, `Date range.`)
242
147
  .action(
243
148
  actionRunner(
244
149
  async ({ range }) =>
245
- await (await getSitesClient()).listUsage(range as UsageRange),
150
+ parse(await (await getSitesClient()).listUsage(range as UsageRange)),
246
151
  ),
247
152
  );
248
153
 
@@ -252,7 +157,8 @@ sites
252
157
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
253
158
  .action(
254
159
  actionRunner(
255
- async ({ siteId }) => await (await getSitesClient()).get(siteId),
160
+ async ({ siteId }) =>
161
+ parse(await (await getSitesClient()).get(siteId)),
256
162
  ),
257
163
  );
258
164
 
@@ -274,96 +180,28 @@ sites
274
180
  (value: string | undefined) =>
275
181
  value === undefined ? true : parseBool(value),
276
182
  )
277
- .option(
278
- `--timeout <timeout>`,
279
- `Maximum request time in seconds.`,
280
- parseInteger,
281
- )
183
+ .option(`--timeout <timeout>`, `Maximum request time in seconds.`, parseInteger)
282
184
  .option(`--install-command <install-command>`, `Install Command.`)
283
185
  .option(`--build-command <build-command>`, `Build Command.`)
284
186
  .option(`--output-directory <output-directory>`, `Output Directory for site.`)
285
- .option(
286
- `--build-runtime <build-runtime>`,
287
- `Runtime to use during build step.`,
288
- )
289
- .option(
290
- `--adapter <adapter>`,
291
- `Framework adapter defining rendering strategy. Allowed values are: static, ssr`,
292
- )
293
- .option(
294
- `--fallback-file <fallback-file>`,
295
- `Fallback file for single page application sites.`,
296
- )
297
- .option(
298
- `--installation-id <installation-id>`,
299
- `Appwrite Installation ID for VCS (Version Control System) deployment.`,
300
- )
301
- .option(
302
- `--provider-repository-id <provider-repository-id>`,
303
- `Repository ID of the repo linked to the site.`,
304
- )
305
- .option(
306
- `--provider-branch <provider-branch>`,
307
- `Production branch for the repo linked to the site.`,
308
- )
187
+ .option(`--build-runtime <build-runtime>`, `Runtime to use during build step.`)
188
+ .option(`--adapter <adapter>`, `Framework adapter defining rendering strategy. Allowed values are: static, ssr`)
189
+ .option(`--fallback-file <fallback-file>`, `Fallback file for single page application sites.`)
190
+ .option(`--installation-id <installation-id>`, `Appwrite Installation ID for VCS (Version Control System) deployment.`)
191
+ .option(`--provider-repository-id <provider-repository-id>`, `Repository ID of the repo linked to the site.`)
192
+ .option(`--provider-branch <provider-branch>`, `Production branch for the repo linked to the site.`)
309
193
  .option(
310
194
  `--provider-silent-mode [value]`,
311
195
  `Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.`,
312
196
  (value: string | undefined) =>
313
197
  value === undefined ? true : parseBool(value),
314
198
  )
315
- .option(
316
- `--provider-root-directory <provider-root-directory>`,
317
- `Path to site code in the linked repo.`,
318
- )
319
- .option(
320
- `--specification <specification>`,
321
- `Framework specification for the site and builds.`,
322
- )
199
+ .option(`--provider-root-directory <provider-root-directory>`, `Path to site code in the linked repo.`)
200
+ .option(`--specification <specification>`, `Framework specification for the site and builds.`)
323
201
  .action(
324
202
  actionRunner(
325
- async ({
326
- siteId,
327
- name,
328
- framework,
329
- enabled,
330
- logging,
331
- timeout,
332
- installCommand,
333
- buildCommand,
334
- outputDirectory,
335
- buildRuntime,
336
- adapter,
337
- fallbackFile,
338
- installationId,
339
- providerRepositoryId,
340
- providerBranch,
341
- providerSilentMode,
342
- providerRootDirectory,
343
- specification,
344
- }) =>
345
- await (
346
- await getSitesClient()
347
- ).update(
348
- siteId,
349
- name,
350
- framework,
351
- enabled,
352
- logging,
353
- timeout,
354
- installCommand,
355
- buildCommand,
356
- outputDirectory,
357
- buildRuntime,
358
- adapter,
359
- fallbackFile,
360
- installationId,
361
- providerRepositoryId,
362
- providerBranch,
363
- providerSilentMode,
364
- providerRootDirectory,
365
- specification,
366
- ),
203
+ async ({ siteId, name, framework, enabled, logging, timeout, installCommand, buildCommand, outputDirectory, buildRuntime, adapter, fallbackFile, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification }) =>
204
+ parse(await (await getSitesClient()).update(siteId, name, framework as Framework, enabled, logging, timeout, installCommand, buildCommand, outputDirectory, buildRuntime as BuildRuntime, adapter as Adapter, fallbackFile, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification)),
367
205
  ),
368
206
  );
369
207
 
@@ -373,40 +211,29 @@ sites
373
211
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
374
212
  .action(
375
213
  actionRunner(
376
- async ({ siteId }) => await (await getSitesClient()).delete(siteId),
214
+ async ({ siteId }) =>
215
+ parse(await (await getSitesClient()).delete(siteId)),
377
216
  ),
378
217
  );
379
218
 
380
219
  sites
381
220
  .command(`update-site-deployment`)
382
- .description(
383
- `Update the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.`,
384
- )
221
+ .description(`Update the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.`)
385
222
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
386
223
  .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
387
224
  .action(
388
225
  actionRunner(
389
226
  async ({ siteId, deploymentId }) =>
390
- await (
391
- await getSitesClient()
392
- ).updateSiteDeployment(siteId, deploymentId),
227
+ parse(await (await getSitesClient()).updateSiteDeployment(siteId, deploymentId)),
393
228
  ),
394
229
  );
395
230
 
396
231
  sites
397
232
  .command(`list-deployments`)
398
- .description(
399
- `Get a list of all the site's code deployments. You can use the query params to filter your results.`,
400
- )
233
+ .description(`Get a list of all the site's code deployments. You can use the query params to filter your results.`)
401
234
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
402
- .option(
403
- `--queries [queries...]`,
404
- `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type`,
405
- )
406
- .option(
407
- `--search <search>`,
408
- `Search term to filter your list results. Max length: 256 chars.`,
409
- )
235
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type`)
236
+ .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
410
237
  .option(
411
238
  `--total [value]`,
412
239
  `When set to false, the total count returned will be 0 and will not be calculated.`,
@@ -416,94 +243,49 @@ sites
416
243
  .action(
417
244
  actionRunner(
418
245
  async ({ siteId, queries, search, total }) =>
419
- await (
420
- await getSitesClient()
421
- ).listDeployments(siteId, queries, search, total),
246
+ parse(await (await getSitesClient()).listDeployments(siteId, queries, search, total)),
422
247
  ),
423
248
  );
424
249
 
425
250
  sites
426
251
  .command(`create-deployment`)
427
- .description(
428
- `Create a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.`,
429
- )
252
+ .description(`Create a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.`)
430
253
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
254
+ .requiredOption(`--code <code>`, `Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.`)
255
+ .requiredOption(`--activate <activate>`, `Automatically activate the deployment when it is finished building.`, parseBool)
431
256
  .option(`--install-command <install-command>`, `Install Commands.`)
432
257
  .option(`--build-command <build-command>`, `Build Commands.`)
433
258
  .option(`--output-directory <output-directory>`, `Output Directory.`)
434
- .requiredOption(
435
- `--code <code>`,
436
- `Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.`,
437
- )
438
- .requiredOption(
439
- `--activate <activate>`,
440
- `Automatically activate the deployment when it is finished building.`,
441
- parseBool,
442
- )
443
259
  .action(
444
260
  actionRunner(
445
- async ({
446
- siteId,
447
- installCommand,
448
- buildCommand,
449
- outputDirectory,
450
- code,
451
- activate,
452
- }) =>
453
- await (
454
- await getSitesClient()
455
- ).createDeployment(
456
- siteId,
457
- installCommand,
458
- buildCommand,
459
- outputDirectory,
460
- code,
461
- activate,
462
- ),
261
+ async ({ siteId, code, activate, installCommand, buildCommand, outputDirectory }) =>
262
+ parse(await (await getSitesClient()).createDeployment(siteId, code, activate, installCommand, buildCommand, outputDirectory)),
463
263
  ),
464
264
  );
465
265
 
466
266
  sites
467
267
  .command(`create-duplicate-deployment`)
468
- .description(
469
- `Create a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.`,
470
- )
268
+ .description(`Create a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.`)
471
269
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
472
270
  .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
473
271
  .action(
474
272
  actionRunner(
475
273
  async ({ siteId, deploymentId }) =>
476
- await (
477
- await getSitesClient()
478
- ).createDuplicateDeployment(siteId, deploymentId),
274
+ parse(await (await getSitesClient()).createDuplicateDeployment(siteId, deploymentId)),
479
275
  ),
480
276
  );
481
277
 
482
278
  sites
483
279
  .command(`create-template-deployment`)
484
- .description(
485
- `Create a deployment based on a template.
280
+ .description(`Create a deployment based on a template.
486
281
 
487
- Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/products/sites/templates) to find the template details.`,
488
- )
282
+ Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/products/sites/templates) to find the template details.`)
489
283
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
490
- .requiredOption(
491
- `--repository <repository>`,
492
- `Repository name of the template.`,
493
- )
284
+ .requiredOption(`--repository <repository>`, `Repository name of the template.`)
494
285
  .requiredOption(`--owner <owner>`, `The name of the owner of the template.`)
495
- .requiredOption(
496
- `--root-directory <root-directory>`,
497
- `Path to site code in the template repo.`,
498
- )
499
- .requiredOption(
500
- `--type <type>`,
501
- `Type for the reference provided. Can be commit, branch, or tag`,
502
- )
503
- .requiredOption(
504
- `--reference <reference>`,
505
- `Reference value, can be a commit hash, branch name, or release tag`,
506
- )
286
+ .requiredOption(`--root-directory <root-directory>`, `Path to site code in the template repo.`)
287
+ .requiredOption(`--type <type>`, `Type for the reference provided. Can be commit, branch, or tag`)
288
+ .requiredOption(`--reference <reference>`, `Reference value, can be a commit hash, branch name, or release tag`)
507
289
  .option(
508
290
  `--activate [value]`,
509
291
  `Automatically activate the deployment when it is finished building.`,
@@ -512,45 +294,19 @@ Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/p
512
294
  )
513
295
  .action(
514
296
  actionRunner(
515
- async ({
516
- siteId,
517
- repository,
518
- owner,
519
- rootDirectory,
520
- xType,
521
- reference,
522
- activate,
523
- }) =>
524
- await (
525
- await getSitesClient()
526
- ).createTemplateDeployment(
527
- siteId,
528
- repository,
529
- owner,
530
- rootDirectory,
531
- xType as TemplateReferenceType,
532
- reference,
533
- activate,
534
- ),
297
+ async ({ siteId, repository, owner, rootDirectory, type, reference, activate }) =>
298
+ parse(await (await getSitesClient()).createTemplateDeployment(siteId, repository, owner, rootDirectory, type as TemplateReferenceType, reference, activate)),
535
299
  ),
536
300
  );
537
301
 
538
302
  sites
539
303
  .command(`create-vcs-deployment`)
540
- .description(
541
- `Create a deployment when a site is connected to VCS.
304
+ .description(`Create a deployment when a site is connected to VCS.
542
305
 
543
- This endpoint lets you create deployment from a branch, commit, or a tag.`,
544
- )
306
+ This endpoint lets you create deployment from a branch, commit, or a tag.`)
545
307
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
546
- .requiredOption(
547
- `--type <type>`,
548
- `Type of reference passed. Allowed values are: branch, commit`,
549
- )
550
- .requiredOption(
551
- `--reference <reference>`,
552
- `VCS reference to create deployment from. Depending on type this can be: branch name, commit hash`,
553
- )
308
+ .requiredOption(`--type <type>`, `Type of reference passed. Allowed values are: branch, commit`)
309
+ .requiredOption(`--reference <reference>`, `VCS reference to create deployment from. Depending on type this can be: branch name, commit hash`)
554
310
  .option(
555
311
  `--activate [value]`,
556
312
  `Automatically activate the deployment when it is finished building.`,
@@ -559,15 +315,8 @@ This endpoint lets you create deployment from a branch, commit, or a tag.`,
559
315
  )
560
316
  .action(
561
317
  actionRunner(
562
- async ({ siteId, xType, reference, activate }) =>
563
- await (
564
- await getSitesClient()
565
- ).createVcsDeployment(
566
- siteId,
567
- xType as VCSReferenceType,
568
- reference,
569
- activate,
570
- ),
318
+ async ({ siteId, type, reference, activate }) =>
319
+ parse(await (await getSitesClient()).createVcsDeployment(siteId, type as VCSReferenceType, reference, activate)),
571
320
  ),
572
321
  );
573
322
 
@@ -579,7 +328,7 @@ sites
579
328
  .action(
580
329
  actionRunner(
581
330
  async ({ siteId, deploymentId }) =>
582
- await (await getSitesClient()).getDeployment(siteId, deploymentId),
331
+ parse(await (await getSitesClient()).getDeployment(siteId, deploymentId)),
583
332
  ),
584
333
  );
585
334
 
@@ -591,60 +340,46 @@ sites
591
340
  .action(
592
341
  actionRunner(
593
342
  async ({ siteId, deploymentId }) =>
594
- await (await getSitesClient()).deleteDeployment(siteId, deploymentId),
343
+ parse(await (await getSitesClient()).deleteDeployment(siteId, deploymentId)),
595
344
  ),
596
345
  );
597
346
 
598
347
  sites
599
348
  .command(`get-deployment-download`)
600
- .description(
601
- `Get a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.`,
602
- )
349
+ .description(`Get a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.`)
603
350
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
604
351
  .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
605
- .option(
606
- `--type <type>`,
607
- `Deployment file to download. Can be: "source", "output".`,
608
- )
352
+ .option(`--type <type>`, `Deployment file to download. Can be: "source", "output".`)
353
+ .requiredOption(`--destination <destination>`, `Path to save the file to.`)
609
354
  .action(
610
355
  actionRunner(
611
- async ({ siteId, deploymentId, xType }) =>
612
- await (
613
- await getSitesClient()
614
- ).getDeploymentDownload(
615
- siteId,
616
- deploymentId,
617
- xType as DeploymentDownloadType,
618
- ),
356
+ async ({ siteId, deploymentId, type, destination }) => {
357
+ const url = await (await getSitesClient()).getDeploymentDownload(siteId, deploymentId, type as DeploymentDownloadType);
358
+ const response = await fetch(url);
359
+ const buffer = Buffer.from(await response.arrayBuffer());
360
+ fs.writeFileSync(destination, buffer);
361
+ success(`File saved to ${destination}`);
362
+ },
619
363
  ),
620
364
  );
621
365
 
622
366
  sites
623
367
  .command(`update-deployment-status`)
624
- .description(
625
- `Cancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.`,
626
- )
368
+ .description(`Cancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.`)
627
369
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
628
370
  .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
629
371
  .action(
630
372
  actionRunner(
631
373
  async ({ siteId, deploymentId }) =>
632
- await (
633
- await getSitesClient()
634
- ).updateDeploymentStatus(siteId, deploymentId),
374
+ parse(await (await getSitesClient()).updateDeploymentStatus(siteId, deploymentId)),
635
375
  ),
636
376
  );
637
377
 
638
378
  sites
639
379
  .command(`list-logs`)
640
- .description(
641
- `Get a list of all site logs. You can use the query params to filter your results.`,
642
- )
380
+ .description(`Get a list of all site logs. You can use the query params to filter your results.`)
643
381
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
644
- .option(
645
- `--queries [queries...]`,
646
- `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId`,
647
- )
382
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId`)
648
383
  .option(
649
384
  `--total [value]`,
650
385
  `When set to false, the total count returned will be 0 and will not be calculated.`,
@@ -654,7 +389,7 @@ sites
654
389
  .action(
655
390
  actionRunner(
656
391
  async ({ siteId, queries, total }) =>
657
- await (await getSitesClient()).listLogs(siteId, queries, total),
392
+ parse(await (await getSitesClient()).listLogs(siteId, queries, total)),
658
393
  ),
659
394
  );
660
395
 
@@ -666,7 +401,7 @@ sites
666
401
  .action(
667
402
  actionRunner(
668
403
  async ({ siteId, logId }) =>
669
- await (await getSitesClient()).getLog(siteId, logId),
404
+ parse(await (await getSitesClient()).getLog(siteId, logId)),
670
405
  ),
671
406
  );
672
407
 
@@ -678,21 +413,19 @@ sites
678
413
  .action(
679
414
  actionRunner(
680
415
  async ({ siteId, logId }) =>
681
- await (await getSitesClient()).deleteLog(siteId, logId),
416
+ parse(await (await getSitesClient()).deleteLog(siteId, logId)),
682
417
  ),
683
418
  );
684
419
 
685
420
  sites
686
421
  .command(`get-usage`)
687
- .description(
688
- `Get usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.`,
689
- )
422
+ .description(`Get usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.`)
690
423
  .requiredOption(`--site-id <site-id>`, `Site ID.`)
691
424
  .option(`--range <range>`, `Date range.`)
692
425
  .action(
693
426
  actionRunner(
694
427
  async ({ siteId, range }) =>
695
- await (await getSitesClient()).getUsage(siteId, range as UsageRange),
428
+ parse(await (await getSitesClient()).getUsage(siteId, range as UsageRange)),
696
429
  ),
697
430
  );
698
431
 
@@ -703,15 +436,13 @@ sites
703
436
  .action(
704
437
  actionRunner(
705
438
  async ({ siteId }) =>
706
- await (await getSitesClient()).listVariables(siteId),
439
+ parse(await (await getSitesClient()).listVariables(siteId)),
707
440
  ),
708
441
  );
709
442
 
710
443
  sites
711
444
  .command(`create-variable`)
712
- .description(
713
- `Create a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.`,
714
- )
445
+ .description(`Create a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.`)
715
446
  .requiredOption(`--site-id <site-id>`, `Site unique ID.`)
716
447
  .requiredOption(`--key <key>`, `Variable key. Max length: 255 chars.`)
717
448
  .requiredOption(`--value <value>`, `Variable value. Max length: 8192 chars.`)
@@ -724,9 +455,7 @@ sites
724
455
  .action(
725
456
  actionRunner(
726
457
  async ({ siteId, key, value, secret }) =>
727
- await (
728
- await getSitesClient()
729
- ).createVariable(siteId, key, value, secret),
458
+ parse(await (await getSitesClient()).createVariable(siteId, key, value, secret)),
730
459
  ),
731
460
  );
732
461
 
@@ -738,7 +467,7 @@ sites
738
467
  .action(
739
468
  actionRunner(
740
469
  async ({ siteId, variableId }) =>
741
- await (await getSitesClient()).getVariable(siteId, variableId),
470
+ parse(await (await getSitesClient()).getVariable(siteId, variableId)),
742
471
  ),
743
472
  );
744
473
 
@@ -758,9 +487,7 @@ sites
758
487
  .action(
759
488
  actionRunner(
760
489
  async ({ siteId, variableId, key, value, secret }) =>
761
- await (
762
- await getSitesClient()
763
- ).updateVariable(siteId, variableId, key, value, secret),
490
+ parse(await (await getSitesClient()).updateVariable(siteId, variableId, key, value, secret)),
764
491
  ),
765
492
  );
766
493
 
@@ -772,6 +499,7 @@ sites
772
499
  .action(
773
500
  actionRunner(
774
501
  async ({ siteId, variableId }) =>
775
- await (await getSitesClient()).deleteVariable(siteId, variableId),
502
+ parse(await (await getSitesClient()).deleteVariable(siteId, variableId)),
776
503
  ),
777
504
  );
505
+