chirag-appwrite-cli 0.1.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 (491) hide show
  1. package/.github/workflows/npm-publish.yml +49 -0
  2. package/CHANGELOG.md +1 -0
  3. package/Formula/appwrite.rb +19 -0
  4. package/LICENSE.md +1 -0
  5. package/README.md +104 -0
  6. package/appwrite.json +164 -0
  7. package/docs/examples/account/create-anonymous-session.md +1 -0
  8. package/docs/examples/account/create-email-password-session.md +3 -0
  9. package/docs/examples/account/create-email-token.md +4 -0
  10. package/docs/examples/account/create-j-w-t.md +1 -0
  11. package/docs/examples/account/create-magic-u-r-l-token.md +5 -0
  12. package/docs/examples/account/create-mfa-authenticator.md +2 -0
  13. package/docs/examples/account/create-mfa-challenge.md +2 -0
  14. package/docs/examples/account/create-mfa-recovery-codes.md +1 -0
  15. package/docs/examples/account/create-o-auth2session.md +5 -0
  16. package/docs/examples/account/create-o-auth2token.md +5 -0
  17. package/docs/examples/account/create-phone-token.md +3 -0
  18. package/docs/examples/account/create-phone-verification.md +1 -0
  19. package/docs/examples/account/create-push-target.md +4 -0
  20. package/docs/examples/account/create-recovery.md +3 -0
  21. package/docs/examples/account/create-session.md +3 -0
  22. package/docs/examples/account/create-verification.md +2 -0
  23. package/docs/examples/account/create.md +5 -0
  24. package/docs/examples/account/delete-identity.md +2 -0
  25. package/docs/examples/account/delete-mfa-authenticator.md +2 -0
  26. package/docs/examples/account/delete-push-target.md +2 -0
  27. package/docs/examples/account/delete-session.md +2 -0
  28. package/docs/examples/account/delete-sessions.md +1 -0
  29. package/docs/examples/account/delete.md +1 -0
  30. package/docs/examples/account/get-mfa-recovery-codes.md +1 -0
  31. package/docs/examples/account/get-prefs.md +1 -0
  32. package/docs/examples/account/get-session.md +2 -0
  33. package/docs/examples/account/get.md +1 -0
  34. package/docs/examples/account/list-identities.md +2 -0
  35. package/docs/examples/account/list-logs.md +2 -0
  36. package/docs/examples/account/list-mfa-factors.md +1 -0
  37. package/docs/examples/account/list-sessions.md +1 -0
  38. package/docs/examples/account/update-email.md +3 -0
  39. package/docs/examples/account/update-m-f-a.md +2 -0
  40. package/docs/examples/account/update-magic-u-r-l-session.md +3 -0
  41. package/docs/examples/account/update-mfa-authenticator.md +3 -0
  42. package/docs/examples/account/update-mfa-challenge.md +3 -0
  43. package/docs/examples/account/update-mfa-recovery-codes.md +1 -0
  44. package/docs/examples/account/update-name.md +2 -0
  45. package/docs/examples/account/update-password.md +3 -0
  46. package/docs/examples/account/update-phone-session.md +3 -0
  47. package/docs/examples/account/update-phone-verification.md +3 -0
  48. package/docs/examples/account/update-phone.md +3 -0
  49. package/docs/examples/account/update-prefs.md +2 -0
  50. package/docs/examples/account/update-push-target.md +3 -0
  51. package/docs/examples/account/update-recovery.md +4 -0
  52. package/docs/examples/account/update-session.md +2 -0
  53. package/docs/examples/account/update-status.md +1 -0
  54. package/docs/examples/account/update-verification.md +3 -0
  55. package/docs/examples/avatars/get-browser.md +5 -0
  56. package/docs/examples/avatars/get-credit-card.md +5 -0
  57. package/docs/examples/avatars/get-favicon.md +2 -0
  58. package/docs/examples/avatars/get-flag.md +5 -0
  59. package/docs/examples/avatars/get-image.md +4 -0
  60. package/docs/examples/avatars/get-initials.md +5 -0
  61. package/docs/examples/avatars/get-q-r.md +5 -0
  62. package/docs/examples/console/get-resource.md +3 -0
  63. package/docs/examples/console/variables.md +1 -0
  64. package/docs/examples/databases/create-boolean-attribute.md +7 -0
  65. package/docs/examples/databases/create-collection.md +7 -0
  66. package/docs/examples/databases/create-datetime-attribute.md +7 -0
  67. package/docs/examples/databases/create-document.md +6 -0
  68. package/docs/examples/databases/create-documents.md +4 -0
  69. package/docs/examples/databases/create-email-attribute.md +7 -0
  70. package/docs/examples/databases/create-enum-attribute.md +8 -0
  71. package/docs/examples/databases/create-float-attribute.md +9 -0
  72. package/docs/examples/databases/create-index.md +8 -0
  73. package/docs/examples/databases/create-integer-attribute.md +9 -0
  74. package/docs/examples/databases/create-ip-attribute.md +7 -0
  75. package/docs/examples/databases/create-relationship-attribute.md +9 -0
  76. package/docs/examples/databases/create-string-attribute.md +9 -0
  77. package/docs/examples/databases/create-url-attribute.md +7 -0
  78. package/docs/examples/databases/create.md +4 -0
  79. package/docs/examples/databases/decrement-document-attribute.md +7 -0
  80. package/docs/examples/databases/delete-attribute.md +4 -0
  81. package/docs/examples/databases/delete-collection.md +3 -0
  82. package/docs/examples/databases/delete-document.md +4 -0
  83. package/docs/examples/databases/delete-documents.md +4 -0
  84. package/docs/examples/databases/delete-index.md +4 -0
  85. package/docs/examples/databases/delete.md +2 -0
  86. package/docs/examples/databases/get-attribute.md +4 -0
  87. package/docs/examples/databases/get-collection-usage.md +4 -0
  88. package/docs/examples/databases/get-collection.md +3 -0
  89. package/docs/examples/databases/get-database-usage.md +3 -0
  90. package/docs/examples/databases/get-document.md +5 -0
  91. package/docs/examples/databases/get-index.md +4 -0
  92. package/docs/examples/databases/get-usage.md +2 -0
  93. package/docs/examples/databases/get.md +2 -0
  94. package/docs/examples/databases/increment-document-attribute.md +7 -0
  95. package/docs/examples/databases/list-attributes.md +4 -0
  96. package/docs/examples/databases/list-collection-logs.md +4 -0
  97. package/docs/examples/databases/list-collections.md +4 -0
  98. package/docs/examples/databases/list-document-logs.md +5 -0
  99. package/docs/examples/databases/list-documents.md +4 -0
  100. package/docs/examples/databases/list-indexes.md +4 -0
  101. package/docs/examples/databases/list-logs.md +3 -0
  102. package/docs/examples/databases/list.md +3 -0
  103. package/docs/examples/databases/update-boolean-attribute.md +7 -0
  104. package/docs/examples/databases/update-collection.md +7 -0
  105. package/docs/examples/databases/update-datetime-attribute.md +7 -0
  106. package/docs/examples/databases/update-document.md +6 -0
  107. package/docs/examples/databases/update-documents.md +5 -0
  108. package/docs/examples/databases/update-email-attribute.md +7 -0
  109. package/docs/examples/databases/update-enum-attribute.md +8 -0
  110. package/docs/examples/databases/update-float-attribute.md +9 -0
  111. package/docs/examples/databases/update-integer-attribute.md +9 -0
  112. package/docs/examples/databases/update-ip-attribute.md +7 -0
  113. package/docs/examples/databases/update-relationship-attribute.md +6 -0
  114. package/docs/examples/databases/update-string-attribute.md +8 -0
  115. package/docs/examples/databases/update-url-attribute.md +7 -0
  116. package/docs/examples/databases/update.md +4 -0
  117. package/docs/examples/databases/upsert-document.md +6 -0
  118. package/docs/examples/databases/upsert-documents.md +4 -0
  119. package/docs/examples/functions/create-deployment.md +6 -0
  120. package/docs/examples/functions/create-duplicate-deployment.md +4 -0
  121. package/docs/examples/functions/create-execution.md +8 -0
  122. package/docs/examples/functions/create-template-deployment.md +7 -0
  123. package/docs/examples/functions/create-variable.md +5 -0
  124. package/docs/examples/functions/create-vcs-deployment.md +5 -0
  125. package/docs/examples/functions/create.md +19 -0
  126. package/docs/examples/functions/delete-deployment.md +3 -0
  127. package/docs/examples/functions/delete-execution.md +3 -0
  128. package/docs/examples/functions/delete-variable.md +3 -0
  129. package/docs/examples/functions/delete.md +2 -0
  130. package/docs/examples/functions/get-deployment-download.md +4 -0
  131. package/docs/examples/functions/get-deployment.md +3 -0
  132. package/docs/examples/functions/get-execution.md +3 -0
  133. package/docs/examples/functions/get-template.md +2 -0
  134. package/docs/examples/functions/get-usage.md +3 -0
  135. package/docs/examples/functions/get-variable.md +3 -0
  136. package/docs/examples/functions/get.md +2 -0
  137. package/docs/examples/functions/list-deployments.md +4 -0
  138. package/docs/examples/functions/list-executions.md +3 -0
  139. package/docs/examples/functions/list-runtimes.md +1 -0
  140. package/docs/examples/functions/list-specifications.md +1 -0
  141. package/docs/examples/functions/list-templates.md +5 -0
  142. package/docs/examples/functions/list-usage.md +2 -0
  143. package/docs/examples/functions/list-variables.md +2 -0
  144. package/docs/examples/functions/list.md +3 -0
  145. package/docs/examples/functions/update-deployment-status.md +3 -0
  146. package/docs/examples/functions/update-function-deployment.md +3 -0
  147. package/docs/examples/functions/update-variable.md +6 -0
  148. package/docs/examples/functions/update.md +19 -0
  149. package/docs/examples/graphql/mutation.md +2 -0
  150. package/docs/examples/graphql/query.md +2 -0
  151. package/docs/examples/health/get-antivirus.md +1 -0
  152. package/docs/examples/health/get-cache.md +1 -0
  153. package/docs/examples/health/get-certificate.md +2 -0
  154. package/docs/examples/health/get-d-b.md +1 -0
  155. package/docs/examples/health/get-failed-jobs.md +3 -0
  156. package/docs/examples/health/get-pub-sub.md +1 -0
  157. package/docs/examples/health/get-queue-builds.md +2 -0
  158. package/docs/examples/health/get-queue-certificates.md +2 -0
  159. package/docs/examples/health/get-queue-databases.md +3 -0
  160. package/docs/examples/health/get-queue-deletes.md +2 -0
  161. package/docs/examples/health/get-queue-functions.md +2 -0
  162. package/docs/examples/health/get-queue-logs.md +2 -0
  163. package/docs/examples/health/get-queue-mails.md +2 -0
  164. package/docs/examples/health/get-queue-messaging.md +2 -0
  165. package/docs/examples/health/get-queue-migrations.md +2 -0
  166. package/docs/examples/health/get-queue-stats-resources.md +2 -0
  167. package/docs/examples/health/get-queue-usage.md +2 -0
  168. package/docs/examples/health/get-queue-webhooks.md +2 -0
  169. package/docs/examples/health/get-storage-local.md +1 -0
  170. package/docs/examples/health/get-storage.md +1 -0
  171. package/docs/examples/health/get-time.md +1 -0
  172. package/docs/examples/health/get.md +1 -0
  173. package/docs/examples/locale/get.md +1 -0
  174. package/docs/examples/locale/list-codes.md +1 -0
  175. package/docs/examples/locale/list-continents.md +1 -0
  176. package/docs/examples/locale/list-countries-e-u.md +1 -0
  177. package/docs/examples/locale/list-countries-phones.md +1 -0
  178. package/docs/examples/locale/list-countries.md +1 -0
  179. package/docs/examples/locale/list-currencies.md +1 -0
  180. package/docs/examples/locale/list-languages.md +1 -0
  181. package/docs/examples/messaging/create-apns-provider.md +9 -0
  182. package/docs/examples/messaging/create-email.md +13 -0
  183. package/docs/examples/messaging/create-fcm-provider.md +5 -0
  184. package/docs/examples/messaging/create-mailgun-provider.md +11 -0
  185. package/docs/examples/messaging/create-msg91provider.md +7 -0
  186. package/docs/examples/messaging/create-push.md +20 -0
  187. package/docs/examples/messaging/create-sendgrid-provider.md +9 -0
  188. package/docs/examples/messaging/create-sms.md +8 -0
  189. package/docs/examples/messaging/create-smtp-provider.md +15 -0
  190. package/docs/examples/messaging/create-subscriber.md +4 -0
  191. package/docs/examples/messaging/create-telesign-provider.md +7 -0
  192. package/docs/examples/messaging/create-textmagic-provider.md +7 -0
  193. package/docs/examples/messaging/create-topic.md +4 -0
  194. package/docs/examples/messaging/create-twilio-provider.md +7 -0
  195. package/docs/examples/messaging/create-vonage-provider.md +7 -0
  196. package/docs/examples/messaging/delete-provider.md +2 -0
  197. package/docs/examples/messaging/delete-subscriber.md +3 -0
  198. package/docs/examples/messaging/delete-topic.md +2 -0
  199. package/docs/examples/messaging/delete.md +2 -0
  200. package/docs/examples/messaging/get-message.md +2 -0
  201. package/docs/examples/messaging/get-provider.md +2 -0
  202. package/docs/examples/messaging/get-subscriber.md +3 -0
  203. package/docs/examples/messaging/get-topic.md +2 -0
  204. package/docs/examples/messaging/list-message-logs.md +3 -0
  205. package/docs/examples/messaging/list-messages.md +3 -0
  206. package/docs/examples/messaging/list-provider-logs.md +3 -0
  207. package/docs/examples/messaging/list-providers.md +3 -0
  208. package/docs/examples/messaging/list-subscriber-logs.md +3 -0
  209. package/docs/examples/messaging/list-subscribers.md +4 -0
  210. package/docs/examples/messaging/list-targets.md +3 -0
  211. package/docs/examples/messaging/list-topic-logs.md +3 -0
  212. package/docs/examples/messaging/list-topics.md +3 -0
  213. package/docs/examples/messaging/update-apns-provider.md +9 -0
  214. package/docs/examples/messaging/update-email.md +13 -0
  215. package/docs/examples/messaging/update-fcm-provider.md +5 -0
  216. package/docs/examples/messaging/update-mailgun-provider.md +11 -0
  217. package/docs/examples/messaging/update-msg91provider.md +7 -0
  218. package/docs/examples/messaging/update-push.md +20 -0
  219. package/docs/examples/messaging/update-sendgrid-provider.md +9 -0
  220. package/docs/examples/messaging/update-sms.md +8 -0
  221. package/docs/examples/messaging/update-smtp-provider.md +15 -0
  222. package/docs/examples/messaging/update-telesign-provider.md +7 -0
  223. package/docs/examples/messaging/update-textmagic-provider.md +7 -0
  224. package/docs/examples/messaging/update-topic.md +4 -0
  225. package/docs/examples/messaging/update-twilio-provider.md +7 -0
  226. package/docs/examples/messaging/update-vonage-provider.md +7 -0
  227. package/docs/examples/migrations/create-appwrite-migration.md +5 -0
  228. package/docs/examples/migrations/create-csv-migration.md +4 -0
  229. package/docs/examples/migrations/create-firebase-migration.md +3 -0
  230. package/docs/examples/migrations/create-n-host-migration.md +9 -0
  231. package/docs/examples/migrations/create-supabase-migration.md +8 -0
  232. package/docs/examples/migrations/delete.md +2 -0
  233. package/docs/examples/migrations/get-appwrite-report.md +5 -0
  234. package/docs/examples/migrations/get-firebase-report.md +3 -0
  235. package/docs/examples/migrations/get-n-host-report.md +9 -0
  236. package/docs/examples/migrations/get-supabase-report.md +8 -0
  237. package/docs/examples/migrations/get.md +2 -0
  238. package/docs/examples/migrations/list.md +3 -0
  239. package/docs/examples/migrations/retry.md +2 -0
  240. package/docs/examples/project/create-variable.md +4 -0
  241. package/docs/examples/project/delete-variable.md +2 -0
  242. package/docs/examples/project/get-usage.md +4 -0
  243. package/docs/examples/project/get-variable.md +2 -0
  244. package/docs/examples/project/list-variables.md +1 -0
  245. package/docs/examples/project/update-variable.md +5 -0
  246. package/docs/examples/projects/create-dev-key.md +4 -0
  247. package/docs/examples/projects/create-j-w-t.md +4 -0
  248. package/docs/examples/projects/create-key.md +5 -0
  249. package/docs/examples/projects/create-platform.md +7 -0
  250. package/docs/examples/projects/create-smtp-test.md +11 -0
  251. package/docs/examples/projects/create-webhook.md +9 -0
  252. package/docs/examples/projects/create.md +14 -0
  253. package/docs/examples/projects/delete-dev-key.md +3 -0
  254. package/docs/examples/projects/delete-email-template.md +4 -0
  255. package/docs/examples/projects/delete-key.md +3 -0
  256. package/docs/examples/projects/delete-platform.md +3 -0
  257. package/docs/examples/projects/delete-sms-template.md +4 -0
  258. package/docs/examples/projects/delete-webhook.md +3 -0
  259. package/docs/examples/projects/delete.md +2 -0
  260. package/docs/examples/projects/get-dev-key.md +3 -0
  261. package/docs/examples/projects/get-email-template.md +4 -0
  262. package/docs/examples/projects/get-key.md +3 -0
  263. package/docs/examples/projects/get-platform.md +3 -0
  264. package/docs/examples/projects/get-sms-template.md +4 -0
  265. package/docs/examples/projects/get-webhook.md +3 -0
  266. package/docs/examples/projects/get.md +2 -0
  267. package/docs/examples/projects/list-dev-keys.md +3 -0
  268. package/docs/examples/projects/list-keys.md +2 -0
  269. package/docs/examples/projects/list-platforms.md +2 -0
  270. package/docs/examples/projects/list-webhooks.md +2 -0
  271. package/docs/examples/projects/list.md +3 -0
  272. package/docs/examples/projects/update-api-status-all.md +3 -0
  273. package/docs/examples/projects/update-api-status.md +4 -0
  274. package/docs/examples/projects/update-auth-duration.md +3 -0
  275. package/docs/examples/projects/update-auth-limit.md +3 -0
  276. package/docs/examples/projects/update-auth-password-dictionary.md +3 -0
  277. package/docs/examples/projects/update-auth-password-history.md +3 -0
  278. package/docs/examples/projects/update-auth-sessions-limit.md +3 -0
  279. package/docs/examples/projects/update-auth-status.md +4 -0
  280. package/docs/examples/projects/update-dev-key.md +5 -0
  281. package/docs/examples/projects/update-email-template.md +9 -0
  282. package/docs/examples/projects/update-key.md +6 -0
  283. package/docs/examples/projects/update-memberships-privacy.md +5 -0
  284. package/docs/examples/projects/update-mock-numbers.md +3 -0
  285. package/docs/examples/projects/update-o-auth2.md +6 -0
  286. package/docs/examples/projects/update-personal-data-check.md +3 -0
  287. package/docs/examples/projects/update-platform.md +7 -0
  288. package/docs/examples/projects/update-service-status-all.md +3 -0
  289. package/docs/examples/projects/update-service-status.md +4 -0
  290. package/docs/examples/projects/update-session-alerts.md +3 -0
  291. package/docs/examples/projects/update-sms-template.md +5 -0
  292. package/docs/examples/projects/update-smtp.md +11 -0
  293. package/docs/examples/projects/update-team.md +3 -0
  294. package/docs/examples/projects/update-webhook-signature.md +3 -0
  295. package/docs/examples/projects/update-webhook.md +10 -0
  296. package/docs/examples/projects/update.md +12 -0
  297. package/docs/examples/proxy/create-a-p-i-rule.md +2 -0
  298. package/docs/examples/proxy/create-function-rule.md +4 -0
  299. package/docs/examples/proxy/create-redirect-rule.md +6 -0
  300. package/docs/examples/proxy/create-site-rule.md +4 -0
  301. package/docs/examples/proxy/delete-rule.md +2 -0
  302. package/docs/examples/proxy/get-rule.md +2 -0
  303. package/docs/examples/proxy/list-rules.md +3 -0
  304. package/docs/examples/proxy/update-rule-verification.md +2 -0
  305. package/docs/examples/sites/create-deployment.md +7 -0
  306. package/docs/examples/sites/create-duplicate-deployment.md +3 -0
  307. package/docs/examples/sites/create-template-deployment.md +7 -0
  308. package/docs/examples/sites/create-variable.md +5 -0
  309. package/docs/examples/sites/create-vcs-deployment.md +5 -0
  310. package/docs/examples/sites/create.md +19 -0
  311. package/docs/examples/sites/delete-deployment.md +3 -0
  312. package/docs/examples/sites/delete-log.md +3 -0
  313. package/docs/examples/sites/delete-variable.md +3 -0
  314. package/docs/examples/sites/delete.md +2 -0
  315. package/docs/examples/sites/get-deployment-download.md +4 -0
  316. package/docs/examples/sites/get-deployment.md +3 -0
  317. package/docs/examples/sites/get-log.md +3 -0
  318. package/docs/examples/sites/get-template.md +2 -0
  319. package/docs/examples/sites/get-usage.md +3 -0
  320. package/docs/examples/sites/get-variable.md +3 -0
  321. package/docs/examples/sites/get.md +2 -0
  322. package/docs/examples/sites/list-deployments.md +4 -0
  323. package/docs/examples/sites/list-frameworks.md +1 -0
  324. package/docs/examples/sites/list-logs.md +3 -0
  325. package/docs/examples/sites/list-specifications.md +1 -0
  326. package/docs/examples/sites/list-templates.md +5 -0
  327. package/docs/examples/sites/list-usage.md +2 -0
  328. package/docs/examples/sites/list-variables.md +2 -0
  329. package/docs/examples/sites/list.md +3 -0
  330. package/docs/examples/sites/update-deployment-status.md +3 -0
  331. package/docs/examples/sites/update-site-deployment.md +3 -0
  332. package/docs/examples/sites/update-variable.md +6 -0
  333. package/docs/examples/sites/update.md +19 -0
  334. package/docs/examples/storage/create-bucket.md +11 -0
  335. package/docs/examples/storage/create-file.md +5 -0
  336. package/docs/examples/storage/delete-bucket.md +2 -0
  337. package/docs/examples/storage/delete-file.md +3 -0
  338. package/docs/examples/storage/get-bucket-usage.md +3 -0
  339. package/docs/examples/storage/get-bucket.md +2 -0
  340. package/docs/examples/storage/get-file-download.md +4 -0
  341. package/docs/examples/storage/get-file-preview.md +15 -0
  342. package/docs/examples/storage/get-file-view.md +4 -0
  343. package/docs/examples/storage/get-file.md +3 -0
  344. package/docs/examples/storage/get-usage.md +2 -0
  345. package/docs/examples/storage/list-buckets.md +3 -0
  346. package/docs/examples/storage/list-files.md +4 -0
  347. package/docs/examples/storage/update-bucket.md +11 -0
  348. package/docs/examples/storage/update-file.md +5 -0
  349. package/docs/examples/teams/create-membership.md +8 -0
  350. package/docs/examples/teams/create.md +4 -0
  351. package/docs/examples/teams/delete-membership.md +3 -0
  352. package/docs/examples/teams/delete.md +2 -0
  353. package/docs/examples/teams/get-membership.md +3 -0
  354. package/docs/examples/teams/get-prefs.md +2 -0
  355. package/docs/examples/teams/get.md +2 -0
  356. package/docs/examples/teams/list-logs.md +3 -0
  357. package/docs/examples/teams/list-memberships.md +4 -0
  358. package/docs/examples/teams/list.md +3 -0
  359. package/docs/examples/teams/update-membership-status.md +5 -0
  360. package/docs/examples/teams/update-membership.md +4 -0
  361. package/docs/examples/teams/update-name.md +3 -0
  362. package/docs/examples/teams/update-prefs.md +3 -0
  363. package/docs/examples/tokens/create-file-token.md +4 -0
  364. package/docs/examples/tokens/delete.md +2 -0
  365. package/docs/examples/tokens/get.md +2 -0
  366. package/docs/examples/tokens/list.md +4 -0
  367. package/docs/examples/tokens/update.md +3 -0
  368. package/docs/examples/users/create-argon2user.md +5 -0
  369. package/docs/examples/users/create-bcrypt-user.md +5 -0
  370. package/docs/examples/users/create-j-w-t.md +4 -0
  371. package/docs/examples/users/create-m-d5user.md +5 -0
  372. package/docs/examples/users/create-mfa-recovery-codes.md +2 -0
  373. package/docs/examples/users/create-p-h-pass-user.md +5 -0
  374. package/docs/examples/users/create-s-h-a-user.md +6 -0
  375. package/docs/examples/users/create-scrypt-modified-user.md +8 -0
  376. package/docs/examples/users/create-scrypt-user.md +10 -0
  377. package/docs/examples/users/create-session.md +2 -0
  378. package/docs/examples/users/create-target.md +7 -0
  379. package/docs/examples/users/create-token.md +4 -0
  380. package/docs/examples/users/create.md +6 -0
  381. package/docs/examples/users/delete-identity.md +2 -0
  382. package/docs/examples/users/delete-mfa-authenticator.md +3 -0
  383. package/docs/examples/users/delete-session.md +3 -0
  384. package/docs/examples/users/delete-sessions.md +2 -0
  385. package/docs/examples/users/delete-target.md +3 -0
  386. package/docs/examples/users/delete.md +2 -0
  387. package/docs/examples/users/get-mfa-recovery-codes.md +2 -0
  388. package/docs/examples/users/get-prefs.md +2 -0
  389. package/docs/examples/users/get-target.md +3 -0
  390. package/docs/examples/users/get-usage.md +2 -0
  391. package/docs/examples/users/get.md +2 -0
  392. package/docs/examples/users/list-identities.md +3 -0
  393. package/docs/examples/users/list-logs.md +3 -0
  394. package/docs/examples/users/list-memberships.md +4 -0
  395. package/docs/examples/users/list-mfa-factors.md +2 -0
  396. package/docs/examples/users/list-sessions.md +2 -0
  397. package/docs/examples/users/list-targets.md +3 -0
  398. package/docs/examples/users/list.md +3 -0
  399. package/docs/examples/users/update-email-verification.md +3 -0
  400. package/docs/examples/users/update-email.md +3 -0
  401. package/docs/examples/users/update-labels.md +3 -0
  402. package/docs/examples/users/update-mfa-recovery-codes.md +2 -0
  403. package/docs/examples/users/update-mfa.md +3 -0
  404. package/docs/examples/users/update-name.md +3 -0
  405. package/docs/examples/users/update-password.md +3 -0
  406. package/docs/examples/users/update-phone-verification.md +3 -0
  407. package/docs/examples/users/update-phone.md +3 -0
  408. package/docs/examples/users/update-prefs.md +3 -0
  409. package/docs/examples/users/update-status.md +3 -0
  410. package/docs/examples/users/update-target.md +6 -0
  411. package/docs/examples/vcs/create-repository-detection.md +5 -0
  412. package/docs/examples/vcs/create-repository.md +4 -0
  413. package/docs/examples/vcs/delete-installation.md +2 -0
  414. package/docs/examples/vcs/get-installation.md +2 -0
  415. package/docs/examples/vcs/get-repository-contents.md +5 -0
  416. package/docs/examples/vcs/get-repository.md +3 -0
  417. package/docs/examples/vcs/list-installations.md +3 -0
  418. package/docs/examples/vcs/list-repositories.md +4 -0
  419. package/docs/examples/vcs/list-repository-branches.md +3 -0
  420. package/docs/examples/vcs/update-external-deployments.md +4 -0
  421. package/functions/Starter function/.prettierrc.json +6 -0
  422. package/functions/Starter function/README.md +48 -0
  423. package/functions/Starter function/package-lock.json +60 -0
  424. package/functions/Starter function/package.json +16 -0
  425. package/functions/Starter function/src/main.js +35 -0
  426. package/generate/appwrite.d.ts +18 -0
  427. package/index.js +109 -0
  428. package/install.ps1 +98 -0
  429. package/install.sh +157 -0
  430. package/lib/client.js +259 -0
  431. package/lib/commands/account.js +2074 -0
  432. package/lib/commands/avatars.js +491 -0
  433. package/lib/commands/console.js +129 -0
  434. package/lib/commands/databases.js +2972 -0
  435. package/lib/commands/functions.js +1737 -0
  436. package/lib/commands/generic.js +328 -0
  437. package/lib/commands/graphql.js +128 -0
  438. package/lib/commands/health.js +891 -0
  439. package/lib/commands/init.js +566 -0
  440. package/lib/commands/locale.js +324 -0
  441. package/lib/commands/messaging.js +2970 -0
  442. package/lib/commands/migrations.js +751 -0
  443. package/lib/commands/organizations.js +48 -0
  444. package/lib/commands/project.js +308 -0
  445. package/lib/commands/projects.js +2615 -0
  446. package/lib/commands/proxy.js +406 -0
  447. package/lib/commands/pull.js +474 -0
  448. package/lib/commands/push.js +2117 -0
  449. package/lib/commands/run.js +330 -0
  450. package/lib/commands/sites.js +1663 -0
  451. package/lib/commands/storage.js +990 -0
  452. package/lib/commands/teams.js +682 -0
  453. package/lib/commands/tokens.js +261 -0
  454. package/lib/commands/types.js +156 -0
  455. package/lib/commands/users.js +2035 -0
  456. package/lib/commands/vcs.js +484 -0
  457. package/lib/config.js +705 -0
  458. package/lib/emulation/docker.js +264 -0
  459. package/lib/emulation/utils.js +186 -0
  460. package/lib/exception.js +9 -0
  461. package/lib/id.js +30 -0
  462. package/lib/paginate.js +52 -0
  463. package/lib/parser.js +246 -0
  464. package/lib/questions.js +1006 -0
  465. package/lib/sdks.js +60 -0
  466. package/lib/spinner.js +104 -0
  467. package/lib/type-generation/attribute.js +16 -0
  468. package/lib/type-generation/languages/dart.js +196 -0
  469. package/lib/type-generation/languages/java.js +130 -0
  470. package/lib/type-generation/languages/javascript.js +102 -0
  471. package/lib/type-generation/languages/kotlin.js +84 -0
  472. package/lib/type-generation/languages/language.js +125 -0
  473. package/lib/type-generation/languages/php.js +109 -0
  474. package/lib/type-generation/languages/swift.js +169 -0
  475. package/lib/type-generation/languages/typescript.js +102 -0
  476. package/lib/utils.js +289 -0
  477. package/lib/validations.js +17 -0
  478. package/package.json +50 -0
  479. package/scoop/appwrite.json +30 -0
  480. package/sites/JavaScript starter/.env.example +3 -0
  481. package/sites/JavaScript starter/LICENSE +21 -0
  482. package/sites/JavaScript starter/images/appwrite.svg +8 -0
  483. package/sites/JavaScript starter/images/javascript.svg +5 -0
  484. package/sites/JavaScript starter/index.html +250 -0
  485. package/sites/JavaScript starter/lib/appwrite.js +10 -0
  486. package/sites/JavaScript starter/package-lock.json +1431 -0
  487. package/sites/JavaScript starter/package.json +21 -0
  488. package/sites/JavaScript starter/readme.md +26 -0
  489. package/sites/JavaScript starter/src/javascript.svg +1 -0
  490. package/sites/JavaScript starter/style/app.css +20 -0
  491. package/sites/JavaScript starter/vite.config.js +7 -0
