chirag-appwrite-cli 0.2.1 → 0.3.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 (709) hide show
  1. package/.github/workflows/{npm-publish.yml → publish.yml} +1 -1
  2. package/CHANGELOG.md +1 -190
  3. package/Formula/appwrite.rb +3 -3
  4. package/LICENSE.md +1 -12
  5. package/README.md +18 -185
  6. package/cli.ts +140 -146
  7. package/dist/bundle.cjs +74100 -86261
  8. package/dist/cli.js +63 -59
  9. package/dist/cli.js.map +1 -1
  10. package/dist/lib/client.d.ts.map +1 -1
  11. package/dist/lib/client.js +8 -7
  12. package/dist/lib/client.js.map +1 -1
  13. package/dist/lib/commands/config.d.ts +23 -12
  14. package/dist/lib/commands/config.d.ts.map +1 -1
  15. package/dist/lib/commands/config.js +17 -6
  16. package/dist/lib/commands/config.js.map +1 -1
  17. package/dist/lib/commands/generate.d.ts +6 -0
  18. package/dist/lib/commands/generate.d.ts.map +1 -0
  19. package/dist/lib/commands/generate.js +53 -0
  20. package/dist/lib/commands/generate.js.map +1 -0
  21. package/dist/lib/commands/generators/databases.d.ts +25 -0
  22. package/dist/lib/commands/generators/databases.d.ts.map +1 -0
  23. package/dist/lib/commands/generators/databases.js +405 -0
  24. package/dist/lib/commands/generators/databases.js.map +1 -0
  25. package/dist/lib/commands/init.d.ts.map +1 -1
  26. package/dist/lib/commands/init.js +15 -14
  27. package/dist/lib/commands/init.js.map +1 -1
  28. package/dist/lib/commands/pull.d.ts.map +1 -1
  29. package/dist/lib/commands/pull.js +181 -155
  30. package/dist/lib/commands/pull.js.map +1 -1
  31. package/dist/lib/commands/push.d.ts +32 -4
  32. package/dist/lib/commands/push.d.ts.map +1 -1
  33. package/dist/lib/commands/push.js +272 -106
  34. package/dist/lib/commands/push.js.map +1 -1
  35. package/dist/lib/commands/run.js +1 -1
  36. package/dist/lib/commands/run.js.map +1 -1
  37. package/dist/lib/commands/schema.d.ts +8 -6
  38. package/dist/lib/commands/schema.d.ts.map +1 -1
  39. package/dist/lib/commands/schema.js +20 -9
  40. package/dist/lib/commands/schema.js.map +1 -1
  41. package/dist/lib/commands/services/account.d.ts.map +1 -1
  42. package/dist/lib/commands/services/account.js +86 -64
  43. package/dist/lib/commands/services/account.js.map +1 -1
  44. package/dist/lib/commands/services/console.d.ts.map +1 -1
  45. package/dist/lib/commands/services/console.js +4 -17
  46. package/dist/lib/commands/services/console.js.map +1 -1
  47. package/dist/lib/commands/services/databases.d.ts.map +1 -1
  48. package/dist/lib/commands/services/databases.js +160 -152
  49. package/dist/lib/commands/services/databases.js.map +1 -1
  50. package/dist/lib/commands/services/functions.d.ts.map +1 -1
  51. package/dist/lib/commands/services/functions.js +41 -33
  52. package/dist/lib/commands/services/functions.js.map +1 -1
  53. package/dist/lib/commands/services/graphql.d.ts.map +1 -1
  54. package/dist/lib/commands/services/graphql.js +3 -3
  55. package/dist/lib/commands/services/graphql.js.map +1 -1
  56. package/dist/lib/commands/services/health.d.ts.map +1 -1
  57. package/dist/lib/commands/services/health.js +24 -24
  58. package/dist/lib/commands/services/health.js.map +1 -1
  59. package/dist/lib/commands/services/locale.d.ts.map +1 -1
  60. package/dist/lib/commands/services/locale.js +9 -9
  61. package/dist/lib/commands/services/locale.js.map +1 -1
  62. package/dist/lib/commands/services/messaging.d.ts.map +1 -1
  63. package/dist/lib/commands/services/messaging.js +59 -59
  64. package/dist/lib/commands/services/messaging.js.map +1 -1
  65. package/dist/lib/commands/services/migrations.d.ts.map +1 -1
  66. package/dist/lib/commands/services/migrations.js +19 -19
  67. package/dist/lib/commands/services/migrations.js.map +1 -1
  68. package/dist/lib/commands/services/project.d.ts.map +1 -1
  69. package/dist/lib/commands/services/project.js +8 -8
  70. package/dist/lib/commands/services/project.js.map +1 -1
  71. package/dist/lib/commands/services/projects.d.ts.map +1 -1
  72. package/dist/lib/commands/services/projects.js +71 -65
  73. package/dist/lib/commands/services/projects.js.map +1 -1
  74. package/dist/lib/commands/services/proxy.d.ts.map +1 -1
  75. package/dist/lib/commands/services/proxy.js +11 -11
  76. package/dist/lib/commands/services/proxy.js.map +1 -1
  77. package/dist/lib/commands/services/sites.d.ts.map +1 -1
  78. package/dist/lib/commands/services/sites.js +41 -33
  79. package/dist/lib/commands/services/sites.js.map +1 -1
  80. package/dist/lib/commands/services/storage.d.ts.map +1 -1
  81. package/dist/lib/commands/services/storage.js +40 -18
  82. package/dist/lib/commands/services/storage.js.map +1 -1
  83. package/dist/lib/commands/services/tables-db.d.ts +3 -0
  84. package/dist/lib/commands/services/tables-db.d.ts.map +1 -0
  85. package/dist/lib/commands/services/{tablesdb.js → tables-db.js} +171 -163
  86. package/dist/lib/commands/services/tables-db.js.map +1 -0
  87. package/dist/lib/commands/services/teams.d.ts.map +1 -1
  88. package/dist/lib/commands/services/teams.js +16 -16
  89. package/dist/lib/commands/services/teams.js.map +1 -1
  90. package/dist/lib/commands/services/tokens.d.ts.map +1 -1
  91. package/dist/lib/commands/services/tokens.js +6 -6
  92. package/dist/lib/commands/services/tokens.js.map +1 -1
  93. package/dist/lib/commands/services/users.d.ts.map +1 -1
  94. package/dist/lib/commands/services/users.js +54 -54
  95. package/dist/lib/commands/services/users.js.map +1 -1
  96. package/dist/lib/commands/services/vcs.d.ts.map +1 -1
  97. package/dist/lib/commands/services/vcs.js +13 -13
  98. package/dist/lib/commands/services/vcs.js.map +1 -1
  99. package/dist/lib/commands/types.d.ts.map +1 -1
  100. package/dist/lib/commands/types.js +1 -1
  101. package/dist/lib/commands/types.js.map +1 -1
  102. package/dist/lib/commands/update.d.ts.map +1 -1
  103. package/dist/lib/commands/update.js +8 -7
  104. package/dist/lib/commands/update.js.map +1 -1
  105. package/dist/lib/commands/utils/attributes.d.ts +2 -1
  106. package/dist/lib/commands/utils/attributes.d.ts.map +1 -1
  107. package/dist/lib/commands/utils/attributes.js +32 -34
  108. package/dist/lib/commands/utils/attributes.js.map +1 -1
  109. package/dist/lib/commands/utils/deployment.d.ts.map +1 -1
  110. package/dist/lib/commands/utils/deployment.js +3 -2
  111. package/dist/lib/commands/utils/deployment.js.map +1 -1
  112. package/dist/lib/commands/utils/pools.d.ts.map +1 -1
  113. package/dist/lib/commands/utils/pools.js +7 -6
  114. package/dist/lib/commands/utils/pools.js.map +1 -1
  115. package/dist/lib/config.d.ts +1 -0
  116. package/dist/lib/config.d.ts.map +1 -1
  117. package/dist/lib/config.js +45 -4
  118. package/dist/lib/config.js.map +1 -1
  119. package/dist/lib/constants.d.ts +14 -0
  120. package/dist/lib/constants.d.ts.map +1 -0
  121. package/dist/lib/constants.js +19 -0
  122. package/dist/lib/constants.js.map +1 -0
  123. package/dist/lib/emulation/docker.d.ts.map +1 -1
  124. package/dist/lib/emulation/docker.js +80 -67
  125. package/dist/lib/emulation/docker.js.map +1 -1
  126. package/dist/lib/parser.d.ts.map +1 -1
  127. package/dist/lib/parser.js +11 -10
  128. package/dist/lib/parser.js.map +1 -1
  129. package/dist/lib/questions.d.ts +2 -0
  130. package/dist/lib/questions.d.ts.map +1 -1
  131. package/dist/lib/questions.js +34 -20
  132. package/dist/lib/questions.js.map +1 -1
  133. package/dist/lib/sdks.d.ts.map +1 -1
  134. package/dist/lib/sdks.js +10 -11
  135. package/dist/lib/sdks.js.map +1 -1
  136. package/dist/lib/utils.d.ts +3 -0
  137. package/dist/lib/utils.d.ts.map +1 -1
  138. package/dist/lib/utils.js +29 -2
  139. package/dist/lib/utils.js.map +1 -1
  140. package/dist/package.json +4 -4
  141. package/docs/examples/account/create-anonymous-session.md +1 -0
  142. package/docs/examples/account/create-email-password-session.md +3 -0
  143. package/docs/examples/account/create-email-token.md +3 -0
  144. package/docs/examples/account/create-email-verification.md +2 -0
  145. package/docs/examples/account/create-jwt.md +1 -0
  146. package/docs/examples/account/create-magic-url-token.md +3 -0
  147. package/docs/examples/account/create-mfa-authenticator.md +2 -0
  148. package/docs/examples/account/create-mfa-challenge.md +2 -0
  149. package/docs/examples/account/create-mfa-recovery-codes.md +1 -0
  150. package/docs/examples/account/create-o-auth-2-session.md +2 -0
  151. package/docs/examples/account/create-o-auth-2-token.md +2 -0
  152. package/docs/examples/account/create-phone-token.md +3 -0
  153. package/docs/examples/account/create-phone-verification.md +1 -0
  154. package/docs/examples/account/create-push-target.md +3 -0
  155. package/docs/examples/account/create-recovery.md +3 -0
  156. package/docs/examples/account/create-session.md +3 -0
  157. package/docs/examples/account/create-verification.md +2 -0
  158. package/docs/examples/account/create.md +4 -0
  159. package/docs/examples/account/delete-identity.md +2 -0
  160. package/docs/examples/account/delete-mfa-authenticator.md +2 -0
  161. package/docs/examples/account/delete-push-target.md +2 -0
  162. package/docs/examples/account/delete-session.md +2 -0
  163. package/docs/examples/account/delete-sessions.md +1 -0
  164. package/docs/examples/account/delete.md +1 -0
  165. package/docs/examples/account/get-mfa-recovery-codes.md +1 -0
  166. package/docs/examples/account/get-prefs.md +1 -0
  167. package/docs/examples/account/get-session.md +2 -0
  168. package/docs/examples/account/get.md +1 -0
  169. package/docs/examples/account/list-identities.md +1 -0
  170. package/docs/examples/account/list-logs.md +1 -0
  171. package/docs/examples/account/list-mfa-factors.md +1 -0
  172. package/docs/examples/account/list-sessions.md +1 -0
  173. package/docs/examples/account/update-email-verification.md +3 -0
  174. package/docs/examples/account/update-email.md +3 -0
  175. package/docs/examples/account/update-magic-url-session.md +3 -0
  176. package/docs/examples/account/update-mfa-authenticator.md +3 -0
  177. package/docs/examples/account/update-mfa-challenge.md +3 -0
  178. package/docs/examples/account/update-mfa-recovery-codes.md +1 -0
  179. package/docs/examples/account/update-mfa.md +2 -0
  180. package/docs/examples/account/update-name.md +2 -0
  181. package/docs/examples/account/update-password.md +2 -0
  182. package/docs/examples/account/update-phone-session.md +3 -0
  183. package/docs/examples/account/update-phone-verification.md +3 -0
  184. package/docs/examples/account/update-phone.md +3 -0
  185. package/docs/examples/account/update-prefs.md +2 -0
  186. package/docs/examples/account/update-push-target.md +3 -0
  187. package/docs/examples/account/update-recovery.md +4 -0
  188. package/docs/examples/account/update-session.md +2 -0
  189. package/docs/examples/account/update-status.md +1 -0
  190. package/docs/examples/account/update-verification.md +3 -0
  191. package/docs/examples/console/get-resource.md +3 -0
  192. package/docs/examples/console/variables.md +1 -0
  193. package/docs/examples/databases/create-boolean-attribute.md +5 -0
  194. package/docs/examples/databases/create-collection.md +4 -0
  195. package/docs/examples/databases/create-datetime-attribute.md +5 -0
  196. package/docs/examples/databases/create-document.md +5 -0
  197. package/docs/examples/databases/create-documents.md +4 -0
  198. package/docs/examples/databases/create-email-attribute.md +5 -0
  199. package/docs/examples/databases/create-enum-attribute.md +6 -0
  200. package/docs/examples/databases/create-float-attribute.md +5 -0
  201. package/docs/examples/databases/create-index.md +6 -0
  202. package/docs/examples/databases/create-integer-attribute.md +5 -0
  203. package/docs/examples/databases/create-ip-attribute.md +5 -0
  204. package/docs/examples/databases/create-line-attribute.md +5 -0
  205. package/docs/examples/databases/create-operations.md +2 -0
  206. package/docs/examples/databases/create-point-attribute.md +5 -0
  207. package/docs/examples/databases/create-polygon-attribute.md +5 -0
  208. package/docs/examples/databases/create-relationship-attribute.md +5 -0
  209. package/docs/examples/databases/create-string-attribute.md +6 -0
  210. package/docs/examples/databases/create-transaction.md +1 -0
  211. package/docs/examples/databases/create-url-attribute.md +5 -0
  212. package/docs/examples/databases/create.md +3 -0
  213. package/docs/examples/databases/decrement-document-attribute.md +5 -0
  214. package/docs/examples/databases/delete-attribute.md +4 -0
  215. package/docs/examples/databases/delete-collection.md +3 -0
  216. package/docs/examples/databases/delete-document.md +4 -0
  217. package/docs/examples/databases/delete-documents.md +3 -0
  218. package/docs/examples/databases/delete-index.md +4 -0
  219. package/docs/examples/databases/delete-transaction.md +2 -0
  220. package/docs/examples/databases/delete.md +2 -0
  221. package/docs/examples/databases/get-attribute.md +4 -0
  222. package/docs/examples/databases/get-collection-usage.md +3 -0
  223. package/docs/examples/databases/get-collection.md +3 -0
  224. package/docs/examples/databases/get-document.md +4 -0
  225. package/docs/examples/databases/get-index.md +4 -0
  226. package/docs/examples/databases/get-transaction.md +2 -0
  227. package/docs/examples/databases/get-usage.md +2 -0
  228. package/docs/examples/databases/get.md +2 -0
  229. package/docs/examples/databases/increment-document-attribute.md +5 -0
  230. package/docs/examples/databases/list-attributes.md +3 -0
  231. package/docs/examples/databases/list-collection-logs.md +3 -0
  232. package/docs/examples/databases/list-collections.md +2 -0
  233. package/docs/examples/databases/list-document-logs.md +4 -0
  234. package/docs/examples/databases/list-documents.md +3 -0
  235. package/docs/examples/databases/list-indexes.md +3 -0
  236. package/docs/examples/databases/list-logs.md +2 -0
  237. package/docs/examples/databases/list-transactions.md +1 -0
  238. package/docs/examples/databases/list-usage.md +1 -0
  239. package/docs/examples/databases/list.md +1 -0
  240. package/docs/examples/databases/update-boolean-attribute.md +6 -0
  241. package/docs/examples/databases/update-collection.md +4 -0
  242. package/docs/examples/databases/update-datetime-attribute.md +6 -0
  243. package/docs/examples/databases/update-document.md +4 -0
  244. package/docs/examples/databases/update-documents.md +3 -0
  245. package/docs/examples/databases/update-email-attribute.md +6 -0
  246. package/docs/examples/databases/update-enum-attribute.md +7 -0
  247. package/docs/examples/databases/update-float-attribute.md +6 -0
  248. package/docs/examples/databases/update-integer-attribute.md +6 -0
  249. package/docs/examples/databases/update-ip-attribute.md +6 -0
  250. package/docs/examples/databases/update-line-attribute.md +5 -0
  251. package/docs/examples/databases/update-point-attribute.md +5 -0
  252. package/docs/examples/databases/update-polygon-attribute.md +5 -0
  253. package/docs/examples/databases/update-relationship-attribute.md +4 -0
  254. package/docs/examples/databases/update-string-attribute.md +6 -0
  255. package/docs/examples/databases/update-transaction.md +2 -0
  256. package/docs/examples/databases/update-url-attribute.md +6 -0
  257. package/docs/examples/databases/update.md +3 -0
  258. package/docs/examples/databases/upsert-document.md +4 -0
  259. package/docs/examples/databases/upsert-documents.md +4 -0
  260. package/docs/examples/functions/create-deployment.md +4 -0
  261. package/docs/examples/functions/create-duplicate-deployment.md +3 -0
  262. package/docs/examples/functions/create-execution.md +2 -0
  263. package/docs/examples/functions/create-template-deployment.md +7 -0
  264. package/docs/examples/functions/create-variable.md +4 -0
  265. package/docs/examples/functions/create-vcs-deployment.md +4 -0
  266. package/docs/examples/functions/create.md +4 -0
  267. package/docs/examples/functions/delete-deployment.md +3 -0
  268. package/docs/examples/functions/delete-execution.md +3 -0
  269. package/docs/examples/functions/delete-variable.md +3 -0
  270. package/docs/examples/functions/delete.md +2 -0
  271. package/docs/examples/functions/get-deployment-download.md +3 -0
  272. package/docs/examples/functions/get-deployment.md +3 -0
  273. package/docs/examples/functions/get-execution.md +3 -0
  274. package/docs/examples/functions/get-template.md +2 -0
  275. package/docs/examples/functions/get-usage.md +2 -0
  276. package/docs/examples/functions/get-variable.md +3 -0
  277. package/docs/examples/functions/get.md +2 -0
  278. package/docs/examples/functions/list-deployments.md +2 -0
  279. package/docs/examples/functions/list-executions.md +2 -0
  280. package/docs/examples/functions/list-runtimes.md +1 -0
  281. package/docs/examples/functions/list-specifications.md +1 -0
  282. package/docs/examples/functions/list-templates.md +1 -0
  283. package/docs/examples/functions/list-usage.md +1 -0
  284. package/docs/examples/functions/list-variables.md +2 -0
  285. package/docs/examples/functions/list.md +1 -0
  286. package/docs/examples/functions/update-deployment-status.md +3 -0
  287. package/docs/examples/functions/update-function-deployment.md +3 -0
  288. package/docs/examples/functions/update-variable.md +4 -0
  289. package/docs/examples/functions/update.md +3 -0
  290. package/docs/examples/graphql/mutation.md +2 -0
  291. package/docs/examples/graphql/query.md +2 -0
  292. package/docs/examples/health/get-antivirus.md +1 -0
  293. package/docs/examples/health/get-cache.md +1 -0
  294. package/docs/examples/health/get-certificate.md +1 -0
  295. package/docs/examples/health/get-db.md +1 -0
  296. package/docs/examples/health/get-failed-jobs.md +2 -0
  297. package/docs/examples/health/get-pub-sub.md +1 -0
  298. package/docs/examples/health/get-queue-builds.md +1 -0
  299. package/docs/examples/health/get-queue-certificates.md +1 -0
  300. package/docs/examples/health/get-queue-databases.md +1 -0
  301. package/docs/examples/health/get-queue-deletes.md +1 -0
  302. package/docs/examples/health/get-queue-functions.md +1 -0
  303. package/docs/examples/health/get-queue-logs.md +1 -0
  304. package/docs/examples/health/get-queue-mails.md +1 -0
  305. package/docs/examples/health/get-queue-messaging.md +1 -0
  306. package/docs/examples/health/get-queue-migrations.md +1 -0
  307. package/docs/examples/health/get-queue-stats-resources.md +1 -0
  308. package/docs/examples/health/get-queue-usage.md +1 -0
  309. package/docs/examples/health/get-queue-webhooks.md +1 -0
  310. package/docs/examples/health/get-storage-local.md +1 -0
  311. package/docs/examples/health/get-storage.md +1 -0
  312. package/docs/examples/health/get-time.md +1 -0
  313. package/docs/examples/health/get.md +1 -0
  314. package/docs/examples/locale/get.md +1 -0
  315. package/docs/examples/locale/list-codes.md +1 -0
  316. package/docs/examples/locale/list-continents.md +1 -0
  317. package/docs/examples/locale/list-countries-eu.md +1 -0
  318. package/docs/examples/locale/list-countries-phones.md +1 -0
  319. package/docs/examples/locale/list-countries.md +1 -0
  320. package/docs/examples/locale/list-currencies.md +1 -0
  321. package/docs/examples/locale/list-languages.md +1 -0
  322. package/docs/examples/messaging/create-apns-provider.md +3 -0
  323. package/docs/examples/messaging/create-email.md +4 -0
  324. package/docs/examples/messaging/create-fcm-provider.md +3 -0
  325. package/docs/examples/messaging/create-mailgun-provider.md +3 -0
  326. package/docs/examples/messaging/create-msg-91-provider.md +3 -0
  327. package/docs/examples/messaging/create-push.md +2 -0
  328. package/docs/examples/messaging/create-resend-provider.md +3 -0
  329. package/docs/examples/messaging/create-sendgrid-provider.md +3 -0
  330. package/docs/examples/messaging/create-sms.md +3 -0
  331. package/docs/examples/messaging/create-smtp-provider.md +4 -0
  332. package/docs/examples/messaging/create-subscriber.md +4 -0
  333. package/docs/examples/messaging/create-telesign-provider.md +3 -0
  334. package/docs/examples/messaging/create-textmagic-provider.md +3 -0
  335. package/docs/examples/messaging/create-topic.md +3 -0
  336. package/docs/examples/messaging/create-twilio-provider.md +3 -0
  337. package/docs/examples/messaging/create-vonage-provider.md +3 -0
  338. package/docs/examples/messaging/delete-provider.md +2 -0
  339. package/docs/examples/messaging/delete-subscriber.md +3 -0
  340. package/docs/examples/messaging/delete-topic.md +2 -0
  341. package/docs/examples/messaging/delete.md +2 -0
  342. package/docs/examples/messaging/get-message.md +2 -0
  343. package/docs/examples/messaging/get-provider.md +2 -0
  344. package/docs/examples/messaging/get-subscriber.md +3 -0
  345. package/docs/examples/messaging/get-topic.md +2 -0
  346. package/docs/examples/messaging/list-message-logs.md +2 -0
  347. package/docs/examples/messaging/list-messages.md +1 -0
  348. package/docs/examples/messaging/list-provider-logs.md +2 -0
  349. package/docs/examples/messaging/list-providers.md +1 -0
  350. package/docs/examples/messaging/list-subscriber-logs.md +2 -0
  351. package/docs/examples/messaging/list-subscribers.md +2 -0
  352. package/docs/examples/messaging/list-targets.md +2 -0
  353. package/docs/examples/messaging/list-topic-logs.md +2 -0
  354. package/docs/examples/messaging/list-topics.md +1 -0
  355. package/docs/examples/messaging/update-apns-provider.md +2 -0
  356. package/docs/examples/messaging/update-email.md +2 -0
  357. package/docs/examples/messaging/update-fcm-provider.md +2 -0
  358. package/docs/examples/messaging/update-mailgun-provider.md +2 -0
  359. package/docs/examples/messaging/update-msg-91-provider.md +2 -0
  360. package/docs/examples/messaging/update-push.md +2 -0
  361. package/docs/examples/messaging/update-resend-provider.md +2 -0
  362. package/docs/examples/messaging/update-sendgrid-provider.md +2 -0
  363. package/docs/examples/messaging/update-sms.md +2 -0
  364. package/docs/examples/messaging/update-smtp-provider.md +2 -0
  365. package/docs/examples/messaging/update-telesign-provider.md +2 -0
  366. package/docs/examples/messaging/update-textmagic-provider.md +2 -0
  367. package/docs/examples/messaging/update-topic.md +2 -0
  368. package/docs/examples/messaging/update-twilio-provider.md +2 -0
  369. package/docs/examples/messaging/update-vonage-provider.md +2 -0
  370. package/docs/examples/migrations/create-appwrite-migration.md +5 -0
  371. package/docs/examples/migrations/create-csv-export.md +3 -0
  372. package/docs/examples/migrations/create-csv-import.md +4 -0
  373. package/docs/examples/migrations/create-firebase-migration.md +3 -0
  374. package/docs/examples/migrations/create-n-host-migration.md +8 -0
  375. package/docs/examples/migrations/create-supabase-migration.md +7 -0
  376. package/docs/examples/migrations/delete.md +2 -0
  377. package/docs/examples/migrations/get-appwrite-report.md +5 -0
  378. package/docs/examples/migrations/get-firebase-report.md +3 -0
  379. package/docs/examples/migrations/get-n-host-report.md +8 -0
  380. package/docs/examples/migrations/get-supabase-report.md +7 -0
  381. package/docs/examples/migrations/get.md +2 -0
  382. package/docs/examples/migrations/list.md +1 -0
  383. package/docs/examples/migrations/retry.md +2 -0
  384. package/docs/examples/project/create-variable.md +3 -0
  385. package/docs/examples/project/delete-variable.md +2 -0
  386. package/docs/examples/project/get-usage.md +3 -0
  387. package/docs/examples/project/get-variable.md +2 -0
  388. package/docs/examples/project/list-variables.md +1 -0
  389. package/docs/examples/project/update-variable.md +3 -0
  390. package/docs/examples/projects/create-dev-key.md +4 -0
  391. package/docs/examples/projects/create-jwt.md +3 -0
  392. package/docs/examples/projects/create-key.md +4 -0
  393. package/docs/examples/projects/create-platform.md +4 -0
  394. package/docs/examples/projects/create-smtp-test.md +6 -0
  395. package/docs/examples/projects/create-webhook.md +6 -0
  396. package/docs/examples/projects/create.md +4 -0
  397. package/docs/examples/projects/delete-dev-key.md +3 -0
  398. package/docs/examples/projects/delete-email-template.md +4 -0
  399. package/docs/examples/projects/delete-key.md +3 -0
  400. package/docs/examples/projects/delete-platform.md +3 -0
  401. package/docs/examples/projects/delete-sms-template.md +4 -0
  402. package/docs/examples/projects/delete-webhook.md +3 -0
  403. package/docs/examples/projects/delete.md +2 -0
  404. package/docs/examples/projects/get-dev-key.md +3 -0
  405. package/docs/examples/projects/get-email-template.md +4 -0
  406. package/docs/examples/projects/get-key.md +3 -0
  407. package/docs/examples/projects/get-platform.md +3 -0
  408. package/docs/examples/projects/get-sms-template.md +4 -0
  409. package/docs/examples/projects/get-webhook.md +3 -0
  410. package/docs/examples/projects/get.md +2 -0
  411. package/docs/examples/projects/list-dev-keys.md +2 -0
  412. package/docs/examples/projects/list-keys.md +2 -0
  413. package/docs/examples/projects/list-platforms.md +2 -0
  414. package/docs/examples/projects/list-webhooks.md +2 -0
  415. package/docs/examples/projects/list.md +1 -0
  416. package/docs/examples/projects/update-api-status-all.md +3 -0
  417. package/docs/examples/projects/update-api-status.md +4 -0
  418. package/docs/examples/projects/update-auth-duration.md +3 -0
  419. package/docs/examples/projects/update-auth-limit.md +3 -0
  420. package/docs/examples/projects/update-auth-password-dictionary.md +3 -0
  421. package/docs/examples/projects/update-auth-password-history.md +3 -0
  422. package/docs/examples/projects/update-auth-sessions-limit.md +3 -0
  423. package/docs/examples/projects/update-auth-status.md +4 -0
  424. package/docs/examples/projects/update-dev-key.md +5 -0
  425. package/docs/examples/projects/update-email-template.md +6 -0
  426. package/docs/examples/projects/update-key.md +5 -0
  427. package/docs/examples/projects/update-labels.md +3 -0
  428. package/docs/examples/projects/update-memberships-privacy.md +5 -0
  429. package/docs/examples/projects/update-mock-numbers.md +3 -0
  430. package/docs/examples/projects/update-o-auth-2.md +3 -0
  431. package/docs/examples/projects/update-personal-data-check.md +3 -0
  432. package/docs/examples/projects/update-platform.md +4 -0
  433. package/docs/examples/projects/update-service-status-all.md +3 -0
  434. package/docs/examples/projects/update-service-status.md +4 -0
  435. package/docs/examples/projects/update-session-alerts.md +3 -0
  436. package/docs/examples/projects/update-session-invalidation.md +3 -0
  437. package/docs/examples/projects/update-sms-template.md +5 -0
  438. package/docs/examples/projects/update-smtp.md +3 -0
  439. package/docs/examples/projects/update-team.md +3 -0
  440. package/docs/examples/projects/update-webhook-signature.md +3 -0
  441. package/docs/examples/projects/update-webhook.md +7 -0
  442. package/docs/examples/projects/update.md +3 -0
  443. package/docs/examples/proxy/create-api-rule.md +2 -0
  444. package/docs/examples/proxy/create-function-rule.md +3 -0
  445. package/docs/examples/proxy/create-redirect-rule.md +6 -0
  446. package/docs/examples/proxy/create-site-rule.md +3 -0
  447. package/docs/examples/proxy/delete-rule.md +2 -0
  448. package/docs/examples/proxy/get-rule.md +2 -0
  449. package/docs/examples/proxy/list-rules.md +1 -0
  450. package/docs/examples/proxy/update-rule-verification.md +2 -0
  451. package/docs/examples/sites/create-deployment.md +4 -0
  452. package/docs/examples/sites/create-duplicate-deployment.md +3 -0
  453. package/docs/examples/sites/create-template-deployment.md +7 -0
  454. package/docs/examples/sites/create-variable.md +4 -0
  455. package/docs/examples/sites/create-vcs-deployment.md +4 -0
  456. package/docs/examples/sites/create.md +5 -0
  457. package/docs/examples/sites/delete-deployment.md +3 -0
  458. package/docs/examples/sites/delete-log.md +3 -0
  459. package/docs/examples/sites/delete-variable.md +3 -0
  460. package/docs/examples/sites/delete.md +2 -0
  461. package/docs/examples/sites/get-deployment-download.md +3 -0
  462. package/docs/examples/sites/get-deployment.md +3 -0
  463. package/docs/examples/sites/get-log.md +3 -0
  464. package/docs/examples/sites/get-template.md +2 -0
  465. package/docs/examples/sites/get-usage.md +2 -0
  466. package/docs/examples/sites/get-variable.md +3 -0
  467. package/docs/examples/sites/get.md +2 -0
  468. package/docs/examples/sites/list-deployments.md +2 -0
  469. package/docs/examples/sites/list-frameworks.md +1 -0
  470. package/docs/examples/sites/list-logs.md +2 -0
  471. package/docs/examples/sites/list-specifications.md +1 -0
  472. package/docs/examples/sites/list-templates.md +1 -0
  473. package/docs/examples/sites/list-usage.md +1 -0
  474. package/docs/examples/sites/list-variables.md +2 -0
  475. package/docs/examples/sites/list.md +1 -0
  476. package/docs/examples/sites/update-deployment-status.md +3 -0
  477. package/docs/examples/sites/update-site-deployment.md +3 -0
  478. package/docs/examples/sites/update-variable.md +4 -0
  479. package/docs/examples/sites/update.md +4 -0
  480. package/docs/examples/storage/create-bucket.md +3 -0
  481. package/docs/examples/storage/create-file.md +4 -0
  482. package/docs/examples/storage/delete-bucket.md +2 -0
  483. package/docs/examples/storage/delete-file.md +3 -0
  484. package/docs/examples/storage/get-bucket-usage.md +2 -0
  485. package/docs/examples/storage/get-bucket.md +2 -0
  486. package/docs/examples/storage/get-file-download.md +3 -0
  487. package/docs/examples/storage/get-file-preview.md +3 -0
  488. package/docs/examples/storage/get-file-view.md +3 -0
  489. package/docs/examples/storage/get-file.md +3 -0
  490. package/docs/examples/storage/get-usage.md +1 -0
  491. package/docs/examples/storage/list-buckets.md +1 -0
  492. package/docs/examples/storage/list-files.md +2 -0
  493. package/docs/examples/storage/update-bucket.md +3 -0
  494. package/docs/examples/storage/update-file.md +3 -0
  495. package/docs/examples/tablesdb/create-boolean-column.md +5 -0
  496. package/docs/examples/tablesdb/create-datetime-column.md +5 -0
  497. package/docs/examples/tablesdb/create-email-column.md +5 -0
  498. package/docs/examples/tablesdb/create-enum-column.md +6 -0
  499. package/docs/examples/tablesdb/create-float-column.md +5 -0
  500. package/docs/examples/tablesdb/create-index.md +6 -0
  501. package/docs/examples/tablesdb/create-integer-column.md +5 -0
  502. package/docs/examples/tablesdb/create-ip-column.md +5 -0
  503. package/docs/examples/tablesdb/create-line-column.md +5 -0
  504. package/docs/examples/tablesdb/create-operations.md +2 -0
  505. package/docs/examples/tablesdb/create-point-column.md +5 -0
  506. package/docs/examples/tablesdb/create-polygon-column.md +5 -0
  507. package/docs/examples/tablesdb/create-relationship-column.md +5 -0
  508. package/docs/examples/tablesdb/create-row.md +5 -0
  509. package/docs/examples/tablesdb/create-rows.md +4 -0
  510. package/docs/examples/tablesdb/create-string-column.md +6 -0
  511. package/docs/examples/tablesdb/create-table.md +4 -0
  512. package/docs/examples/tablesdb/create-transaction.md +1 -0
  513. package/docs/examples/tablesdb/create-url-column.md +5 -0
  514. package/docs/examples/tablesdb/create.md +3 -0
  515. package/docs/examples/tablesdb/decrement-row-column.md +5 -0
  516. package/docs/examples/tablesdb/delete-column.md +4 -0
  517. package/docs/examples/tablesdb/delete-index.md +4 -0
  518. package/docs/examples/tablesdb/delete-row.md +4 -0
  519. package/docs/examples/tablesdb/delete-rows.md +3 -0
  520. package/docs/examples/tablesdb/delete-table.md +3 -0
  521. package/docs/examples/tablesdb/delete-transaction.md +2 -0
  522. package/docs/examples/tablesdb/delete.md +2 -0
  523. package/docs/examples/tablesdb/get-column.md +4 -0
  524. package/docs/examples/tablesdb/get-index.md +4 -0
  525. package/docs/examples/tablesdb/get-row.md +4 -0
  526. package/docs/examples/tablesdb/get-table-usage.md +3 -0
  527. package/docs/examples/tablesdb/get-table.md +3 -0
  528. package/docs/examples/tablesdb/get-transaction.md +2 -0
  529. package/docs/examples/tablesdb/get-usage.md +2 -0
  530. package/docs/examples/tablesdb/get.md +2 -0
  531. package/docs/examples/tablesdb/increment-row-column.md +5 -0
  532. package/docs/examples/tablesdb/list-columns.md +3 -0
  533. package/docs/examples/tablesdb/list-indexes.md +3 -0
  534. package/docs/examples/tablesdb/list-row-logs.md +4 -0
  535. package/docs/examples/tablesdb/list-rows.md +3 -0
  536. package/docs/examples/tablesdb/list-table-logs.md +3 -0
  537. package/docs/examples/tablesdb/list-tables.md +2 -0
  538. package/docs/examples/tablesdb/list-transactions.md +1 -0
  539. package/docs/examples/tablesdb/list-usage.md +1 -0
  540. package/docs/examples/tablesdb/list.md +1 -0
  541. package/docs/examples/tablesdb/update-boolean-column.md +6 -0
  542. package/docs/examples/tablesdb/update-datetime-column.md +6 -0
  543. package/docs/examples/tablesdb/update-email-column.md +6 -0
  544. package/docs/examples/tablesdb/update-enum-column.md +7 -0
  545. package/docs/examples/tablesdb/update-float-column.md +6 -0
  546. package/docs/examples/tablesdb/update-integer-column.md +6 -0
  547. package/docs/examples/tablesdb/update-ip-column.md +6 -0
  548. package/docs/examples/tablesdb/update-line-column.md +5 -0
  549. package/docs/examples/tablesdb/update-point-column.md +5 -0
  550. package/docs/examples/tablesdb/update-polygon-column.md +5 -0
  551. package/docs/examples/tablesdb/update-relationship-column.md +4 -0
  552. package/docs/examples/tablesdb/update-row.md +4 -0
  553. package/docs/examples/tablesdb/update-rows.md +3 -0
  554. package/docs/examples/tablesdb/update-string-column.md +6 -0
  555. package/docs/examples/tablesdb/update-table.md +4 -0
  556. package/docs/examples/tablesdb/update-transaction.md +2 -0
  557. package/docs/examples/tablesdb/update-url-column.md +6 -0
  558. package/docs/examples/tablesdb/update.md +3 -0
  559. package/docs/examples/tablesdb/upsert-row.md +4 -0
  560. package/docs/examples/tablesdb/upsert-rows.md +4 -0
  561. package/docs/examples/teams/create-membership.md +3 -0
  562. package/docs/examples/teams/create.md +3 -0
  563. package/docs/examples/teams/delete-membership.md +3 -0
  564. package/docs/examples/teams/delete.md +2 -0
  565. package/docs/examples/teams/get-membership.md +3 -0
  566. package/docs/examples/teams/get-prefs.md +2 -0
  567. package/docs/examples/teams/get.md +2 -0
  568. package/docs/examples/teams/list-logs.md +2 -0
  569. package/docs/examples/teams/list-memberships.md +2 -0
  570. package/docs/examples/teams/list.md +1 -0
  571. package/docs/examples/teams/update-membership-status.md +5 -0
  572. package/docs/examples/teams/update-membership.md +4 -0
  573. package/docs/examples/teams/update-name.md +3 -0
  574. package/docs/examples/teams/update-prefs.md +3 -0
  575. package/docs/examples/tokens/create-file-token.md +3 -0
  576. package/docs/examples/tokens/delete.md +2 -0
  577. package/docs/examples/tokens/get.md +2 -0
  578. package/docs/examples/tokens/list.md +3 -0
  579. package/docs/examples/tokens/update.md +2 -0
  580. package/docs/examples/users/create-argon-2-user.md +4 -0
  581. package/docs/examples/users/create-bcrypt-user.md +4 -0
  582. package/docs/examples/users/create-jwt.md +2 -0
  583. package/docs/examples/users/create-md-5-user.md +4 -0
  584. package/docs/examples/users/create-mfa-recovery-codes.md +2 -0
  585. package/docs/examples/users/create-ph-pass-user.md +4 -0
  586. package/docs/examples/users/create-scrypt-modified-user.md +7 -0
  587. package/docs/examples/users/create-scrypt-user.md +9 -0
  588. package/docs/examples/users/create-session.md +2 -0
  589. package/docs/examples/users/create-sha-user.md +4 -0
  590. package/docs/examples/users/create-target.md +5 -0
  591. package/docs/examples/users/create-token.md +2 -0
  592. package/docs/examples/users/create.md +2 -0
  593. package/docs/examples/users/delete-identity.md +2 -0
  594. package/docs/examples/users/delete-mfa-authenticator.md +3 -0
  595. package/docs/examples/users/delete-session.md +3 -0
  596. package/docs/examples/users/delete-sessions.md +2 -0
  597. package/docs/examples/users/delete-target.md +3 -0
  598. package/docs/examples/users/delete.md +2 -0
  599. package/docs/examples/users/get-mfa-recovery-codes.md +2 -0
  600. package/docs/examples/users/get-prefs.md +2 -0
  601. package/docs/examples/users/get-target.md +3 -0
  602. package/docs/examples/users/get-usage.md +1 -0
  603. package/docs/examples/users/get.md +2 -0
  604. package/docs/examples/users/list-identities.md +1 -0
  605. package/docs/examples/users/list-logs.md +2 -0
  606. package/docs/examples/users/list-memberships.md +2 -0
  607. package/docs/examples/users/list-mfa-factors.md +2 -0
  608. package/docs/examples/users/list-sessions.md +2 -0
  609. package/docs/examples/users/list-targets.md +2 -0
  610. package/docs/examples/users/list.md +1 -0
  611. package/docs/examples/users/update-email-verification.md +3 -0
  612. package/docs/examples/users/update-email.md +3 -0
  613. package/docs/examples/users/update-labels.md +3 -0
  614. package/docs/examples/users/update-mfa-recovery-codes.md +2 -0
  615. package/docs/examples/users/update-mfa.md +3 -0
  616. package/docs/examples/users/update-name.md +3 -0
  617. package/docs/examples/users/update-password.md +3 -0
  618. package/docs/examples/users/update-phone-verification.md +3 -0
  619. package/docs/examples/users/update-phone.md +3 -0
  620. package/docs/examples/users/update-prefs.md +3 -0
  621. package/docs/examples/users/update-status.md +3 -0
  622. package/docs/examples/users/update-target.md +3 -0
  623. package/docs/examples/vcs/create-repository-detection.md +4 -0
  624. package/docs/examples/vcs/create-repository.md +4 -0
  625. package/docs/examples/vcs/delete-installation.md +2 -0
  626. package/docs/examples/vcs/get-installation.md +2 -0
  627. package/docs/examples/vcs/get-repository-contents.md +3 -0
  628. package/docs/examples/vcs/get-repository.md +3 -0
  629. package/docs/examples/vcs/list-installations.md +1 -0
  630. package/docs/examples/vcs/list-repositories.md +3 -0
  631. package/docs/examples/vcs/list-repository-branches.md +3 -0
  632. package/docs/examples/vcs/update-external-deployments.md +4 -0
  633. package/install.ps1 +3 -3
  634. package/install.sh +3 -3
  635. package/lib/client.ts +15 -7
  636. package/lib/commands/config.ts +22 -6
  637. package/lib/commands/generate.ts +76 -0
  638. package/lib/commands/generators/databases.ts +508 -0
  639. package/lib/commands/init.ts +25 -14
  640. package/lib/commands/pull.ts +245 -193
  641. package/lib/commands/push.ts +336 -130
  642. package/lib/commands/run.ts +1 -1
  643. package/lib/commands/schema.ts +30 -11
  644. package/lib/commands/services/account.ts +200 -385
  645. package/lib/commands/services/console.ts +13 -34
  646. package/lib/commands/services/databases.ts +298 -1215
  647. package/lib/commands/services/functions.ts +115 -434
  648. package/lib/commands/services/graphql.ts +5 -2
  649. package/lib/commands/services/health.ts +87 -149
  650. package/lib/commands/services/locale.ts +36 -33
  651. package/lib/commands/services/messaging.ts +180 -999
  652. package/lib/commands/services/migrations.ts +54 -226
  653. package/lib/commands/services/project.ts +19 -23
  654. package/lib/commands/services/projects.ts +194 -714
  655. package/lib/commands/services/proxy.ts +30 -58
  656. package/lib/commands/services/sites.ts +107 -379
  657. package/lib/commands/services/storage.ts +93 -302
  658. package/lib/commands/services/tables-db.ts +1150 -0
  659. package/lib/commands/services/teams.ts +48 -110
  660. package/lib/commands/services/tokens.ts +16 -28
  661. package/lib/commands/services/users.ts +133 -403
  662. package/lib/commands/services/vcs.ts +48 -151
  663. package/lib/commands/types.ts +1 -1
  664. package/lib/commands/update.ts +12 -11
  665. package/lib/commands/utils/attributes.ts +44 -53
  666. package/lib/commands/utils/deployment.ts +6 -2
  667. package/lib/commands/utils/pools.ts +7 -6
  668. package/lib/config.ts +51 -4
  669. package/lib/constants.ts +22 -0
  670. package/lib/emulation/docker.ts +97 -83
  671. package/lib/parser.ts +16 -11
  672. package/lib/questions.ts +36 -21
  673. package/lib/sdks.ts +15 -11
  674. package/lib/utils.ts +35 -4
  675. package/package.json +4 -4
  676. package/scoop/appwrite.config.json +29 -19
  677. package/.github/workflows/build-verify.yml +0 -71
  678. package/bun.lock +0 -627
  679. package/dist/lib/commands/db.d.ts +0 -34
  680. package/dist/lib/commands/db.d.ts.map +0 -1
  681. package/dist/lib/commands/db.js +0 -247
  682. package/dist/lib/commands/db.js.map +0 -1
  683. package/dist/lib/commands/services/avatars.d.ts +0 -3
  684. package/dist/lib/commands/services/avatars.d.ts.map +0 -1
  685. package/dist/lib/commands/services/avatars.js +0 -118
  686. package/dist/lib/commands/services/avatars.js.map +0 -1
  687. package/dist/lib/commands/services/tablesdb.d.ts +0 -3
  688. package/dist/lib/commands/services/tablesdb.d.ts.map +0 -1
  689. package/dist/lib/commands/services/tablesdb.js.map +0 -1
  690. package/dist/scripts/generate-commands.d.ts +0 -2
  691. package/dist/scripts/generate-commands.d.ts.map +0 -1
  692. package/dist/scripts/generate-commands.js +0 -398
  693. package/dist/scripts/generate-commands.js.map +0 -1
  694. package/dist/sites/profile-website/src/lib/utils.d.ts +0 -4
  695. package/dist/sites/profile-website/src/lib/utils.d.ts.map +0 -1
  696. package/dist/sites/profile-website/src/lib/utils.js +0 -32
  697. package/dist/sites/profile-website/src/lib/utils.js.map +0 -1
  698. package/dist/sites/profile-website/tailwind.config.d.ts +0 -3
  699. package/dist/sites/profile-website/tailwind.config.d.ts.map +0 -1
  700. package/dist/sites/profile-website/tailwind.config.js +0 -110
  701. package/dist/sites/profile-website/tailwind.config.js.map +0 -1
  702. package/dist/test.d.ts +0 -2
  703. package/dist/test.d.ts.map +0 -1
  704. package/dist/test.js +0 -38
  705. package/dist/test.js.map +0 -1
  706. package/lib/commands/db.ts +0 -324
  707. package/lib/commands/services/avatars.ts +0 -400
  708. package/lib/commands/services/tablesdb.ts +0 -1928
  709. package/scripts/generate-commands.ts +0 -539
