appwrite-cli 12.0.1 → 13.0.0-rc.2

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 (801) hide show
  1. package/.github/workflows/build-verify.yml +71 -0
  2. package/.github/workflows/npm-publish.yml +41 -22
  3. package/CHANGELOG.md +108 -100
  4. package/LICENSE.md +1 -1
  5. package/README.md +58 -35
  6. package/bun.lock +625 -0
  7. package/dist/bundle.cjs +94853 -0
  8. package/dist/index.d.ts +3 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +145 -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/generic.d.ts +17 -0
  17. package/dist/lib/commands/generic.d.ts.map +1 -0
  18. package/dist/lib/commands/generic.js +292 -0
  19. package/dist/lib/commands/generic.js.map +1 -0
  20. package/dist/lib/commands/init.d.ts +3 -0
  21. package/dist/lib/commands/init.d.ts.map +1 -0
  22. package/{lib → dist/lib}/commands/init.js +186 -270
  23. package/dist/lib/commands/init.js.map +1 -0
  24. package/dist/lib/commands/pull.d.ts +8 -0
  25. package/dist/lib/commands/pull.d.ts.map +1 -0
  26. package/{lib → dist/lib}/commands/pull.js +159 -280
  27. package/dist/lib/commands/pull.js.map +1 -0
  28. package/dist/lib/commands/push.d.ts +4 -0
  29. package/dist/lib/commands/push.d.ts.map +1 -0
  30. package/dist/lib/commands/push.js +2127 -0
  31. package/dist/lib/commands/push.js.map +1 -0
  32. package/dist/lib/commands/run.d.ts +3 -0
  33. package/dist/lib/commands/run.d.ts.map +1 -0
  34. package/{lib → dist/lib}/commands/run.js +146 -187
  35. package/dist/lib/commands/run.js.map +1 -0
  36. package/dist/lib/commands/services/account.d.ts +3 -0
  37. package/dist/lib/commands/services/account.d.ts.map +1 -0
  38. package/dist/lib/commands/services/account.js +306 -0
  39. package/dist/lib/commands/services/account.js.map +1 -0
  40. package/dist/lib/commands/services/avatars.d.ts +3 -0
  41. package/dist/lib/commands/services/avatars.d.ts.map +1 -0
  42. package/dist/lib/commands/services/avatars.js +118 -0
  43. package/dist/lib/commands/services/avatars.js.map +1 -0
  44. package/dist/lib/commands/services/console.d.ts +3 -0
  45. package/dist/lib/commands/services/console.d.ts.map +1 -0
  46. package/dist/lib/commands/services/console.js +41 -0
  47. package/dist/lib/commands/services/console.js.map +1 -0
  48. package/dist/lib/commands/services/databases.d.ts +3 -0
  49. package/dist/lib/commands/services/databases.d.ts.map +1 -0
  50. package/dist/lib/commands/services/databases.js +612 -0
  51. package/dist/lib/commands/services/databases.js.map +1 -0
  52. package/dist/lib/commands/services/functions.d.ts +3 -0
  53. package/dist/lib/commands/services/functions.d.ts.map +1 -0
  54. package/dist/lib/commands/services/functions.js +258 -0
  55. package/dist/lib/commands/services/functions.js.map +1 -0
  56. package/dist/lib/commands/services/graphql.d.ts +3 -0
  57. package/dist/lib/commands/services/graphql.d.ts.map +1 -0
  58. package/dist/lib/commands/services/graphql.js +28 -0
  59. package/dist/lib/commands/services/graphql.js.map +1 -0
  60. package/dist/lib/commands/services/health.d.ts +3 -0
  61. package/dist/lib/commands/services/health.d.ts.map +1 -0
  62. package/dist/lib/commands/services/health.js +123 -0
  63. package/dist/lib/commands/services/health.js.map +1 -0
  64. package/dist/lib/commands/services/locale.d.ts +3 -0
  65. package/dist/lib/commands/services/locale.d.ts.map +1 -0
  66. package/dist/lib/commands/services/locale.js +52 -0
  67. package/dist/lib/commands/services/locale.js.map +1 -0
  68. package/dist/lib/commands/services/messaging.d.ts +3 -0
  69. package/dist/lib/commands/services/messaging.d.ts.map +1 -0
  70. package/dist/lib/commands/services/messaging.js +505 -0
  71. package/dist/lib/commands/services/messaging.js.map +1 -0
  72. package/dist/lib/commands/services/migrations.d.ts +3 -0
  73. package/dist/lib/commands/services/migrations.d.ts.map +1 -0
  74. package/dist/lib/commands/services/migrations.js +135 -0
  75. package/dist/lib/commands/services/migrations.js.map +1 -0
  76. package/dist/lib/commands/services/project.d.ts +3 -0
  77. package/dist/lib/commands/services/project.d.ts.map +1 -0
  78. package/dist/lib/commands/services/project.js +54 -0
  79. package/dist/lib/commands/services/project.js.map +1 -0
  80. package/dist/lib/commands/services/projects.d.ts +3 -0
  81. package/dist/lib/commands/services/projects.d.ts.map +1 -0
  82. package/dist/lib/commands/services/projects.js +415 -0
  83. package/dist/lib/commands/services/projects.js.map +1 -0
  84. package/dist/lib/commands/services/proxy.d.ts +3 -0
  85. package/dist/lib/commands/services/proxy.d.ts.map +1 -0
  86. package/dist/lib/commands/services/proxy.js +68 -0
  87. package/dist/lib/commands/services/proxy.js.map +1 -0
  88. package/dist/lib/commands/services/sites.d.ts +3 -0
  89. package/dist/lib/commands/services/sites.d.ts.map +1 -0
  90. package/dist/lib/commands/services/sites.js +242 -0
  91. package/dist/lib/commands/services/sites.js.map +1 -0
  92. package/dist/lib/commands/services/storage.d.ts +3 -0
  93. package/dist/lib/commands/services/storage.d.ts.map +1 -0
  94. package/dist/lib/commands/services/storage.js +153 -0
  95. package/dist/lib/commands/services/storage.js.map +1 -0
  96. package/dist/lib/commands/services/tablesdb.d.ts +3 -0
  97. package/dist/lib/commands/services/tablesdb.d.ts.map +1 -0
  98. package/dist/lib/commands/services/tablesdb.js +605 -0
  99. package/dist/lib/commands/services/tablesdb.js.map +1 -0
  100. package/dist/lib/commands/services/teams.d.ts +3 -0
  101. package/dist/lib/commands/services/teams.d.ts.map +1 -0
  102. package/dist/lib/commands/services/teams.js +123 -0
  103. package/dist/lib/commands/services/teams.js.map +1 -0
  104. package/dist/lib/commands/services/tokens.d.ts +3 -0
  105. package/dist/lib/commands/services/tokens.d.ts.map +1 -0
  106. package/dist/lib/commands/services/tokens.js +49 -0
  107. package/dist/lib/commands/services/tokens.js.map +1 -0
  108. package/dist/lib/commands/services/users.d.ts +3 -0
  109. package/dist/lib/commands/services/users.d.ts.map +1 -0
  110. package/dist/lib/commands/services/users.js +312 -0
  111. package/dist/lib/commands/services/users.js.map +1 -0
  112. package/dist/lib/commands/services/vcs.d.ts +3 -0
  113. package/dist/lib/commands/services/vcs.d.ts.map +1 -0
  114. package/dist/lib/commands/services/vcs.js +87 -0
  115. package/dist/lib/commands/services/vcs.js.map +1 -0
  116. package/dist/lib/commands/types.d.ts +3 -0
  117. package/dist/lib/commands/types.d.ts.map +1 -0
  118. package/dist/lib/commands/types.js +151 -0
  119. package/dist/lib/commands/types.js.map +1 -0
  120. package/dist/lib/commands/update.d.ts +3 -0
  121. package/dist/lib/commands/update.d.ts.map +1 -0
  122. package/{lib → dist/lib}/commands/update.js +62 -79
  123. package/dist/lib/commands/update.js.map +1 -0
  124. package/dist/lib/config.d.ts +118 -0
  125. package/dist/lib/config.d.ts.map +1 -0
  126. package/{lib → dist/lib}/config.js +173 -232
  127. package/dist/lib/config.js.map +1 -0
  128. package/dist/lib/emulation/docker.d.ts +7 -0
  129. package/dist/lib/emulation/docker.d.ts.map +1 -0
  130. package/dist/lib/emulation/docker.js +224 -0
  131. package/dist/lib/emulation/docker.js.map +1 -0
  132. package/dist/lib/emulation/utils.d.ts +29 -0
  133. package/dist/lib/emulation/utils.d.ts.map +1 -0
  134. package/{lib → dist/lib}/emulation/utils.js +70 -91
  135. package/dist/lib/emulation/utils.js.map +1 -0
  136. package/dist/lib/id.d.ts +7 -0
  137. package/dist/lib/id.d.ts.map +1 -0
  138. package/{lib → dist/lib}/id.js +5 -8
  139. package/dist/lib/id.js.map +1 -0
  140. package/dist/lib/paginate.d.ts +9 -0
  141. package/dist/lib/paginate.d.ts.map +1 -0
  142. package/{lib → dist/lib}/paginate.js +10 -19
  143. package/dist/lib/paginate.js.map +1 -0
  144. package/dist/lib/parser.d.ts +18 -0
  145. package/dist/lib/parser.d.ts.map +1 -0
  146. package/dist/lib/parser.js +225 -0
  147. package/dist/lib/parser.js.map +1 -0
  148. package/dist/lib/questions.d.ts +59 -0
  149. package/dist/lib/questions.d.ts.map +1 -0
  150. package/{lib → dist/lib}/questions.js +393 -500
  151. package/dist/lib/questions.js.map +1 -0
  152. package/dist/lib/sdks.d.ts +4 -0
  153. package/dist/lib/sdks.d.ts.map +1 -0
  154. package/dist/lib/sdks.js +61 -0
  155. package/dist/lib/sdks.js.map +1 -0
  156. package/dist/lib/services.d.ts +13 -0
  157. package/dist/lib/services.d.ts.map +1 -0
  158. package/dist/lib/services.js +47 -0
  159. package/dist/lib/services.js.map +1 -0
  160. package/dist/lib/spinner.d.ts +28 -0
  161. package/dist/lib/spinner.d.ts.map +1 -0
  162. package/dist/lib/spinner.js +91 -0
  163. package/dist/lib/spinner.js.map +1 -0
  164. package/dist/lib/type-generation/attribute.d.ts +17 -0
  165. package/dist/lib/type-generation/attribute.d.ts.map +1 -0
  166. package/{lib → dist/lib}/type-generation/attribute.js +2 -5
  167. package/dist/lib/type-generation/attribute.js.map +1 -0
  168. package/dist/lib/type-generation/languages/csharp.d.ts +7 -0
  169. package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -0
  170. package/dist/lib/type-generation/languages/csharp.js +180 -0
  171. package/dist/lib/type-generation/languages/csharp.js.map +1 -0
  172. package/dist/lib/type-generation/languages/dart.d.ts +8 -0
  173. package/dist/lib/type-generation/languages/dart.d.ts.map +1 -0
  174. package/dist/lib/type-generation/languages/dart.js +197 -0
  175. package/dist/lib/type-generation/languages/dart.js.map +1 -0
  176. package/dist/lib/type-generation/languages/java.d.ts +7 -0
  177. package/dist/lib/type-generation/languages/java.d.ts.map +1 -0
  178. package/dist/lib/type-generation/languages/java.js +140 -0
  179. package/dist/lib/type-generation/languages/java.js.map +1 -0
  180. package/dist/lib/type-generation/languages/javascript.d.ts +9 -0
  181. package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -0
  182. package/dist/lib/type-generation/languages/javascript.js +109 -0
  183. package/dist/lib/type-generation/languages/javascript.js.map +1 -0
  184. package/dist/lib/type-generation/languages/kotlin.d.ts +7 -0
  185. package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -0
  186. package/dist/lib/type-generation/languages/kotlin.js +95 -0
  187. package/dist/lib/type-generation/languages/kotlin.js.map +1 -0
  188. package/dist/lib/type-generation/languages/language.d.ts +43 -0
  189. package/dist/lib/type-generation/languages/language.d.ts.map +1 -0
  190. package/dist/lib/type-generation/languages/language.js +77 -0
  191. package/dist/lib/type-generation/languages/language.js.map +1 -0
  192. package/dist/lib/type-generation/languages/php.d.ts +7 -0
  193. package/dist/lib/type-generation/languages/php.d.ts.map +1 -0
  194. package/dist/lib/type-generation/languages/php.js +116 -0
  195. package/dist/lib/type-generation/languages/php.js.map +1 -0
  196. package/dist/lib/type-generation/languages/swift.d.ts +7 -0
  197. package/dist/lib/type-generation/languages/swift.d.ts.map +1 -0
  198. package/dist/lib/type-generation/languages/swift.js +179 -0
  199. package/dist/lib/type-generation/languages/swift.js.map +1 -0
  200. package/dist/lib/type-generation/languages/typescript.d.ts +9 -0
  201. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -0
  202. package/dist/lib/type-generation/languages/typescript.js +115 -0
  203. package/dist/lib/type-generation/languages/typescript.js.map +1 -0
  204. package/dist/lib/types.d.ts +277 -0
  205. package/dist/lib/types.d.ts.map +1 -0
  206. package/dist/lib/types.js +2 -0
  207. package/dist/lib/types.js.map +1 -0
  208. package/dist/lib/utils.d.ts +15 -0
  209. package/dist/lib/utils.d.ts.map +1 -0
  210. package/{lib → dist/lib}/utils.js +125 -167
  211. package/dist/lib/utils.js.map +1 -0
  212. package/dist/lib/validations.d.ts +2 -0
  213. package/dist/lib/validations.d.ts.map +1 -0
  214. package/dist/lib/validations.js +16 -0
  215. package/dist/lib/validations.js.map +1 -0
  216. package/dist/package.json +67 -0
  217. package/dist/scripts/generate-commands.d.ts +2 -0
  218. package/dist/scripts/generate-commands.d.ts.map +1 -0
  219. package/dist/scripts/generate-commands.js +398 -0
  220. package/dist/scripts/generate-commands.js.map +1 -0
  221. package/index.ts +168 -0
  222. package/install.ps1 +2 -5
  223. package/install.sh +1 -2
  224. package/lib/client.ts +292 -0
  225. package/lib/commands/generic.ts +440 -0
  226. package/lib/commands/init.ts +713 -0
  227. package/lib/commands/pull.ts +668 -0
  228. package/lib/commands/push.ts +3183 -0
  229. package/lib/commands/run.ts +416 -0
  230. package/lib/commands/services/account.ts +832 -0
  231. package/lib/commands/services/avatars.ts +400 -0
  232. package/lib/commands/services/console.ts +73 -0
  233. package/lib/commands/services/databases.ts +2080 -0
  234. package/lib/commands/services/functions.ts +855 -0
  235. package/lib/commands/services/graphql.ts +47 -0
  236. package/lib/commands/services/health.ts +322 -0
  237. package/lib/commands/services/locale.ts +99 -0
  238. package/lib/commands/services/messaging.ts +1871 -0
  239. package/lib/commands/services/migrations.ts +421 -0
  240. package/lib/commands/services/project.ts +116 -0
  241. package/lib/commands/services/projects.ts +1317 -0
  242. package/lib/commands/services/proxy.ts +163 -0
  243. package/lib/commands/services/sites.ts +777 -0
  244. package/lib/commands/services/storage.ts +547 -0
  245. package/lib/commands/services/tablesdb.ts +1928 -0
  246. package/lib/commands/services/teams.ts +294 -0
  247. package/lib/commands/services/tokens.ts +106 -0
  248. package/lib/commands/services/users.ts +886 -0
  249. package/lib/commands/services/vcs.ts +268 -0
  250. package/lib/commands/types.ts +220 -0
  251. package/lib/commands/update.ts +255 -0
  252. package/lib/config.ts +969 -0
  253. package/lib/emulation/docker.ts +312 -0
  254. package/lib/emulation/utils.ts +207 -0
  255. package/lib/id.ts +30 -0
  256. package/lib/paginate.ts +77 -0
  257. package/lib/parser.ts +264 -0
  258. package/lib/questions.ts +1167 -0
  259. package/lib/sdks.ts +84 -0
  260. package/lib/services.ts +72 -0
  261. package/lib/spinner.ts +131 -0
  262. package/lib/type-generation/attribute.ts +18 -0
  263. package/lib/type-generation/languages/{csharp.js → csharp.ts} +27 -14
  264. package/lib/type-generation/languages/{dart.js → dart.ts} +61 -46
  265. package/lib/type-generation/languages/{java.js → java.ts} +31 -18
  266. package/lib/type-generation/languages/{javascript.js → javascript.ts} +35 -24
  267. package/lib/type-generation/languages/{kotlin.js → kotlin.ts} +27 -14
  268. package/lib/type-generation/languages/{language.js → language.ts} +45 -43
  269. package/lib/type-generation/languages/{php.js → php.ts} +28 -15
  270. package/lib/type-generation/languages/{swift.js → swift.ts} +27 -14
  271. package/lib/type-generation/languages/{typescript.js → typescript.ts} +43 -26
  272. package/lib/types.ts +304 -0
  273. package/lib/utils.ts +352 -0
  274. package/lib/validations.ts +20 -0
  275. package/package.json +36 -19
  276. package/scoop/appwrite.config.json +19 -29
  277. package/scripts/generate-commands.ts +539 -0
  278. package/tsconfig.json +24 -0
  279. package/.github/workflows/autoclose.yml +0 -11
  280. package/docs/examples/account/create-anonymous-session.md +0 -1
  281. package/docs/examples/account/create-email-password-session.md +0 -3
  282. package/docs/examples/account/create-email-token.md +0 -3
  283. package/docs/examples/account/create-email-verification.md +0 -2
  284. package/docs/examples/account/create-jwt.md +0 -1
  285. package/docs/examples/account/create-magic-url-token.md +0 -3
  286. package/docs/examples/account/create-mfa-authenticator.md +0 -2
  287. package/docs/examples/account/create-mfa-challenge.md +0 -2
  288. package/docs/examples/account/create-mfa-recovery-codes.md +0 -1
  289. package/docs/examples/account/create-o-auth-2-session.md +0 -2
  290. package/docs/examples/account/create-o-auth-2-token.md +0 -2
  291. package/docs/examples/account/create-phone-token.md +0 -3
  292. package/docs/examples/account/create-phone-verification.md +0 -1
  293. package/docs/examples/account/create-push-target.md +0 -3
  294. package/docs/examples/account/create-recovery.md +0 -3
  295. package/docs/examples/account/create-session.md +0 -3
  296. package/docs/examples/account/create-verification.md +0 -2
  297. package/docs/examples/account/create.md +0 -4
  298. package/docs/examples/account/delete-identity.md +0 -2
  299. package/docs/examples/account/delete-mfa-authenticator.md +0 -2
  300. package/docs/examples/account/delete-push-target.md +0 -2
  301. package/docs/examples/account/delete-session.md +0 -2
  302. package/docs/examples/account/delete-sessions.md +0 -1
  303. package/docs/examples/account/delete.md +0 -1
  304. package/docs/examples/account/get-mfa-recovery-codes.md +0 -1
  305. package/docs/examples/account/get-prefs.md +0 -1
  306. package/docs/examples/account/get-session.md +0 -2
  307. package/docs/examples/account/get.md +0 -1
  308. package/docs/examples/account/list-identities.md +0 -1
  309. package/docs/examples/account/list-logs.md +0 -1
  310. package/docs/examples/account/list-mfa-factors.md +0 -1
  311. package/docs/examples/account/list-sessions.md +0 -1
  312. package/docs/examples/account/update-email-verification.md +0 -3
  313. package/docs/examples/account/update-email.md +0 -3
  314. package/docs/examples/account/update-magic-url-session.md +0 -3
  315. package/docs/examples/account/update-mfa-authenticator.md +0 -3
  316. package/docs/examples/account/update-mfa-challenge.md +0 -3
  317. package/docs/examples/account/update-mfa-recovery-codes.md +0 -1
  318. package/docs/examples/account/update-mfa.md +0 -2
  319. package/docs/examples/account/update-name.md +0 -2
  320. package/docs/examples/account/update-password.md +0 -2
  321. package/docs/examples/account/update-phone-session.md +0 -3
  322. package/docs/examples/account/update-phone-verification.md +0 -3
  323. package/docs/examples/account/update-phone.md +0 -3
  324. package/docs/examples/account/update-prefs.md +0 -2
  325. package/docs/examples/account/update-push-target.md +0 -3
  326. package/docs/examples/account/update-recovery.md +0 -4
  327. package/docs/examples/account/update-session.md +0 -2
  328. package/docs/examples/account/update-status.md +0 -1
  329. package/docs/examples/account/update-verification.md +0 -3
  330. package/docs/examples/console/get-resource.md +0 -3
  331. package/docs/examples/console/variables.md +0 -1
  332. package/docs/examples/databases/create-boolean-attribute.md +0 -5
  333. package/docs/examples/databases/create-collection.md +0 -4
  334. package/docs/examples/databases/create-datetime-attribute.md +0 -5
  335. package/docs/examples/databases/create-document.md +0 -5
  336. package/docs/examples/databases/create-documents.md +0 -4
  337. package/docs/examples/databases/create-email-attribute.md +0 -5
  338. package/docs/examples/databases/create-enum-attribute.md +0 -6
  339. package/docs/examples/databases/create-float-attribute.md +0 -5
  340. package/docs/examples/databases/create-index.md +0 -6
  341. package/docs/examples/databases/create-integer-attribute.md +0 -5
  342. package/docs/examples/databases/create-ip-attribute.md +0 -5
  343. package/docs/examples/databases/create-line-attribute.md +0 -5
  344. package/docs/examples/databases/create-operations.md +0 -2
  345. package/docs/examples/databases/create-point-attribute.md +0 -5
  346. package/docs/examples/databases/create-polygon-attribute.md +0 -5
  347. package/docs/examples/databases/create-relationship-attribute.md +0 -5
  348. package/docs/examples/databases/create-string-attribute.md +0 -6
  349. package/docs/examples/databases/create-transaction.md +0 -1
  350. package/docs/examples/databases/create-url-attribute.md +0 -5
  351. package/docs/examples/databases/create.md +0 -3
  352. package/docs/examples/databases/decrement-document-attribute.md +0 -5
  353. package/docs/examples/databases/delete-attribute.md +0 -4
  354. package/docs/examples/databases/delete-collection.md +0 -3
  355. package/docs/examples/databases/delete-document.md +0 -4
  356. package/docs/examples/databases/delete-documents.md +0 -3
  357. package/docs/examples/databases/delete-index.md +0 -4
  358. package/docs/examples/databases/delete-transaction.md +0 -2
  359. package/docs/examples/databases/delete.md +0 -2
  360. package/docs/examples/databases/get-attribute.md +0 -4
  361. package/docs/examples/databases/get-collection-usage.md +0 -3
  362. package/docs/examples/databases/get-collection.md +0 -3
  363. package/docs/examples/databases/get-document.md +0 -4
  364. package/docs/examples/databases/get-index.md +0 -4
  365. package/docs/examples/databases/get-transaction.md +0 -2
  366. package/docs/examples/databases/get-usage.md +0 -2
  367. package/docs/examples/databases/get.md +0 -2
  368. package/docs/examples/databases/increment-document-attribute.md +0 -5
  369. package/docs/examples/databases/list-attributes.md +0 -3
  370. package/docs/examples/databases/list-collection-logs.md +0 -3
  371. package/docs/examples/databases/list-collections.md +0 -2
  372. package/docs/examples/databases/list-document-logs.md +0 -4
  373. package/docs/examples/databases/list-documents.md +0 -3
  374. package/docs/examples/databases/list-indexes.md +0 -3
  375. package/docs/examples/databases/list-logs.md +0 -2
  376. package/docs/examples/databases/list-transactions.md +0 -1
  377. package/docs/examples/databases/list-usage.md +0 -1
  378. package/docs/examples/databases/list.md +0 -1
  379. package/docs/examples/databases/update-boolean-attribute.md +0 -6
  380. package/docs/examples/databases/update-collection.md +0 -4
  381. package/docs/examples/databases/update-datetime-attribute.md +0 -6
  382. package/docs/examples/databases/update-document.md +0 -4
  383. package/docs/examples/databases/update-documents.md +0 -3
  384. package/docs/examples/databases/update-email-attribute.md +0 -6
  385. package/docs/examples/databases/update-enum-attribute.md +0 -7
  386. package/docs/examples/databases/update-float-attribute.md +0 -6
  387. package/docs/examples/databases/update-integer-attribute.md +0 -6
  388. package/docs/examples/databases/update-ip-attribute.md +0 -6
  389. package/docs/examples/databases/update-line-attribute.md +0 -5
  390. package/docs/examples/databases/update-point-attribute.md +0 -5
  391. package/docs/examples/databases/update-polygon-attribute.md +0 -5
  392. package/docs/examples/databases/update-relationship-attribute.md +0 -4
  393. package/docs/examples/databases/update-string-attribute.md +0 -6
  394. package/docs/examples/databases/update-transaction.md +0 -2
  395. package/docs/examples/databases/update-url-attribute.md +0 -6
  396. package/docs/examples/databases/update.md +0 -3
  397. package/docs/examples/databases/upsert-document.md +0 -5
  398. package/docs/examples/databases/upsert-documents.md +0 -4
  399. package/docs/examples/functions/create-deployment.md +0 -4
  400. package/docs/examples/functions/create-duplicate-deployment.md +0 -3
  401. package/docs/examples/functions/create-execution.md +0 -2
  402. package/docs/examples/functions/create-template-deployment.md +0 -7
  403. package/docs/examples/functions/create-variable.md +0 -4
  404. package/docs/examples/functions/create-vcs-deployment.md +0 -4
  405. package/docs/examples/functions/create.md +0 -4
  406. package/docs/examples/functions/delete-deployment.md +0 -3
  407. package/docs/examples/functions/delete-execution.md +0 -3
  408. package/docs/examples/functions/delete-variable.md +0 -3
  409. package/docs/examples/functions/delete.md +0 -2
  410. package/docs/examples/functions/get-deployment-download.md +0 -3
  411. package/docs/examples/functions/get-deployment.md +0 -3
  412. package/docs/examples/functions/get-execution.md +0 -3
  413. package/docs/examples/functions/get-template.md +0 -2
  414. package/docs/examples/functions/get-usage.md +0 -2
  415. package/docs/examples/functions/get-variable.md +0 -3
  416. package/docs/examples/functions/get.md +0 -2
  417. package/docs/examples/functions/list-deployments.md +0 -2
  418. package/docs/examples/functions/list-executions.md +0 -2
  419. package/docs/examples/functions/list-runtimes.md +0 -1
  420. package/docs/examples/functions/list-specifications.md +0 -1
  421. package/docs/examples/functions/list-templates.md +0 -1
  422. package/docs/examples/functions/list-usage.md +0 -1
  423. package/docs/examples/functions/list-variables.md +0 -2
  424. package/docs/examples/functions/list.md +0 -1
  425. package/docs/examples/functions/update-deployment-status.md +0 -3
  426. package/docs/examples/functions/update-function-deployment.md +0 -3
  427. package/docs/examples/functions/update-variable.md +0 -4
  428. package/docs/examples/functions/update.md +0 -3
  429. package/docs/examples/graphql/mutation.md +0 -2
  430. package/docs/examples/graphql/query.md +0 -2
  431. package/docs/examples/health/get-antivirus.md +0 -1
  432. package/docs/examples/health/get-cache.md +0 -1
  433. package/docs/examples/health/get-certificate.md +0 -1
  434. package/docs/examples/health/get-db.md +0 -1
  435. package/docs/examples/health/get-failed-jobs.md +0 -2
  436. package/docs/examples/health/get-pub-sub.md +0 -1
  437. package/docs/examples/health/get-queue-builds.md +0 -1
  438. package/docs/examples/health/get-queue-certificates.md +0 -1
  439. package/docs/examples/health/get-queue-databases.md +0 -1
  440. package/docs/examples/health/get-queue-deletes.md +0 -1
  441. package/docs/examples/health/get-queue-functions.md +0 -1
  442. package/docs/examples/health/get-queue-logs.md +0 -1
  443. package/docs/examples/health/get-queue-mails.md +0 -1
  444. package/docs/examples/health/get-queue-messaging.md +0 -1
  445. package/docs/examples/health/get-queue-migrations.md +0 -1
  446. package/docs/examples/health/get-queue-stats-resources.md +0 -1
  447. package/docs/examples/health/get-queue-usage.md +0 -1
  448. package/docs/examples/health/get-queue-webhooks.md +0 -1
  449. package/docs/examples/health/get-storage-local.md +0 -1
  450. package/docs/examples/health/get-storage.md +0 -1
  451. package/docs/examples/health/get-time.md +0 -1
  452. package/docs/examples/health/get.md +0 -1
  453. package/docs/examples/locale/get.md +0 -1
  454. package/docs/examples/locale/list-codes.md +0 -1
  455. package/docs/examples/locale/list-continents.md +0 -1
  456. package/docs/examples/locale/list-countries-eu.md +0 -1
  457. package/docs/examples/locale/list-countries-phones.md +0 -1
  458. package/docs/examples/locale/list-countries.md +0 -1
  459. package/docs/examples/locale/list-currencies.md +0 -1
  460. package/docs/examples/locale/list-languages.md +0 -1
  461. package/docs/examples/messaging/create-apns-provider.md +0 -3
  462. package/docs/examples/messaging/create-email.md +0 -4
  463. package/docs/examples/messaging/create-fcm-provider.md +0 -3
  464. package/docs/examples/messaging/create-mailgun-provider.md +0 -3
  465. package/docs/examples/messaging/create-msg-91-provider.md +0 -3
  466. package/docs/examples/messaging/create-push.md +0 -2
  467. package/docs/examples/messaging/create-resend-provider.md +0 -3
  468. package/docs/examples/messaging/create-sendgrid-provider.md +0 -3
  469. package/docs/examples/messaging/create-sms.md +0 -3
  470. package/docs/examples/messaging/create-smtp-provider.md +0 -4
  471. package/docs/examples/messaging/create-subscriber.md +0 -4
  472. package/docs/examples/messaging/create-telesign-provider.md +0 -3
  473. package/docs/examples/messaging/create-textmagic-provider.md +0 -3
  474. package/docs/examples/messaging/create-topic.md +0 -3
  475. package/docs/examples/messaging/create-twilio-provider.md +0 -3
  476. package/docs/examples/messaging/create-vonage-provider.md +0 -3
  477. package/docs/examples/messaging/delete-provider.md +0 -2
  478. package/docs/examples/messaging/delete-subscriber.md +0 -3
  479. package/docs/examples/messaging/delete-topic.md +0 -2
  480. package/docs/examples/messaging/delete.md +0 -2
  481. package/docs/examples/messaging/get-message.md +0 -2
  482. package/docs/examples/messaging/get-provider.md +0 -2
  483. package/docs/examples/messaging/get-subscriber.md +0 -3
  484. package/docs/examples/messaging/get-topic.md +0 -2
  485. package/docs/examples/messaging/list-message-logs.md +0 -2
  486. package/docs/examples/messaging/list-messages.md +0 -1
  487. package/docs/examples/messaging/list-provider-logs.md +0 -2
  488. package/docs/examples/messaging/list-providers.md +0 -1
  489. package/docs/examples/messaging/list-subscriber-logs.md +0 -2
  490. package/docs/examples/messaging/list-subscribers.md +0 -2
  491. package/docs/examples/messaging/list-targets.md +0 -2
  492. package/docs/examples/messaging/list-topic-logs.md +0 -2
  493. package/docs/examples/messaging/list-topics.md +0 -1
  494. package/docs/examples/messaging/update-apns-provider.md +0 -2
  495. package/docs/examples/messaging/update-email.md +0 -2
  496. package/docs/examples/messaging/update-fcm-provider.md +0 -2
  497. package/docs/examples/messaging/update-mailgun-provider.md +0 -2
  498. package/docs/examples/messaging/update-msg-91-provider.md +0 -2
  499. package/docs/examples/messaging/update-push.md +0 -2
  500. package/docs/examples/messaging/update-resend-provider.md +0 -2
  501. package/docs/examples/messaging/update-sendgrid-provider.md +0 -2
  502. package/docs/examples/messaging/update-sms.md +0 -2
  503. package/docs/examples/messaging/update-smtp-provider.md +0 -2
  504. package/docs/examples/messaging/update-telesign-provider.md +0 -2
  505. package/docs/examples/messaging/update-textmagic-provider.md +0 -2
  506. package/docs/examples/messaging/update-topic.md +0 -2
  507. package/docs/examples/messaging/update-twilio-provider.md +0 -2
  508. package/docs/examples/messaging/update-vonage-provider.md +0 -2
  509. package/docs/examples/migrations/create-appwrite-migration.md +0 -5
  510. package/docs/examples/migrations/create-csv-export.md +0 -3
  511. package/docs/examples/migrations/create-csv-import.md +0 -4
  512. package/docs/examples/migrations/create-firebase-migration.md +0 -3
  513. package/docs/examples/migrations/create-n-host-migration.md +0 -8
  514. package/docs/examples/migrations/create-supabase-migration.md +0 -7
  515. package/docs/examples/migrations/delete.md +0 -2
  516. package/docs/examples/migrations/get-appwrite-report.md +0 -5
  517. package/docs/examples/migrations/get-firebase-report.md +0 -3
  518. package/docs/examples/migrations/get-n-host-report.md +0 -8
  519. package/docs/examples/migrations/get-supabase-report.md +0 -7
  520. package/docs/examples/migrations/get.md +0 -2
  521. package/docs/examples/migrations/list.md +0 -1
  522. package/docs/examples/migrations/retry.md +0 -2
  523. package/docs/examples/project/create-variable.md +0 -3
  524. package/docs/examples/project/delete-variable.md +0 -2
  525. package/docs/examples/project/get-usage.md +0 -3
  526. package/docs/examples/project/get-variable.md +0 -2
  527. package/docs/examples/project/list-variables.md +0 -1
  528. package/docs/examples/project/update-variable.md +0 -3
  529. package/docs/examples/projects/create-dev-key.md +0 -4
  530. package/docs/examples/projects/create-jwt.md +0 -3
  531. package/docs/examples/projects/create-key.md +0 -4
  532. package/docs/examples/projects/create-platform.md +0 -4
  533. package/docs/examples/projects/create-smtp-test.md +0 -6
  534. package/docs/examples/projects/create-webhook.md +0 -6
  535. package/docs/examples/projects/create.md +0 -4
  536. package/docs/examples/projects/delete-dev-key.md +0 -3
  537. package/docs/examples/projects/delete-email-template.md +0 -4
  538. package/docs/examples/projects/delete-key.md +0 -3
  539. package/docs/examples/projects/delete-platform.md +0 -3
  540. package/docs/examples/projects/delete-sms-template.md +0 -4
  541. package/docs/examples/projects/delete-webhook.md +0 -3
  542. package/docs/examples/projects/delete.md +0 -2
  543. package/docs/examples/projects/get-dev-key.md +0 -3
  544. package/docs/examples/projects/get-email-template.md +0 -4
  545. package/docs/examples/projects/get-key.md +0 -3
  546. package/docs/examples/projects/get-platform.md +0 -3
  547. package/docs/examples/projects/get-sms-template.md +0 -4
  548. package/docs/examples/projects/get-webhook.md +0 -3
  549. package/docs/examples/projects/get.md +0 -2
  550. package/docs/examples/projects/list-dev-keys.md +0 -2
  551. package/docs/examples/projects/list-keys.md +0 -2
  552. package/docs/examples/projects/list-platforms.md +0 -2
  553. package/docs/examples/projects/list-webhooks.md +0 -2
  554. package/docs/examples/projects/list.md +0 -1
  555. package/docs/examples/projects/update-api-status-all.md +0 -3
  556. package/docs/examples/projects/update-api-status.md +0 -4
  557. package/docs/examples/projects/update-auth-duration.md +0 -3
  558. package/docs/examples/projects/update-auth-limit.md +0 -3
  559. package/docs/examples/projects/update-auth-password-dictionary.md +0 -3
  560. package/docs/examples/projects/update-auth-password-history.md +0 -3
  561. package/docs/examples/projects/update-auth-sessions-limit.md +0 -3
  562. package/docs/examples/projects/update-auth-status.md +0 -4
  563. package/docs/examples/projects/update-dev-key.md +0 -5
  564. package/docs/examples/projects/update-email-template.md +0 -6
  565. package/docs/examples/projects/update-key.md +0 -5
  566. package/docs/examples/projects/update-memberships-privacy.md +0 -5
  567. package/docs/examples/projects/update-mock-numbers.md +0 -3
  568. package/docs/examples/projects/update-o-auth-2.md +0 -3
  569. package/docs/examples/projects/update-personal-data-check.md +0 -3
  570. package/docs/examples/projects/update-platform.md +0 -4
  571. package/docs/examples/projects/update-service-status-all.md +0 -3
  572. package/docs/examples/projects/update-service-status.md +0 -4
  573. package/docs/examples/projects/update-session-alerts.md +0 -3
  574. package/docs/examples/projects/update-session-invalidation.md +0 -3
  575. package/docs/examples/projects/update-sms-template.md +0 -5
  576. package/docs/examples/projects/update-smtp.md +0 -3
  577. package/docs/examples/projects/update-team.md +0 -3
  578. package/docs/examples/projects/update-webhook-signature.md +0 -3
  579. package/docs/examples/projects/update-webhook.md +0 -7
  580. package/docs/examples/projects/update.md +0 -3
  581. package/docs/examples/proxy/create-api-rule.md +0 -2
  582. package/docs/examples/proxy/create-function-rule.md +0 -3
  583. package/docs/examples/proxy/create-redirect-rule.md +0 -6
  584. package/docs/examples/proxy/create-site-rule.md +0 -3
  585. package/docs/examples/proxy/delete-rule.md +0 -2
  586. package/docs/examples/proxy/get-rule.md +0 -2
  587. package/docs/examples/proxy/list-rules.md +0 -1
  588. package/docs/examples/proxy/update-rule-verification.md +0 -2
  589. package/docs/examples/sites/create-deployment.md +0 -4
  590. package/docs/examples/sites/create-duplicate-deployment.md +0 -3
  591. package/docs/examples/sites/create-template-deployment.md +0 -7
  592. package/docs/examples/sites/create-variable.md +0 -4
  593. package/docs/examples/sites/create-vcs-deployment.md +0 -4
  594. package/docs/examples/sites/create.md +0 -5
  595. package/docs/examples/sites/delete-deployment.md +0 -3
  596. package/docs/examples/sites/delete-log.md +0 -3
  597. package/docs/examples/sites/delete-variable.md +0 -3
  598. package/docs/examples/sites/delete.md +0 -2
  599. package/docs/examples/sites/get-deployment-download.md +0 -3
  600. package/docs/examples/sites/get-deployment.md +0 -3
  601. package/docs/examples/sites/get-log.md +0 -3
  602. package/docs/examples/sites/get-template.md +0 -2
  603. package/docs/examples/sites/get-usage.md +0 -2
  604. package/docs/examples/sites/get-variable.md +0 -3
  605. package/docs/examples/sites/get.md +0 -2
  606. package/docs/examples/sites/list-deployments.md +0 -2
  607. package/docs/examples/sites/list-frameworks.md +0 -1
  608. package/docs/examples/sites/list-logs.md +0 -2
  609. package/docs/examples/sites/list-specifications.md +0 -1
  610. package/docs/examples/sites/list-templates.md +0 -1
  611. package/docs/examples/sites/list-usage.md +0 -1
  612. package/docs/examples/sites/list-variables.md +0 -2
  613. package/docs/examples/sites/list.md +0 -1
  614. package/docs/examples/sites/update-deployment-status.md +0 -3
  615. package/docs/examples/sites/update-site-deployment.md +0 -3
  616. package/docs/examples/sites/update-variable.md +0 -4
  617. package/docs/examples/sites/update.md +0 -4
  618. package/docs/examples/storage/create-bucket.md +0 -3
  619. package/docs/examples/storage/create-file.md +0 -4
  620. package/docs/examples/storage/delete-bucket.md +0 -2
  621. package/docs/examples/storage/delete-file.md +0 -3
  622. package/docs/examples/storage/get-bucket-usage.md +0 -2
  623. package/docs/examples/storage/get-bucket.md +0 -2
  624. package/docs/examples/storage/get-file-download.md +0 -3
  625. package/docs/examples/storage/get-file-preview.md +0 -3
  626. package/docs/examples/storage/get-file-view.md +0 -3
  627. package/docs/examples/storage/get-file.md +0 -3
  628. package/docs/examples/storage/get-usage.md +0 -1
  629. package/docs/examples/storage/list-buckets.md +0 -1
  630. package/docs/examples/storage/list-files.md +0 -2
  631. package/docs/examples/storage/update-bucket.md +0 -3
  632. package/docs/examples/storage/update-file.md +0 -3
  633. package/docs/examples/tablesdb/create-boolean-column.md +0 -5
  634. package/docs/examples/tablesdb/create-datetime-column.md +0 -5
  635. package/docs/examples/tablesdb/create-email-column.md +0 -5
  636. package/docs/examples/tablesdb/create-enum-column.md +0 -6
  637. package/docs/examples/tablesdb/create-float-column.md +0 -5
  638. package/docs/examples/tablesdb/create-index.md +0 -6
  639. package/docs/examples/tablesdb/create-integer-column.md +0 -5
  640. package/docs/examples/tablesdb/create-ip-column.md +0 -5
  641. package/docs/examples/tablesdb/create-line-column.md +0 -5
  642. package/docs/examples/tablesdb/create-operations.md +0 -2
  643. package/docs/examples/tablesdb/create-point-column.md +0 -5
  644. package/docs/examples/tablesdb/create-polygon-column.md +0 -5
  645. package/docs/examples/tablesdb/create-relationship-column.md +0 -5
  646. package/docs/examples/tablesdb/create-row.md +0 -5
  647. package/docs/examples/tablesdb/create-rows.md +0 -4
  648. package/docs/examples/tablesdb/create-string-column.md +0 -6
  649. package/docs/examples/tablesdb/create-table.md +0 -4
  650. package/docs/examples/tablesdb/create-transaction.md +0 -1
  651. package/docs/examples/tablesdb/create-url-column.md +0 -5
  652. package/docs/examples/tablesdb/create.md +0 -3
  653. package/docs/examples/tablesdb/decrement-row-column.md +0 -5
  654. package/docs/examples/tablesdb/delete-column.md +0 -4
  655. package/docs/examples/tablesdb/delete-index.md +0 -4
  656. package/docs/examples/tablesdb/delete-row.md +0 -4
  657. package/docs/examples/tablesdb/delete-rows.md +0 -3
  658. package/docs/examples/tablesdb/delete-table.md +0 -3
  659. package/docs/examples/tablesdb/delete-transaction.md +0 -2
  660. package/docs/examples/tablesdb/delete.md +0 -2
  661. package/docs/examples/tablesdb/get-column.md +0 -4
  662. package/docs/examples/tablesdb/get-index.md +0 -4
  663. package/docs/examples/tablesdb/get-row.md +0 -4
  664. package/docs/examples/tablesdb/get-table-usage.md +0 -3
  665. package/docs/examples/tablesdb/get-table.md +0 -3
  666. package/docs/examples/tablesdb/get-transaction.md +0 -2
  667. package/docs/examples/tablesdb/get-usage.md +0 -2
  668. package/docs/examples/tablesdb/get.md +0 -2
  669. package/docs/examples/tablesdb/increment-row-column.md +0 -5
  670. package/docs/examples/tablesdb/list-columns.md +0 -3
  671. package/docs/examples/tablesdb/list-indexes.md +0 -3
  672. package/docs/examples/tablesdb/list-row-logs.md +0 -4
  673. package/docs/examples/tablesdb/list-rows.md +0 -3
  674. package/docs/examples/tablesdb/list-table-logs.md +0 -3
  675. package/docs/examples/tablesdb/list-tables.md +0 -2
  676. package/docs/examples/tablesdb/list-transactions.md +0 -1
  677. package/docs/examples/tablesdb/list-usage.md +0 -1
  678. package/docs/examples/tablesdb/list.md +0 -1
  679. package/docs/examples/tablesdb/update-boolean-column.md +0 -6
  680. package/docs/examples/tablesdb/update-datetime-column.md +0 -6
  681. package/docs/examples/tablesdb/update-email-column.md +0 -6
  682. package/docs/examples/tablesdb/update-enum-column.md +0 -7
  683. package/docs/examples/tablesdb/update-float-column.md +0 -6
  684. package/docs/examples/tablesdb/update-integer-column.md +0 -6
  685. package/docs/examples/tablesdb/update-ip-column.md +0 -6
  686. package/docs/examples/tablesdb/update-line-column.md +0 -5
  687. package/docs/examples/tablesdb/update-point-column.md +0 -5
  688. package/docs/examples/tablesdb/update-polygon-column.md +0 -5
  689. package/docs/examples/tablesdb/update-relationship-column.md +0 -4
  690. package/docs/examples/tablesdb/update-row.md +0 -4
  691. package/docs/examples/tablesdb/update-rows.md +0 -3
  692. package/docs/examples/tablesdb/update-string-column.md +0 -6
  693. package/docs/examples/tablesdb/update-table.md +0 -4
  694. package/docs/examples/tablesdb/update-transaction.md +0 -2
  695. package/docs/examples/tablesdb/update-url-column.md +0 -6
  696. package/docs/examples/tablesdb/update.md +0 -3
  697. package/docs/examples/tablesdb/upsert-row.md +0 -4
  698. package/docs/examples/tablesdb/upsert-rows.md +0 -4
  699. package/docs/examples/teams/create-membership.md +0 -3
  700. package/docs/examples/teams/create.md +0 -3
  701. package/docs/examples/teams/delete-membership.md +0 -3
  702. package/docs/examples/teams/delete.md +0 -2
  703. package/docs/examples/teams/get-membership.md +0 -3
  704. package/docs/examples/teams/get-prefs.md +0 -2
  705. package/docs/examples/teams/get.md +0 -2
  706. package/docs/examples/teams/list-logs.md +0 -2
  707. package/docs/examples/teams/list-memberships.md +0 -2
  708. package/docs/examples/teams/list.md +0 -1
  709. package/docs/examples/teams/update-membership-status.md +0 -5
  710. package/docs/examples/teams/update-membership.md +0 -4
  711. package/docs/examples/teams/update-name.md +0 -3
  712. package/docs/examples/teams/update-prefs.md +0 -3
  713. package/docs/examples/tokens/create-file-token.md +0 -3
  714. package/docs/examples/tokens/delete.md +0 -2
  715. package/docs/examples/tokens/get.md +0 -2
  716. package/docs/examples/tokens/list.md +0 -3
  717. package/docs/examples/tokens/update.md +0 -2
  718. package/docs/examples/users/create-argon-2-user.md +0 -4
  719. package/docs/examples/users/create-bcrypt-user.md +0 -4
  720. package/docs/examples/users/create-jwt.md +0 -2
  721. package/docs/examples/users/create-md-5-user.md +0 -4
  722. package/docs/examples/users/create-mfa-recovery-codes.md +0 -2
  723. package/docs/examples/users/create-ph-pass-user.md +0 -4
  724. package/docs/examples/users/create-scrypt-modified-user.md +0 -7
  725. package/docs/examples/users/create-scrypt-user.md +0 -9
  726. package/docs/examples/users/create-session.md +0 -2
  727. package/docs/examples/users/create-sha-user.md +0 -4
  728. package/docs/examples/users/create-target.md +0 -5
  729. package/docs/examples/users/create-token.md +0 -2
  730. package/docs/examples/users/create.md +0 -2
  731. package/docs/examples/users/delete-identity.md +0 -2
  732. package/docs/examples/users/delete-mfa-authenticator.md +0 -3
  733. package/docs/examples/users/delete-session.md +0 -3
  734. package/docs/examples/users/delete-sessions.md +0 -2
  735. package/docs/examples/users/delete-target.md +0 -3
  736. package/docs/examples/users/delete.md +0 -2
  737. package/docs/examples/users/get-mfa-recovery-codes.md +0 -2
  738. package/docs/examples/users/get-prefs.md +0 -2
  739. package/docs/examples/users/get-target.md +0 -3
  740. package/docs/examples/users/get-usage.md +0 -1
  741. package/docs/examples/users/get.md +0 -2
  742. package/docs/examples/users/list-identities.md +0 -1
  743. package/docs/examples/users/list-logs.md +0 -2
  744. package/docs/examples/users/list-memberships.md +0 -2
  745. package/docs/examples/users/list-mfa-factors.md +0 -2
  746. package/docs/examples/users/list-sessions.md +0 -2
  747. package/docs/examples/users/list-targets.md +0 -2
  748. package/docs/examples/users/list.md +0 -1
  749. package/docs/examples/users/update-email-verification.md +0 -3
  750. package/docs/examples/users/update-email.md +0 -3
  751. package/docs/examples/users/update-labels.md +0 -3
  752. package/docs/examples/users/update-mfa-recovery-codes.md +0 -2
  753. package/docs/examples/users/update-mfa.md +0 -3
  754. package/docs/examples/users/update-name.md +0 -3
  755. package/docs/examples/users/update-password.md +0 -3
  756. package/docs/examples/users/update-phone-verification.md +0 -3
  757. package/docs/examples/users/update-phone.md +0 -3
  758. package/docs/examples/users/update-prefs.md +0 -3
  759. package/docs/examples/users/update-status.md +0 -3
  760. package/docs/examples/users/update-target.md +0 -3
  761. package/docs/examples/vcs/create-repository-detection.md +0 -4
  762. package/docs/examples/vcs/create-repository.md +0 -4
  763. package/docs/examples/vcs/delete-installation.md +0 -2
  764. package/docs/examples/vcs/get-installation.md +0 -2
  765. package/docs/examples/vcs/get-repository-contents.md +0 -3
  766. package/docs/examples/vcs/get-repository.md +0 -3
  767. package/docs/examples/vcs/list-installations.md +0 -1
  768. package/docs/examples/vcs/list-repositories.md +0 -3
  769. package/docs/examples/vcs/list-repository-branches.md +0 -3
  770. package/docs/examples/vcs/update-external-deployments.md +0 -4
  771. package/index.js +0 -147
  772. package/lib/client.js +0 -254
  773. package/lib/commands/account.js +0 -2121
  774. package/lib/commands/console.js +0 -127
  775. package/lib/commands/databases.js +0 -3590
  776. package/lib/commands/functions.js +0 -1732
  777. package/lib/commands/generic.js +0 -330
  778. package/lib/commands/graphql.js +0 -126
  779. package/lib/commands/health.js +0 -869
  780. package/lib/commands/locale.js +0 -316
  781. package/lib/commands/messaging.js +0 -3116
  782. package/lib/commands/migrations.js +0 -830
  783. package/lib/commands/organizations.js +0 -48
  784. package/lib/commands/project.js +0 -302
  785. package/lib/commands/projects.js +0 -2626
  786. package/lib/commands/proxy.js +0 -403
  787. package/lib/commands/push.js +0 -2570
  788. package/lib/commands/sites.js +0 -1654
  789. package/lib/commands/storage.js +0 -995
  790. package/lib/commands/tables-db.js +0 -3569
  791. package/lib/commands/teams.js +0 -683
  792. package/lib/commands/tokens.js +0 -261
  793. package/lib/commands/types.js +0 -191
  794. package/lib/commands/users.js +0 -2022
  795. package/lib/commands/vcs.js +0 -484
  796. package/lib/emulation/docker.js +0 -264
  797. package/lib/exception.js +0 -9
  798. package/lib/parser.js +0 -250
  799. package/lib/sdks.js +0 -60
  800. package/lib/spinner.js +0 -104
  801. package/lib/validations.js +0 -17