@@ -0,0 +1,751 @@
1
+ const fs = require('fs');
2
+ const pathLib = require('path');
3
+ const tar = require("tar");
4
+ const ignore = require("ignore");
5
+ const { promisify } = require('util');
6
+ const libClient = require('../client.js');
7
+ const { getAllFiles, showConsoleLink } = require('../utils.js');
8
+ const { Command } = require('commander');
9
+ const { sdkForProject, sdkForConsole } = require('../sdks')
10
+ const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
11
+ const { localConfig, globalConfig } = require("../config");
12
+ const { File } = require('undici');
13
+ const { ReadableStream } = require('stream/web');
14
+
15
+ /**
16
+ * @param {fs.ReadStream} readStream
17
+ * @returns {ReadableStream}
18
+ */
19
+ function convertReadStreamToReadableStream(readStream) {
20
+ return new ReadableStream({
21
+ start(controller) {
22
+ readStream.on("data", (chunk) => {
23
+ controller.enqueue(chunk);
24
+ });
25
+ readStream.on("end", () => {
26
+ controller.close();
27
+ });
28
+ readStream.on("error", (err) => {
29
+ controller.error(err);
30
+ });
31
+ },
32
+ cancel() {
33
+ readStream.destroy();
34
+ },
35
+ });
36
+ }
37
+
38
+ const migrations = new Command("migrations").description(commandDescriptions['migrations'] ?? '').configureHelp({
39
+ helpWidth: process.stdout.columns || 80
40
+ })
41
+
42
+ /**
43
+ * @typedef {Object} MigrationsListRequestParams
44
+ * @property {string[]} queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: status, stage, source, destination, resources, statusCounters, resourceData, errors
45
+ * @property {string} search Search term to filter your list results. Max length: 256 chars.
46
+ * @property {boolean} overrideForCli
47
+ * @property {boolean} parseOutput
48
+ * @property {libClient | undefined} sdk
49
+ */
50
+
51
+ /**
52
+ * @param {MigrationsListRequestParams} params
53
+ */
54
+ const migrationsList = async ({queries,search,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
55
+ let client = !sdk ? await sdkForProject() :
56
+ sdk;
57
+ let apiPath = '/migrations';
58
+ let payload = {};
59
+ if (typeof queries !== 'undefined') {
60
+ payload['queries'] = queries;
61
+ }
62
+ if (typeof search !== 'undefined') {
63
+ payload['search'] = search;
64
+ }
65
+
66
+ let response = undefined;
67
+
68
+ response = await client.call('get', apiPath, {
69
+ }, payload);
70
+
71
+ if (parseOutput) {
72
+ parse(response)
73
+ }
74
+
75
+ return response;
76
+
77
+ }
78
+
79
+ /**
80
+ * @typedef {Object} MigrationsCreateAppwriteMigrationRequestParams
81
+ * @property {string[]} resources List of resources to migrate
82
+ * @property {string} endpoint Source Appwrite endpoint
83
+ * @property {string} projectId Source Project ID
84
+ * @property {string} apiKey Source API Key
85
+ * @property {boolean} overrideForCli
86
+ * @property {boolean} parseOutput
87
+ * @property {libClient | undefined} sdk
88
+ */
89
+
90
+ /**
91
+ * @param {MigrationsCreateAppwriteMigrationRequestParams} params
92
+ */
93
+ const migrationsCreateAppwriteMigration = async ({resources,endpoint,projectId,apiKey,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
94
+ let client = !sdk ? await sdkForProject() :
95
+ sdk;
96
+ let apiPath = '/migrations/appwrite';
97
+ let payload = {};
98
+ resources = resources === true ? [] : resources;
99
+ if (typeof resources !== 'undefined') {
100
+ payload['resources'] = resources;
101
+ }
102
+ if (typeof endpoint !== 'undefined') {
103
+ payload['endpoint'] = endpoint;
104
+ }
105
+ if (typeof projectId !== 'undefined') {
106
+ payload['projectId'] = projectId;
107
+ }
108
+ if (typeof apiKey !== 'undefined') {
109
+ payload['apiKey'] = apiKey;
110
+ }
111
+
112
+ let response = undefined;
113
+
114
+ response = await client.call('post', apiPath, {
115
+ 'content-type': 'application/json',
116
+ }, payload);
117
+
118
+ if (parseOutput) {
119
+ parse(response)
120
+ }
121
+
122
+ return response;
123
+
124
+ }
125
+
126
+ /**
127
+ * @typedef {Object} MigrationsGetAppwriteReportRequestParams
128
+ * @property {string[]} resources List of resources to migrate
129
+ * @property {string} endpoint Source's Appwrite Endpoint
130
+ * @property {string} projectID Source's Project ID
131
+ * @property {string} key Source's API Key
132
+ * @property {boolean} overrideForCli
133
+ * @property {boolean} parseOutput
134
+ * @property {libClient | undefined} sdk
135
+ */
136
+
137
+ /**
138
+ * @param {MigrationsGetAppwriteReportRequestParams} params
139
+ */
140
+ const migrationsGetAppwriteReport = async ({resources,endpoint,projectID,key,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
141
+ let client = !sdk ? await sdkForProject() :
142
+ sdk;
143
+ let apiPath = '/migrations/appwrite/report';
144
+ let payload = {};
145
+ if (typeof resources !== 'undefined') {
146
+ payload['resources'] = resources;
147
+ }
148
+ if (typeof endpoint !== 'undefined') {
149
+ payload['endpoint'] = endpoint;
150
+ }
151
+ if (typeof projectID !== 'undefined') {
152
+ payload['projectID'] = projectID;
153
+ }
154
+ if (typeof key !== 'undefined') {
155
+ payload['key'] = key;
156
+ }
157
+
158
+ let response = undefined;
159
+
160
+ response = await client.call('get', apiPath, {
161
+ }, payload);
162
+
163
+ if (parseOutput) {
164
+ parse(response)
165
+ }
166
+
167
+ return response;
168
+
169
+ }
170
+
171
+ /**
172
+ * @typedef {Object} MigrationsCreateCsvMigrationRequestParams
173
+ * @property {string} bucketId Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket).
174
+ * @property {string} fileId File ID.
175
+ * @property {string} resourceId Composite ID in the format {databaseId:collectionId}, identifying a collection within a database.
176
+ * @property {boolean} overrideForCli
177
+ * @property {boolean} parseOutput
178
+ * @property {libClient | undefined} sdk
179
+ */
180
+
181
+ /**
182
+ * @param {MigrationsCreateCsvMigrationRequestParams} params
183
+ */
184
+ const migrationsCreateCsvMigration = async ({bucketId,fileId,resourceId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
185
+ let client = !sdk ? await sdkForProject() :
186
+ sdk;
187
+ let apiPath = '/migrations/csv';
188
+ let payload = {};
189
+ if (typeof bucketId !== 'undefined') {
190
+ payload['bucketId'] = bucketId;
191
+ }
192
+ if (typeof fileId !== 'undefined') {
193
+ payload['fileId'] = fileId;
194
+ }
195
+ if (typeof resourceId !== 'undefined') {
196
+ payload['resourceId'] = resourceId;
197
+ }
198
+
199
+ let response = undefined;
200
+
201
+ response = await client.call('post', apiPath, {
202
+ 'content-type': 'application/json',
203
+ }, payload);
204
+
205
+ if (parseOutput) {
206
+ parse(response)
207
+ }
208
+
209
+ return response;
210
+
211
+ }
212
+
213
+ /**
214
+ * @typedef {Object} MigrationsCreateFirebaseMigrationRequestParams
215
+ * @property {string[]} resources List of resources to migrate
216
+ * @property {string} serviceAccount JSON of the Firebase service account credentials
217
+ * @property {boolean} overrideForCli
218
+ * @property {boolean} parseOutput
219
+ * @property {libClient | undefined} sdk
220
+ */
221
+
222
+ /**
223
+ * @param {MigrationsCreateFirebaseMigrationRequestParams} params
224
+ */
225
+ const migrationsCreateFirebaseMigration = async ({resources,serviceAccount,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
226
+ let client = !sdk ? await sdkForProject() :
227
+ sdk;
228
+ let apiPath = '/migrations/firebase';
229
+ let payload = {};
230
+ resources = resources === true ? [] : resources;
231
+ if (typeof resources !== 'undefined') {
232
+ payload['resources'] = resources;
233
+ }
234
+ if (typeof serviceAccount !== 'undefined') {
235
+ payload['serviceAccount'] = serviceAccount;
236
+ }
237
+
238
+ let response = undefined;
239
+
240
+ response = await client.call('post', apiPath, {
241
+ 'content-type': 'application/json',
242
+ }, payload);
243
+
244
+ if (parseOutput) {
245
+ parse(response)
246
+ }
247
+
248
+ return response;
249
+
250
+ }
251
+
252
+ /**
253
+ * @typedef {Object} MigrationsGetFirebaseReportRequestParams
254
+ * @property {string[]} resources List of resources to migrate
255
+ * @property {string} serviceAccount JSON of the Firebase service account credentials
256
+ * @property {boolean} overrideForCli
257
+ * @property {boolean} parseOutput
258
+ * @property {libClient | undefined} sdk
259
+ */
260
+
261
+ /**
262
+ * @param {MigrationsGetFirebaseReportRequestParams} params
263
+ */
264
+ const migrationsGetFirebaseReport = async ({resources,serviceAccount,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
265
+ let client = !sdk ? await sdkForProject() :
266
+ sdk;
267
+ let apiPath = '/migrations/firebase/report';
268
+ let payload = {};
269
+ if (typeof resources !== 'undefined') {
270
+ payload['resources'] = resources;
271
+ }
272
+ if (typeof serviceAccount !== 'undefined') {
273
+ payload['serviceAccount'] = serviceAccount;
274
+ }
275
+
276
+ let response = undefined;
277
+
278
+ response = await client.call('get', apiPath, {
279
+ }, payload);
280
+
281
+ if (parseOutput) {
282
+ parse(response)
283
+ }
284
+
285
+ return response;
286
+
287
+ }
288
+
289
+ /**
290
+ * @typedef {Object} MigrationsCreateNHostMigrationRequestParams
291
+ * @property {string[]} resources List of resources to migrate
292
+ * @property {string} subdomain Source's Subdomain
293
+ * @property {string} region Source's Region
294
+ * @property {string} adminSecret Source's Admin Secret
295
+ * @property {string} database Source's Database Name
296
+ * @property {string} username Source's Database Username
297
+ * @property {string} password Source's Database Password
298
+ * @property {number} port Source's Database Port
299
+ * @property {boolean} overrideForCli
300
+ * @property {boolean} parseOutput
301
+ * @property {libClient | undefined} sdk
302
+ */
303
+
304
+ /**
305
+ * @param {MigrationsCreateNHostMigrationRequestParams} params
306
+ */
307
+ const migrationsCreateNHostMigration = async ({resources,subdomain,region,adminSecret,database,username,password,port,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
308
+ let client = !sdk ? await sdkForProject() :
309
+ sdk;
310
+ let apiPath = '/migrations/nhost';
311
+ let payload = {};
312
+ resources = resources === true ? [] : resources;
313
+ if (typeof resources !== 'undefined') {
314
+ payload['resources'] = resources;
315
+ }
316
+ if (typeof subdomain !== 'undefined') {
317
+ payload['subdomain'] = subdomain;
318
+ }
319
+ if (typeof region !== 'undefined') {
320
+ payload['region'] = region;
321
+ }
322
+ if (typeof adminSecret !== 'undefined') {
323
+ payload['adminSecret'] = adminSecret;
324
+ }
325
+ if (typeof database !== 'undefined') {
326
+ payload['database'] = database;
327
+ }
328
+ if (typeof username !== 'undefined') {
329
+ payload['username'] = username;
330
+ }
331
+ if (typeof password !== 'undefined') {
332
+ payload['password'] = password;
333
+ }
334
+ if (typeof port !== 'undefined') {
335
+ payload['port'] = port;
336
+ }
337
+
338
+ let response = undefined;
339
+
340
+ response = await client.call('post', apiPath, {
341
+ 'content-type': 'application/json',
342
+ }, payload);
343
+
344
+ if (parseOutput) {
345
+ parse(response)
346
+ }
347
+
348
+ return response;
349
+
350
+ }
351
+
352
+ /**
353
+ * @typedef {Object} MigrationsGetNHostReportRequestParams
354
+ * @property {string[]} resources List of resources to migrate.
355
+ * @property {string} subdomain Source's Subdomain.
356
+ * @property {string} region Source's Region.
357
+ * @property {string} adminSecret Source's Admin Secret.
358
+ * @property {string} database Source's Database Name.
359
+ * @property {string} username Source's Database Username.
360
+ * @property {string} password Source's Database Password.
361
+ * @property {number} port Source's Database Port.
362
+ * @property {boolean} overrideForCli
363
+ * @property {boolean} parseOutput
364
+ * @property {libClient | undefined} sdk
365
+ */
366
+
367
+ /**
368
+ * @param {MigrationsGetNHostReportRequestParams} params
369
+ */
370
+ const migrationsGetNHostReport = async ({resources,subdomain,region,adminSecret,database,username,password,port,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
371
+ let client = !sdk ? await sdkForProject() :
372
+ sdk;
373
+ let apiPath = '/migrations/nhost/report';
374
+ let payload = {};
375
+ if (typeof resources !== 'undefined') {
376
+ payload['resources'] = resources;
377
+ }
378
+ if (typeof subdomain !== 'undefined') {
379
+ payload['subdomain'] = subdomain;
380
+ }
381
+ if (typeof region !== 'undefined') {
382
+ payload['region'] = region;
383
+ }
384
+ if (typeof adminSecret !== 'undefined') {
385
+ payload['adminSecret'] = adminSecret;
386
+ }
387
+ if (typeof database !== 'undefined') {
388
+ payload['database'] = database;
389
+ }
390
+ if (typeof username !== 'undefined') {
391
+ payload['username'] = username;
392
+ }
393
+ if (typeof password !== 'undefined') {
394
+ payload['password'] = password;
395
+ }
396
+ if (typeof port !== 'undefined') {
397
+ payload['port'] = port;
398
+ }
399
+
400
+ let response = undefined;
401
+
402
+ response = await client.call('get', apiPath, {
403
+ }, payload);
404
+
405
+ if (parseOutput) {
406
+ parse(response)
407
+ }
408
+
409
+ return response;
410
+
411
+ }
412
+
413
+ /**
414
+ * @typedef {Object} MigrationsCreateSupabaseMigrationRequestParams
415
+ * @property {string[]} resources List of resources to migrate
416
+ * @property {string} endpoint Source's Supabase Endpoint
417
+ * @property {string} apiKey Source's API Key
418
+ * @property {string} databaseHost Source's Database Host
419
+ * @property {string} username Source's Database Username
420
+ * @property {string} password Source's Database Password
421
+ * @property {number} port Source's Database Port
422
+ * @property {boolean} overrideForCli
423
+ * @property {boolean} parseOutput
424
+ * @property {libClient | undefined} sdk
425
+ */
426
+
427
+ /**
428
+ * @param {MigrationsCreateSupabaseMigrationRequestParams} params
429
+ */
430
+ const migrationsCreateSupabaseMigration = async ({resources,endpoint,apiKey,databaseHost,username,password,port,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
431
+ let client = !sdk ? await sdkForProject() :
432
+ sdk;
433
+ let apiPath = '/migrations/supabase';
434
+ let payload = {};
435
+ resources = resources === true ? [] : resources;
436
+ if (typeof resources !== 'undefined') {
437
+ payload['resources'] = resources;
438
+ }
439
+ if (typeof endpoint !== 'undefined') {
440
+ payload['endpoint'] = endpoint;
441
+ }
442
+ if (typeof apiKey !== 'undefined') {
443
+ payload['apiKey'] = apiKey;
444
+ }
445
+ if (typeof databaseHost !== 'undefined') {
446
+ payload['databaseHost'] = databaseHost;
447
+ }
448
+ if (typeof username !== 'undefined') {
449
+ payload['username'] = username;
450
+ }
451
+ if (typeof password !== 'undefined') {
452
+ payload['password'] = password;
453
+ }
454
+ if (typeof port !== 'undefined') {
455
+ payload['port'] = port;
456
+ }
457
+
458
+ let response = undefined;
459
+
460
+ response = await client.call('post', apiPath, {
461
+ 'content-type': 'application/json',
462
+ }, payload);
463
+
464
+ if (parseOutput) {
465
+ parse(response)
466
+ }
467
+
468
+ return response;
469
+
470
+ }
471
+
472
+ /**
473
+ * @typedef {Object} MigrationsGetSupabaseReportRequestParams
474
+ * @property {string[]} resources List of resources to migrate
475
+ * @property {string} endpoint Source's Supabase Endpoint.
476
+ * @property {string} apiKey Source's API Key.
477
+ * @property {string} databaseHost Source's Database Host.
478
+ * @property {string} username Source's Database Username.
479
+ * @property {string} password Source's Database Password.
480
+ * @property {number} port Source's Database Port.
481
+ * @property {boolean} overrideForCli
482
+ * @property {boolean} parseOutput
483
+ * @property {libClient | undefined} sdk
484
+ */
485
+
486
+ /**
487
+ * @param {MigrationsGetSupabaseReportRequestParams} params
488
+ */
489
+ const migrationsGetSupabaseReport = async ({resources,endpoint,apiKey,databaseHost,username,password,port,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
490
+ let client = !sdk ? await sdkForProject() :
491
+ sdk;
492
+ let apiPath = '/migrations/supabase/report';
493
+ let payload = {};
494
+ if (typeof resources !== 'undefined') {
495
+ payload['resources'] = resources;
496
+ }
497
+ if (typeof endpoint !== 'undefined') {
498
+ payload['endpoint'] = endpoint;
499
+ }
500
+ if (typeof apiKey !== 'undefined') {
501
+ payload['apiKey'] = apiKey;
502
+ }
503
+ if (typeof databaseHost !== 'undefined') {
504
+ payload['databaseHost'] = databaseHost;
505
+ }
506
+ if (typeof username !== 'undefined') {
507
+ payload['username'] = username;
508
+ }
509
+ if (typeof password !== 'undefined') {
510
+ payload['password'] = password;
511
+ }
512
+ if (typeof port !== 'undefined') {
513
+ payload['port'] = port;
514
+ }
515
+
516
+ let response = undefined;
517
+
518
+ response = await client.call('get', apiPath, {
519
+ }, payload);
520
+
521
+ if (parseOutput) {
522
+ parse(response)
523
+ }
524
+
525
+ return response;
526
+
527
+ }
528
+
529
+ /**
530
+ * @typedef {Object} MigrationsGetRequestParams
531
+ * @property {string} migrationId Migration unique ID.
532
+ * @property {boolean} overrideForCli
533
+ * @property {boolean} parseOutput
534
+ * @property {libClient | undefined} sdk
535
+ */
536
+
537
+ /**
538
+ * @param {MigrationsGetRequestParams} params
539
+ */
540
+ const migrationsGet = async ({migrationId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
541
+ let client = !sdk ? await sdkForProject() :
542
+ sdk;
543
+ let apiPath = '/migrations/{migrationId}'.replace('{migrationId}', migrationId);
544
+ let payload = {};
545
+
546
+ let response = undefined;
547
+
548
+ response = await client.call('get', apiPath, {
549
+ }, payload);
550
+
551
+ if (parseOutput) {
552
+ parse(response)
553
+ }
554
+
555
+ return response;
556
+
557
+ }
558
+
559
+ /**
560
+ * @typedef {Object} MigrationsRetryRequestParams
561
+ * @property {string} migrationId Migration unique ID.
562
+ * @property {boolean} overrideForCli
563
+ * @property {boolean} parseOutput
564
+ * @property {libClient | undefined} sdk
565
+ */
566
+
567
+ /**
568
+ * @param {MigrationsRetryRequestParams} params
569
+ */
570
+ const migrationsRetry = async ({migrationId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
571
+ let client = !sdk ? await sdkForProject() :
572
+ sdk;
573
+ let apiPath = '/migrations/{migrationId}'.replace('{migrationId}', migrationId);
574
+ let payload = {};
575
+
576
+ let response = undefined;
577
+
578
+ response = await client.call('patch', apiPath, {
579
+ 'content-type': 'application/json',
580
+ }, payload);
581
+
582
+ if (parseOutput) {
583
+ parse(response)
584
+ }
585
+
586
+ return response;
587
+
588
+ }
589
+
590
+ /**
591
+ * @typedef {Object} MigrationsDeleteRequestParams
592
+ * @property {string} migrationId Migration ID.
593
+ * @property {boolean} overrideForCli
594
+ * @property {boolean} parseOutput
595
+ * @property {libClient | undefined} sdk
596
+ */
597
+
598
+ /**
599
+ * @param {MigrationsDeleteRequestParams} params
600
+ */
601
+ const migrationsDelete = async ({migrationId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
602
+ let client = !sdk ? await sdkForProject() :
603
+ sdk;
604
+ let apiPath = '/migrations/{migrationId}'.replace('{migrationId}', migrationId);
605
+ let payload = {};
606
+
607
+ let response = undefined;
608
+
609
+ response = await client.call('delete', apiPath, {
610
+ 'content-type': 'application/json',
611
+ }, payload);
612
+
613
+ if (parseOutput) {
614
+ parse(response)
615
+ }
616
+
617
+ return response;
618
+
619
+ }
620
+
621
+ migrations
622
+ .command(`list`)
623
+ .description(`List all migrations in the current project. This endpoint returns a list of all migrations including their status, progress, and any errors that occurred during the migration process.`)
624
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: status, stage, source, destination, resources, statusCounters, resourceData, errors`)
625
+ .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
626
+ .action(actionRunner(migrationsList))
627
+
628
+ migrations
629
+ .command(`create-appwrite-migration`)
630
+ .description(`Migrate data from another Appwrite project to your current project. This endpoint allows you to migrate resources like databases, collections, documents, users, and files from an existing Appwrite project. `)
631
+ .requiredOption(`--resources [resources...]`, `List of resources to migrate`)
632
+ .requiredOption(`--endpoint <endpoint>`, `Source Appwrite endpoint`)
633
+ .requiredOption(`--project-id <project-id>`, `Source Project ID`)
634
+ .requiredOption(`--api-key <api-key>`, `Source API Key`)
635
+ .action(actionRunner(migrationsCreateAppwriteMigration))
636
+
637
+ migrations
638
+ .command(`get-appwrite-report`)
639
+ .description(`Generate a report of the data in an Appwrite project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated.`)
640
+ .requiredOption(`--resources [resources...]`, `List of resources to migrate`)
641
+ .requiredOption(`--endpoint <endpoint>`, `Source's Appwrite Endpoint`)
642
+ .requiredOption(`--project-id <project-id>`, `Source's Project ID`)
643
+ .requiredOption(`--key <key>`, `Source's API Key`)
644
+ .action(actionRunner(migrationsGetAppwriteReport))
645
+
646
+ migrations
647
+ .command(`create-csv-migration`)
648
+ .description(`Import documents from a CSV file into your Appwrite database. This endpoint allows you to import documents from a CSV file uploaded to Appwrite Storage bucket.`)
649
+ .requiredOption(`--bucket-id <bucket-id>`, `Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket).`)
650
+ .requiredOption(`--file-id <file-id>`, `File ID.`)
651
+ .requiredOption(`--resource-id <resource-id>`, `Composite ID in the format {databaseId:collectionId}, identifying a collection within a database.`)
652
+ .action(actionRunner(migrationsCreateCsvMigration))
653
+
654
+ migrations
655
+ .command(`create-firebase-migration`)
656
+ .description(`Migrate data from a Firebase project to your Appwrite project. This endpoint allows you to migrate resources like authentication and other supported services from a Firebase project. `)
657
+ .requiredOption(`--resources [resources...]`, `List of resources to migrate`)
658
+ .requiredOption(`--service-account <service-account>`, `JSON of the Firebase service account credentials`)
659
+ .action(actionRunner(migrationsCreateFirebaseMigration))
660
+
661
+ migrations
662
+ .command(`get-firebase-report`)
663
+ .description(`Generate a report of the data in a Firebase project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated.`)
664
+ .requiredOption(`--resources [resources...]`, `List of resources to migrate`)
665
+ .requiredOption(`--service-account <service-account>`, `JSON of the Firebase service account credentials`)
666
+ .action(actionRunner(migrationsGetFirebaseReport))
667
+
668
+ migrations
669
+ .command(`create-n-host-migration`)
670
+ .description(`Migrate data from an NHost project to your Appwrite project. This endpoint allows you to migrate resources like authentication, databases, and other supported services from an NHost project. `)
671
+ .requiredOption(`--resources [resources...]`, `List of resources to migrate`)
672
+ .requiredOption(`--subdomain <subdomain>`, `Source's Subdomain`)
673
+ .requiredOption(`--region <region>`, `Source's Region`)
674
+ .requiredOption(`--admin-secret <admin-secret>`, `Source's Admin Secret`)
675
+ .requiredOption(`--database <database>`, `Source's Database Name`)
676
+ .requiredOption(`--username <username>`, `Source's Database Username`)
677
+ .requiredOption(`--password <password>`, `Source's Database Password`)
678
+ .option(`--port <port>`, `Source's Database Port`, parseInteger)
679
+ .action(actionRunner(migrationsCreateNHostMigration))
680
+
681
+ migrations
682
+ .command(`get-n-host-report`)
683
+ .description(`Generate a detailed report of the data in an NHost project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated. `)
684
+ .requiredOption(`--resources [resources...]`, `List of resources to migrate.`)
685
+ .requiredOption(`--subdomain <subdomain>`, `Source's Subdomain.`)
686
+ .requiredOption(`--region <region>`, `Source's Region.`)
687
+ .requiredOption(`--admin-secret <admin-secret>`, `Source's Admin Secret.`)
688
+ .requiredOption(`--database <database>`, `Source's Database Name.`)
689
+ .requiredOption(`--username <username>`, `Source's Database Username.`)
690
+ .requiredOption(`--password <password>`, `Source's Database Password.`)
691
+ .option(`--port <port>`, `Source's Database Port.`, parseInteger)
692
+ .action(actionRunner(migrationsGetNHostReport))
693
+
694
+ migrations
695
+ .command(`create-supabase-migration`)
696
+ .description(`Migrate data from a Supabase project to your Appwrite project. This endpoint allows you to migrate resources like authentication, databases, and other supported services from a Supabase project. `)
697
+ .requiredOption(`--resources [resources...]`, `List of resources to migrate`)
698
+ .requiredOption(`--endpoint <endpoint>`, `Source's Supabase Endpoint`)
699
+ .requiredOption(`--api-key <api-key>`, `Source's API Key`)
700
+ .requiredOption(`--database-host <database-host>`, `Source's Database Host`)
701
+ .requiredOption(`--username <username>`, `Source's Database Username`)
702
+ .requiredOption(`--password <password>`, `Source's Database Password`)
703
+ .option(`--port <port>`, `Source's Database Port`, parseInteger)
704
+ .action(actionRunner(migrationsCreateSupabaseMigration))
705
+
706
+ migrations
707
+ .command(`get-supabase-report`)
708
+ .description(`Generate a report of the data in a Supabase project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated. `)
709
+ .requiredOption(`--resources [resources...]`, `List of resources to migrate`)
710
+ .requiredOption(`--endpoint <endpoint>`, `Source's Supabase Endpoint.`)
711
+ .requiredOption(`--api-key <api-key>`, `Source's API Key.`)
712
+ .requiredOption(`--database-host <database-host>`, `Source's Database Host.`)
713
+ .requiredOption(`--username <username>`, `Source's Database Username.`)
714
+ .requiredOption(`--password <password>`, `Source's Database Password.`)
715
+ .option(`--port <port>`, `Source's Database Port.`, parseInteger)
716
+ .action(actionRunner(migrationsGetSupabaseReport))
717
+
718
+ migrations
719
+ .command(`get`)
720
+ .description(`Get a migration by its unique ID. This endpoint returns detailed information about a specific migration including its current status, progress, and any errors that occurred during the migration process. `)
721
+ .requiredOption(`--migration-id <migration-id>`, `Migration unique ID.`)
722
+ .action(actionRunner(migrationsGet))
723
+
724
+ migrations
725
+ .command(`retry`)
726
+ .description(`Retry a failed migration. This endpoint allows you to retry a migration that has previously failed.`)
727
+ .requiredOption(`--migration-id <migration-id>`, `Migration unique ID.`)
728
+ .action(actionRunner(migrationsRetry))
729
+
730
+ migrations
731
+ .command(`delete`)
732
+ .description(`Delete a migration by its unique ID. This endpoint allows you to remove a migration from your project's migration history. `)
733
+ .requiredOption(`--migration-id <migration-id>`, `Migration ID.`)
734
+ .action(actionRunner(migrationsDelete))
735
+
736
+ module.exports = {
737
+ migrations,
738
+ migrationsList,
739
+ migrationsCreateAppwriteMigration,
740
+ migrationsGetAppwriteReport,
741
+ migrationsCreateCsvMigration,
742
+ migrationsCreateFirebaseMigration,
743
+ migrationsGetFirebaseReport,
744
+ migrationsCreateNHostMigration,
745
+ migrationsGetNHostReport,
746
+ migrationsCreateSupabaseMigration,
747
+ migrationsGetSupabaseReport,
748
+ migrationsGet,
749
+ migrationsRetry,
750
+ migrationsDelete
751
+ };