chirag-appwrite-cli 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (875) hide show
  1. package/.github/workflows/build-verify.yml +71 -0
  2. package/.github/workflows/npm-publish.yml +41 -22
  3. package/CHANGELOG.md +190 -1
  4. package/LICENSE.md +12 -1
  5. package/README.md +182 -15
  6. package/bun.lock +627 -0
  7. package/dist/bundle.cjs +108228 -0
  8. package/dist/index.d.ts +7 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +149 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/lib/client.d.ts +88 -0
  13. package/dist/lib/client.d.ts.map +1 -0
  14. package/dist/lib/client.js +238 -0
  15. package/dist/lib/client.js.map +1 -0
  16. package/dist/lib/commands/config.d.ts +557 -0
  17. package/dist/lib/commands/config.d.ts.map +1 -0
  18. package/dist/lib/commands/config.js +415 -0
  19. package/dist/lib/commands/config.js.map +1 -0
  20. package/dist/lib/commands/db.d.ts +34 -0
  21. package/dist/lib/commands/db.d.ts.map +1 -0
  22. package/dist/lib/commands/db.js +247 -0
  23. package/dist/lib/commands/db.js.map +1 -0
  24. package/dist/lib/commands/errors.d.ts +68 -0
  25. package/dist/lib/commands/errors.d.ts.map +1 -0
  26. package/dist/lib/commands/errors.js +72 -0
  27. package/dist/lib/commands/errors.js.map +1 -0
  28. package/dist/lib/commands/generic.d.ts +17 -0
  29. package/dist/lib/commands/generic.d.ts.map +1 -0
  30. package/dist/lib/commands/generic.js +292 -0
  31. package/dist/lib/commands/generic.js.map +1 -0
  32. package/dist/lib/commands/init.d.ts +3 -0
  33. package/dist/lib/commands/init.d.ts.map +1 -0
  34. package/dist/lib/commands/init.js +526 -0
  35. package/dist/lib/commands/init.js.map +1 -0
  36. package/dist/lib/commands/pull.d.ts +110 -0
  37. package/dist/lib/commands/pull.d.ts.map +1 -0
  38. package/dist/lib/commands/pull.js +626 -0
  39. package/dist/lib/commands/pull.js.map +1 -0
  40. package/dist/lib/commands/push.d.ts +82 -0
  41. package/dist/lib/commands/push.d.ts.map +1 -0
  42. package/dist/lib/commands/push.js +1666 -0
  43. package/dist/lib/commands/push.js.map +1 -0
  44. package/dist/lib/commands/run.d.ts +3 -0
  45. package/dist/lib/commands/run.d.ts.map +1 -0
  46. package/dist/lib/commands/run.js +289 -0
  47. package/dist/lib/commands/run.js.map +1 -0
  48. package/dist/lib/commands/schema.d.ts +57 -0
  49. package/dist/lib/commands/schema.d.ts.map +1 -0
  50. package/dist/lib/commands/schema.js +75 -0
  51. package/dist/lib/commands/schema.js.map +1 -0
  52. package/dist/lib/commands/services/account.d.ts +3 -0
  53. package/dist/lib/commands/services/account.d.ts.map +1 -0
  54. package/dist/lib/commands/services/account.js +306 -0
  55. package/dist/lib/commands/services/account.js.map +1 -0
  56. package/dist/lib/commands/services/avatars.d.ts +3 -0
  57. package/dist/lib/commands/services/avatars.d.ts.map +1 -0
  58. package/dist/lib/commands/services/avatars.js +118 -0
  59. package/dist/lib/commands/services/avatars.js.map +1 -0
  60. package/dist/lib/commands/services/console.d.ts +3 -0
  61. package/dist/lib/commands/services/console.d.ts.map +1 -0
  62. package/dist/lib/commands/services/console.js +41 -0
  63. package/dist/lib/commands/services/console.js.map +1 -0
  64. package/dist/lib/commands/services/databases.d.ts +3 -0
  65. package/dist/lib/commands/services/databases.d.ts.map +1 -0
  66. package/dist/lib/commands/services/databases.js +612 -0
  67. package/dist/lib/commands/services/databases.js.map +1 -0
  68. package/dist/lib/commands/services/functions.d.ts +3 -0
  69. package/dist/lib/commands/services/functions.d.ts.map +1 -0
  70. package/dist/lib/commands/services/functions.js +258 -0
  71. package/dist/lib/commands/services/functions.js.map +1 -0
  72. package/dist/lib/commands/services/graphql.d.ts +3 -0
  73. package/dist/lib/commands/services/graphql.d.ts.map +1 -0
  74. package/dist/lib/commands/services/graphql.js +28 -0
  75. package/dist/lib/commands/services/graphql.js.map +1 -0
  76. package/dist/lib/commands/services/health.d.ts +3 -0
  77. package/dist/lib/commands/services/health.d.ts.map +1 -0
  78. package/dist/lib/commands/services/health.js +123 -0
  79. package/dist/lib/commands/services/health.js.map +1 -0
  80. package/dist/lib/commands/services/locale.d.ts +3 -0
  81. package/dist/lib/commands/services/locale.d.ts.map +1 -0
  82. package/dist/lib/commands/services/locale.js +52 -0
  83. package/dist/lib/commands/services/locale.js.map +1 -0
  84. package/dist/lib/commands/services/messaging.d.ts +3 -0
  85. package/dist/lib/commands/services/messaging.d.ts.map +1 -0
  86. package/dist/lib/commands/services/messaging.js +505 -0
  87. package/dist/lib/commands/services/messaging.js.map +1 -0
  88. package/dist/lib/commands/services/migrations.d.ts +3 -0
  89. package/dist/lib/commands/services/migrations.d.ts.map +1 -0
  90. package/dist/lib/commands/services/migrations.js +135 -0
  91. package/dist/lib/commands/services/migrations.js.map +1 -0
  92. package/dist/lib/commands/services/project.d.ts +3 -0
  93. package/dist/lib/commands/services/project.d.ts.map +1 -0
  94. package/dist/lib/commands/services/project.js +54 -0
  95. package/dist/lib/commands/services/project.js.map +1 -0
  96. package/dist/lib/commands/services/projects.d.ts +3 -0
  97. package/dist/lib/commands/services/projects.d.ts.map +1 -0
  98. package/dist/lib/commands/services/projects.js +415 -0
  99. package/dist/lib/commands/services/projects.js.map +1 -0
  100. package/dist/lib/commands/services/proxy.d.ts +3 -0
  101. package/dist/lib/commands/services/proxy.d.ts.map +1 -0
  102. package/dist/lib/commands/services/proxy.js +68 -0
  103. package/dist/lib/commands/services/proxy.js.map +1 -0
  104. package/dist/lib/commands/services/sites.d.ts +3 -0
  105. package/dist/lib/commands/services/sites.d.ts.map +1 -0
  106. package/dist/lib/commands/services/sites.js +242 -0
  107. package/dist/lib/commands/services/sites.js.map +1 -0
  108. package/dist/lib/commands/services/storage.d.ts +3 -0
  109. package/dist/lib/commands/services/storage.d.ts.map +1 -0
  110. package/dist/lib/commands/services/storage.js +153 -0
  111. package/dist/lib/commands/services/storage.js.map +1 -0
  112. package/dist/lib/commands/services/tablesdb.d.ts +3 -0
  113. package/dist/lib/commands/services/tablesdb.d.ts.map +1 -0
  114. package/dist/lib/commands/services/tablesdb.js +605 -0
  115. package/dist/lib/commands/services/tablesdb.js.map +1 -0
  116. package/dist/lib/commands/services/teams.d.ts +3 -0
  117. package/dist/lib/commands/services/teams.d.ts.map +1 -0
  118. package/dist/lib/commands/services/teams.js +123 -0
  119. package/dist/lib/commands/services/teams.js.map +1 -0
  120. package/dist/lib/commands/services/tokens.d.ts +3 -0
  121. package/dist/lib/commands/services/tokens.d.ts.map +1 -0
  122. package/dist/lib/commands/services/tokens.js +49 -0
  123. package/dist/lib/commands/services/tokens.js.map +1 -0
  124. package/dist/lib/commands/services/users.d.ts +3 -0
  125. package/dist/lib/commands/services/users.d.ts.map +1 -0
  126. package/dist/lib/commands/services/users.js +312 -0
  127. package/dist/lib/commands/services/users.js.map +1 -0
  128. package/dist/lib/commands/services/vcs.d.ts +3 -0
  129. package/dist/lib/commands/services/vcs.d.ts.map +1 -0
  130. package/dist/lib/commands/services/vcs.js +87 -0
  131. package/dist/lib/commands/services/vcs.js.map +1 -0
  132. package/dist/lib/commands/types.d.ts +3 -0
  133. package/dist/lib/commands/types.d.ts.map +1 -0
  134. package/dist/lib/commands/types.js +151 -0
  135. package/dist/lib/commands/types.js.map +1 -0
  136. package/dist/lib/commands/update.d.ts +3 -0
  137. package/dist/lib/commands/update.d.ts.map +1 -0
  138. package/dist/lib/commands/update.js +201 -0
  139. package/dist/lib/commands/update.js.map +1 -0
  140. package/dist/lib/commands/utils/attributes.d.ts +46 -0
  141. package/dist/lib/commands/utils/attributes.d.ts.map +1 -0
  142. package/dist/lib/commands/utils/attributes.js +521 -0
  143. package/dist/lib/commands/utils/attributes.js.map +1 -0
  144. package/dist/lib/commands/utils/change-approval.d.ts +25 -0
  145. package/dist/lib/commands/utils/change-approval.d.ts.map +1 -0
  146. package/dist/lib/commands/utils/change-approval.js +129 -0
  147. package/dist/lib/commands/utils/change-approval.js.map +1 -0
  148. package/dist/lib/commands/utils/database-sync.d.ts +10 -0
  149. package/dist/lib/commands/utils/database-sync.d.ts.map +1 -0
  150. package/dist/lib/commands/utils/database-sync.js +136 -0
  151. package/dist/lib/commands/utils/database-sync.js.map +1 -0
  152. package/dist/lib/commands/utils/deployment.d.ts +34 -0
  153. package/dist/lib/commands/utils/deployment.d.ts.map +1 -0
  154. package/dist/lib/commands/utils/deployment.js +108 -0
  155. package/dist/lib/commands/utils/deployment.js.map +1 -0
  156. package/dist/lib/commands/utils/error-formatter.d.ts +19 -0
  157. package/dist/lib/commands/utils/error-formatter.d.ts.map +1 -0
  158. package/dist/lib/commands/utils/error-formatter.js +333 -0
  159. package/dist/lib/commands/utils/error-formatter.js.map +1 -0
  160. package/dist/lib/commands/utils/pools.d.ts +16 -0
  161. package/dist/lib/commands/utils/pools.d.ts.map +1 -0
  162. package/dist/lib/commands/utils/pools.js +197 -0
  163. package/dist/lib/commands/utils/pools.js.map +1 -0
  164. package/dist/lib/config.d.ts +119 -0
  165. package/dist/lib/config.d.ts.map +1 -0
  166. package/dist/lib/config.js +728 -0
  167. package/dist/lib/config.js.map +1 -0
  168. package/dist/lib/emulation/docker.d.ts +7 -0
  169. package/dist/lib/emulation/docker.d.ts.map +1 -0
  170. package/dist/lib/emulation/docker.js +224 -0
  171. package/dist/lib/emulation/docker.js.map +1 -0
  172. package/dist/lib/emulation/utils.d.ts +29 -0
  173. package/dist/lib/emulation/utils.d.ts.map +1 -0
  174. package/dist/lib/emulation/utils.js +165 -0
  175. package/dist/lib/emulation/utils.js.map +1 -0
  176. package/dist/lib/id.d.ts +7 -0
  177. package/dist/lib/id.d.ts.map +1 -0
  178. package/dist/lib/id.js +27 -0
  179. package/dist/lib/id.js.map +1 -0
  180. package/dist/lib/paginate.d.ts +9 -0
  181. package/dist/lib/paginate.d.ts.map +1 -0
  182. package/dist/lib/paginate.js +43 -0
  183. package/dist/lib/paginate.js.map +1 -0
  184. package/dist/lib/parser.d.ts +18 -0
  185. package/dist/lib/parser.d.ts.map +1 -0
  186. package/dist/lib/parser.js +225 -0
  187. package/dist/lib/parser.js.map +1 -0
  188. package/dist/lib/questions.d.ts +59 -0
  189. package/dist/lib/questions.d.ts.map +1 -0
  190. package/dist/lib/questions.js +991 -0
  191. package/dist/lib/questions.js.map +1 -0
  192. package/dist/lib/sdks.d.ts +4 -0
  193. package/dist/lib/sdks.d.ts.map +1 -0
  194. package/dist/lib/sdks.js +61 -0
  195. package/dist/lib/sdks.js.map +1 -0
  196. package/dist/lib/services.d.ts +13 -0
  197. package/dist/lib/services.d.ts.map +1 -0
  198. package/dist/lib/services.js +47 -0
  199. package/dist/lib/services.js.map +1 -0
  200. package/dist/lib/spinner.d.ts +28 -0
  201. package/dist/lib/spinner.d.ts.map +1 -0
  202. package/dist/lib/spinner.js +91 -0
  203. package/dist/lib/spinner.js.map +1 -0
  204. package/dist/lib/type-generation/attribute.d.ts +17 -0
  205. package/dist/lib/type-generation/attribute.d.ts.map +1 -0
  206. package/dist/lib/type-generation/attribute.js +16 -0
  207. package/dist/lib/type-generation/attribute.js.map +1 -0
  208. package/dist/lib/type-generation/languages/csharp.d.ts +7 -0
  209. package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -0
  210. package/dist/lib/type-generation/languages/csharp.js +180 -0
  211. package/dist/lib/type-generation/languages/csharp.js.map +1 -0
  212. package/dist/lib/type-generation/languages/dart.d.ts +8 -0
  213. package/dist/lib/type-generation/languages/dart.d.ts.map +1 -0
  214. package/dist/lib/type-generation/languages/dart.js +197 -0
  215. package/dist/lib/type-generation/languages/dart.js.map +1 -0
  216. package/dist/lib/type-generation/languages/java.d.ts +7 -0
  217. package/dist/lib/type-generation/languages/java.d.ts.map +1 -0
  218. package/dist/lib/type-generation/languages/java.js +140 -0
  219. package/dist/lib/type-generation/languages/java.js.map +1 -0
  220. package/dist/lib/type-generation/languages/javascript.d.ts +9 -0
  221. package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -0
  222. package/dist/lib/type-generation/languages/javascript.js +109 -0
  223. package/dist/lib/type-generation/languages/javascript.js.map +1 -0
  224. package/dist/lib/type-generation/languages/kotlin.d.ts +7 -0
  225. package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -0
  226. package/dist/lib/type-generation/languages/kotlin.js +95 -0
  227. package/dist/lib/type-generation/languages/kotlin.js.map +1 -0
  228. package/dist/lib/type-generation/languages/language.d.ts +43 -0
  229. package/dist/lib/type-generation/languages/language.d.ts.map +1 -0
  230. package/dist/lib/type-generation/languages/language.js +77 -0
  231. package/dist/lib/type-generation/languages/language.js.map +1 -0
  232. package/dist/lib/type-generation/languages/php.d.ts +7 -0
  233. package/dist/lib/type-generation/languages/php.d.ts.map +1 -0
  234. package/dist/lib/type-generation/languages/php.js +116 -0
  235. package/dist/lib/type-generation/languages/php.js.map +1 -0
  236. package/dist/lib/type-generation/languages/swift.d.ts +7 -0
  237. package/dist/lib/type-generation/languages/swift.d.ts.map +1 -0
  238. package/dist/lib/type-generation/languages/swift.js +179 -0
  239. package/dist/lib/type-generation/languages/swift.js.map +1 -0
  240. package/dist/lib/type-generation/languages/typescript.d.ts +9 -0
  241. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -0
  242. package/dist/lib/type-generation/languages/typescript.js +115 -0
  243. package/dist/lib/type-generation/languages/typescript.js.map +1 -0
  244. package/dist/lib/types.d.ts +63 -0
  245. package/dist/lib/types.d.ts.map +1 -0
  246. package/dist/lib/types.js +2 -0
  247. package/dist/lib/types.js.map +1 -0
  248. package/dist/lib/utils.d.ts +18 -0
  249. package/dist/lib/utils.d.ts.map +1 -0
  250. package/dist/lib/utils.js +323 -0
  251. package/dist/lib/utils.js.map +1 -0
  252. package/dist/lib/validations.d.ts +2 -0
  253. package/dist/lib/validations.d.ts.map +1 -0
  254. package/dist/lib/validations.js +16 -0
  255. package/dist/lib/validations.js.map +1 -0
  256. package/dist/package.json +68 -0
  257. package/dist/scripts/generate-commands.d.ts +2 -0
  258. package/dist/scripts/generate-commands.d.ts.map +1 -0
  259. package/dist/scripts/generate-commands.js +398 -0
  260. package/dist/scripts/generate-commands.js.map +1 -0
  261. package/dist/sites/profile-website/src/lib/utils.d.ts +4 -0
  262. package/dist/sites/profile-website/src/lib/utils.d.ts.map +1 -0
  263. package/dist/sites/profile-website/src/lib/utils.js +32 -0
  264. package/dist/sites/profile-website/src/lib/utils.js.map +1 -0
  265. package/dist/sites/profile-website/tailwind.config.d.ts +3 -0
  266. package/dist/sites/profile-website/tailwind.config.d.ts.map +1 -0
  267. package/dist/sites/profile-website/tailwind.config.js +110 -0
  268. package/dist/sites/profile-website/tailwind.config.js.map +1 -0
  269. package/dist/test.d.ts +2 -0
  270. package/dist/test.d.ts.map +1 -0
  271. package/dist/test.js +38 -0
  272. package/dist/test.js.map +1 -0
  273. package/index.ts +190 -0
  274. package/install.ps1 +5 -8
  275. package/install.sh +4 -5
  276. package/lib/client.ts +292 -0
  277. package/lib/commands/config.ts +493 -0
  278. package/lib/commands/db.ts +324 -0
  279. package/lib/commands/errors.ts +93 -0
  280. package/lib/commands/generic.ts +440 -0
  281. package/lib/commands/init.ts +713 -0
  282. package/lib/commands/pull.ts +944 -0
  283. package/lib/commands/push.ts +2355 -0
  284. package/lib/commands/run.ts +416 -0
  285. package/lib/commands/schema.ts +103 -0
  286. package/lib/commands/services/account.ts +832 -0
  287. package/lib/commands/services/avatars.ts +400 -0
  288. package/lib/commands/services/console.ts +73 -0
  289. package/lib/commands/services/databases.ts +2080 -0
  290. package/lib/commands/services/functions.ts +855 -0
  291. package/lib/commands/services/graphql.ts +47 -0
  292. package/lib/commands/services/health.ts +322 -0
  293. package/lib/commands/services/locale.ts +99 -0
  294. package/lib/commands/services/messaging.ts +1871 -0
  295. package/lib/commands/services/migrations.ts +421 -0
  296. package/lib/commands/services/project.ts +116 -0
  297. package/lib/commands/services/projects.ts +1317 -0
  298. package/lib/commands/services/proxy.ts +163 -0
  299. package/lib/commands/services/sites.ts +777 -0
  300. package/lib/commands/services/storage.ts +547 -0
  301. package/lib/commands/services/tablesdb.ts +1928 -0
  302. package/lib/commands/services/teams.ts +294 -0
  303. package/lib/commands/services/tokens.ts +106 -0
  304. package/lib/commands/services/users.ts +886 -0
  305. package/lib/commands/services/vcs.ts +268 -0
  306. package/lib/commands/types.ts +220 -0
  307. package/lib/commands/update.ts +245 -0
  308. package/lib/commands/utils/attributes.ts +734 -0
  309. package/lib/commands/utils/change-approval.ts +186 -0
  310. package/lib/commands/utils/database-sync.ts +180 -0
  311. package/lib/commands/utils/deployment.ts +180 -0
  312. package/lib/commands/utils/error-formatter.ts +417 -0
  313. package/lib/commands/utils/pools.ts +354 -0
  314. package/lib/config.ts +932 -0
  315. package/lib/emulation/docker.ts +312 -0
  316. package/lib/emulation/utils.ts +207 -0
  317. package/lib/id.ts +30 -0
  318. package/lib/paginate.ts +77 -0
  319. package/lib/parser.ts +264 -0
  320. package/lib/questions.ts +1167 -0
  321. package/lib/sdks.ts +84 -0
  322. package/lib/services.ts +72 -0
  323. package/lib/spinner.ts +131 -0
  324. package/lib/type-generation/attribute.ts +18 -0
  325. package/lib/type-generation/languages/csharp.ts +192 -0
  326. package/lib/type-generation/languages/dart.ts +217 -0
  327. package/lib/type-generation/languages/java.ts +152 -0
  328. package/lib/type-generation/languages/javascript.ts +122 -0
  329. package/lib/type-generation/languages/kotlin.ts +107 -0
  330. package/lib/type-generation/languages/language.ts +127 -0
  331. package/lib/type-generation/languages/php.ts +128 -0
  332. package/lib/type-generation/languages/swift.ts +191 -0
  333. package/lib/type-generation/languages/typescript.ts +133 -0
  334. package/lib/types.ts +75 -0
  335. package/lib/utils.ts +394 -0
  336. package/lib/validations.ts +20 -0
  337. package/package.json +39 -21
  338. package/scoop/appwrite.config.json +20 -0
  339. package/scripts/generate-commands.ts +539 -0
  340. package/tsconfig.json +24 -0
  341. package/appwrite.config.json +0 -420
  342. package/docs/examples/account/create-anonymous-session.md +0 -1
  343. package/docs/examples/account/create-email-password-session.md +0 -3
  344. package/docs/examples/account/create-email-token.md +0 -4
  345. package/docs/examples/account/create-j-w-t.md +0 -1
  346. package/docs/examples/account/create-magic-u-r-l-token.md +0 -5
  347. package/docs/examples/account/create-mfa-authenticator.md +0 -2
  348. package/docs/examples/account/create-mfa-challenge.md +0 -2
  349. package/docs/examples/account/create-mfa-recovery-codes.md +0 -1
  350. package/docs/examples/account/create-o-auth2session.md +0 -5
  351. package/docs/examples/account/create-o-auth2token.md +0 -5
  352. package/docs/examples/account/create-phone-token.md +0 -3
  353. package/docs/examples/account/create-phone-verification.md +0 -1
  354. package/docs/examples/account/create-push-target.md +0 -4
  355. package/docs/examples/account/create-recovery.md +0 -3
  356. package/docs/examples/account/create-session.md +0 -3
  357. package/docs/examples/account/create-verification.md +0 -2
  358. package/docs/examples/account/create.md +0 -5
  359. package/docs/examples/account/delete-identity.md +0 -2
  360. package/docs/examples/account/delete-mfa-authenticator.md +0 -2
  361. package/docs/examples/account/delete-push-target.md +0 -2
  362. package/docs/examples/account/delete-session.md +0 -2
  363. package/docs/examples/account/delete-sessions.md +0 -1
  364. package/docs/examples/account/delete.md +0 -1
  365. package/docs/examples/account/get-mfa-recovery-codes.md +0 -1
  366. package/docs/examples/account/get-prefs.md +0 -1
  367. package/docs/examples/account/get-session.md +0 -2
  368. package/docs/examples/account/get.md +0 -1
  369. package/docs/examples/account/list-identities.md +0 -2
  370. package/docs/examples/account/list-logs.md +0 -2
  371. package/docs/examples/account/list-mfa-factors.md +0 -1
  372. package/docs/examples/account/list-sessions.md +0 -1
  373. package/docs/examples/account/update-email.md +0 -3
  374. package/docs/examples/account/update-m-f-a.md +0 -2
  375. package/docs/examples/account/update-magic-u-r-l-session.md +0 -3
  376. package/docs/examples/account/update-mfa-authenticator.md +0 -3
  377. package/docs/examples/account/update-mfa-challenge.md +0 -3
  378. package/docs/examples/account/update-mfa-recovery-codes.md +0 -1
  379. package/docs/examples/account/update-name.md +0 -2
  380. package/docs/examples/account/update-password.md +0 -3
  381. package/docs/examples/account/update-phone-session.md +0 -3
  382. package/docs/examples/account/update-phone-verification.md +0 -3
  383. package/docs/examples/account/update-phone.md +0 -3
  384. package/docs/examples/account/update-prefs.md +0 -2
  385. package/docs/examples/account/update-push-target.md +0 -3
  386. package/docs/examples/account/update-recovery.md +0 -4
  387. package/docs/examples/account/update-session.md +0 -2
  388. package/docs/examples/account/update-status.md +0 -1
  389. package/docs/examples/account/update-verification.md +0 -3
  390. package/docs/examples/avatars/get-browser.md +0 -5
  391. package/docs/examples/avatars/get-credit-card.md +0 -5
  392. package/docs/examples/avatars/get-favicon.md +0 -2
  393. package/docs/examples/avatars/get-flag.md +0 -5
  394. package/docs/examples/avatars/get-image.md +0 -4
  395. package/docs/examples/avatars/get-initials.md +0 -5
  396. package/docs/examples/avatars/get-q-r.md +0 -5
  397. package/docs/examples/console/get-resource.md +0 -3
  398. package/docs/examples/console/variables.md +0 -1
  399. package/docs/examples/databases/create-boolean-attribute.md +0 -7
  400. package/docs/examples/databases/create-collection.md +0 -7
  401. package/docs/examples/databases/create-datetime-attribute.md +0 -7
  402. package/docs/examples/databases/create-document.md +0 -6
  403. package/docs/examples/databases/create-documents.md +0 -4
  404. package/docs/examples/databases/create-email-attribute.md +0 -7
  405. package/docs/examples/databases/create-enum-attribute.md +0 -8
  406. package/docs/examples/databases/create-float-attribute.md +0 -9
  407. package/docs/examples/databases/create-index.md +0 -8
  408. package/docs/examples/databases/create-integer-attribute.md +0 -9
  409. package/docs/examples/databases/create-ip-attribute.md +0 -7
  410. package/docs/examples/databases/create-relationship-attribute.md +0 -9
  411. package/docs/examples/databases/create-string-attribute.md +0 -9
  412. package/docs/examples/databases/create-url-attribute.md +0 -7
  413. package/docs/examples/databases/create.md +0 -4
  414. package/docs/examples/databases/decrement-document-attribute.md +0 -7
  415. package/docs/examples/databases/delete-attribute.md +0 -4
  416. package/docs/examples/databases/delete-collection.md +0 -3
  417. package/docs/examples/databases/delete-document.md +0 -4
  418. package/docs/examples/databases/delete-documents.md +0 -4
  419. package/docs/examples/databases/delete-index.md +0 -4
  420. package/docs/examples/databases/delete.md +0 -2
  421. package/docs/examples/databases/get-attribute.md +0 -4
  422. package/docs/examples/databases/get-collection-usage.md +0 -4
  423. package/docs/examples/databases/get-collection.md +0 -3
  424. package/docs/examples/databases/get-database-usage.md +0 -3
  425. package/docs/examples/databases/get-document.md +0 -5
  426. package/docs/examples/databases/get-index.md +0 -4
  427. package/docs/examples/databases/get-usage.md +0 -2
  428. package/docs/examples/databases/get.md +0 -2
  429. package/docs/examples/databases/increment-document-attribute.md +0 -7
  430. package/docs/examples/databases/list-attributes.md +0 -4
  431. package/docs/examples/databases/list-collection-logs.md +0 -4
  432. package/docs/examples/databases/list-collections.md +0 -4
  433. package/docs/examples/databases/list-document-logs.md +0 -5
  434. package/docs/examples/databases/list-documents.md +0 -4
  435. package/docs/examples/databases/list-indexes.md +0 -4
  436. package/docs/examples/databases/list-logs.md +0 -3
  437. package/docs/examples/databases/list-usage.md +0 -2
  438. package/docs/examples/databases/list.md +0 -3
  439. package/docs/examples/databases/update-boolean-attribute.md +0 -7
  440. package/docs/examples/databases/update-collection.md +0 -7
  441. package/docs/examples/databases/update-datetime-attribute.md +0 -7
  442. package/docs/examples/databases/update-document.md +0 -6
  443. package/docs/examples/databases/update-documents.md +0 -5
  444. package/docs/examples/databases/update-email-attribute.md +0 -7
  445. package/docs/examples/databases/update-enum-attribute.md +0 -8
  446. package/docs/examples/databases/update-float-attribute.md +0 -9
  447. package/docs/examples/databases/update-integer-attribute.md +0 -9
  448. package/docs/examples/databases/update-ip-attribute.md +0 -7
  449. package/docs/examples/databases/update-relationship-attribute.md +0 -6
  450. package/docs/examples/databases/update-string-attribute.md +0 -8
  451. package/docs/examples/databases/update-url-attribute.md +0 -7
  452. package/docs/examples/databases/update.md +0 -4
  453. package/docs/examples/databases/upsert-document.md +0 -6
  454. package/docs/examples/databases/upsert-documents.md +0 -4
  455. package/docs/examples/functions/create-deployment.md +0 -6
  456. package/docs/examples/functions/create-duplicate-deployment.md +0 -4
  457. package/docs/examples/functions/create-execution.md +0 -8
  458. package/docs/examples/functions/create-template-deployment.md +0 -7
  459. package/docs/examples/functions/create-variable.md +0 -5
  460. package/docs/examples/functions/create-vcs-deployment.md +0 -5
  461. package/docs/examples/functions/create.md +0 -19
  462. package/docs/examples/functions/delete-deployment.md +0 -3
  463. package/docs/examples/functions/delete-execution.md +0 -3
  464. package/docs/examples/functions/delete-variable.md +0 -3
  465. package/docs/examples/functions/delete.md +0 -2
  466. package/docs/examples/functions/get-deployment-download.md +0 -4
  467. package/docs/examples/functions/get-deployment.md +0 -3
  468. package/docs/examples/functions/get-execution.md +0 -3
  469. package/docs/examples/functions/get-template.md +0 -2
  470. package/docs/examples/functions/get-usage.md +0 -3
  471. package/docs/examples/functions/get-variable.md +0 -3
  472. package/docs/examples/functions/get.md +0 -2
  473. package/docs/examples/functions/list-deployments.md +0 -4
  474. package/docs/examples/functions/list-executions.md +0 -3
  475. package/docs/examples/functions/list-runtimes.md +0 -1
  476. package/docs/examples/functions/list-specifications.md +0 -1
  477. package/docs/examples/functions/list-templates.md +0 -5
  478. package/docs/examples/functions/list-usage.md +0 -2
  479. package/docs/examples/functions/list-variables.md +0 -2
  480. package/docs/examples/functions/list.md +0 -3
  481. package/docs/examples/functions/update-deployment-status.md +0 -3
  482. package/docs/examples/functions/update-function-deployment.md +0 -3
  483. package/docs/examples/functions/update-variable.md +0 -6
  484. package/docs/examples/functions/update.md +0 -19
  485. package/docs/examples/graphql/mutation.md +0 -2
  486. package/docs/examples/graphql/query.md +0 -2
  487. package/docs/examples/health/get-antivirus.md +0 -1
  488. package/docs/examples/health/get-cache.md +0 -1
  489. package/docs/examples/health/get-certificate.md +0 -2
  490. package/docs/examples/health/get-d-b.md +0 -1
  491. package/docs/examples/health/get-failed-jobs.md +0 -3
  492. package/docs/examples/health/get-pub-sub.md +0 -1
  493. package/docs/examples/health/get-queue-builds.md +0 -2
  494. package/docs/examples/health/get-queue-certificates.md +0 -2
  495. package/docs/examples/health/get-queue-databases.md +0 -3
  496. package/docs/examples/health/get-queue-deletes.md +0 -2
  497. package/docs/examples/health/get-queue-functions.md +0 -2
  498. package/docs/examples/health/get-queue-logs.md +0 -2
  499. package/docs/examples/health/get-queue-mails.md +0 -2
  500. package/docs/examples/health/get-queue-messaging.md +0 -2
  501. package/docs/examples/health/get-queue-migrations.md +0 -2
  502. package/docs/examples/health/get-queue-stats-resources.md +0 -2
  503. package/docs/examples/health/get-queue-usage.md +0 -2
  504. package/docs/examples/health/get-queue-webhooks.md +0 -2
  505. package/docs/examples/health/get-storage-local.md +0 -1
  506. package/docs/examples/health/get-storage.md +0 -1
  507. package/docs/examples/health/get-time.md +0 -1
  508. package/docs/examples/health/get.md +0 -1
  509. package/docs/examples/locale/get.md +0 -1
  510. package/docs/examples/locale/list-codes.md +0 -1
  511. package/docs/examples/locale/list-continents.md +0 -1
  512. package/docs/examples/locale/list-countries-e-u.md +0 -1
  513. package/docs/examples/locale/list-countries-phones.md +0 -1
  514. package/docs/examples/locale/list-countries.md +0 -1
  515. package/docs/examples/locale/list-currencies.md +0 -1
  516. package/docs/examples/locale/list-languages.md +0 -1
  517. package/docs/examples/messaging/create-apns-provider.md +0 -9
  518. package/docs/examples/messaging/create-email.md +0 -13
  519. package/docs/examples/messaging/create-fcm-provider.md +0 -5
  520. package/docs/examples/messaging/create-mailgun-provider.md +0 -11
  521. package/docs/examples/messaging/create-msg91provider.md +0 -7
  522. package/docs/examples/messaging/create-push.md +0 -20
  523. package/docs/examples/messaging/create-sendgrid-provider.md +0 -9
  524. package/docs/examples/messaging/create-sms.md +0 -8
  525. package/docs/examples/messaging/create-smtp-provider.md +0 -15
  526. package/docs/examples/messaging/create-subscriber.md +0 -4
  527. package/docs/examples/messaging/create-telesign-provider.md +0 -7
  528. package/docs/examples/messaging/create-textmagic-provider.md +0 -7
  529. package/docs/examples/messaging/create-topic.md +0 -4
  530. package/docs/examples/messaging/create-twilio-provider.md +0 -7
  531. package/docs/examples/messaging/create-vonage-provider.md +0 -7
  532. package/docs/examples/messaging/delete-provider.md +0 -2
  533. package/docs/examples/messaging/delete-subscriber.md +0 -3
  534. package/docs/examples/messaging/delete-topic.md +0 -2
  535. package/docs/examples/messaging/delete.md +0 -2
  536. package/docs/examples/messaging/get-message.md +0 -2
  537. package/docs/examples/messaging/get-provider.md +0 -2
  538. package/docs/examples/messaging/get-subscriber.md +0 -3
  539. package/docs/examples/messaging/get-topic.md +0 -2
  540. package/docs/examples/messaging/list-message-logs.md +0 -3
  541. package/docs/examples/messaging/list-messages.md +0 -3
  542. package/docs/examples/messaging/list-provider-logs.md +0 -3
  543. package/docs/examples/messaging/list-providers.md +0 -3
  544. package/docs/examples/messaging/list-subscriber-logs.md +0 -3
  545. package/docs/examples/messaging/list-subscribers.md +0 -4
  546. package/docs/examples/messaging/list-targets.md +0 -3
  547. package/docs/examples/messaging/list-topic-logs.md +0 -3
  548. package/docs/examples/messaging/list-topics.md +0 -3
  549. package/docs/examples/messaging/update-apns-provider.md +0 -9
  550. package/docs/examples/messaging/update-email.md +0 -13
  551. package/docs/examples/messaging/update-fcm-provider.md +0 -5
  552. package/docs/examples/messaging/update-mailgun-provider.md +0 -11
  553. package/docs/examples/messaging/update-msg91provider.md +0 -7
  554. package/docs/examples/messaging/update-push.md +0 -20
  555. package/docs/examples/messaging/update-sendgrid-provider.md +0 -9
  556. package/docs/examples/messaging/update-sms.md +0 -8
  557. package/docs/examples/messaging/update-smtp-provider.md +0 -15
  558. package/docs/examples/messaging/update-telesign-provider.md +0 -7
  559. package/docs/examples/messaging/update-textmagic-provider.md +0 -7
  560. package/docs/examples/messaging/update-topic.md +0 -4
  561. package/docs/examples/messaging/update-twilio-provider.md +0 -7
  562. package/docs/examples/messaging/update-vonage-provider.md +0 -7
  563. package/docs/examples/migrations/create-appwrite-migration.md +0 -5
  564. package/docs/examples/migrations/create-csv-migration.md +0 -4
  565. package/docs/examples/migrations/create-firebase-migration.md +0 -3
  566. package/docs/examples/migrations/create-n-host-migration.md +0 -9
  567. package/docs/examples/migrations/create-supabase-migration.md +0 -8
  568. package/docs/examples/migrations/delete.md +0 -2
  569. package/docs/examples/migrations/get-appwrite-report.md +0 -5
  570. package/docs/examples/migrations/get-firebase-report.md +0 -3
  571. package/docs/examples/migrations/get-n-host-report.md +0 -9
  572. package/docs/examples/migrations/get-supabase-report.md +0 -8
  573. package/docs/examples/migrations/get.md +0 -2
  574. package/docs/examples/migrations/list.md +0 -3
  575. package/docs/examples/migrations/retry.md +0 -2
  576. package/docs/examples/project/create-variable.md +0 -4
  577. package/docs/examples/project/delete-variable.md +0 -2
  578. package/docs/examples/project/get-usage.md +0 -4
  579. package/docs/examples/project/get-variable.md +0 -2
  580. package/docs/examples/project/list-variables.md +0 -1
  581. package/docs/examples/project/update-variable.md +0 -5
  582. package/docs/examples/projects/create-dev-key.md +0 -4
  583. package/docs/examples/projects/create-j-w-t.md +0 -4
  584. package/docs/examples/projects/create-key.md +0 -5
  585. package/docs/examples/projects/create-platform.md +0 -7
  586. package/docs/examples/projects/create-smtp-test.md +0 -11
  587. package/docs/examples/projects/create-webhook.md +0 -9
  588. package/docs/examples/projects/create.md +0 -14
  589. package/docs/examples/projects/delete-dev-key.md +0 -3
  590. package/docs/examples/projects/delete-email-template.md +0 -4
  591. package/docs/examples/projects/delete-key.md +0 -3
  592. package/docs/examples/projects/delete-platform.md +0 -3
  593. package/docs/examples/projects/delete-sms-template.md +0 -4
  594. package/docs/examples/projects/delete-webhook.md +0 -3
  595. package/docs/examples/projects/delete.md +0 -2
  596. package/docs/examples/projects/get-dev-key.md +0 -3
  597. package/docs/examples/projects/get-email-template.md +0 -4
  598. package/docs/examples/projects/get-key.md +0 -3
  599. package/docs/examples/projects/get-platform.md +0 -3
  600. package/docs/examples/projects/get-sms-template.md +0 -4
  601. package/docs/examples/projects/get-webhook.md +0 -3
  602. package/docs/examples/projects/get.md +0 -2
  603. package/docs/examples/projects/list-dev-keys.md +0 -3
  604. package/docs/examples/projects/list-keys.md +0 -2
  605. package/docs/examples/projects/list-platforms.md +0 -2
  606. package/docs/examples/projects/list-webhooks.md +0 -2
  607. package/docs/examples/projects/list.md +0 -3
  608. package/docs/examples/projects/update-api-status-all.md +0 -3
  609. package/docs/examples/projects/update-api-status.md +0 -4
  610. package/docs/examples/projects/update-auth-duration.md +0 -3
  611. package/docs/examples/projects/update-auth-limit.md +0 -3
  612. package/docs/examples/projects/update-auth-password-dictionary.md +0 -3
  613. package/docs/examples/projects/update-auth-password-history.md +0 -3
  614. package/docs/examples/projects/update-auth-sessions-limit.md +0 -3
  615. package/docs/examples/projects/update-auth-status.md +0 -4
  616. package/docs/examples/projects/update-dev-key.md +0 -5
  617. package/docs/examples/projects/update-email-template.md +0 -9
  618. package/docs/examples/projects/update-key.md +0 -6
  619. package/docs/examples/projects/update-memberships-privacy.md +0 -5
  620. package/docs/examples/projects/update-mock-numbers.md +0 -3
  621. package/docs/examples/projects/update-o-auth2.md +0 -6
  622. package/docs/examples/projects/update-personal-data-check.md +0 -3
  623. package/docs/examples/projects/update-platform.md +0 -7
  624. package/docs/examples/projects/update-service-status-all.md +0 -3
  625. package/docs/examples/projects/update-service-status.md +0 -4
  626. package/docs/examples/projects/update-session-alerts.md +0 -3
  627. package/docs/examples/projects/update-session-invalidation.md +0 -3
  628. package/docs/examples/projects/update-sms-template.md +0 -5
  629. package/docs/examples/projects/update-smtp.md +0 -11
  630. package/docs/examples/projects/update-team.md +0 -3
  631. package/docs/examples/projects/update-webhook-signature.md +0 -3
  632. package/docs/examples/projects/update-webhook.md +0 -10
  633. package/docs/examples/projects/update.md +0 -12
  634. package/docs/examples/proxy/create-a-p-i-rule.md +0 -2
  635. package/docs/examples/proxy/create-function-rule.md +0 -4
  636. package/docs/examples/proxy/create-redirect-rule.md +0 -6
  637. package/docs/examples/proxy/create-site-rule.md +0 -4
  638. package/docs/examples/proxy/delete-rule.md +0 -2
  639. package/docs/examples/proxy/get-rule.md +0 -2
  640. package/docs/examples/proxy/list-rules.md +0 -3
  641. package/docs/examples/proxy/update-rule-verification.md +0 -2
  642. package/docs/examples/sites/create-deployment.md +0 -7
  643. package/docs/examples/sites/create-duplicate-deployment.md +0 -3
  644. package/docs/examples/sites/create-template-deployment.md +0 -7
  645. package/docs/examples/sites/create-variable.md +0 -5
  646. package/docs/examples/sites/create-vcs-deployment.md +0 -5
  647. package/docs/examples/sites/create.md +0 -19
  648. package/docs/examples/sites/delete-deployment.md +0 -3
  649. package/docs/examples/sites/delete-log.md +0 -3
  650. package/docs/examples/sites/delete-variable.md +0 -3
  651. package/docs/examples/sites/delete.md +0 -2
  652. package/docs/examples/sites/get-deployment-download.md +0 -4
  653. package/docs/examples/sites/get-deployment.md +0 -3
  654. package/docs/examples/sites/get-log.md +0 -3
  655. package/docs/examples/sites/get-template.md +0 -2
  656. package/docs/examples/sites/get-usage.md +0 -3
  657. package/docs/examples/sites/get-variable.md +0 -3
  658. package/docs/examples/sites/get.md +0 -2
  659. package/docs/examples/sites/list-deployments.md +0 -4
  660. package/docs/examples/sites/list-frameworks.md +0 -1
  661. package/docs/examples/sites/list-logs.md +0 -3
  662. package/docs/examples/sites/list-specifications.md +0 -1
  663. package/docs/examples/sites/list-templates.md +0 -5
  664. package/docs/examples/sites/list-usage.md +0 -2
  665. package/docs/examples/sites/list-variables.md +0 -2
  666. package/docs/examples/sites/list.md +0 -3
  667. package/docs/examples/sites/update-deployment-status.md +0 -3
  668. package/docs/examples/sites/update-site-deployment.md +0 -3
  669. package/docs/examples/sites/update-variable.md +0 -6
  670. package/docs/examples/sites/update.md +0 -19
  671. package/docs/examples/storage/create-bucket.md +0 -11
  672. package/docs/examples/storage/create-file.md +0 -5
  673. package/docs/examples/storage/delete-bucket.md +0 -2
  674. package/docs/examples/storage/delete-file.md +0 -3
  675. package/docs/examples/storage/get-bucket-usage.md +0 -3
  676. package/docs/examples/storage/get-bucket.md +0 -2
  677. package/docs/examples/storage/get-file-download.md +0 -4
  678. package/docs/examples/storage/get-file-preview.md +0 -15
  679. package/docs/examples/storage/get-file-view.md +0 -4
  680. package/docs/examples/storage/get-file.md +0 -3
  681. package/docs/examples/storage/get-usage.md +0 -2
  682. package/docs/examples/storage/list-buckets.md +0 -3
  683. package/docs/examples/storage/list-files.md +0 -4
  684. package/docs/examples/storage/update-bucket.md +0 -11
  685. package/docs/examples/storage/update-file.md +0 -5
  686. package/docs/examples/tables/create-boolean-column.md +0 -7
  687. package/docs/examples/tables/create-datetime-column.md +0 -7
  688. package/docs/examples/tables/create-email-column.md +0 -7
  689. package/docs/examples/tables/create-enum-column.md +0 -8
  690. package/docs/examples/tables/create-float-column.md +0 -9
  691. package/docs/examples/tables/create-index.md +0 -8
  692. package/docs/examples/tables/create-integer-column.md +0 -9
  693. package/docs/examples/tables/create-ip-column.md +0 -7
  694. package/docs/examples/tables/create-relationship-column.md +0 -9
  695. package/docs/examples/tables/create-row.md +0 -6
  696. package/docs/examples/tables/create-rows.md +0 -4
  697. package/docs/examples/tables/create-string-column.md +0 -9
  698. package/docs/examples/tables/create-url-column.md +0 -7
  699. package/docs/examples/tables/create.md +0 -7
  700. package/docs/examples/tables/decrement-row-column.md +0 -7
  701. package/docs/examples/tables/delete-column.md +0 -4
  702. package/docs/examples/tables/delete-index.md +0 -4
  703. package/docs/examples/tables/delete-row.md +0 -4
  704. package/docs/examples/tables/delete-rows.md +0 -4
  705. package/docs/examples/tables/delete.md +0 -3
  706. package/docs/examples/tables/get-column.md +0 -4
  707. package/docs/examples/tables/get-index.md +0 -4
  708. package/docs/examples/tables/get-row.md +0 -5
  709. package/docs/examples/tables/get-usage.md +0 -4
  710. package/docs/examples/tables/get.md +0 -3
  711. package/docs/examples/tables/increment-row-column.md +0 -7
  712. package/docs/examples/tables/list-columns.md +0 -4
  713. package/docs/examples/tables/list-indexes.md +0 -4
  714. package/docs/examples/tables/list-logs.md +0 -4
  715. package/docs/examples/tables/list-row-logs.md +0 -5
  716. package/docs/examples/tables/list-rows.md +0 -4
  717. package/docs/examples/tables/list.md +0 -4
  718. package/docs/examples/tables/update-boolean-column.md +0 -7
  719. package/docs/examples/tables/update-datetime-column.md +0 -7
  720. package/docs/examples/tables/update-email-column.md +0 -7
  721. package/docs/examples/tables/update-enum-column.md +0 -8
  722. package/docs/examples/tables/update-float-column.md +0 -9
  723. package/docs/examples/tables/update-integer-column.md +0 -9
  724. package/docs/examples/tables/update-ip-column.md +0 -7
  725. package/docs/examples/tables/update-relationship-column.md +0 -6
  726. package/docs/examples/tables/update-row.md +0 -6
  727. package/docs/examples/tables/update-rows.md +0 -5
  728. package/docs/examples/tables/update-string-column.md +0 -8
  729. package/docs/examples/tables/update-url-column.md +0 -7
  730. package/docs/examples/tables/update.md +0 -7
  731. package/docs/examples/tables/upsert-row.md +0 -4
  732. package/docs/examples/tables/upsert-rows.md +0 -3
  733. package/docs/examples/teams/create-membership.md +0 -8
  734. package/docs/examples/teams/create.md +0 -4
  735. package/docs/examples/teams/delete-membership.md +0 -3
  736. package/docs/examples/teams/delete.md +0 -2
  737. package/docs/examples/teams/get-membership.md +0 -3
  738. package/docs/examples/teams/get-prefs.md +0 -2
  739. package/docs/examples/teams/get.md +0 -2
  740. package/docs/examples/teams/list-logs.md +0 -3
  741. package/docs/examples/teams/list-memberships.md +0 -4
  742. package/docs/examples/teams/list.md +0 -3
  743. package/docs/examples/teams/update-membership-status.md +0 -5
  744. package/docs/examples/teams/update-membership.md +0 -4
  745. package/docs/examples/teams/update-name.md +0 -3
  746. package/docs/examples/teams/update-prefs.md +0 -3
  747. package/docs/examples/tokens/create-file-token.md +0 -4
  748. package/docs/examples/tokens/delete.md +0 -2
  749. package/docs/examples/tokens/get.md +0 -2
  750. package/docs/examples/tokens/list.md +0 -4
  751. package/docs/examples/tokens/update.md +0 -3
  752. package/docs/examples/users/create-argon2user.md +0 -5
  753. package/docs/examples/users/create-bcrypt-user.md +0 -5
  754. package/docs/examples/users/create-j-w-t.md +0 -4
  755. package/docs/examples/users/create-m-d5user.md +0 -5
  756. package/docs/examples/users/create-mfa-recovery-codes.md +0 -2
  757. package/docs/examples/users/create-p-h-pass-user.md +0 -5
  758. package/docs/examples/users/create-s-h-a-user.md +0 -6
  759. package/docs/examples/users/create-scrypt-modified-user.md +0 -8
  760. package/docs/examples/users/create-scrypt-user.md +0 -10
  761. package/docs/examples/users/create-session.md +0 -2
  762. package/docs/examples/users/create-target.md +0 -7
  763. package/docs/examples/users/create-token.md +0 -4
  764. package/docs/examples/users/create.md +0 -6
  765. package/docs/examples/users/delete-identity.md +0 -2
  766. package/docs/examples/users/delete-mfa-authenticator.md +0 -3
  767. package/docs/examples/users/delete-session.md +0 -3
  768. package/docs/examples/users/delete-sessions.md +0 -2
  769. package/docs/examples/users/delete-target.md +0 -3
  770. package/docs/examples/users/delete.md +0 -2
  771. package/docs/examples/users/get-mfa-recovery-codes.md +0 -2
  772. package/docs/examples/users/get-prefs.md +0 -2
  773. package/docs/examples/users/get-target.md +0 -3
  774. package/docs/examples/users/get-usage.md +0 -2
  775. package/docs/examples/users/get.md +0 -2
  776. package/docs/examples/users/list-identities.md +0 -3
  777. package/docs/examples/users/list-logs.md +0 -3
  778. package/docs/examples/users/list-memberships.md +0 -4
  779. package/docs/examples/users/list-mfa-factors.md +0 -2
  780. package/docs/examples/users/list-sessions.md +0 -2
  781. package/docs/examples/users/list-targets.md +0 -3
  782. package/docs/examples/users/list.md +0 -3
  783. package/docs/examples/users/update-email-verification.md +0 -3
  784. package/docs/examples/users/update-email.md +0 -3
  785. package/docs/examples/users/update-labels.md +0 -3
  786. package/docs/examples/users/update-mfa-recovery-codes.md +0 -2
  787. package/docs/examples/users/update-mfa.md +0 -3
  788. package/docs/examples/users/update-name.md +0 -3
  789. package/docs/examples/users/update-password.md +0 -3
  790. package/docs/examples/users/update-phone-verification.md +0 -3
  791. package/docs/examples/users/update-phone.md +0 -3
  792. package/docs/examples/users/update-prefs.md +0 -3
  793. package/docs/examples/users/update-status.md +0 -3
  794. package/docs/examples/users/update-target.md +0 -6
  795. package/docs/examples/vcs/create-repository-detection.md +0 -5
  796. package/docs/examples/vcs/create-repository.md +0 -4
  797. package/docs/examples/vcs/delete-installation.md +0 -2
  798. package/docs/examples/vcs/get-installation.md +0 -2
  799. package/docs/examples/vcs/get-repository-contents.md +0 -5
  800. package/docs/examples/vcs/get-repository.md +0 -3
  801. package/docs/examples/vcs/list-installations.md +0 -3
  802. package/docs/examples/vcs/list-repositories.md +0 -4
  803. package/docs/examples/vcs/list-repository-branches.md +0 -3
  804. package/docs/examples/vcs/update-external-deployments.md +0 -4
  805. package/functions/Starter function/.prettierrc.json +0 -6
  806. package/functions/Starter function/README.md +0 -48
  807. package/functions/Starter function/package-lock.json +0 -60
  808. package/functions/Starter function/package.json +0 -16
  809. package/functions/Starter function/src/main.js +0 -35
  810. package/generate/appwrite.d.ts +0 -55
  811. package/generate/appwrite.db.ts +0 -75
  812. package/index.js +0 -109
  813. package/lib/client-generation/languages/typescript.js +0 -65
  814. package/lib/client.js +0 -259
  815. package/lib/commands/account.js +0 -2074
  816. package/lib/commands/avatars.js +0 -491
  817. package/lib/commands/console.js +0 -129
  818. package/lib/commands/databases.js +0 -2972
  819. package/lib/commands/functions.js +0 -1737
  820. package/lib/commands/generic.js +0 -328
  821. package/lib/commands/graphql.js +0 -128
  822. package/lib/commands/health.js +0 -891
  823. package/lib/commands/init.js +0 -566
  824. package/lib/commands/locale.js +0 -324
  825. package/lib/commands/messaging.js +0 -2970
  826. package/lib/commands/migrations.js +0 -751
  827. package/lib/commands/organizations.js +0 -48
  828. package/lib/commands/project.js +0 -308
  829. package/lib/commands/projects.js +0 -2615
  830. package/lib/commands/proxy.js +0 -406
  831. package/lib/commands/pull.js +0 -474
  832. package/lib/commands/push.js +0 -2117
  833. package/lib/commands/run.js +0 -330
  834. package/lib/commands/sites.js +0 -1663
  835. package/lib/commands/storage.js +0 -990
  836. package/lib/commands/tables.js +0 -2607
  837. package/lib/commands/teams.js +0 -682
  838. package/lib/commands/tokens.js +0 -261
  839. package/lib/commands/types.js +0 -191
  840. package/lib/commands/users.js +0 -2035
  841. package/lib/commands/vcs.js +0 -484
  842. package/lib/config.js +0 -717
  843. package/lib/emulation/docker.js +0 -264
  844. package/lib/emulation/utils.js +0 -186
  845. package/lib/exception.js +0 -9
  846. package/lib/id.js +0 -30
  847. package/lib/paginate.js +0 -52
  848. package/lib/parser.js +0 -246
  849. package/lib/questions.js +0 -1006
  850. package/lib/sdks.js +0 -60
  851. package/lib/spinner.js +0 -104
  852. package/lib/type-generation/attribute.js +0 -16
  853. package/lib/type-generation/languages/dart.js +0 -196
  854. package/lib/type-generation/languages/java.js +0 -130
  855. package/lib/type-generation/languages/javascript.js +0 -102
  856. package/lib/type-generation/languages/kotlin.js +0 -85
  857. package/lib/type-generation/languages/language.js +0 -125
  858. package/lib/type-generation/languages/php.js +0 -110
  859. package/lib/type-generation/languages/swift.js +0 -169
  860. package/lib/type-generation/languages/typescript.js +0 -105
  861. package/lib/utils.js +0 -289
  862. package/lib/validations.js +0 -17
  863. package/scoop/appwrite.json +0 -30
  864. package/sites/JavaScript starter2/.env.example +0 -3
  865. package/sites/JavaScript starter2/LICENSE +0 -21
  866. package/sites/JavaScript starter2/images/appwrite.svg +0 -8
  867. package/sites/JavaScript starter2/images/javascript.svg +0 -5
  868. package/sites/JavaScript starter2/index.html +0 -250
  869. package/sites/JavaScript starter2/lib/appwrite.js +0 -10
  870. package/sites/JavaScript starter2/package-lock.json +0 -1431
  871. package/sites/JavaScript starter2/package.json +0 -21
  872. package/sites/JavaScript starter2/readme.md +0 -26
  873. package/sites/JavaScript starter2/src/javascript.svg +0 -1
  874. package/sites/JavaScript starter2/style/app.css +0 -20
  875. package/sites/JavaScript starter2/vite.config.js +0 -7