@@ -0,0 +1,713 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import childProcess from "child_process";
4
+ import { Command } from "commander";
5
+ import inquirer from "inquirer";
6
+ import { getProjectsService, getSitesService } from "../services.js";
7
+ import { pullResources } from "./pull.js";
8
+ import ID from "../id.js";
9
+ import { localConfig, globalConfig } from "../config.js";
10
+ import {
11
+ questionsCreateFunction,
12
+ questionsCreateFunctionSelectTemplate,
13
+ questionsCreateSite,
14
+ questionsCreateBucket,
15
+ questionsCreateMessagingTopic,
16
+ questionsCreateCollection,
17
+ questionsCreateTable,
18
+ questionsInitProject,
19
+ questionsInitProjectAutopull,
20
+ questionsInitResources,
21
+ questionsCreateTeam,
22
+ } from "../questions.js";
23
+ import {
24
+ cliConfig,
25
+ success,
26
+ log,
27
+ hint,
28
+ error,
29
+ actionRunner,
30
+ commandDescriptions,
31
+ } from "../parser.js";
32
+ import { sdkForConsole } from "../sdks.js";
33
+ import { isCloud } from "../utils.js";
34
+ import { Account } from "@appwrite.io/console";
35
+
36
+ const initResources = async (): Promise<void> => {
37
+ const actions: Record<string, (options?: any) => Promise<void>> = {
38
+ function: initFunction,
39
+ site: initSite,
40
+ table: initTable,
41
+ bucket: initBucket,
42
+ team: initTeam,
43
+ message: initTopic,
44
+ collection: initCollection,
45
+ };
46
+
47
+ const answers = await inquirer.prompt([questionsInitResources[0]]);
48
+
49
+ const action = actions[answers.resource];
50
+ if (action !== undefined) {
51
+ await action({ returnOnZero: true });
52
+ }
53
+ };
54
+
55
+ interface InitProjectOptions {
56
+ organizationId?: string;
57
+ projectId?: string;
58
+ projectName?: string;
59
+ }
60
+
61
+ const initProject = async ({
62
+ organizationId,
63
+ projectId,
64
+ projectName,
65
+ }: InitProjectOptions = {}): Promise<void> => {
66
+ let response: any = {};
67
+
68
+ try {
69
+ if (globalConfig.getEndpoint() === "" || globalConfig.getCookie() === "") {
70
+ throw "";
71
+ }
72
+ const client = await sdkForConsole();
73
+ const accountClient = new Account(client);
74
+
75
+ await accountClient.get();
76
+ } catch (e) {
77
+ error(
78
+ "Error Session not found. Please run 'appwrite login' to create a session",
79
+ );
80
+ process.exit(1);
81
+ }
82
+
83
+ let answers: any = {};
84
+
85
+ if (!organizationId && !projectId && !projectName) {
86
+ answers = await inquirer.prompt(questionsInitProject);
87
+ if (answers.override === false) {
88
+ process.exit(1);
89
+ }
90
+ } else {
91
+ answers.start = "existing";
92
+ answers.project = {};
93
+ answers.organization = {};
94
+
95
+ answers.organization =
96
+ organizationId ??
97
+ (await inquirer.prompt([questionsInitProject[2]])).organization;
98
+ answers.project.name =
99
+ projectName ?? (await inquirer.prompt([questionsInitProject[3]])).project;
100
+ answers.project =
101
+ projectId ?? (await inquirer.prompt([questionsInitProject[4]])).id;
102
+
103
+ try {
104
+ const projectsService = await getProjectsService();
105
+ await projectsService.get(projectId);
106
+ } catch (e: any) {
107
+ if (e.code === 404) {
108
+ answers.start = "new";
109
+ answers.id = answers.project;
110
+ answers.project = answers.project.name;
111
+ } else {
112
+ throw e;
113
+ }
114
+ }
115
+ }
116
+
117
+ localConfig.clear(); // Clear the config to avoid any conflicts
118
+ const url = new URL("https://cloud.appwrite.io/v1");
119
+
120
+ if (answers.start === "new") {
121
+ const projectsService = await getProjectsService();
122
+ response = await projectsService.create(
123
+ answers.id,
124
+ answers.project,
125
+ answers.organization,
126
+ answers.region,
127
+ );
128
+
129
+ localConfig.setProject(response["$id"]);
130
+ if (answers.region) {
131
+ localConfig.setEndpoint(
132
+ `https://${answers.region}.${url.host}${url.pathname}`,
133
+ );
134
+ }
135
+ } else {
136
+ localConfig.setProject(answers.project["$id"]);
137
+ if (isCloud()) {
138
+ localConfig.setEndpoint(
139
+ `https://${answers.project["region"]}.${url.host}${url.pathname}`,
140
+ );
141
+ }
142
+ }
143
+
144
+ success(
145
+ `Project successfully ${answers.start === "existing" ? "linked" : "created"}. Details are now stored in appwrite.config.json file.`,
146
+ );
147
+
148
+ if (answers.start === "existing") {
149
+ answers = await inquirer.prompt(questionsInitProjectAutopull);
150
+ if (answers.autopull) {
151
+ cliConfig.all = true;
152
+ cliConfig.force = true;
153
+ await pullResources({
154
+ skipDeprecated: true,
155
+ });
156
+ } else {
157
+ log(
158
+ "You can run 'appwrite pull all' to synchronize all of your existing resources.",
159
+ );
160
+ }
161
+ }
162
+
163
+ hint(
164
+ "Next you can use 'appwrite init' to create resources in your project, or use 'appwrite pull' and 'appwrite push' to synchronize your project.",
165
+ );
166
+ };
167
+
168
+ const initBucket = async (): Promise<void> => {
169
+ const answers = await inquirer.prompt(questionsCreateBucket);
170
+
171
+ localConfig.addBucket({
172
+ $id: answers.id === "unique()" ? ID.unique() : answers.id,
173
+ name: answers.bucket,
174
+ fileSecurity: answers.fileSecurity.toLowerCase() === "yes",
175
+ enabled: true,
176
+ });
177
+ success("Initialing bucket");
178
+ log("Next you can use 'appwrite push bucket' to deploy the changes.");
179
+ };
180
+
181
+ const initTeam = async (): Promise<void> => {
182
+ const answers = await inquirer.prompt(questionsCreateTeam);
183
+
184
+ localConfig.addTeam({
185
+ $id: answers.id === "unique()" ? ID.unique() : answers.id,
186
+ name: answers.bucket,
187
+ });
188
+
189
+ success("Initialing team");
190
+ log("Next you can use 'appwrite push team' to deploy the changes.");
191
+ };
192
+
193
+ const initTable = async (): Promise<void> => {
194
+ const answers = await inquirer.prompt(questionsCreateTable);
195
+ const newDatabase = (answers.method ?? "").toLowerCase() !== "existing";
196
+
197
+ if (!newDatabase) {
198
+ answers.databaseId = answers.database;
199
+ answers.databaseName = localConfig.getTablesDB(answers.database).name;
200
+ }
201
+
202
+ const databaseId =
203
+ answers.databaseId === "unique()" ? ID.unique() : answers.databaseId;
204
+
205
+ if (newDatabase || !localConfig.getTablesDB(answers.databaseId)) {
206
+ localConfig.addTablesDB({
207
+ $id: databaseId,
208
+ name: answers.databaseName,
209
+ enabled: true,
210
+ });
211
+ }
212
+
213
+ localConfig.addTable({
214
+ $id: answers.id === "unique()" ? ID.unique() : answers.id,
215
+ $permissions: [],
216
+ databaseId: databaseId,
217
+ name: answers.table,
218
+ enabled: true,
219
+ rowSecurity: answers.rowSecurity.toLowerCase() === "yes",
220
+ columns: [],
221
+ indexes: [],
222
+ });
223
+
224
+ success("Initialing table");
225
+ log("Next you can use 'appwrite push table' to deploy the changes.");
226
+ };
227
+
228
+ const initCollection = async (): Promise<void> => {
229
+ const answers = await inquirer.prompt(questionsCreateCollection);
230
+ const newDatabase = (answers.method ?? "").toLowerCase() !== "existing";
231
+
232
+ if (!newDatabase) {
233
+ answers.databaseId = answers.database;
234
+ answers.databaseName = localConfig.getDatabase(answers.database).name;
235
+ }
236
+
237
+ const databaseId =
238
+ answers.databaseId === "unique()" ? ID.unique() : answers.databaseId;
239
+
240
+ if (newDatabase || !localConfig.getDatabase(answers.databaseId)) {
241
+ localConfig.addDatabase({
242
+ $id: databaseId,
243
+ name: answers.databaseName,
244
+ enabled: true,
245
+ });
246
+ }
247
+
248
+ localConfig.addCollection({
249
+ $id: answers.id === "unique()" ? ID.unique() : answers.id,
250
+ databaseId: databaseId,
251
+ name: answers.collection,
252
+ documentSecurity: answers.documentSecurity.toLowerCase() === "yes",
253
+ attributes: [],
254
+ indexes: [],
255
+ enabled: true,
256
+ });
257
+
258
+ success("Initialing collection");
259
+ log("Next you can use 'appwrite push collection' to deploy the changes.");
260
+ };
261
+
262
+ const initTopic = async (): Promise<void> => {
263
+ const answers = await inquirer.prompt(questionsCreateMessagingTopic);
264
+
265
+ localConfig.addMessagingTopic({
266
+ $id: answers.id === "unique()" ? ID.unique() : answers.id,
267
+ name: answers.topic,
268
+ });
269
+
270
+ success("Initialing topic");
271
+ log("Next you can use 'appwrite push topic' to deploy the changes.");
272
+ };
273
+
274
+ const initFunction = async (): Promise<void> => {
275
+ process.chdir(localConfig.configDirectoryPath);
276
+
277
+ // TODO: Add CI/CD support (ID, name, runtime)
278
+ const answers = await inquirer.prompt(questionsCreateFunction);
279
+ const functionFolder = path.join(process.cwd(), "functions");
280
+
281
+ if (!fs.existsSync(functionFolder)) {
282
+ fs.mkdirSync(functionFolder, {
283
+ recursive: true,
284
+ });
285
+ }
286
+
287
+ const functionId = answers.id === "unique()" ? ID.unique() : answers.id;
288
+ const functionName = answers.name;
289
+ const functionDir = path.join(functionFolder, functionName);
290
+ const templatesDir = path.join(functionFolder, `${functionId}-templates`);
291
+ const runtimeDir = path.join(templatesDir, answers.runtime.name);
292
+
293
+ if (fs.existsSync(functionDir)) {
294
+ throw new Error(
295
+ `( ${functionName} ) already exists in the current directory. Please choose another name.`,
296
+ );
297
+ }
298
+
299
+ if (!answers.runtime.entrypoint) {
300
+ log(
301
+ `Entrypoint for this runtime not found. You will be asked to configure entrypoint when you first push the function.`,
302
+ );
303
+ }
304
+
305
+ if (!answers.runtime.commands) {
306
+ log(
307
+ `Installation command for this runtime not found. You will be asked to configure the install command when you first push the function.`,
308
+ );
309
+ }
310
+
311
+ fs.mkdirSync(functionDir, { mode: 0o777 });
312
+ fs.mkdirSync(templatesDir, { mode: 0o777 });
313
+ const repo = "https://github.com/appwrite/templates";
314
+ const api = `https://api.github.com/repos/appwrite/templates/contents/${answers.runtime.name}`;
315
+ let selected: { template: string } = { template: "starter" };
316
+
317
+ const sparse = (
318
+ selected
319
+ ? `${answers.runtime.name}/${selected.template}`
320
+ : answers.runtime.name
321
+ ).toLowerCase();
322
+
323
+ let gitInitCommands = `git clone --single-branch --depth 1 --sparse ${repo} .`; // depth prevents fetching older commits reducing the amount fetched
324
+
325
+ let gitPullCommands = `git sparse-checkout add ${sparse}`;
326
+
327
+ /* Force use CMD as powershell does not support && */
328
+ if (process.platform === "win32") {
329
+ gitInitCommands = 'cmd /c "' + gitInitCommands + '"';
330
+ gitPullCommands = 'cmd /c "' + gitPullCommands + '"';
331
+ }
332
+
333
+ /* Execute the child process but do not print any std output */
334
+ try {
335
+ childProcess.execSync(gitInitCommands, {
336
+ stdio: "pipe",
337
+ cwd: templatesDir,
338
+ });
339
+ childProcess.execSync(gitPullCommands, {
340
+ stdio: "pipe",
341
+ cwd: templatesDir,
342
+ });
343
+ } catch (err: any) {
344
+ /* Specialised errors with recommended actions to take */
345
+ if (err.message.includes("error: unknown option")) {
346
+ throw new Error(
347
+ `${err.message} \n\nSuggestion: Try updating your git to the latest version, then trying to run this command again.`,
348
+ );
349
+ } else if (
350
+ err.message.includes(
351
+ "is not recognized as an internal or external command,",
352
+ ) ||
353
+ err.message.includes("command not found")
354
+ ) {
355
+ throw new Error(
356
+ `${err.message} \n\nSuggestion: It appears that git is not installed, try installing git then trying to run this command again.`,
357
+ );
358
+ } else {
359
+ throw err;
360
+ }
361
+ }
362
+
363
+ fs.rmSync(path.join(templatesDir, ".git"), { recursive: true });
364
+ if (!selected) {
365
+ const templates: string[] = [];
366
+ templates.push(
367
+ ...fs
368
+ .readdirSync(runtimeDir, { withFileTypes: true })
369
+ .filter((item) => item.isDirectory() && item.name !== "starter")
370
+ .map((dirent) => dirent.name),
371
+ );
372
+ selected = { template: "starter" };
373
+
374
+ if (templates.length > 1) {
375
+ selected = await inquirer.prompt(
376
+ questionsCreateFunctionSelectTemplate(templates),
377
+ );
378
+ }
379
+ }
380
+
381
+ const copyRecursiveSync = (src: string, dest: string): void => {
382
+ let exists = fs.existsSync(src);
383
+ let stats = exists && fs.statSync(src);
384
+ let isDirectory = exists && stats && stats.isDirectory();
385
+ if (isDirectory) {
386
+ if (!fs.existsSync(dest)) {
387
+ fs.mkdirSync(dest);
388
+ }
389
+
390
+ fs.readdirSync(src).forEach(function (childItemName) {
391
+ copyRecursiveSync(
392
+ path.join(src, childItemName),
393
+ path.join(dest, childItemName),
394
+ );
395
+ });
396
+ } else {
397
+ fs.copyFileSync(src, dest);
398
+ }
399
+ };
400
+ copyRecursiveSync(path.join(runtimeDir, selected.template), functionDir);
401
+
402
+ fs.rmSync(templatesDir, { recursive: true, force: true });
403
+
404
+ const readmePath = path.join(
405
+ process.cwd(),
406
+ "functions",
407
+ functionName,
408
+ "README.md",
409
+ );
410
+ const readmeFile = fs.readFileSync(readmePath).toString();
411
+ const newReadmeFile = readmeFile.split("\n");
412
+ newReadmeFile[0] = `# ${answers.name}`;
413
+ newReadmeFile.splice(1, 2);
414
+ fs.writeFileSync(readmePath, newReadmeFile.join("\n"));
415
+
416
+ let data = {
417
+ $id: functionId,
418
+ name: answers.name,
419
+ runtime: answers.runtime.id,
420
+ specification: answers.specification,
421
+ execute: ["any"],
422
+ events: [],
423
+ scopes: ["users.read"],
424
+ schedule: "",
425
+ timeout: 15,
426
+ enabled: true,
427
+ logging: true,
428
+ entrypoint: answers.runtime.entrypoint || "",
429
+ commands: answers.runtime.commands || "",
430
+ ignore: answers.runtime.ignore || null,
431
+ path: `functions/${functionName}`,
432
+ };
433
+
434
+ localConfig.addFunction(data);
435
+ success("Initialing function");
436
+ log(
437
+ "Next you can use 'appwrite run function' to develop a function locally. To deploy the function, use 'appwrite push function'",
438
+ );
439
+ };
440
+
441
+ const initSite = async (): Promise<void> => {
442
+ process.chdir(localConfig.configDirectoryPath);
443
+
444
+ const answers = await inquirer.prompt(questionsCreateSite);
445
+ const siteFolder = path.join(process.cwd(), "sites");
446
+
447
+ if (!fs.existsSync(siteFolder)) {
448
+ fs.mkdirSync(siteFolder, {
449
+ recursive: true,
450
+ });
451
+ }
452
+
453
+ const siteId = answers.id === "unique()" ? ID.unique() : answers.id;
454
+ const siteName = answers.name;
455
+ const siteDir = path.join(siteFolder, siteName);
456
+ const templatesDir = path.join(siteFolder, `${siteId}-templates`);
457
+
458
+ if (fs.existsSync(siteDir)) {
459
+ throw new Error(
460
+ `( ${siteName} ) already exists in the current directory. Please choose another name.`,
461
+ );
462
+ }
463
+
464
+ let templateDetails: any;
465
+ try {
466
+ const sitesService = await getSitesService();
467
+ const response = await sitesService.listTemplates(
468
+ [answers.framework.key],
469
+ ["starter"],
470
+ 1,
471
+ );
472
+ if (response.total == 0) {
473
+ throw new Error(
474
+ `No starter template found for framework ${answers.framework.key}`,
475
+ );
476
+ }
477
+ templateDetails = response.templates[0];
478
+ } catch (err: any) {
479
+ throw new Error(
480
+ `Failed to fetch template for framework ${answers.framework.key}: ${err.message}`,
481
+ );
482
+ }
483
+
484
+ fs.mkdirSync(siteDir, { mode: 0o777 });
485
+ fs.mkdirSync(templatesDir, { mode: 0o777 });
486
+ const repo = `https://github.com/${templateDetails.providerOwner}/${templateDetails.providerRepositoryId}`;
487
+ let selected = {
488
+ template: templateDetails.frameworks[0].providerRootDirectory,
489
+ };
490
+
491
+ let gitCloneCommands = "";
492
+
493
+ const sparse = selected.template.startsWith("./")
494
+ ? selected.template.substring(2)
495
+ : selected.template;
496
+
497
+ log("Fetching site code ...");
498
+
499
+ if (selected.template === "./") {
500
+ gitCloneCommands = `
501
+ mkdir -p .
502
+ cd .
503
+ git init
504
+ git remote add origin ${repo}
505
+ git config --global init.defaultBranch main
506
+ git fetch --depth=1 origin refs/tags/$(git ls-remote --tags origin "${templateDetails.providerVersion}" | tail -n 1 | awk -F '/' '{print $3}')
507
+ git checkout FETCH_HEAD
508
+ `.trim();
509
+ } else {
510
+ gitCloneCommands = `
511
+ mkdir -p .
512
+ cd .
513
+ git init
514
+ git remote add origin ${repo}
515
+ git config --global init.defaultBranch main
516
+ git config core.sparseCheckout true
517
+ echo "${sparse}" >> .git/info/sparse-checkout
518
+ git config --add remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'
519
+ git config remote.origin.tagopt --no-tags
520
+ git fetch --depth=1 origin refs/tags/$(git ls-remote --tags origin "${templateDetails.providerVersion}" | tail -n 1 | awk -F '/' '{print $3}')
521
+ git checkout FETCH_HEAD
522
+ `.trim();
523
+ }
524
+
525
+ /* Force use CMD as powershell does not support && */
526
+ if (process.platform === "win32") {
527
+ gitCloneCommands = 'cmd /c "' + gitCloneCommands + '"';
528
+ }
529
+
530
+ /* Execute the child process but do not print any std output */
531
+ try {
532
+ childProcess.execSync(gitCloneCommands, {
533
+ stdio: "pipe",
534
+ cwd: templatesDir,
535
+ });
536
+ } catch (err: any) {
537
+ /* Specialised errors with recommended actions to take */
538
+ if (err.message.includes("error: unknown option")) {
539
+ throw new Error(
540
+ `${err.message} \n\nSuggestion: Try updating your git to the latest version, then trying to run this command again.`,
541
+ );
542
+ } else if (
543
+ err.message.includes(
544
+ "is not recognized as an internal or external command,",
545
+ ) ||
546
+ err.message.includes("command not found")
547
+ ) {
548
+ throw new Error(
549
+ `${err.message} \n\nSuggestion: It appears that git is not installed, try installing git then trying to run this command again.`,
550
+ );
551
+ } else {
552
+ throw err;
553
+ }
554
+ }
555
+
556
+ fs.rmSync(path.join(templatesDir, ".git"), { recursive: true });
557
+
558
+ const copyRecursiveSync = (src: string, dest: string): void => {
559
+ let exists = fs.existsSync(src);
560
+ let stats = exists && fs.statSync(src);
561
+ let isDirectory = exists && stats && stats.isDirectory();
562
+ if (isDirectory) {
563
+ if (!fs.existsSync(dest)) {
564
+ fs.mkdirSync(dest);
565
+ }
566
+
567
+ fs.readdirSync(src).forEach(function (childItemName) {
568
+ copyRecursiveSync(
569
+ path.join(src, childItemName),
570
+ path.join(dest, childItemName),
571
+ );
572
+ });
573
+ } else {
574
+ fs.copyFileSync(src, dest);
575
+ }
576
+ };
577
+ copyRecursiveSync(
578
+ selected.template === "./"
579
+ ? templatesDir
580
+ : path.join(templatesDir, selected.template),
581
+ siteDir,
582
+ );
583
+
584
+ fs.rmSync(templatesDir, { recursive: true, force: true });
585
+
586
+ const readmePath = path.join(process.cwd(), "sites", siteName, "README.md");
587
+ const readmeFile = fs.readFileSync(readmePath).toString();
588
+ const newReadmeFile = readmeFile.split("\n");
589
+ newReadmeFile[0] = `# ${answers.key}`;
590
+ newReadmeFile.splice(1, 2);
591
+ fs.writeFileSync(readmePath, newReadmeFile.join("\n"));
592
+
593
+ let vars = (templateDetails.variables ?? []).map((variable: any) => {
594
+ let value = variable.value;
595
+ const replacements: Record<string, string> = {
596
+ "{apiEndpoint}": globalConfig.getEndpoint(),
597
+ "{projectId}": localConfig.getProject().projectId,
598
+ "{projectName}": localConfig.getProject().projectName,
599
+ };
600
+
601
+ for (const placeholder in replacements) {
602
+ if (value?.includes(placeholder)) {
603
+ value = value.replace(placeholder, replacements[placeholder]);
604
+ }
605
+ }
606
+
607
+ return {
608
+ key: variable.name,
609
+ value: value,
610
+ };
611
+ });
612
+
613
+ let data = {
614
+ $id: siteId,
615
+ name: answers.name,
616
+ framework: answers.framework.key,
617
+ adapter: templateDetails.frameworks[0].adapter || "",
618
+ buildRuntime: templateDetails.frameworks[0].buildRuntime || "",
619
+ installCommand: templateDetails.frameworks[0].installCommand || "",
620
+ buildCommand: templateDetails.frameworks[0].buildCommand || "",
621
+ outputDirectory: templateDetails.frameworks[0].outputDirectory || "",
622
+ fallbackFile: templateDetails.frameworks[0].fallbackFile || "",
623
+ specification: answers.specification,
624
+ enabled: true,
625
+ timeout: 30,
626
+ logging: true,
627
+ ignore: answers.framework.ignore || null,
628
+ path: `sites/${siteName}`,
629
+ vars: vars,
630
+ };
631
+
632
+ if (!data.buildRuntime) {
633
+ log(
634
+ `Build runtime for this framework not found. You will be asked to configure build runtime when you first push the site.`,
635
+ );
636
+ }
637
+
638
+ if (!data.installCommand) {
639
+ log(
640
+ `Installation command for this framework not found. You will be asked to configure the install command when you first push the site.`,
641
+ );
642
+ }
643
+
644
+ if (!data.buildCommand) {
645
+ log(
646
+ `Build command for this framework not found. You will be asked to configure the build command when you first push the site.`,
647
+ );
648
+ }
649
+
650
+ if (!data.outputDirectory) {
651
+ log(
652
+ `Output directory for this framework not found. You will be asked to configure the output directory when you first push the site.`,
653
+ );
654
+ }
655
+
656
+ localConfig.addSite(data);
657
+ success("Initializing site");
658
+ log("Next you can use 'appwrite push site' to deploy the changes.");
659
+ };
660
+
661
+ export const init = new Command("init")
662
+ .description(commandDescriptions["init"])
663
+ .action(actionRunner(initResources));
664
+
665
+ init
666
+ .command("project")
667
+ .description("Init a new Appwrite project")
668
+ .option("--organization-id <organization-id>", "Appwrite organization ID")
669
+ .option("--project-id <project-id>", "Appwrite project ID")
670
+ .option("--project-name <project-name>", "Appwrite project ID")
671
+ .action(actionRunner(initProject));
672
+
673
+ init
674
+ .command("function")
675
+ .alias("functions")
676
+ .description("Init a new Appwrite function")
677
+ .action(actionRunner(initFunction));
678
+
679
+ init
680
+ .command("site")
681
+ .alias("sites")
682
+ .description("Init a new Appwrite site")
683
+ .action(actionRunner(initSite));
684
+
685
+ init
686
+ .command("bucket")
687
+ .alias("buckets")
688
+ .description("Init a new Appwrite bucket")
689
+ .action(actionRunner(initBucket));
690
+
691
+ init
692
+ .command("team")
693
+ .alias("teams")
694
+ .description("Init a new Appwrite team")
695
+ .action(actionRunner(initTeam));
696
+
697
+ init
698
+ .command("collection")
699
+ .alias("collections")
700
+ .description("Init a new Appwrite collection")
701
+ .action(actionRunner(initCollection));
702
+
703
+ init
704
+ .command("table")
705
+ .alias("tables")
706
+ .description("Init a new Appwrite table")
707
+ .action(actionRunner(initTable));
708
+
709
+ init
710
+ .command("topic")
711
+ .alias("topics")
712
+ .description("Init a new Appwrite topic")
713
+ .action(actionRunner(initTopic));