@@ -3,10 +3,15 @@ import { sdkForProject } from "../../sdks.js";
3
3
  import {
4
4
  actionRunner,
5
5
  commandDescriptions,
6
+ success,
7
+ parse,
6
8
  parseBool,
7
9
  parseInteger,
8
10
  } from "../../parser.js";
9
- import { Vcs, VCSDetectionType } from "@appwrite.io/console";
11
+ import {
12
+ Vcs,
13
+ VCSDetectionType,
14
+ } from "@appwrite.io/console";
10
15
 
11
16
  let vcsClient: Vcs | null = null;
12
17
 
@@ -26,208 +31,103 @@ export const vcs = new Command("vcs")
26
31
 
27
32
  vcs
28
33
  .command(`create-repository-detection`)
29
- .description(
30
- `Analyze a GitHub repository to automatically detect the programming language and runtime environment. This endpoint scans the repository's files and language statistics to determine the appropriate runtime settings for your function. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.`,
31
- )
34
+ .description(`Analyze a GitHub repository to automatically detect the programming language and runtime environment. This endpoint scans the repository's files and language statistics to determine the appropriate runtime settings for your function. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.`)
32
35
  .requiredOption(`--installation-id <installation-id>`, `Installation Id`)
33
- .requiredOption(
34
- `--provider-repository-id <provider-repository-id>`,
35
- `Repository Id`,
36
- )
37
- .requiredOption(
38
- `--type <type>`,
39
- `Detector type. Must be one of the following: runtime, framework`,
40
- )
41
- .option(
42
- `--provider-root-directory <provider-root-directory>`,
43
- `Path to Root Directory`,
44
- )
36
+ .requiredOption(`--provider-repository-id <provider-repository-id>`, `Repository Id`)
37
+ .requiredOption(`--type <type>`, `Detector type. Must be one of the following: runtime, framework`)
38
+ .option(`--provider-root-directory <provider-root-directory>`, `Path to Root Directory`)
45
39
  .action(
46
40
  actionRunner(
47
- async ({
48
- installationId,
49
- providerRepositoryId,
50
- xType,
51
- providerRootDirectory,
52
- }) =>
53
- await (
54
- await getVcsClient()
55
- ).createRepositoryDetection(
56
- installationId,
57
- providerRepositoryId,
58
- xType as VCSDetectionType,
59
- providerRootDirectory,
60
- ),
41
+ async ({ installationId, providerRepositoryId, type, providerRootDirectory }) =>
42
+ parse(await (await getVcsClient()).createRepositoryDetection(installationId, providerRepositoryId, type as VCSDetectionType, providerRootDirectory)),
61
43
  ),
62
44
  );