@@ -0,0 +1,1167 @@
1
+ import chalk from "chalk";
2
+ import { localConfig, globalConfig } from "./config.js";
3
+ import { sdkForConsole } from "./sdks.js";
4
+ import { validateRequired } from "./validations.js";
5
+ import { paginate } from "./paginate.js";
6
+ import { checkDeployConditions, isCloud } from "./utils.js";
7
+ import { Account, Client } from "@appwrite.io/console";
8
+ import {
9
+ getOrganizationsService,
10
+ getTeamsService,
11
+ getProjectsService,
12
+ getFunctionsService,
13
+ getSitesService,
14
+ getDatabasesService,
15
+ } from "./services.js";
16
+
17
+ interface Answers {
18
+ override?: boolean;
19
+ method?: string;
20
+ start?: string;
21
+ organization?: string;
22
+ [key: string]: any;
23
+ }
24
+
25
+ interface Choice {
26
+ name: string;
27
+ value: any;
28
+ disabled?: boolean | string;
29
+ current?: boolean;
30
+ }
31
+
32
+ interface Question {
33
+ type: string;
34
+ name: string;
35
+ message: string;
36
+ default?: any;
37
+ when?: ((answers: Answers) => boolean | Promise<boolean>) | boolean;
38
+ choices?:
39
+ | ((answers: Answers) => Promise<Choice[]> | Choice[])
40
+ | (() => Promise<Choice[]> | Choice[])
41
+ | Choice[]
42
+ | string[];
43
+ validate?: (value: any) => boolean | string | Promise<boolean | string>;
44
+ mask?: string;
45
+ }
46
+
47
+ const whenOverride = (answers: Answers): boolean =>
48
+ answers.override === undefined ? true : answers.override;
49
+
50
+ const getIgnores = (runtime: string): string[] => {
51
+ const languge = runtime.split("-").slice(0, -1).join("-");
52
+
53
+ switch (languge) {
54
+ case "cpp":
55
+ return ["build", "CMakeFiles", "CMakeCaches.txt"];
56
+ case "dart":
57
+ return [".packages", ".dart_tool"];
58
+ case "deno":
59
+ return [];
60
+ case "dotnet":
61
+ return ["bin", "obj", ".nuget"];
62
+ case "java":
63
+ case "kotlin":
64
+ return ["build"];
65
+ case "node":
66
+ case "bun":
67
+ return ["node_modules", ".npm"];
68
+ case "php":
69
+ return ["vendor"];
70
+ case "python":
71
+ case "python-ml":
72
+ return ["__pypackages__"];
73
+ case "ruby":
74
+ return ["vendor"];
75
+ case "rust":
76
+ return ["target", "debug", "*.rs.bk", "*.pdb"];
77
+ case "swift":
78
+ return [".build", ".swiftpm"];
79
+ }
80
+
81
+ return [];
82
+ };
83
+
84
+ const getEntrypoint = (runtime: string): string | undefined => {
85
+ const languge = runtime.split("-").slice(0, -1).join("-");
86
+
87
+ switch (languge) {
88
+ case "dart":
89
+ return "lib/main.dart";
90
+ case "deno":
91
+ return "src/main.ts";
92
+ case "node":
93
+ return "src/main.js";
94
+ case "bun":
95
+ return "src/main.ts";
96
+ case "php":
97
+ return "src/index.php";
98
+ case "python":
99
+ case "python-ml":
100
+ return "src/main.py";
101
+ case "ruby":
102
+ return "lib/main.rb";
103
+ case "rust":
104
+ return "main.rs";
105
+ case "swift":
106
+ return "Sources/index.swift";
107
+ case "cpp":
108
+ return "src/main.cc";
109
+ case "dotnet":
110
+ return "src/Index.cs";
111
+ case "java":
112
+ return "src/Main.java";
113
+ case "kotlin":
114
+ return "src/Main.kt";
115
+ case "go":
116
+ return "main.go";
117
+ }
118
+
119
+ return undefined;
120
+ };
121
+
122
+ const getInstallCommand = (runtime: string): string | undefined => {
123
+ const languge = runtime.split("-").slice(0, -1).join("-");
124
+
125
+ switch (languge) {
126
+ case "dart":
127
+ return "dart pub get";
128
+ case "deno":
129
+ return "deno cache src/main.ts";
130
+ case "node":
131
+ return "npm install";
132
+ case "bun":
133
+ return "bun install";
134
+ case "php":
135
+ return "composer install";
136
+ case "python":
137
+ case "python-ml":
138
+ return "pip install -r requirements.txt";
139
+ case "ruby":
140
+ return "bundle install";
141
+ case "rust":
142
+ return "cargo install";
143
+ case "dotnet":
144
+ return "dotnet restore";
145
+ case "swift":
146
+ case "java":
147
+ case "kotlin":
148
+ case "cpp":
149
+ return "";
150
+ }
151
+
152
+ return undefined;
153
+ };
154
+
155
+ export const questionsInitProject: Question[] = [
156
+ {
157
+ type: "confirm",
158
+ name: "override",
159
+ message: `An Appwrite project ( ${localConfig.getProject()["projectId"]} ) is already associated with the current directory. Would you like to override`,
160
+ when() {
161
+ return Object.keys(localConfig.getProject()).length !== 0;
162
+ },
163
+ },
164
+ {
165
+ type: "list",
166
+ name: "start",
167
+ when: whenOverride,
168
+ message: "How would you like to start?",
169
+ choices: [
170
+ {
171
+ name: "Create new project",
172
+ value: "new",
173
+ },
174
+ {
175
+ name: "Link directory to an existing project",
176
+ value: "existing",
177
+ },
178
+ ],
179
+ },
180
+ {
181
+ type: "search-list",
182
+ name: "organization",
183
+ message: "Choose your organization",
184
+ choices: async () => {
185
+ let client = await sdkForConsole(true);
186
+ const { teams } = isCloud()
187
+ ? await paginate(
188
+ async (opts: { sdk?: Client } = {}) =>
189
+ (await getOrganizationsService(opts.sdk)).list(),
190
+ { sdk: client },
191
+ 100,
192
+ "teams",
193
+ )
194
+ : await paginate(
195
+ async (opts: { sdk?: Client } = {}) =>
196
+ (await getTeamsService(opts.sdk)).list(),
197
+ { parseOutput: false, sdk: client },
198
+ 100,
199
+ "teams",
200
+ );
201
+
202
+ let choices = teams.map((team: any, idx: number) => {
203
+ return {
204
+ name: `${team.name} (${team["$id"]})`,
205
+ value: team["$id"],
206
+ };
207
+ });
208
+
209
+ if (choices.length == 0) {
210
+ throw new Error(
211
+ `No organizations found. Please create a new organization at ${globalConfig.getEndpoint().replace("/v1", "/console/onboarding")}`,
212
+ );
213
+ }
214
+
215
+ return choices;
216
+ },
217
+ when: whenOverride,
218
+ },
219
+ {
220
+ type: "input",
221
+ name: "project",
222
+ message: "What would you like to name your project?",
223
+ default: "My Awesome Project",
224
+ when: (answer: Answers) => answer.start !== "existing",
225
+ },
226
+ {
227
+ type: "input",
228
+ name: "id",
229
+ message: "What ID would you like to have for your project?",
230
+ default: "unique()",
231
+ when: (answer: Answers) => answer.start !== "existing",
232
+ },
233
+ {
234
+ type: "search-list",
235
+ name: "project",
236
+ message: "Choose your Appwrite project.",
237
+ choices: async (answers: Answers) => {
238
+ const queries = [
239
+ JSON.stringify({
240
+ method: "equal",
241
+ attribute: "teamId",
242
+ values: [answers.organization],
243
+ }),
244
+ JSON.stringify({ method: "orderDesc", attribute: "$id" }),
245
+ ];
246
+
247
+ const { projects } = await paginate(
248
+ async () => (await getProjectsService()).list(queries),
249
+ { parseOutput: false },
250
+ 100,
251
+ "projects",
252
+ queries,
253
+ );
254
+
255
+ let choices = projects.map((project: any) => {
256
+ return {
257
+ name: `${project.name} (${project["$id"]})`,
258
+ value: {
259
+ $id: project["$id"],
260
+ region: project.region || "",
261
+ },
262
+ };
263
+ });
264
+
265
+ if (choices.length === 0) {
266
+ throw new Error("No projects found. Please create a new project.");
267
+ }
268
+
269
+ return choices;
270
+ },
271
+ when: (answer: Answers) => answer.start === "existing",
272
+ },
273
+ {
274
+ type: "list",
275
+ name: "region",
276
+ message: "Select your Appwrite Cloud region",
277
+ choices: async () => {
278
+ let client = await sdkForConsole(true);
279
+ const endpoint =
280
+ globalConfig.getEndpoint() || "https://cloud.appwrite.io/v1";
281
+ let response = (await client.call(
282
+ "GET",
283
+ new URL(endpoint + "/console/regions"),
284
+ )) as { regions: any[] };
285
+ let regions = response.regions || [];
286
+ if (!regions.length) {
287
+ throw new Error(
288
+ "No regions found. Please check your network or Appwrite Cloud availability.",
289
+ );
290
+ }
291
+ return regions
292
+ .filter((region: any) => !region.disabled)
293
+ .map((region: any) => ({
294
+ name: `${region.name} (${region.$id})`,
295
+ value: region.$id,
296
+ }));
297
+ },
298
+ when: (answer: Answers) => {
299
+ if (answer.start === "existing") return false;
300
+ return isCloud();
301
+ },
302
+ },
303
+ ];
304
+
305
+ export const questionsInitProjectAutopull: Question[] = [
306
+ {
307
+ type: "confirm",
308
+ name: "autopull",
309
+ message: `Would you like to pull all resources from project you just linked?`,
310
+ },
311
+ ];
312
+
313
+ export const questionsPullResources: Question[] = [
314
+ {
315
+ type: "list",
316
+ name: "resource",
317
+ message: "Which resources would you like to pull?",
318
+ choices: [
319
+ { name: `Settings ${chalk.blackBright(`(Project)`)}`, value: "settings" },
320
+ {
321
+ name: `Functions ${chalk.blackBright(`(Deployment)`)}`,
322
+ value: "functions",
323
+ },
324
+ { name: `Tables ${chalk.blackBright(`(TablesDB)`)}`, value: "tables" },
325
+ { name: `Buckets ${chalk.blackBright(`(Storage)`)}`, value: "buckets" },
326
+ { name: `Teams ${chalk.blackBright(`(Auth)`)}`, value: "teams" },
327
+ { name: `Topics ${chalk.blackBright(`(Messaging)`)}`, value: "messages" },
328
+ {
329
+ name: `Collections ${chalk.blackBright(`(Legacy Databases)`)}`,
330
+ value: "collections",
331
+ },
332
+ ],
333
+ },
334
+ ];
335
+
336
+ export const questionsPullFunctions: Question[] = [
337
+ {
338
+ type: "checkbox",
339
+ name: "functions",
340
+ message: "Which functions would you like to pull?",
341
+ validate: (value: any) => validateRequired("function", value),
342
+ choices: async () => {
343
+ const { functions } = await paginate(
344
+ async () => (await getFunctionsService()).list(),
345
+ { parseOutput: false },
346
+ 100,
347
+ "functions",
348
+ );
349
+
350
+ if (functions.length === 0) {
351
+ throw "We couldn't find any functions in your Appwrite project";
352
+ }
353
+ return functions.map((func: any) => {
354
+ return {
355
+ name: `${func.name} (${func.$id})`,
356
+ value: { ...func },
357
+ };
358
+ });
359
+ },
360
+ },
361
+ ];
362
+
363
+ export const questionsPullFunctionsCode: Question[] = [
364
+ {
365
+ type: "confirm",
366
+ name: "override",
367
+ message: "Do you want to pull source code of the latest deployment?",
368
+ },
369
+ ];
370
+
371
+ export const questionsPullSites: Question[] = [
372
+ {
373
+ type: "checkbox",
374
+ name: "sites",
375
+ message: "Which sites would you like to pull?",
376
+ validate: (value: any) => validateRequired("site", value),
377
+ choices: async () => {
378
+ const { sites } = await paginate(
379
+ async () => (await getSitesService()).list(),
380
+ { parseOutput: false },
381
+ 100,
382
+ "sites",
383
+ );
384
+
385
+ if (sites.length === 0) {
386
+ throw "We couldn't find any sites in your Appwrite project";
387
+ }
388
+ return sites.map((site: any) => {
389
+ return {
390
+ name: `${site.name} (${site.$id})`,
391
+ value: { ...site },
392
+ };
393
+ });
394
+ },
395
+ },
396
+ ];
397
+
398
+ export const questionsPullSitesCode: Question[] = [
399
+ {
400
+ type: "confirm",
401
+ name: "override",
402
+ message: "Do you want to pull source code of the latest deployment?",
403
+ },
404
+ ];
405
+
406
+ export const questionsCreateFunction: Question[] = [
407
+ {
408
+ type: "input",
409
+ name: "name",
410
+ message: "What would you like to name your function?",
411
+ default: "My Awesome Function",
412
+ },
413
+ {
414
+ type: "input",
415
+ name: "id",
416
+ message: "What ID would you like to have for your function?",
417
+ default: "unique()",
418
+ },
419
+ {
420
+ type: "list",
421
+ name: "runtime",
422
+ message: "What runtime would you like to use?",
423
+ choices: async () => {
424
+ let response = await (await getFunctionsService()).listRuntimes();
425
+ let runtimes = response["runtimes"];
426
+ let choices = runtimes.map((runtime: any, idx: number) => {
427
+ return {
428
+ name: `${runtime.name} (${runtime["$id"]})`,
429
+ value: {
430
+ id: runtime["$id"],
431
+ name: runtime["$id"].split("-")[0],
432
+ entrypoint: getEntrypoint(runtime["$id"]),
433
+ ignore: getIgnores(runtime["$id"]),
434
+ commands: getInstallCommand(runtime["$id"]),
435
+ },
436
+ };
437
+ });
438
+ return choices;
439
+ },
440
+ },
441
+ {
442
+ type: "list",
443
+ name: "specification",
444
+ message: "What specification would you like to use?",
445
+ choices: async () => {
446
+ let response = await (await getFunctionsService()).listSpecifications();
447
+ let specifications = response["specifications"];
448
+ let choices = specifications.map((spec: any, idx: number) => {
449
+ return {
450
+ name: `${spec.cpus} CPU, ${spec.memory}MB RAM`,
451
+ value: spec.slug,
452
+ disabled: spec.enabled === false ? "Upgrade to use" : false,
453
+ };
454
+ });
455
+ return choices;
456
+ },
457
+ },
458
+ ];
459
+
460
+ export const questionsCreateFunctionSelectTemplate = (
461
+ templates: string[],
462
+ ): Question[] => {
463
+ return [
464
+ {
465
+ type: "search-list",
466
+ name: "template",
467
+ message: "What template would you like to use?",
468
+ choices: templates.map((template) => {
469
+ const name =
470
+ `${template[0].toUpperCase()}${template.split("").slice(1).join("")}`.replace(
471
+ /[-_]/g,
472
+ " ",
473
+ );
474
+
475
+ return { value: template, name };
476
+ }),
477
+ },
478
+ ];
479
+ };
480
+
481
+ export const questionsCreateBucket: Question[] = [
482
+ {
483
+ type: "input",
484
+ name: "bucket",
485
+ message: "What would you like to name your bucket?",
486
+ default: "My Awesome Bucket",
487
+ },
488
+ {
489
+ type: "input",
490
+ name: "id",
491
+ message: "What ID would you like to have for your bucket?",
492
+ default: "unique()",
493
+ },
494
+ {
495
+ type: "list",
496
+ name: "fileSecurity",
497
+ message: "Enable File-Security configuring permissions for individual file",
498
+ choices: ["No", "Yes"],
499
+ },
500
+ ];
501
+
502
+ export const questionsCreateTeam: Question[] = [
503
+ {
504
+ type: "input",
505
+ name: "bucket",
506
+ message: "What would you like to name your team?",
507
+ default: "My Awesome Team",
508
+ },
509
+ {
510
+ type: "input",
511
+ name: "id",
512
+ message: "What ID would you like to have for your team?",
513
+ default: "unique()",
514
+ },
515
+ ];
516
+
517
+ export const questionsCreateCollection: Question[] = [
518
+ {
519
+ type: "list",
520
+ name: "method",
521
+ message: "What database would you like to use for your collection",
522
+ choices: ["New", "Existing"],
523
+ when: async () => {
524
+ return localConfig.getDatabases().length !== 0;
525
+ },
526
+ },
527
+ {
528
+ type: "search-list",
529
+ name: "database",
530
+ message: "Choose the collection database",
531
+ choices: async () => {
532
+ const databases = localConfig.getDatabases();
533
+
534
+ let choices = databases.map((database: any, idx: number) => {
535
+ return {
536
+ name: `${database.name} (${database.$id})`,
537
+ value: database.$id,
538
+ };
539
+ });
540
+
541
+ if (choices.length === 0) {
542
+ throw new Error(
543
+ "No databases found. Please create one in project console.",
544
+ );
545
+ }
546
+
547
+ return choices;
548
+ },
549
+ when: (answers: Answers) =>
550
+ (answers.method ?? "").toLowerCase() === "existing",
551
+ },
552
+ {
553
+ type: "input",
554
+ name: "databaseName",
555
+ message: "What would you like to name your database?",
556
+ default: "My Awesome Database",
557
+ when: (answers: Answers) =>
558
+ (answers.method ?? "").toLowerCase() !== "existing",
559
+ },
560
+ {
561
+ type: "input",
562
+ name: "databaseId",
563
+ message: "What ID would you like to have for your database?",
564
+ default: "unique()",
565
+ when: (answers: Answers) =>
566
+ (answers.method ?? "").toLowerCase() !== "existing",
567
+ },
568
+ {
569
+ type: "input",
570
+ name: "collection",
571
+ message: "What would you like to name your collection?",
572
+ default: "My Awesome Collection",
573
+ },
574
+ {
575
+ type: "input",
576
+ name: "id",
577
+ message: "What ID would you like to have for your collection?",
578
+ default: "unique()",
579
+ },
580
+ {
581
+ type: "list",
582
+ name: "documentSecurity",
583
+ message:
584
+ "Enable document security for configuring permissions for individual documents",
585
+ choices: ["No", "Yes"],
586
+ },
587
+ ];
588
+
589
+ export const questionsCreateTable: Question[] = [
590
+ {
591
+ type: "list",
592
+ name: "method",
593
+ message: "What database would you like to use for your table?",
594
+ choices: ["New", "Existing"],
595
+ when: async () => {
596
+ return localConfig.getTablesDBs().length !== 0;
597
+ },
598
+ },
599
+ {
600
+ type: "search-list",
601
+ name: "database",
602
+ message: "Choose the table database",
603
+ choices: async () => {
604
+ const databases = localConfig.getTablesDBs();
605
+
606
+ let choices = databases.map((database: any, idx: number) => {
607
+ return {
608
+ name: `${database.name} (${database.$id})`,
609
+ value: database.$id,
610
+ };
611
+ });
612
+
613
+ if (choices.length === 0) {
614
+ throw new Error(
615
+ "No databases found. Please create one in project console.",
616
+ );
617
+ }
618
+
619
+ return choices;
620
+ },
621
+ when: (answers: Answers) =>
622
+ (answers.method ?? "").toLowerCase() === "existing",
623
+ },
624
+ {
625
+ type: "input",
626
+ name: "databaseName",
627
+ message: "What would you like to name your database?",
628
+ default: "My Awesome Database",
629
+ when: (answers: Answers) =>
630
+ (answers.method ?? "").toLowerCase() !== "existing",
631
+ },
632
+ {
633
+ type: "input",
634
+ name: "databaseId",
635
+ message: "What ID would you like to have for your database?",
636
+ default: "unique()",
637
+ when: (answers: Answers) =>
638
+ (answers.method ?? "").toLowerCase() !== "existing",
639
+ },
640
+ {
641
+ type: "input",
642
+ name: "table",
643
+ message: "What would you like to name your table?",
644
+ default: "My Awesome Table",
645
+ },
646
+ {
647
+ type: "input",
648
+ name: "id",
649
+ message: "What ID would you like to have for your table?",
650
+ default: "unique()",
651
+ },
652
+ {
653
+ type: "list",
654
+ name: "rowSecurity",
655
+ message:
656
+ "Enable row security for configuring permissions for individual rows",
657
+ choices: ["No", "Yes"],
658
+ },
659
+ ];
660
+
661
+ export const questionsCreateMessagingTopic: Question[] = [
662
+ {
663
+ type: "input",
664
+ name: "topic",
665
+ message: "What would you like to name your messaging topic?",
666
+ default: "My Awesome Topic",
667
+ },
668
+ {
669
+ type: "input",
670
+ name: "id",
671
+ message: "What ID would you like to have for your messaging topic?",
672
+ default: "unique()",
673
+ },
674
+ ];
675
+
676
+ export const questionsPullCollection: Question[] = [
677
+ {
678
+ type: "checkbox",
679
+ name: "databases",
680
+ message: "From which database would you like to pull collections?",
681
+ validate: (value: any) => validateRequired("collection", value),
682
+ choices: async () => {
683
+ let response = await (await getDatabasesService()).list();
684
+ let databases = response["databases"];
685
+
686
+ if (databases.length <= 0) {
687
+ throw new Error(
688
+ "No databases found. Please create one in project console.",
689
+ );
690
+ }
691
+ let choices = databases.map((database: any, idx: number) => {
692
+ return {
693
+ name: `${database.name} (${database.$id})`,
694
+ value: database.$id,
695
+ };
696
+ });
697
+ return choices;
698
+ },
699
+ },
700
+ ];
701
+
702
+ export const questionsLogin: Question[] = [
703
+ {
704
+ type: "list",
705
+ name: "method",
706
+ message: "What you like to do?",
707
+ choices: [
708
+ { name: "Login to an account", value: "login" },
709
+ { name: "Switch to an account", value: "select" },
710
+ ],
711
+ when: () => globalConfig.getSessions().length >= 2,
712
+ },
713
+ {
714
+ type: "input",
715
+ name: "email",
716
+ message: "Enter your email",
717
+ validate(value: string) {
718
+ if (!value) {
719
+ return "Please enter your email";
720
+ }
721
+ return true;
722
+ },
723
+ when: (answers: Answers) => answers.method !== "select",
724
+ },
725
+ {
726
+ type: "password",
727
+ name: "password",
728
+ message: "Enter your password",
729
+ mask: "*",
730
+ validate(value: string) {
731
+ if (!value) {
732
+ return "Please enter your password";
733
+ }
734
+ return true;
735
+ },
736
+ when: (answers: Answers) => answers.method !== "select",
737
+ },
738
+ {
739
+ type: "search-list",
740
+ name: "accountId",
741
+ message: "Select an account to use",
742
+ choices() {
743
+ const sessions = globalConfig.getSessions();
744
+ const current = globalConfig.getCurrentSession();
745
+
746
+ const data: Choice[] = [];
747
+
748
+ const longestEmail = sessions.reduce((prev: any, current: any) =>
749
+ prev && (prev.email ?? "").length > (current.email ?? "").length
750
+ ? prev
751
+ : current,
752
+ ).email.length;
753
+
754
+ sessions.forEach((session: any) => {
755
+ if (session.email) {
756
+ data.push({
757
+ current: current === session.id,
758
+ value: session.id,
759
+ name: `${session.email.padEnd(longestEmail)} ${current === session.id ? chalk.green.bold("current") : " ".repeat(6)} ${session.endpoint}`,
760
+ });
761
+ }
762
+ });
763
+
764
+ return data.sort((a, b) => Number(b.current) - Number(a.current));
765
+ },
766
+ when: (answers: Answers) => answers.method === "select",
767
+ },
768
+ ];
769
+
770
+ export const questionGetEndpoint: Question[] = [
771
+ {
772
+ type: "input",
773
+ name: "endpoint",
774
+ message: "Enter the endpoint of your Appwrite server",
775
+ default: "http://localhost/v1",
776
+ async validate(value: string) {
777
+ if (!value) {
778
+ return "Please enter a valid endpoint.";
779
+ }
780
+ let client = new Client().setEndpoint(value);
781
+ try {
782
+ let response = (await client.call(
783
+ "get",
784
+ new URL(value + "/health/version"),
785
+ )) as { version?: string };
786
+ if (response.version) {
787
+ return true;
788
+ } else {
789
+ throw new Error();
790
+ }
791
+ } catch (error) {
792
+ return "Invalid endpoint or your Appwrite server is not running as expected.";
793
+ }
794
+ },
795
+ },
796
+ ];
797
+
798
+ export const questionsLogout: Question[] = [
799
+ {
800
+ type: "checkbox",
801
+ name: "accounts",
802
+ message: "Select accounts to logout from",
803
+ validate: (value: any) => validateRequired("account", value),
804
+ choices() {
805
+ const sessions = globalConfig.getSessions();
806
+ const current = globalConfig.getCurrentSession();
807
+
808
+ const data: Choice[] = [];
809
+
810
+ const longestEmail = sessions.reduce((prev: any, current: any) =>
811
+ prev && (prev.email ?? "").length > (current.email ?? "").length
812
+ ? prev
813
+ : current,
814
+ ).email.length;
815
+
816
+ sessions.forEach((session: any) => {
817
+ if (session.email) {
818
+ data.push({
819
+ current: current === session.id,
820
+ value: session.id,
821
+ name: `${session.email.padEnd(longestEmail)} ${current === session.id ? chalk.green.bold("current") : " ".repeat(6)} ${session.endpoint}`,
822
+ });
823
+ }
824
+ });
825
+
826
+ return data.sort((a, b) => Number(b.current) - Number(a.current));
827
+ },
828
+ },
829
+ ];
830
+
831
+ export const questionsPushResources: Question[] = [
832
+ {
833
+ type: "list",
834
+ name: "resource",
835
+ message: "Which resources would you like to push?",
836
+ choices: [
837
+ { name: `Settings ${chalk.blackBright(`(Project)`)}`, value: "settings" },
838
+ {
839
+ name: `Functions ${chalk.blackBright(`(Deployment)`)}`,
840
+ value: "functions",
841
+ },
842
+ { name: `Tables ${chalk.blackBright(`(TablesDB)`)}`, value: "tables" },
843
+ { name: `Buckets ${chalk.blackBright(`(Storage)`)}`, value: "buckets" },
844
+ { name: `Teams ${chalk.blackBright(`(Auth)`)}`, value: "teams" },
845
+ { name: `Topics ${chalk.blackBright(`(Messaging)`)}`, value: "messages" },
846
+ {
847
+ name: `Collections ${chalk.blackBright(`(Legacy Databases)`)}`,
848
+ value: "collections",
849
+ },
850
+ ],
851
+ },
852
+ ];
853
+
854
+ export const questionsInitResources: Question[] = [
855
+ {
856
+ type: "list",
857
+ name: "resource",
858
+ message: "Which resource would you create?",
859
+ choices: [
860
+ { name: "Function", value: "function" },
861
+ { name: "Site", value: "site" },
862
+ { name: "Table", value: "table" },
863
+ { name: "Bucket", value: "bucket" },
864
+ { name: "Team", value: "team" },
865
+ { name: "Topic", value: "message" },
866
+ { name: "Collection", value: "collection" },
867
+ ],
868
+ },
869
+ ];
870
+
871
+ export const questionsPushSites: Question[] = [
872
+ {
873
+ type: "checkbox",
874
+ name: "sites",
875
+ message: "Which sites would you like to push?",
876
+ validate: (value: any) => validateRequired("site", value),
877
+ when: () => localConfig.getSites().length > 0,
878
+ choices: () => {
879
+ let sites = localConfig.getSites();
880
+ checkDeployConditions(localConfig);
881
+ let choices = sites.map((site: any, idx: number) => {
882
+ return {
883
+ name: `${site.name} (${site.$id})`,
884
+ value: site.$id,
885
+ };
886
+ });
887
+ return choices;
888
+ },
889
+ },
890
+ ];
891
+
892
+ export const questionsPushFunctions: Question[] = [
893
+ {
894
+ type: "checkbox",
895
+ name: "functions",
896
+ message: "Which functions would you like to push?",
897
+ validate: (value: any) => validateRequired("function", value),
898
+ when: () => localConfig.getFunctions().length > 0,
899
+ choices: () => {
900
+ let functions = localConfig.getFunctions();
901
+ checkDeployConditions(localConfig);
902
+ let choices = functions.map((func: any, idx: number) => {
903
+ return {
904
+ name: `${func.name} (${func.$id})`,
905
+ value: func.$id,
906
+ };
907
+ });
908
+ return choices;
909
+ },
910
+ },
911
+ ];
912
+
913
+ export const questionsPushCollections: Question[] = [
914
+ {
915
+ type: "checkbox",
916
+ name: "collections",
917
+ message: "Which collections would you like to push?",
918
+ validate: (value: any) => validateRequired("collection", value),
919
+ when: () => localConfig.getCollections().length > 0,
920
+ choices: () => {
921
+ let collections = localConfig.getCollections();
922
+ checkDeployConditions(localConfig);
923
+
924
+ return collections.map((collection: any) => {
925
+ return {
926
+ name: `${collection.name} (${collection["databaseId"]} - ${collection["$id"]})`,
927
+ value: `${collection["databaseId"]}|${collection["$id"]}`,
928
+ };
929
+ });
930
+ },
931
+ },
932
+ ];
933
+
934
+ export const questionsPushTables: Question[] = [
935
+ {
936
+ type: "checkbox",
937
+ name: "tables",
938
+ message: "Which tables would you like to push?",
939
+ validate: (value: any) => validateRequired("table", value),
940
+ when: () => localConfig.getTables().length > 0,
941
+ choices: () => {
942
+ let tables = localConfig.getTables();
943
+ checkDeployConditions(localConfig);
944
+
945
+ return tables.map((table: any) => {
946
+ return {
947
+ name: `${table.name} (${table["databaseId"]} - ${table["$id"]})`,
948
+ value: `${table["databaseId"]}|${table["$id"]}`,
949
+ };
950
+ });
951
+ },
952
+ },
953
+ ];
954
+
955
+ export const questionPushChanges: Question[] = [
956
+ {
957
+ type: "input",
958
+ name: "changes",
959
+ message: `Are you sure you want to apply these changes? (YES/NO)`,
960
+ },
961
+ ];
962
+
963
+ export const questionPushChangesConfirmation: Question[] = [
964
+ {
965
+ type: "input",
966
+ name: "changes",
967
+ message: `Please type 'YES' or 'NO':`,
968
+ },
969
+ ];
970
+
971
+ export const questionsPushBuckets: Question[] = [
972
+ {
973
+ type: "checkbox",
974
+ name: "buckets",
975
+ message: "Which buckets would you like to push?",
976
+ validate: (value: any) => validateRequired("bucket", value),
977
+ when: () => localConfig.getBuckets().length > 0,
978
+ choices: () => {
979
+ let buckets = localConfig.getBuckets();
980
+ checkDeployConditions(localConfig);
981
+
982
+ return buckets.map((bucket: any) => {
983
+ return {
984
+ name: `${bucket.name} (${bucket["$id"]})`,
985
+ value: bucket.$id,
986
+ };
987
+ });
988
+ },
989
+ },
990
+ ];
991
+
992
+ export const questionsPushMessagingTopics: Question[] = [
993
+ {
994
+ type: "checkbox",
995
+ name: "topics",
996
+ message: "Which messaging topic would you like to push?",
997
+ validate: (value: any) => validateRequired("topics", value),
998
+ when: () => localConfig.getMessagingTopics().length > 0,
999
+ choices: () => {
1000
+ let topics = localConfig.getMessagingTopics();
1001
+
1002
+ return topics.map((topic: any) => {
1003
+ return {
1004
+ name: `${topic.name} (${topic["$id"]})`,
1005
+ value: topic.$id,
1006
+ };
1007
+ });
1008
+ },
1009
+ },
1010
+ ];
1011
+
1012
+ export const questionsGetEntrypoint: Question[] = [
1013
+ {
1014
+ type: "input",
1015
+ name: "entrypoint",
1016
+ message: "Enter the entrypoint",
1017
+ default: null,
1018
+ validate(value: string) {
1019
+ if (!value) {
1020
+ return "Please enter your entrypoint";
1021
+ }
1022
+ return true;
1023
+ },
1024
+ },
1025
+ ];
1026
+
1027
+ export const questionsPushTeams: Question[] = [
1028
+ {
1029
+ type: "checkbox",
1030
+ name: "teams",
1031
+ message: "Which teams would you like to push?",
1032
+ validate: (value: any) => validateRequired("team", value),
1033
+ when: () => localConfig.getTeams().length > 0,
1034
+ choices: () => {
1035
+ let teams = localConfig.getTeams();
1036
+ checkDeployConditions(localConfig);
1037
+
1038
+ return teams.map((team: any) => {
1039
+ return {
1040
+ name: `${team.name} (${team["$id"]})`,
1041
+ value: team.$id,
1042
+ };
1043
+ });
1044
+ },
1045
+ },
1046
+ ];
1047
+
1048
+ export const questionsListFactors: Question[] = [
1049
+ {
1050
+ type: "list",
1051
+ name: "factor",
1052
+ message:
1053
+ "Your account is protected by multi-factor authentication. Please choose one for verification.",
1054
+ choices: async () => {
1055
+ let client = await sdkForConsole(false);
1056
+ const accountClient = new Account(client);
1057
+ const factors = await accountClient.listMfaFactors();
1058
+
1059
+ const choices = [
1060
+ {
1061
+ name: `Authenticator app (Get a code from a third-party authenticator app)`,
1062
+ value: "totp",
1063
+ },
1064
+ {
1065
+ name: `Email (Get a security code at your Appwrite email address)`,
1066
+ value: "email",
1067
+ },
1068
+ {
1069
+ name: `SMS (Get a security code on your Appwrite phone number)`,
1070
+ value: "phone",
1071
+ },
1072
+ {
1073
+ name: `Recovery code (Use one of your recovery codes for verification)`,
1074
+ value: "recoveryCode",
1075
+ },
1076
+ ].filter((ch) => factors[ch.value] === true);
1077
+
1078
+ return choices;
1079
+ },
1080
+ },
1081
+ ];
1082
+
1083
+ export const questionsMFAChallenge: Question[] = [
1084
+ {
1085
+ type: "input",
1086
+ name: "otp",
1087
+ message: "Enter OTP",
1088
+ validate(value: string) {
1089
+ if (!value) {
1090
+ return "Please enter OTP";
1091
+ }
1092
+ return true;
1093
+ },
1094
+ },
1095
+ ];
1096
+
1097
+ export const questionsRunFunctions: Question[] = [
1098
+ {
1099
+ type: "list",
1100
+ name: "function",
1101
+ message: "Which function would you like to develop locally?",
1102
+ validate: (value: any) => validateRequired("function", value),
1103
+ choices: () => {
1104
+ let functions = localConfig.getFunctions();
1105
+ if (functions.length === 0) {
1106
+ throw new Error(
1107
+ "No functions found. Use 'appwrite pull functions' to synchronize existing one, or use 'appwrite init function' to create a new one.",
1108
+ );
1109
+ }
1110
+ let choices = functions.map((func: any, idx: number) => {
1111
+ return {
1112
+ name: `${func.name} (${func.$id})`,
1113
+ value: func.$id,
1114
+ };
1115
+ });
1116
+ return choices;
1117
+ },
1118
+ },
1119
+ ];
1120
+
1121
+ export const questionsCreateSite: Question[] = [
1122
+ {
1123
+ type: "input",
1124
+ name: "name",
1125
+ message: "What would you like to name your site?",
1126
+ default: "My Awesome Site",
1127
+ },
1128
+ {
1129
+ type: "input",
1130
+ name: "id",
1131
+ message: "What ID would you like to have for your site?",
1132
+ default: "unique()",
1133
+ },
1134
+ {
1135
+ type: "list",
1136
+ name: "framework",
1137
+ message: "What framework would you like to use?",
1138
+ choices: async () => {
1139
+ let response = await (await getSitesService()).listFrameworks();
1140
+ let frameworks = response["frameworks"];
1141
+ let choices = frameworks.map((framework: any) => {
1142
+ return {
1143
+ name: `${framework.name} (${framework.key})`,
1144
+ value: framework,
1145
+ };
1146
+ });
1147
+ return choices;
1148
+ },
1149
+ },
1150
+ {
1151
+ type: "list",
1152
+ name: "specification",
1153
+ message: "What specification would you like to use?",
1154
+ choices: async () => {
1155
+ let response = await (await getSitesService()).listSpecifications();
1156
+ let specifications = response["specifications"];
1157
+ let choices = specifications.map((spec: any) => {
1158
+ return {
1159
+ name: `${spec.cpus} CPU, ${spec.memory}MB RAM`,
1160
+ value: spec.slug,
1161
+ disabled: spec.enabled === false ? "Upgrade to use" : false,
1162
+ };
1163
+ });
1164
+ return choices;
1165
+ },
1166
+ },
1167
+ ];