chirag-appwrite-cli 0.1.0 → 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 (823) 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.json +0 -164
  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.md +0 -3
  438. package/docs/examples/databases/update-boolean-attribute.md +0 -7
  439. package/docs/examples/databases/update-collection.md +0 -7
  440. package/docs/examples/databases/update-datetime-attribute.md +0 -7
  441. package/docs/examples/databases/update-document.md +0 -6
  442. package/docs/examples/databases/update-documents.md +0 -5
  443. package/docs/examples/databases/update-email-attribute.md +0 -7
  444. package/docs/examples/databases/update-enum-attribute.md +0 -8
  445. package/docs/examples/databases/update-float-attribute.md +0 -9
  446. package/docs/examples/databases/update-integer-attribute.md +0 -9
  447. package/docs/examples/databases/update-ip-attribute.md +0 -7
  448. package/docs/examples/databases/update-relationship-attribute.md +0 -6
  449. package/docs/examples/databases/update-string-attribute.md +0 -8
  450. package/docs/examples/databases/update-url-attribute.md +0 -7
  451. package/docs/examples/databases/update.md +0 -4
  452. package/docs/examples/databases/upsert-document.md +0 -6
  453. package/docs/examples/databases/upsert-documents.md +0 -4
  454. package/docs/examples/functions/create-deployment.md +0 -6
  455. package/docs/examples/functions/create-duplicate-deployment.md +0 -4
  456. package/docs/examples/functions/create-execution.md +0 -8
  457. package/docs/examples/functions/create-template-deployment.md +0 -7
  458. package/docs/examples/functions/create-variable.md +0 -5
  459. package/docs/examples/functions/create-vcs-deployment.md +0 -5
  460. package/docs/examples/functions/create.md +0 -19
  461. package/docs/examples/functions/delete-deployment.md +0 -3
  462. package/docs/examples/functions/delete-execution.md +0 -3
  463. package/docs/examples/functions/delete-variable.md +0 -3
  464. package/docs/examples/functions/delete.md +0 -2
  465. package/docs/examples/functions/get-deployment-download.md +0 -4
  466. package/docs/examples/functions/get-deployment.md +0 -3
  467. package/docs/examples/functions/get-execution.md +0 -3
  468. package/docs/examples/functions/get-template.md +0 -2
  469. package/docs/examples/functions/get-usage.md +0 -3
  470. package/docs/examples/functions/get-variable.md +0 -3
  471. package/docs/examples/functions/get.md +0 -2
  472. package/docs/examples/functions/list-deployments.md +0 -4
  473. package/docs/examples/functions/list-executions.md +0 -3
  474. package/docs/examples/functions/list-runtimes.md +0 -1
  475. package/docs/examples/functions/list-specifications.md +0 -1
  476. package/docs/examples/functions/list-templates.md +0 -5
  477. package/docs/examples/functions/list-usage.md +0 -2
  478. package/docs/examples/functions/list-variables.md +0 -2
  479. package/docs/examples/functions/list.md +0 -3
  480. package/docs/examples/functions/update-deployment-status.md +0 -3
  481. package/docs/examples/functions/update-function-deployment.md +0 -3
  482. package/docs/examples/functions/update-variable.md +0 -6
  483. package/docs/examples/functions/update.md +0 -19
  484. package/docs/examples/graphql/mutation.md +0 -2
  485. package/docs/examples/graphql/query.md +0 -2
  486. package/docs/examples/health/get-antivirus.md +0 -1
  487. package/docs/examples/health/get-cache.md +0 -1
  488. package/docs/examples/health/get-certificate.md +0 -2
  489. package/docs/examples/health/get-d-b.md +0 -1
  490. package/docs/examples/health/get-failed-jobs.md +0 -3
  491. package/docs/examples/health/get-pub-sub.md +0 -1
  492. package/docs/examples/health/get-queue-builds.md +0 -2
  493. package/docs/examples/health/get-queue-certificates.md +0 -2
  494. package/docs/examples/health/get-queue-databases.md +0 -3
  495. package/docs/examples/health/get-queue-deletes.md +0 -2
  496. package/docs/examples/health/get-queue-functions.md +0 -2
  497. package/docs/examples/health/get-queue-logs.md +0 -2
  498. package/docs/examples/health/get-queue-mails.md +0 -2
  499. package/docs/examples/health/get-queue-messaging.md +0 -2
  500. package/docs/examples/health/get-queue-migrations.md +0 -2
  501. package/docs/examples/health/get-queue-stats-resources.md +0 -2
  502. package/docs/examples/health/get-queue-usage.md +0 -2
  503. package/docs/examples/health/get-queue-webhooks.md +0 -2
  504. package/docs/examples/health/get-storage-local.md +0 -1
  505. package/docs/examples/health/get-storage.md +0 -1
  506. package/docs/examples/health/get-time.md +0 -1
  507. package/docs/examples/health/get.md +0 -1
  508. package/docs/examples/locale/get.md +0 -1
  509. package/docs/examples/locale/list-codes.md +0 -1
  510. package/docs/examples/locale/list-continents.md +0 -1
  511. package/docs/examples/locale/list-countries-e-u.md +0 -1
  512. package/docs/examples/locale/list-countries-phones.md +0 -1
  513. package/docs/examples/locale/list-countries.md +0 -1
  514. package/docs/examples/locale/list-currencies.md +0 -1
  515. package/docs/examples/locale/list-languages.md +0 -1
  516. package/docs/examples/messaging/create-apns-provider.md +0 -9
  517. package/docs/examples/messaging/create-email.md +0 -13
  518. package/docs/examples/messaging/create-fcm-provider.md +0 -5
  519. package/docs/examples/messaging/create-mailgun-provider.md +0 -11
  520. package/docs/examples/messaging/create-msg91provider.md +0 -7
  521. package/docs/examples/messaging/create-push.md +0 -20
  522. package/docs/examples/messaging/create-sendgrid-provider.md +0 -9
  523. package/docs/examples/messaging/create-sms.md +0 -8
  524. package/docs/examples/messaging/create-smtp-provider.md +0 -15
  525. package/docs/examples/messaging/create-subscriber.md +0 -4
  526. package/docs/examples/messaging/create-telesign-provider.md +0 -7
  527. package/docs/examples/messaging/create-textmagic-provider.md +0 -7
  528. package/docs/examples/messaging/create-topic.md +0 -4
  529. package/docs/examples/messaging/create-twilio-provider.md +0 -7
  530. package/docs/examples/messaging/create-vonage-provider.md +0 -7
  531. package/docs/examples/messaging/delete-provider.md +0 -2
  532. package/docs/examples/messaging/delete-subscriber.md +0 -3
  533. package/docs/examples/messaging/delete-topic.md +0 -2
  534. package/docs/examples/messaging/delete.md +0 -2
  535. package/docs/examples/messaging/get-message.md +0 -2
  536. package/docs/examples/messaging/get-provider.md +0 -2
  537. package/docs/examples/messaging/get-subscriber.md +0 -3
  538. package/docs/examples/messaging/get-topic.md +0 -2
  539. package/docs/examples/messaging/list-message-logs.md +0 -3
  540. package/docs/examples/messaging/list-messages.md +0 -3
  541. package/docs/examples/messaging/list-provider-logs.md +0 -3
  542. package/docs/examples/messaging/list-providers.md +0 -3
  543. package/docs/examples/messaging/list-subscriber-logs.md +0 -3
  544. package/docs/examples/messaging/list-subscribers.md +0 -4
  545. package/docs/examples/messaging/list-targets.md +0 -3
  546. package/docs/examples/messaging/list-topic-logs.md +0 -3
  547. package/docs/examples/messaging/list-topics.md +0 -3
  548. package/docs/examples/messaging/update-apns-provider.md +0 -9
  549. package/docs/examples/messaging/update-email.md +0 -13
  550. package/docs/examples/messaging/update-fcm-provider.md +0 -5
  551. package/docs/examples/messaging/update-mailgun-provider.md +0 -11
  552. package/docs/examples/messaging/update-msg91provider.md +0 -7
  553. package/docs/examples/messaging/update-push.md +0 -20
  554. package/docs/examples/messaging/update-sendgrid-provider.md +0 -9
  555. package/docs/examples/messaging/update-sms.md +0 -8
  556. package/docs/examples/messaging/update-smtp-provider.md +0 -15
  557. package/docs/examples/messaging/update-telesign-provider.md +0 -7
  558. package/docs/examples/messaging/update-textmagic-provider.md +0 -7
  559. package/docs/examples/messaging/update-topic.md +0 -4
  560. package/docs/examples/messaging/update-twilio-provider.md +0 -7
  561. package/docs/examples/messaging/update-vonage-provider.md +0 -7
  562. package/docs/examples/migrations/create-appwrite-migration.md +0 -5
  563. package/docs/examples/migrations/create-csv-migration.md +0 -4
  564. package/docs/examples/migrations/create-firebase-migration.md +0 -3
  565. package/docs/examples/migrations/create-n-host-migration.md +0 -9
  566. package/docs/examples/migrations/create-supabase-migration.md +0 -8
  567. package/docs/examples/migrations/delete.md +0 -2
  568. package/docs/examples/migrations/get-appwrite-report.md +0 -5
  569. package/docs/examples/migrations/get-firebase-report.md +0 -3
  570. package/docs/examples/migrations/get-n-host-report.md +0 -9
  571. package/docs/examples/migrations/get-supabase-report.md +0 -8
  572. package/docs/examples/migrations/get.md +0 -2
  573. package/docs/examples/migrations/list.md +0 -3
  574. package/docs/examples/migrations/retry.md +0 -2
  575. package/docs/examples/project/create-variable.md +0 -4
  576. package/docs/examples/project/delete-variable.md +0 -2
  577. package/docs/examples/project/get-usage.md +0 -4
  578. package/docs/examples/project/get-variable.md +0 -2
  579. package/docs/examples/project/list-variables.md +0 -1
  580. package/docs/examples/project/update-variable.md +0 -5
  581. package/docs/examples/projects/create-dev-key.md +0 -4
  582. package/docs/examples/projects/create-j-w-t.md +0 -4
  583. package/docs/examples/projects/create-key.md +0 -5
  584. package/docs/examples/projects/create-platform.md +0 -7
  585. package/docs/examples/projects/create-smtp-test.md +0 -11
  586. package/docs/examples/projects/create-webhook.md +0 -9
  587. package/docs/examples/projects/create.md +0 -14
  588. package/docs/examples/projects/delete-dev-key.md +0 -3
  589. package/docs/examples/projects/delete-email-template.md +0 -4
  590. package/docs/examples/projects/delete-key.md +0 -3
  591. package/docs/examples/projects/delete-platform.md +0 -3
  592. package/docs/examples/projects/delete-sms-template.md +0 -4
  593. package/docs/examples/projects/delete-webhook.md +0 -3
  594. package/docs/examples/projects/delete.md +0 -2
  595. package/docs/examples/projects/get-dev-key.md +0 -3
  596. package/docs/examples/projects/get-email-template.md +0 -4
  597. package/docs/examples/projects/get-key.md +0 -3
  598. package/docs/examples/projects/get-platform.md +0 -3
  599. package/docs/examples/projects/get-sms-template.md +0 -4
  600. package/docs/examples/projects/get-webhook.md +0 -3
  601. package/docs/examples/projects/get.md +0 -2
  602. package/docs/examples/projects/list-dev-keys.md +0 -3
  603. package/docs/examples/projects/list-keys.md +0 -2
  604. package/docs/examples/projects/list-platforms.md +0 -2
  605. package/docs/examples/projects/list-webhooks.md +0 -2
  606. package/docs/examples/projects/list.md +0 -3
  607. package/docs/examples/projects/update-api-status-all.md +0 -3
  608. package/docs/examples/projects/update-api-status.md +0 -4
  609. package/docs/examples/projects/update-auth-duration.md +0 -3
  610. package/docs/examples/projects/update-auth-limit.md +0 -3
  611. package/docs/examples/projects/update-auth-password-dictionary.md +0 -3
  612. package/docs/examples/projects/update-auth-password-history.md +0 -3
  613. package/docs/examples/projects/update-auth-sessions-limit.md +0 -3
  614. package/docs/examples/projects/update-auth-status.md +0 -4
  615. package/docs/examples/projects/update-dev-key.md +0 -5
  616. package/docs/examples/projects/update-email-template.md +0 -9
  617. package/docs/examples/projects/update-key.md +0 -6
  618. package/docs/examples/projects/update-memberships-privacy.md +0 -5
  619. package/docs/examples/projects/update-mock-numbers.md +0 -3
  620. package/docs/examples/projects/update-o-auth2.md +0 -6
  621. package/docs/examples/projects/update-personal-data-check.md +0 -3
  622. package/docs/examples/projects/update-platform.md +0 -7
  623. package/docs/examples/projects/update-service-status-all.md +0 -3
  624. package/docs/examples/projects/update-service-status.md +0 -4
  625. package/docs/examples/projects/update-session-alerts.md +0 -3
  626. package/docs/examples/projects/update-sms-template.md +0 -5
  627. package/docs/examples/projects/update-smtp.md +0 -11
  628. package/docs/examples/projects/update-team.md +0 -3
  629. package/docs/examples/projects/update-webhook-signature.md +0 -3
  630. package/docs/examples/projects/update-webhook.md +0 -10
  631. package/docs/examples/projects/update.md +0 -12
  632. package/docs/examples/proxy/create-a-p-i-rule.md +0 -2
  633. package/docs/examples/proxy/create-function-rule.md +0 -4
  634. package/docs/examples/proxy/create-redirect-rule.md +0 -6
  635. package/docs/examples/proxy/create-site-rule.md +0 -4
  636. package/docs/examples/proxy/delete-rule.md +0 -2
  637. package/docs/examples/proxy/get-rule.md +0 -2
  638. package/docs/examples/proxy/list-rules.md +0 -3
  639. package/docs/examples/proxy/update-rule-verification.md +0 -2
  640. package/docs/examples/sites/create-deployment.md +0 -7
  641. package/docs/examples/sites/create-duplicate-deployment.md +0 -3
  642. package/docs/examples/sites/create-template-deployment.md +0 -7
  643. package/docs/examples/sites/create-variable.md +0 -5
  644. package/docs/examples/sites/create-vcs-deployment.md +0 -5
  645. package/docs/examples/sites/create.md +0 -19
  646. package/docs/examples/sites/delete-deployment.md +0 -3
  647. package/docs/examples/sites/delete-log.md +0 -3
  648. package/docs/examples/sites/delete-variable.md +0 -3
  649. package/docs/examples/sites/delete.md +0 -2
  650. package/docs/examples/sites/get-deployment-download.md +0 -4
  651. package/docs/examples/sites/get-deployment.md +0 -3
  652. package/docs/examples/sites/get-log.md +0 -3
  653. package/docs/examples/sites/get-template.md +0 -2
  654. package/docs/examples/sites/get-usage.md +0 -3
  655. package/docs/examples/sites/get-variable.md +0 -3
  656. package/docs/examples/sites/get.md +0 -2
  657. package/docs/examples/sites/list-deployments.md +0 -4
  658. package/docs/examples/sites/list-frameworks.md +0 -1
  659. package/docs/examples/sites/list-logs.md +0 -3
  660. package/docs/examples/sites/list-specifications.md +0 -1
  661. package/docs/examples/sites/list-templates.md +0 -5
  662. package/docs/examples/sites/list-usage.md +0 -2
  663. package/docs/examples/sites/list-variables.md +0 -2
  664. package/docs/examples/sites/list.md +0 -3
  665. package/docs/examples/sites/update-deployment-status.md +0 -3
  666. package/docs/examples/sites/update-site-deployment.md +0 -3
  667. package/docs/examples/sites/update-variable.md +0 -6
  668. package/docs/examples/sites/update.md +0 -19
  669. package/docs/examples/storage/create-bucket.md +0 -11
  670. package/docs/examples/storage/create-file.md +0 -5
  671. package/docs/examples/storage/delete-bucket.md +0 -2
  672. package/docs/examples/storage/delete-file.md +0 -3
  673. package/docs/examples/storage/get-bucket-usage.md +0 -3
  674. package/docs/examples/storage/get-bucket.md +0 -2
  675. package/docs/examples/storage/get-file-download.md +0 -4
  676. package/docs/examples/storage/get-file-preview.md +0 -15
  677. package/docs/examples/storage/get-file-view.md +0 -4
  678. package/docs/examples/storage/get-file.md +0 -3
  679. package/docs/examples/storage/get-usage.md +0 -2
  680. package/docs/examples/storage/list-buckets.md +0 -3
  681. package/docs/examples/storage/list-files.md +0 -4
  682. package/docs/examples/storage/update-bucket.md +0 -11
  683. package/docs/examples/storage/update-file.md +0 -5
  684. package/docs/examples/teams/create-membership.md +0 -8
  685. package/docs/examples/teams/create.md +0 -4
  686. package/docs/examples/teams/delete-membership.md +0 -3
  687. package/docs/examples/teams/delete.md +0 -2
  688. package/docs/examples/teams/get-membership.md +0 -3
  689. package/docs/examples/teams/get-prefs.md +0 -2
  690. package/docs/examples/teams/get.md +0 -2
  691. package/docs/examples/teams/list-logs.md +0 -3
  692. package/docs/examples/teams/list-memberships.md +0 -4
  693. package/docs/examples/teams/list.md +0 -3
  694. package/docs/examples/teams/update-membership-status.md +0 -5
  695. package/docs/examples/teams/update-membership.md +0 -4
  696. package/docs/examples/teams/update-name.md +0 -3
  697. package/docs/examples/teams/update-prefs.md +0 -3
  698. package/docs/examples/tokens/create-file-token.md +0 -4
  699. package/docs/examples/tokens/delete.md +0 -2
  700. package/docs/examples/tokens/get.md +0 -2
  701. package/docs/examples/tokens/list.md +0 -4
  702. package/docs/examples/tokens/update.md +0 -3
  703. package/docs/examples/users/create-argon2user.md +0 -5
  704. package/docs/examples/users/create-bcrypt-user.md +0 -5
  705. package/docs/examples/users/create-j-w-t.md +0 -4
  706. package/docs/examples/users/create-m-d5user.md +0 -5
  707. package/docs/examples/users/create-mfa-recovery-codes.md +0 -2
  708. package/docs/examples/users/create-p-h-pass-user.md +0 -5
  709. package/docs/examples/users/create-s-h-a-user.md +0 -6
  710. package/docs/examples/users/create-scrypt-modified-user.md +0 -8
  711. package/docs/examples/users/create-scrypt-user.md +0 -10
  712. package/docs/examples/users/create-session.md +0 -2
  713. package/docs/examples/users/create-target.md +0 -7
  714. package/docs/examples/users/create-token.md +0 -4
  715. package/docs/examples/users/create.md +0 -6
  716. package/docs/examples/users/delete-identity.md +0 -2
  717. package/docs/examples/users/delete-mfa-authenticator.md +0 -3
  718. package/docs/examples/users/delete-session.md +0 -3
  719. package/docs/examples/users/delete-sessions.md +0 -2
  720. package/docs/examples/users/delete-target.md +0 -3
  721. package/docs/examples/users/delete.md +0 -2
  722. package/docs/examples/users/get-mfa-recovery-codes.md +0 -2
  723. package/docs/examples/users/get-prefs.md +0 -2
  724. package/docs/examples/users/get-target.md +0 -3
  725. package/docs/examples/users/get-usage.md +0 -2
  726. package/docs/examples/users/get.md +0 -2
  727. package/docs/examples/users/list-identities.md +0 -3
  728. package/docs/examples/users/list-logs.md +0 -3
  729. package/docs/examples/users/list-memberships.md +0 -4
  730. package/docs/examples/users/list-mfa-factors.md +0 -2
  731. package/docs/examples/users/list-sessions.md +0 -2
  732. package/docs/examples/users/list-targets.md +0 -3
  733. package/docs/examples/users/list.md +0 -3
  734. package/docs/examples/users/update-email-verification.md +0 -3
  735. package/docs/examples/users/update-email.md +0 -3
  736. package/docs/examples/users/update-labels.md +0 -3
  737. package/docs/examples/users/update-mfa-recovery-codes.md +0 -2
  738. package/docs/examples/users/update-mfa.md +0 -3
  739. package/docs/examples/users/update-name.md +0 -3
  740. package/docs/examples/users/update-password.md +0 -3
  741. package/docs/examples/users/update-phone-verification.md +0 -3
  742. package/docs/examples/users/update-phone.md +0 -3
  743. package/docs/examples/users/update-prefs.md +0 -3
  744. package/docs/examples/users/update-status.md +0 -3
  745. package/docs/examples/users/update-target.md +0 -6
  746. package/docs/examples/vcs/create-repository-detection.md +0 -5
  747. package/docs/examples/vcs/create-repository.md +0 -4
  748. package/docs/examples/vcs/delete-installation.md +0 -2
  749. package/docs/examples/vcs/get-installation.md +0 -2
  750. package/docs/examples/vcs/get-repository-contents.md +0 -5
  751. package/docs/examples/vcs/get-repository.md +0 -3
  752. package/docs/examples/vcs/list-installations.md +0 -3
  753. package/docs/examples/vcs/list-repositories.md +0 -4
  754. package/docs/examples/vcs/list-repository-branches.md +0 -3
  755. package/docs/examples/vcs/update-external-deployments.md +0 -4
  756. package/functions/Starter function/.prettierrc.json +0 -6
  757. package/functions/Starter function/README.md +0 -48
  758. package/functions/Starter function/package-lock.json +0 -60
  759. package/functions/Starter function/package.json +0 -16
  760. package/functions/Starter function/src/main.js +0 -35
  761. package/generate/appwrite.d.ts +0 -18
  762. package/index.js +0 -109
  763. package/lib/client.js +0 -259
  764. package/lib/commands/account.js +0 -2074
  765. package/lib/commands/avatars.js +0 -491
  766. package/lib/commands/console.js +0 -129
  767. package/lib/commands/databases.js +0 -2972
  768. package/lib/commands/functions.js +0 -1737
  769. package/lib/commands/generic.js +0 -328
  770. package/lib/commands/graphql.js +0 -128
  771. package/lib/commands/health.js +0 -891
  772. package/lib/commands/init.js +0 -566
  773. package/lib/commands/locale.js +0 -324
  774. package/lib/commands/messaging.js +0 -2970
  775. package/lib/commands/migrations.js +0 -751
  776. package/lib/commands/organizations.js +0 -48
  777. package/lib/commands/project.js +0 -308
  778. package/lib/commands/projects.js +0 -2615
  779. package/lib/commands/proxy.js +0 -406
  780. package/lib/commands/pull.js +0 -474
  781. package/lib/commands/push.js +0 -2117
  782. package/lib/commands/run.js +0 -330
  783. package/lib/commands/sites.js +0 -1663
  784. package/lib/commands/storage.js +0 -990
  785. package/lib/commands/teams.js +0 -682
  786. package/lib/commands/tokens.js +0 -261
  787. package/lib/commands/types.js +0 -156
  788. package/lib/commands/users.js +0 -2035
  789. package/lib/commands/vcs.js +0 -484
  790. package/lib/config.js +0 -705
  791. package/lib/emulation/docker.js +0 -264
  792. package/lib/emulation/utils.js +0 -186
  793. package/lib/exception.js +0 -9
  794. package/lib/id.js +0 -30
  795. package/lib/paginate.js +0 -52
  796. package/lib/parser.js +0 -246
  797. package/lib/questions.js +0 -1006
  798. package/lib/sdks.js +0 -60
  799. package/lib/spinner.js +0 -104
  800. package/lib/type-generation/attribute.js +0 -16
  801. package/lib/type-generation/languages/dart.js +0 -196
  802. package/lib/type-generation/languages/java.js +0 -130
  803. package/lib/type-generation/languages/javascript.js +0 -102
  804. package/lib/type-generation/languages/kotlin.js +0 -84
  805. package/lib/type-generation/languages/language.js +0 -125
  806. package/lib/type-generation/languages/php.js +0 -109
  807. package/lib/type-generation/languages/swift.js +0 -169
  808. package/lib/type-generation/languages/typescript.js +0 -102
  809. package/lib/utils.js +0 -289
  810. package/lib/validations.js +0 -17
  811. package/scoop/appwrite.json +0 -30
  812. package/sites/JavaScript starter/.env.example +0 -3
  813. package/sites/JavaScript starter/LICENSE +0 -21
  814. package/sites/JavaScript starter/images/appwrite.svg +0 -8
  815. package/sites/JavaScript starter/images/javascript.svg +0 -5
  816. package/sites/JavaScript starter/index.html +0 -250
  817. package/sites/JavaScript starter/lib/appwrite.js +0 -10
  818. package/sites/JavaScript starter/package-lock.json +0 -1431
  819. package/sites/JavaScript starter/package.json +0 -21
  820. package/sites/JavaScript starter/readme.md +0 -26
  821. package/sites/JavaScript starter/src/javascript.svg +0 -1
  822. package/sites/JavaScript starter/style/app.css +0 -20
  823. package/sites/JavaScript starter/vite.config.js +0 -7
@@ -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));