63
45
 
64
46
  vcs
65
47
  .command(`list-repositories`)
66
- .description(
67
- `Get a list of GitHub repositories available through your installation. This endpoint returns repositories with their basic information, detected runtime environments, and latest push dates. You can optionally filter repositories using a search term. Each repository's runtime is automatically detected based on its contents and language statistics. The GitHub installation must be properly configured for this endpoint to work.`,
68
- )
48
+ .description(`Get a list of GitHub repositories available through your installation. This endpoint returns repositories with their basic information, detected runtime environments, and latest push dates. You can optionally filter repositories using a search term. Each repository's runtime is automatically detected based on its contents and language statistics. The GitHub installation must be properly configured for this endpoint to work.`)
69
49
  .requiredOption(`--installation-id <installation-id>`, `Installation Id`)
70
- .requiredOption(
71
- `--type <type>`,
72
- `Detector type. Must be one of the following: runtime, framework`,
73
- )
74
- .option(
75
- `--search <search>`,
76
- `Search term to filter your list results. Max length: 256 chars.`,
77
- )
78
- .option(
79
- `--queries [queries...]`,
80
- `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset`,
81
- )
50
+ .requiredOption(`--type <type>`, `Detector type. Must be one of the following: runtime, framework`)
51
+ .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
52
+ .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). Only supported methods are limit and offset`)
82
53
  .action(
83
54
  actionRunner(
84
- async ({ installationId, xType, search, queries }) =>
85
- await (
86
- await getVcsClient()
87
- ).listRepositories(
88
- installationId,
89
- xType as VCSDetectionType,
90
- search,
91
- queries,
92
- ),
55
+ async ({ installationId, type, search, queries }) =>
56
+ parse(await (await getVcsClient()).listRepositories(installationId, type as VCSDetectionType, search, queries)),
93
57
  ),
94
58
  );
95
59
 
96
60
  vcs
97
61
  .command(`create-repository`)
98
- .description(
99
- `Create a new GitHub repository through your installation. This endpoint allows you to create either a public or private repository by specifying a name and visibility setting. The repository will be created under your GitHub user account or organization, depending on your installation type. The GitHub installation must be properly configured and have the necessary permissions for repository creation.`,
100
- )
62
+ .description(`Create a new GitHub repository through your installation. This endpoint allows you to create either a public or private repository by specifying a name and visibility setting. The repository will be created under your GitHub user account or organization, depending on your installation type. The GitHub installation must be properly configured and have the necessary permissions for repository creation.`)
101
63
  .requiredOption(`--installation-id <installation-id>`, `Installation Id`)
102
64
  .requiredOption(`--name <name>`, `Repository name (slug)`)
103
- .requiredOption(
104
- `--private <private>`,
105
- `Mark repository public or private`,
106
- parseBool,
107
- )
65
+ .requiredOption(`--xprivate <xprivate>`, `Mark repository public or private`, parseBool)
108
66
  .action(
109
67
  actionRunner(
110
- async ({ installationId, name, xPrivate }) =>
111
- await (
112
- await getVcsClient()
113
- ).createRepository(installationId, name, xPrivate),
68
+ async ({ installationId, name, xprivate }) =>
69
+ parse(await (await getVcsClient()).createRepository(installationId, name, xprivate)),
114
70
  ),
115
71
  );
116
72
 
117
73
  vcs
118
74
  .command(`get-repository`)
119
- .description(
120
- `Get detailed information about a specific GitHub repository from your installation. This endpoint returns repository details including its ID, name, visibility status, organization, and latest push date. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.`,
121
- )
75
+ .description(`Get detailed information about a specific GitHub repository from your installation. This endpoint returns repository details including its ID, name, visibility status, organization, and latest push date. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.`)
122
76
  .requiredOption(`--installation-id <installation-id>`, `Installation Id`)
123
- .requiredOption(
124
- `--provider-repository-id <provider-repository-id>`,
125
- `Repository Id`,
126
- )
77
+ .requiredOption(`--provider-repository-id <provider-repository-id>`, `Repository Id`)
127
78
  .action(
128
79
  actionRunner(
129
80
  async ({ installationId, providerRepositoryId }) =>
130
- await (
131
- await getVcsClient()
132
- ).getRepository(installationId, providerRepositoryId),
81
+ parse(await (await getVcsClient()).getRepository(installationId, providerRepositoryId)),
133
82
  ),
134
83
  );
135
84
 
136
85
  vcs
137
86
  .command(`list-repository-branches`)
138
- .description(
139
- `Get a list of all branches from a GitHub repository in your installation. This endpoint returns the names of all branches in the repository and their total count. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.
140
- `,
141
- )
87
+ .description(`Get a list of all branches from a GitHub repository in your installation. This endpoint returns the names of all branches in the repository and their total count. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.
88
+ `)
142
89
  .requiredOption(`--installation-id <installation-id>`, `Installation Id`)
143
- .requiredOption(
144
- `--provider-repository-id <provider-repository-id>`,
145
- `Repository Id`,
146
- )
90
+ .requiredOption(`--provider-repository-id <provider-repository-id>`, `Repository Id`)
147
91
  .action(
148
92
  actionRunner(
149
93
  async ({ installationId, providerRepositoryId }) =>
150
- await (
151
- await getVcsClient()
152
- ).listRepositoryBranches(installationId, providerRepositoryId),
94
+ parse(await (await getVcsClient()).listRepositoryBranches(installationId, providerRepositoryId)),
153
95
  ),
154
96
  );
155
97
 
156
98
  vcs
157
99
  .command(`get-repository-contents`)
158
- .description(
159
- `Get a list of files and directories from a GitHub repository connected to your project. This endpoint returns the contents of a specified repository path, including file names, sizes, and whether each item is a file or directory. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.`,
160
- )
100
+ .description(`Get a list of files and directories from a GitHub repository connected to your project. This endpoint returns the contents of a specified repository path, including file names, sizes, and whether each item is a file or directory. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.`)
161
101
  .requiredOption(`--installation-id <installation-id>`, `Installation Id`)
162
- .requiredOption(
163
- `--provider-repository-id <provider-repository-id>`,
164
- `Repository Id`,
165
- )
166
- .option(
167
- `--provider-root-directory <provider-root-directory>`,
168
- `Path to get contents of nested directory`,
169
- )
170
- .option(
171
- `--provider-reference <provider-reference>`,
172
- `Git reference (branch, tag, commit) to get contents from`,
173
- )
102
+ .requiredOption(`--provider-repository-id <provider-repository-id>`, `Repository Id`)
103
+ .option(`--provider-root-directory <provider-root-directory>`, `Path to get contents of nested directory`)
104
+ .option(`--provider-reference <provider-reference>`, `Git reference (branch, tag, commit) to get contents from`)
174
105
  .action(
175
106
  actionRunner(
176
- async ({
177
- installationId,
178
- providerRepositoryId,
179
- providerRootDirectory,
180
- providerReference,
181
- }) =>
182
- await (
183
- await getVcsClient()
184
- ).getRepositoryContents(
185
- installationId,
186
- providerRepositoryId,
187
- providerRootDirectory,
188
- providerReference,
189
- ),
107
+ async ({ installationId, providerRepositoryId, providerRootDirectory, providerReference }) =>
108
+ parse(await (await getVcsClient()).getRepositoryContents(installationId, providerRepositoryId, providerRootDirectory, providerReference)),
190
109
  ),
191
110
  );
192
111
 
193
112
  vcs
194
113
  .command(`update-external-deployments`)
195
- .description(
196
- `Authorize and create deployments for a GitHub pull request in your project. This endpoint allows external contributions by creating deployments from pull requests, enabling preview environments for code review. The pull request must be open and not previously authorized. The GitHub installation must be properly configured and have access to both the repository and pull request for this endpoint to work.`,
197
- )
114
+ .description(`Authorize and create deployments for a GitHub pull request in your project. This endpoint allows external contributions by creating deployments from pull requests, enabling preview environments for code review. The pull request must be open and not previously authorized. The GitHub installation must be properly configured and have access to both the repository and pull request for this endpoint to work.`)
198
115
  .requiredOption(`--installation-id <installation-id>`, `Installation Id`)
199
116
  .requiredOption(`--repository-id <repository-id>`, `VCS Repository Id`)
200
- .requiredOption(
201
- `--provider-pull-request-id <provider-pull-request-id>`,
202
- `GitHub Pull Request Id`,
203
- )
117
+ .requiredOption(`--provider-pull-request-id <provider-pull-request-id>`, `GitHub Pull Request Id`)
204
118
  .action(
205
119
  actionRunner(
206
120
  async ({ installationId, repositoryId, providerPullRequestId }) =>
207
- await (
208
- await getVcsClient()
209
- ).updateExternalDeployments(
210
- installationId,
211
- repositoryId,
212
- providerPullRequestId,
213
- ),
121
+ parse(await (await getVcsClient()).updateExternalDeployments(installationId, repositoryId, providerPullRequestId)),
214
122
  ),
215
123
  );
216
124
 
217
125
  vcs
218
126
  .command(`list-installations`)
219
- .description(
220
- `List all VCS installations configured for the current project. This endpoint returns a list of installations including their provider, organization, and other configuration details.
221
- `,
222
- )
223
- .option(
224
- `--queries [queries...]`,
225
- `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: provider, organization`,
226
- )
227
- .option(
228
- `--search <search>`,
229
- `Search term to filter your list results. Max length: 256 chars.`,
230
- )
127
+ .description(`List all VCS installations configured for the current project. This endpoint returns a list of installations including their provider, organization, and other configuration details.
128
+ `)
129
+ .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: provider, organization`)
130
+ .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
231
131
  .option(
232
132
  `--total [value]`,
233
133
  `When set to false, the total count returned will be 0 and will not be calculated.`,
@@ -237,32 +137,29 @@ vcs
237
137
  .action(
238
138
  actionRunner(
239
139
  async ({ queries, search, total }) =>
240
- await (await getVcsClient()).listInstallations(queries, search, total),
140
+ parse(await (await getVcsClient()).listInstallations(queries, search, total)),
241
141
  ),
242
142
  );
243
143
 
244
144
  vcs
245
145
  .command(`get-installation`)
246
- .description(
247
- `Get a VCS installation by its unique ID. This endpoint returns the installation's details including its provider, organization, and configuration. `,
248
- )
146
+ .description(`Get a VCS installation by its unique ID. This endpoint returns the installation's details including its provider, organization, and configuration. `)
249
147
  .requiredOption(`--installation-id <installation-id>`, `Installation Id`)
250
148
  .action(
251
149
  actionRunner(
252
150
  async ({ installationId }) =>
253
- await (await getVcsClient()).getInstallation(installationId),
151
+ parse(await (await getVcsClient()).getInstallation(installationId)),
254
152
  ),
255
153
  );
256
154
 
257
155
  vcs
258
156
  .command(`delete-installation`)
259
- .description(
260
- `Delete a VCS installation by its unique ID. This endpoint removes the installation and all its associated repositories from the project.`,
261
- )
157
+ .description(`Delete a VCS installation by its unique ID. This endpoint removes the installation and all its associated repositories from the project.`)
262
158
  .requiredOption(`--installation-id <installation-id>`, `Installation Id`)
263
159
  .action(
264
160
  actionRunner(
265
161
  async ({ installationId }) =>
266
- await (await getVcsClient()).deleteInstallation(installationId),
162
+ parse(await (await getVcsClient()).deleteInstallation(installationId)),
267
163
  ),
268
164
  );
165
+
@@ -217,4 +217,4 @@ export const types = new Command("types")
217
217
  .addArgument(typesOutputArgument)
218
218
  .addOption(typesLanguageOption)
219
219
  .addOption(typesStrictOption)
220
- .action(actionRunner(typesCommand));
220
+ .action(typesCommand);
@@ -4,6 +4,11 @@ import chalk from "chalk";
4
4
  import inquirer from "inquirer";
5
5
  import { success, log, warn, error, hint, actionRunner } from "../parser.js";
6
6
  import { getLatestVersion, compareVersions } from "../utils.js";
7
+ import {
8
+ GITHUB_RELEASES_URL,
9
+ NPM_PACKAGE_NAME,
10
+ SDK_TITLE,
11
+ } from "../constants.js";
7
12
  import packageJson from "../../package.json" with { type: "json" };
8
13
  const { version } = packageJson;
9
14
 
@@ -16,7 +21,7 @@ const isInstalledViaNpm = (): boolean => {
16
21
 
17
22
  if (
18
23
  scriptPath.includes("node_modules") &&
19
- scriptPath.includes("appwrite-cli")
24
+ scriptPath.includes(NPM_PACKAGE_NAME)
20
25
  ) {
21
26
  return true;
22
27
  }
@@ -85,7 +90,7 @@ const execCommand = (
85
90
  */
86
91
  const updateViaNpm = async (): Promise<void> => {
87
92
  try {
88
- await execCommand("npm", ["install", "-g", "appwrite-cli@latest"]);
93
+ await execCommand("npm", ["install", "-g", `${NPM_PACKAGE_NAME}@latest`]);
89
94
  console.log("");
90
95
  success("Updated to latest version via npm!");
91
96
  hint("Run 'appwrite --version' to verify the new version.");
@@ -100,7 +105,7 @@ const updateViaNpm = async (): Promise<void> => {
100
105
  } else {
101
106
  console.log("");
102
107
  error(`Failed to update via npm: ${e.message}`);
103
- hint("Try running: npm install -g appwrite-cli@latest --force");
108
+ hint(`Try running: npm install -g ${NPM_PACKAGE_NAME}@latest --force`);
104
109
  }
105
110
  }
106
111
  };
@@ -138,7 +143,7 @@ const showManualInstructions = (latestVersion: string): void => {
138
143
  console.log("");
139
144
 
140
145
  log(`${chalk.bold("Option 1: NPM")}`);
141
- console.log(` npm install -g appwrite-cli@latest`);
146
+ console.log(` npm install -g ${NPM_PACKAGE_NAME}@latest`);
142
147
  console.log("");
143
148
 
144
149
  log(`${chalk.bold("Option 2: Homebrew")}`);
@@ -146,9 +151,7 @@ const showManualInstructions = (latestVersion: string): void => {
146
151
  console.log("");
147
152
 
148
153
  log(`${chalk.bold("Option 3: Download Binary")}`);
149
- console.log(
150
- ` Visit: https://github.com/appwrite-cli/releases/tag/${latestVersion}`,
151
- );
154
+ console.log(` Visit: ${GITHUB_RELEASES_URL}/tag/${latestVersion}`);
152
155
  };
153
156
 
154
157
  /**
@@ -230,14 +233,12 @@ const updateCli = async ({ manual }: UpdateOptions = {}): Promise<void> => {
230
233
  } catch (e: any) {
231
234
  console.log("");
232
235
  error(`Failed to check for updates: ${e.message}`);
233
- hint(
234
- "You can manually check for updates at: https://github.com/appwrite-cli/releases",
235
- );
236
+ hint(`You can manually check for updates at: ${GITHUB_RELEASES_URL}`);
236
237
  }
237
238
  };
238
239
 
239
240
  export const update = new Command("update")
240
- .description("Update the Appwrite CLI to the latest version")
241
+ .description(`Update the ${SDK_TITLE} CLI to the latest version`)
241
242
  .option(
242
243
  "--manual",
243
244
  "Show manual update instructions instead of auto-updating",
@@ -1,7 +1,7 @@
1
1
  import chalk from "chalk";
2
2
  import { getDatabasesService } from "../../services.js";
3
3
  import { KeysAttributes } from "../../config.js";
4
- import { log, success, cliConfig, drawTable } from "../../parser.js";
4
+ import { log, success, error, cliConfig, drawTable } from "../../parser.js";
5
5
  import { Pools } from "./pools.js";
6
6
  import inquirer from "inquirer";
7
7
 
@@ -52,13 +52,15 @@ const questionPushChangesConfirmation = [
52
52
 
53
53
  export class Attributes {
54
54
  private pools: Pools;
55
+ private skipConfirmation: boolean;
55
56
 
56
- constructor(pools?: Pools) {
57
+ constructor(pools?: Pools, skipConfirmation = false) {
57
58
  this.pools = pools || new Pools();
59
+ this.skipConfirmation = skipConfirmation;
58
60
  }
59
61
 
60
62
  private getConfirmation = async (): Promise<boolean> => {
61
- if (cliConfig.force) {
63
+ if (cliConfig.force || this.skipConfirmation) {
62
64
  return true;
63
65
  }
64
66
 
@@ -92,33 +94,15 @@ export class Attributes {
92
94
 
93
95
  private isEqual = (a: any, b: any): boolean => {
94
96
  if (a === b) return true;
95
-
96
- if (a && b && typeof a === "object" && typeof b === "object") {
97
- if (
98
- a.constructor &&
99
- a.constructor.name === "BigNumber" &&
100
- b.constructor &&
101
- b.constructor.name === "BigNumber"
102
- ) {
103
- return a.eq(b);
104
- }
105
-
106
- if (typeof a.equals === "function") {
107
- return a.equals(b);
108
- }
109
-
110
- if (typeof a.eq === "function") {
111
- return a.eq(b);
112
- }
97
+ if (
98
+ typeof a === "object" &&
99
+ typeof b === "object" &&
100
+ a !== null &&
101
+ b !== null
102
+ ) {
103
+ return JSON.stringify(a) === JSON.stringify(b);
113
104
  }
114
-
115
- if (typeof a === "number" && typeof b === "number") {
116
- if (isNaN(a) && isNaN(b)) return true;
117
- if (!isFinite(a) && !isFinite(b)) return a === b;
118
- return Math.abs(a - b) < Number.EPSILON;
119
- }
120
-
121
- return false;
105
+ return String(a) === String(b);
122
106
  };
123
107
 
124
108
  private compareAttribute = (
@@ -607,15 +591,21 @@ export class Attributes {
607
591
 
608
592
  if (changes.length > 0) {
609
593
  changedAttributes = changes.map((change) => change.attribute);
610
- await Promise.all(
611
- changedAttributes.map((changed) =>
612
- this.updateAttribute(
613
- collection["databaseId"],
614
- collection["$id"],
615
- changed,
594
+ try {
595
+ await Promise.all(
596
+ changedAttributes.map((changed) =>
597
+ this.updateAttribute(
598
+ collection["databaseId"],
599
+ collection["$id"],
600
+ changed,
601
+ ),
616
602
  ),
617
- ),
618
- );
603
+ );
604
+ } catch (err) {
605
+ error(
606
+ `Error updating attribute for ${collection["$id"]}: ${String(err)}`,
607
+ );
608
+ }
619
609
  }
620
610
 
621
611
  const deletingAttributes = deleting.map((change) => change.attribute);
@@ -624,10 +614,9 @@ export class Attributes {
624
614
  this.deleteAttribute(collection, attribute, isIndex),
625
615
  ),
626
616
  );
627
- const attributeKeys = [
628
- ...remoteAttributes.map((attribute: any) => attribute.key),
629
- ...deletingAttributes.map((attribute: any) => attribute.key),
630
- ];
617
+ const attributeKeys = deletingAttributes.map(
618
+ (attribute: any) => attribute.key,
619
+ );
631
620
 
632
621
  if (attributeKeys.length) {
633
622
  const deleteAttributesPoolStatus =
@@ -655,14 +644,14 @@ export class Attributes {
655
644
 
656
645
  const databasesService = await getDatabasesService();
657
646
  for (let index of indexes) {
658
- await databasesService.createIndex(
659
- collection["databaseId"],
660
- collection["$id"],
661
- index.key,
662
- index.type,
663
- index.columns ?? index.attributes,
664
- index.orders,
665
- );
647
+ await databasesService.createIndex({
648
+ databaseId: collection["databaseId"],
649
+ collectionId: collection["$id"],
650
+ key: index.key,
651
+ type: index.type,
652
+ attributes: index.columns ?? index.attributes,
653
+ orders: index.orders,
654
+ });
666
655
  }
667
656
 
668
657
  const result = await this.pools.expectIndexes(
@@ -695,7 +684,7 @@ export class Attributes {
695
684
  const result = await this.pools.expectAttributes(
696
685
  collection["databaseId"],
697
686
  collection["$id"],
698
- (collection.attributes || [])
687
+ attributes
699
688
  .filter((attribute: any) => attribute.side !== "child")
700
689
  .map((attribute: any) => attribute.key),
701
690
  );
@@ -704,7 +693,8 @@ export class Attributes {
704
693
  throw new Error(`Attribute creation timed out.`);
705
694
  }
706
695
 
707
- success(`Created ${attributes.length} attributes`);
696
+ const createdCount = attributes.filter((a) => a.side !== "child").length;
697
+ success(`Created ${createdCount} attributes`);
708
698
  };
709
699
 
710
700
  public createColumns = async (
@@ -720,7 +710,7 @@ export class Attributes {
720
710
  const result = await this.pools.expectAttributes(
721
711
  table["databaseId"],
722
712
  table["$id"],
723
- (table.columns || [])
713
+ columns
724
714
  .filter((column: any) => column.side !== "child")
725
715
  .map((column: any) => column.key),
726
716
  );
@@ -729,6 +719,7 @@ export class Attributes {
729
719
  throw new Error(`Column creation timed out.`);
730
720
  }
731
721
 
732
- success(`Created ${columns.length} columns`);
722
+ const createdCount = columns.filter((c) => c.side !== "child").length;
723
+ success(`Created ${createdCount} columns`);
733
724
  };
734
725
  }
@@ -2,6 +2,7 @@ import fs from "fs";
2
2
  import path from "path";
3
3
  import tar from "tar";
4
4
  import { Client, AppwriteException } from "@appwrite.io/console";
5
+ import { error } from "../../parser.js";
5
6
 
6
7
  const POLL_DEBOUNCE = 2000; // Milliseconds
7
8
 
@@ -59,7 +60,7 @@ export async function downloadDeploymentCode(params: {
59
60
  }
60
61
  } catch (e: unknown) {
61
62
  if (e instanceof AppwriteException) {
62
- this.error(e.message);
63
+ error(e.message);
63
64
  return;
64
65
  } else {
65
66
  throw e;
@@ -70,7 +71,10 @@ export async function downloadDeploymentCode(params: {
70
71
  return;
71
72
  }
72
73
 
73
- const compressedFileName = `${resourceId}-${+new Date()}.tar.gz`;
74
+ const compressedFileName = path.resolve(
75
+ path.dirname(resourcePath),
76
+ `${resourceId}-${+new Date()}.tar.gz`,
77
+ );
74
78
  const downloadUrl = getDownloadUrl(deploymentId);
75
79
 
76
80
  const downloadBuffer = await projectClient.call(
@@ -44,7 +44,7 @@ export class Pools {
44
44
  }
45
45
 
46
46
  if (this.pollMaxDebounces === this.POLL_DEFAULT_VALUE) {
47
- let steps = Math.max(1, Math.ceil(total / this.STEP_SIZE));
47
+ let steps = Math.max(1, Math.ceil(Number(total) / this.STEP_SIZE));
48
48
  if (steps > 1 && iteration === 1) {
49
49
  this.pollMaxDebounces *= steps;
50
50
 
@@ -83,7 +83,7 @@ export class Pools {
83
83
  }
84
84
 
85
85
  if (this.pollMaxDebounces === this.POLL_DEFAULT_VALUE) {
86
- let steps = Math.max(1, Math.ceil(total / this.STEP_SIZE));
86
+ let steps = Math.max(1, Math.ceil(Number(total) / this.STEP_SIZE));
87
87
  if (steps > 1 && iteration === 1) {
88
88
  this.pollMaxDebounces *= steps;
89
89
 
@@ -141,7 +141,7 @@ export class Pools {
141
141
  );
142
142
 
143
143
  const ready = attributeKeys.filter((attribute: any) =>
144
- attributes.includes(attribute.key),
144
+ attributes.some((a: any) => a.key === attribute.key),
145
145
  );
146
146
 
147
147
  if (ready.length === 0) {
@@ -150,7 +150,7 @@ export class Pools {
150
150
 
151
151
  await new Promise((resolve) => setTimeout(resolve, this.POLL_DEBOUNCE));
152
152
 
153
- return await this.expectAttributes(
153
+ return await this.waitForAttributeDeletion(
154
154
  databaseId,
155
155
  collectionId,
156
156
  attributeKeys,
@@ -266,8 +266,9 @@ export class Pools {
266
266
  "indexes",
267
267
  );
268
268
 
269
+ const indexKeySet = new Set(indexes.map((i: any) => i.key));
269
270
  const ready = indexesKeys.filter((index: any) =>
270
- indexes.includes(index.key),
271
+ indexKeySet.has(index.key),
271
272
  );
272
273
 
273
274
  if (ready.length === 0) {
@@ -276,7 +277,7 @@ export class Pools {
276
277
 
277
278
  await new Promise((resolve) => setTimeout(resolve, this.POLL_DEBOUNCE));
278
279
 
279
- return await this.expectIndexes(
280
+ return await this.deleteIndexes(
280
281
  databaseId,
281
282
  collectionId,
282
283
  indexesKeys,