appwrite-cli 13.0.0-rc.1 → 13.0.0-rc.3

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 (430) hide show
  1. package/.github/workflows/publish.yml +68 -0
  2. package/CHANGELOG.md +10 -1
  3. package/LICENSE.md +1 -1
  4. package/README.md +3 -3
  5. package/cli.ts +152 -0
  6. package/dist/bundle.cjs +95813 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +145 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/index.d.ts +10 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +7 -142
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/client.d.ts +2 -3
  16. package/dist/lib/client.d.ts.map +1 -1
  17. package/dist/lib/client.js +57 -45
  18. package/dist/lib/client.js.map +1 -1
  19. package/dist/lib/commands/config.d.ts +562 -0
  20. package/dist/lib/commands/config.d.ts.map +1 -0
  21. package/dist/lib/commands/config.js +416 -0
  22. package/dist/lib/commands/config.js.map +1 -0
  23. package/dist/lib/commands/db.d.ts +34 -0
  24. package/dist/lib/commands/db.d.ts.map +1 -0
  25. package/dist/lib/commands/db.js +247 -0
  26. package/dist/lib/commands/db.js.map +1 -0
  27. package/dist/lib/commands/errors.d.ts +68 -0
  28. package/dist/lib/commands/errors.d.ts.map +1 -0
  29. package/dist/lib/commands/errors.js +72 -0
  30. package/dist/lib/commands/errors.js.map +1 -0
  31. package/dist/lib/commands/generic.d.ts +2 -2
  32. package/dist/lib/commands/generic.d.ts.map +1 -1
  33. package/dist/lib/commands/generic.js +170 -157
  34. package/dist/lib/commands/generic.js.map +1 -1
  35. package/dist/lib/commands/init.d.ts +1 -1
  36. package/dist/lib/commands/init.d.ts.map +1 -1
  37. package/dist/lib/commands/init.js +201 -192
  38. package/dist/lib/commands/init.js.map +1 -1
  39. package/dist/lib/commands/pull.d.ts +105 -3
  40. package/dist/lib/commands/pull.d.ts.map +1 -1
  41. package/dist/lib/commands/pull.js +530 -370
  42. package/dist/lib/commands/pull.js.map +1 -1
  43. package/dist/lib/commands/push.d.ts +106 -0
  44. package/dist/lib/commands/push.d.ts.map +1 -1
  45. package/dist/lib/commands/push.js +1432 -1830
  46. package/dist/lib/commands/push.js.map +1 -1
  47. package/dist/lib/commands/run.d.ts +1 -1
  48. package/dist/lib/commands/run.d.ts.map +1 -1
  49. package/dist/lib/commands/run.js +129 -127
  50. package/dist/lib/commands/run.js.map +1 -1
  51. package/dist/lib/commands/schema.d.ts +59 -0
  52. package/dist/lib/commands/schema.d.ts.map +1 -0
  53. package/dist/lib/commands/schema.js +86 -0
  54. package/dist/lib/commands/schema.js.map +1 -0
  55. package/dist/lib/commands/services/account.d.ts +3 -0
  56. package/dist/lib/commands/services/account.d.ts.map +1 -0
  57. package/dist/lib/commands/services/account.js +328 -0
  58. package/dist/lib/commands/services/account.js.map +1 -0
  59. package/dist/lib/commands/services/console.d.ts +3 -0
  60. package/dist/lib/commands/services/console.d.ts.map +1 -0
  61. package/dist/lib/commands/services/console.js +28 -0
  62. package/dist/lib/commands/services/console.js.map +1 -0
  63. package/dist/lib/commands/services/databases.d.ts +3 -0
  64. package/dist/lib/commands/services/databases.d.ts.map +1 -0
  65. package/dist/lib/commands/services/databases.js +620 -0
  66. package/dist/lib/commands/services/databases.js.map +1 -0
  67. package/dist/lib/commands/services/functions.d.ts +3 -0
  68. package/dist/lib/commands/services/functions.d.ts.map +1 -0
  69. package/dist/lib/commands/services/functions.js +266 -0
  70. package/dist/lib/commands/services/functions.js.map +1 -0
  71. package/dist/lib/commands/services/graphql.d.ts +3 -0
  72. package/dist/lib/commands/services/graphql.d.ts.map +1 -0
  73. package/dist/lib/commands/services/graphql.js +28 -0
  74. package/dist/lib/commands/services/graphql.js.map +1 -0
  75. package/dist/lib/commands/services/health.d.ts +3 -0
  76. package/dist/lib/commands/services/health.d.ts.map +1 -0
  77. package/dist/lib/commands/services/health.js +123 -0
  78. package/dist/lib/commands/services/health.js.map +1 -0
  79. package/dist/lib/commands/services/locale.d.ts +3 -0
  80. package/dist/lib/commands/services/locale.d.ts.map +1 -0
  81. package/dist/lib/commands/services/locale.js +52 -0
  82. package/dist/lib/commands/services/locale.js.map +1 -0
  83. package/dist/lib/commands/services/messaging.d.ts +3 -0
  84. package/dist/lib/commands/services/messaging.d.ts.map +1 -0
  85. package/dist/lib/commands/services/messaging.js +505 -0
  86. package/dist/lib/commands/services/messaging.js.map +1 -0
  87. package/dist/lib/commands/services/migrations.d.ts +3 -0
  88. package/dist/lib/commands/services/migrations.d.ts.map +1 -0
  89. package/dist/lib/commands/services/migrations.js +135 -0
  90. package/dist/lib/commands/services/migrations.js.map +1 -0
  91. package/dist/lib/commands/services/project.d.ts +3 -0
  92. package/dist/lib/commands/services/project.d.ts.map +1 -0
  93. package/dist/lib/commands/services/project.js +54 -0
  94. package/dist/lib/commands/services/project.js.map +1 -0
  95. package/dist/lib/commands/services/projects.d.ts +3 -0
  96. package/dist/lib/commands/services/projects.d.ts.map +1 -0
  97. package/dist/lib/commands/services/projects.js +415 -0
  98. package/dist/lib/commands/services/projects.js.map +1 -0
  99. package/dist/lib/commands/services/proxy.d.ts +3 -0
  100. package/dist/lib/commands/services/proxy.d.ts.map +1 -0
  101. package/dist/lib/commands/services/proxy.js +68 -0
  102. package/dist/lib/commands/services/proxy.js.map +1 -0
  103. package/dist/lib/commands/services/sites.d.ts +3 -0
  104. package/dist/lib/commands/services/sites.d.ts.map +1 -0
  105. package/dist/lib/commands/services/sites.js +250 -0
  106. package/dist/lib/commands/services/sites.js.map +1 -0
  107. package/dist/lib/commands/services/storage.d.ts +3 -0
  108. package/dist/lib/commands/services/storage.d.ts.map +1 -0
  109. package/dist/lib/commands/services/storage.js +175 -0
  110. package/dist/lib/commands/services/storage.js.map +1 -0
  111. package/dist/lib/commands/services/tables-db.d.ts +3 -0
  112. package/dist/lib/commands/services/tables-db.d.ts.map +1 -0
  113. package/dist/lib/commands/services/tables-db.js +613 -0
  114. package/dist/lib/commands/services/tables-db.js.map +1 -0
  115. package/dist/lib/commands/services/teams.d.ts +3 -0
  116. package/dist/lib/commands/services/teams.d.ts.map +1 -0
  117. package/dist/lib/commands/services/teams.js +123 -0
  118. package/dist/lib/commands/services/teams.js.map +1 -0
  119. package/dist/lib/commands/services/tokens.d.ts +3 -0
  120. package/dist/lib/commands/services/tokens.d.ts.map +1 -0
  121. package/dist/lib/commands/services/tokens.js +49 -0
  122. package/dist/lib/commands/services/tokens.js.map +1 -0
  123. package/dist/lib/commands/services/users.d.ts +3 -0
  124. package/dist/lib/commands/services/users.d.ts.map +1 -0
  125. package/dist/lib/commands/services/users.js +312 -0
  126. package/dist/lib/commands/services/users.js.map +1 -0
  127. package/dist/lib/commands/services/vcs.d.ts +3 -0
  128. package/dist/lib/commands/services/vcs.d.ts.map +1 -0
  129. package/dist/lib/commands/services/vcs.js +87 -0
  130. package/dist/lib/commands/services/vcs.js.map +1 -0
  131. package/dist/lib/commands/types.d.ts +1 -1
  132. package/dist/lib/commands/types.d.ts.map +1 -1
  133. package/dist/lib/commands/types.js +53 -57
  134. package/dist/lib/commands/types.js.map +1 -1
  135. package/dist/lib/commands/update.d.ts +1 -1
  136. package/dist/lib/commands/update.d.ts.map +1 -1
  137. package/dist/lib/commands/update.js +69 -69
  138. package/dist/lib/commands/update.js.map +1 -1
  139. package/dist/lib/commands/utils/attributes.d.ts +47 -0
  140. package/dist/lib/commands/utils/attributes.d.ts.map +1 -0
  141. package/dist/lib/commands/utils/attributes.js +514 -0
  142. package/dist/lib/commands/utils/attributes.js.map +1 -0
  143. package/dist/lib/commands/utils/change-approval.d.ts +25 -0
  144. package/dist/lib/commands/utils/change-approval.d.ts.map +1 -0
  145. package/dist/lib/commands/utils/change-approval.js +129 -0
  146. package/dist/lib/commands/utils/change-approval.js.map +1 -0
  147. package/dist/lib/commands/utils/database-sync.d.ts +10 -0
  148. package/dist/lib/commands/utils/database-sync.d.ts.map +1 -0
  149. package/dist/lib/commands/utils/database-sync.js +136 -0
  150. package/dist/lib/commands/utils/database-sync.js.map +1 -0
  151. package/dist/lib/commands/utils/deployment.d.ts +34 -0
  152. package/dist/lib/commands/utils/deployment.d.ts.map +1 -0
  153. package/dist/lib/commands/utils/deployment.js +109 -0
  154. package/dist/lib/commands/utils/deployment.js.map +1 -0
  155. package/dist/lib/commands/utils/error-formatter.d.ts +19 -0
  156. package/dist/lib/commands/utils/error-formatter.d.ts.map +1 -0
  157. package/dist/lib/commands/utils/error-formatter.js +333 -0
  158. package/dist/lib/commands/utils/error-formatter.js.map +1 -0
  159. package/dist/lib/commands/utils/pools.d.ts +16 -0
  160. package/dist/lib/commands/utils/pools.d.ts.map +1 -0
  161. package/dist/lib/commands/utils/pools.js +198 -0
  162. package/dist/lib/commands/utils/pools.js.map +1 -0
  163. package/dist/lib/config.d.ts +41 -40
  164. package/dist/lib/config.d.ts.map +1 -1
  165. package/dist/lib/config.js +264 -239
  166. package/dist/lib/config.js.map +1 -1
  167. package/dist/lib/constants.d.ts +14 -0
  168. package/dist/lib/constants.d.ts.map +1 -0
  169. package/dist/lib/constants.js +19 -0
  170. package/dist/lib/constants.js.map +1 -0
  171. package/dist/lib/emulation/docker.d.ts +4 -12
  172. package/dist/lib/emulation/docker.d.ts.map +1 -1
  173. package/dist/lib/emulation/docker.js +159 -142
  174. package/dist/lib/emulation/docker.js.map +1 -1
  175. package/dist/lib/emulation/utils.d.ts +1 -1
  176. package/dist/lib/emulation/utils.d.ts.map +1 -1
  177. package/dist/lib/emulation/utils.js +55 -58
  178. package/dist/lib/emulation/utils.js.map +1 -1
  179. package/dist/lib/id.d.ts +1 -1
  180. package/dist/lib/id.d.ts.map +1 -1
  181. package/dist/lib/id.js +13 -18
  182. package/dist/lib/id.js.map +1 -1
  183. package/dist/lib/paginate.d.ts +3 -4
  184. package/dist/lib/paginate.d.ts.map +1 -1
  185. package/dist/lib/paginate.js +7 -10
  186. package/dist/lib/paginate.js.map +1 -1
  187. package/dist/lib/parser.d.ts +1 -1
  188. package/dist/lib/parser.d.ts.map +1 -1
  189. package/dist/lib/parser.js +92 -103
  190. package/dist/lib/parser.js.map +1 -1
  191. package/dist/lib/questions.d.ts +1 -1
  192. package/dist/lib/questions.d.ts.map +1 -1
  193. package/dist/lib/questions.js +381 -385
  194. package/dist/lib/questions.js.map +1 -1
  195. package/dist/lib/sdks.d.ts +1 -1
  196. package/dist/lib/sdks.d.ts.map +1 -1
  197. package/dist/lib/sdks.js +39 -30
  198. package/dist/lib/sdks.js.map +1 -1
  199. package/dist/lib/services.d.ts +13 -0
  200. package/dist/lib/services.d.ts.map +1 -0
  201. package/dist/lib/services.js +47 -0
  202. package/dist/lib/services.js.map +1 -0
  203. package/dist/lib/spinner.d.ts +1 -1
  204. package/dist/lib/spinner.d.ts.map +1 -1
  205. package/dist/lib/spinner.js +25 -27
  206. package/dist/lib/spinner.js.map +1 -1
  207. package/dist/lib/type-generation/attribute.d.ts +1 -1
  208. package/dist/lib/type-generation/attribute.d.ts.map +1 -1
  209. package/dist/lib/type-generation/attribute.js +14 -17
  210. package/dist/lib/type-generation/attribute.js.map +1 -1
  211. package/dist/lib/type-generation/languages/csharp.d.ts +1 -1
  212. package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -1
  213. package/dist/lib/type-generation/languages/csharp.js +34 -34
  214. package/dist/lib/type-generation/languages/csharp.js.map +1 -1
  215. package/dist/lib/type-generation/languages/dart.d.ts +1 -1
  216. package/dist/lib/type-generation/languages/dart.d.ts.map +1 -1
  217. package/dist/lib/type-generation/languages/dart.js +57 -57
  218. package/dist/lib/type-generation/languages/dart.js.map +1 -1
  219. package/dist/lib/type-generation/languages/java.d.ts +1 -1
  220. package/dist/lib/type-generation/languages/java.d.ts.map +1 -1
  221. package/dist/lib/type-generation/languages/java.js +35 -35
  222. package/dist/lib/type-generation/languages/java.js.map +1 -1
  223. package/dist/lib/type-generation/languages/javascript.d.ts +1 -1
  224. package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -1
  225. package/dist/lib/type-generation/languages/javascript.js +45 -44
  226. package/dist/lib/type-generation/languages/javascript.js.map +1 -1
  227. package/dist/lib/type-generation/languages/kotlin.d.ts +1 -1
  228. package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -1
  229. package/dist/lib/type-generation/languages/kotlin.js +35 -35
  230. package/dist/lib/type-generation/languages/kotlin.js.map +1 -1
  231. package/dist/lib/type-generation/languages/language.d.ts.map +1 -1
  232. package/dist/lib/type-generation/languages/language.js +32 -37
  233. package/dist/lib/type-generation/languages/language.js.map +1 -1
  234. package/dist/lib/type-generation/languages/php.d.ts +1 -1
  235. package/dist/lib/type-generation/languages/php.d.ts.map +1 -1
  236. package/dist/lib/type-generation/languages/php.js +34 -34
  237. package/dist/lib/type-generation/languages/php.js.map +1 -1
  238. package/dist/lib/type-generation/languages/swift.d.ts +1 -1
  239. package/dist/lib/type-generation/languages/swift.d.ts.map +1 -1
  240. package/dist/lib/type-generation/languages/swift.js +35 -35
  241. package/dist/lib/type-generation/languages/swift.js.map +1 -1
  242. package/dist/lib/type-generation/languages/typescript.d.ts +1 -1
  243. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -1
  244. package/dist/lib/type-generation/languages/typescript.js +49 -46
  245. package/dist/lib/type-generation/languages/typescript.js.map +1 -1
  246. package/dist/lib/types.d.ts +38 -108
  247. package/dist/lib/types.d.ts.map +1 -1
  248. package/dist/lib/types.js +1 -2
  249. package/dist/lib/utils.d.ts +3 -0
  250. package/dist/lib/utils.d.ts.map +1 -1
  251. package/dist/lib/utils.js +142 -98
  252. package/dist/lib/utils.js.map +1 -1
  253. package/dist/lib/validations.d.ts.map +1 -1
  254. package/dist/lib/validations.js +2 -6
  255. package/dist/lib/validations.js.map +1 -1
  256. package/dist/package.json +68 -0
  257. package/index.ts +25 -149
  258. package/install.ps1 +2 -2
  259. package/install.sh +1 -1
  260. package/lib/client.ts +261 -220
  261. package/lib/commands/config.ts +494 -0
  262. package/lib/commands/db.ts +324 -0
  263. package/lib/commands/errors.ts +93 -0
  264. package/lib/commands/generic.ts +371 -269
  265. package/lib/commands/init.ts +631 -519
  266. package/lib/commands/pull.ts +827 -453
  267. package/lib/commands/push.ts +2191 -2349
  268. package/lib/commands/run.ts +382 -302
  269. package/lib/commands/schema.ts +122 -0
  270. package/lib/commands/services/account.ts +647 -0
  271. package/lib/commands/services/console.ts +52 -0
  272. package/lib/commands/services/databases.ts +1163 -0
  273. package/lib/commands/services/functions.ts +536 -0
  274. package/lib/commands/services/graphql.ts +50 -0
  275. package/lib/commands/services/health.ts +260 -0
  276. package/lib/commands/services/locale.ts +102 -0
  277. package/lib/commands/services/messaging.ts +1052 -0
  278. package/lib/commands/services/migrations.ts +249 -0
  279. package/lib/commands/services/project.ts +112 -0
  280. package/lib/commands/services/projects.ts +785 -0
  281. package/lib/commands/services/proxy.ts +135 -0
  282. package/lib/commands/services/sites.ts +505 -0
  283. package/lib/commands/services/storage.ts +338 -0
  284. package/lib/commands/services/tables-db.ts +1150 -0
  285. package/lib/commands/services/teams.ts +232 -0
  286. package/lib/commands/services/tokens.ts +94 -0
  287. package/lib/commands/services/users.ts +616 -0
  288. package/lib/commands/services/vcs.ts +165 -0
  289. package/lib/commands/types.ts +145 -118
  290. package/lib/commands/update.ts +189 -159
  291. package/lib/commands/utils/attributes.ts +719 -0
  292. package/lib/commands/utils/change-approval.ts +186 -0
  293. package/lib/commands/utils/database-sync.ts +180 -0
  294. package/lib/commands/utils/deployment.ts +184 -0
  295. package/lib/commands/utils/error-formatter.ts +417 -0
  296. package/lib/commands/utils/pools.ts +355 -0
  297. package/lib/config.ts +766 -687
  298. package/lib/constants.ts +22 -0
  299. package/lib/emulation/docker.ts +277 -216
  300. package/lib/emulation/utils.ts +188 -174
  301. package/lib/id.ts +23 -23
  302. package/lib/paginate.ts +69 -55
  303. package/lib/parser.ts +220 -189
  304. package/lib/questions.ts +1024 -948
  305. package/lib/sdks.ts +84 -51
  306. package/lib/services.ts +72 -0
  307. package/lib/spinner.ts +112 -99
  308. package/lib/type-generation/attribute.ts +15 -14
  309. package/lib/type-generation/languages/csharp.ts +71 -60
  310. package/lib/type-generation/languages/dart.ts +106 -93
  311. package/lib/type-generation/languages/java.ts +69 -58
  312. package/lib/type-generation/languages/javascript.ts +84 -73
  313. package/lib/type-generation/languages/kotlin.ts +71 -60
  314. package/lib/type-generation/languages/language.ts +103 -95
  315. package/lib/type-generation/languages/php.ts +67 -56
  316. package/lib/type-generation/languages/swift.ts +71 -60
  317. package/lib/type-generation/languages/typescript.ts +93 -76
  318. package/lib/types.ts +50 -125
  319. package/lib/utils.ts +304 -233
  320. package/lib/validations.ts +17 -14
  321. package/package.json +31 -22
  322. package/scoop/appwrite.config.json +3 -3
  323. package/tsconfig.json +7 -13
  324. package/.github/workflows/autoclose.yml +0 -11
  325. package/.github/workflows/npm-publish.yml +0 -49
  326. package/dist/lib/commands/account.d.ts +0 -379
  327. package/dist/lib/commands/account.d.ts.map +0 -1
  328. package/dist/lib/commands/account.js +0 -1228
  329. package/dist/lib/commands/account.js.map +0 -1
  330. package/dist/lib/commands/console.d.ts +0 -20
  331. package/dist/lib/commands/console.d.ts.map +0 -1
  332. package/dist/lib/commands/console.js +0 -78
  333. package/dist/lib/commands/console.js.map +0 -1
  334. package/dist/lib/commands/databases.d.ts +0 -732
  335. package/dist/lib/commands/databases.d.ts.map +0 -1
  336. package/dist/lib/commands/databases.js +0 -2196
  337. package/dist/lib/commands/databases.js.map +0 -1
  338. package/dist/lib/commands/functions.d.ts +0 -310
  339. package/dist/lib/commands/functions.d.ts.map +0 -1
  340. package/dist/lib/commands/functions.js +0 -1100
  341. package/dist/lib/commands/functions.js.map +0 -1
  342. package/dist/lib/commands/graphql.d.ts +0 -19
  343. package/dist/lib/commands/graphql.d.ts.map +0 -1
  344. package/dist/lib/commands/graphql.js +0 -77
  345. package/dist/lib/commands/graphql.js.map +0 -1
  346. package/dist/lib/commands/health.d.ts +0 -153
  347. package/dist/lib/commands/health.d.ts.map +0 -1
  348. package/dist/lib/commands/health.js +0 -464
  349. package/dist/lib/commands/health.js.map +0 -1
  350. package/dist/lib/commands/locale.d.ts +0 -53
  351. package/dist/lib/commands/locale.d.ts.map +0 -1
  352. package/dist/lib/commands/locale.js +0 -165
  353. package/dist/lib/commands/locale.js.map +0 -1
  354. package/dist/lib/commands/messaging.d.ts +0 -588
  355. package/dist/lib/commands/messaging.d.ts.map +0 -1
  356. package/dist/lib/commands/messaging.js +0 -2042
  357. package/dist/lib/commands/messaging.js.map +0 -1
  358. package/dist/lib/commands/migrations.d.ts +0 -150
  359. package/dist/lib/commands/migrations.d.ts.map +0 -1
  360. package/dist/lib/commands/migrations.js +0 -524
  361. package/dist/lib/commands/migrations.js.map +0 -1
  362. package/dist/lib/commands/organizations.d.ts +0 -11
  363. package/dist/lib/commands/organizations.d.ts.map +0 -1
  364. package/dist/lib/commands/organizations.js +0 -31
  365. package/dist/lib/commands/organizations.js.map +0 -1
  366. package/dist/lib/commands/project.d.ts +0 -53
  367. package/dist/lib/commands/project.d.ts.map +0 -1
  368. package/dist/lib/commands/project.js +0 -176
  369. package/dist/lib/commands/project.js.map +0 -1
  370. package/dist/lib/commands/projects.d.ts +0 -516
  371. package/dist/lib/commands/projects.d.ts.map +0 -1
  372. package/dist/lib/commands/projects.js +0 -1590
  373. package/dist/lib/commands/projects.js.map +0 -1
  374. package/dist/lib/commands/proxy.d.ts +0 -71
  375. package/dist/lib/commands/proxy.d.ts.map +0 -1
  376. package/dist/lib/commands/proxy.js +0 -240
  377. package/dist/lib/commands/proxy.js.map +0 -1
  378. package/dist/lib/commands/sites.d.ts +0 -296
  379. package/dist/lib/commands/sites.d.ts.map +0 -1
  380. package/dist/lib/commands/sites.js +0 -1046
  381. package/dist/lib/commands/sites.js.map +0 -1
  382. package/dist/lib/commands/storage.d.ts +0 -170
  383. package/dist/lib/commands/storage.d.ts.map +0 -1
  384. package/dist/lib/commands/storage.js +0 -651
  385. package/dist/lib/commands/storage.js.map +0 -1
  386. package/dist/lib/commands/tables-db.d.ts +0 -728
  387. package/dist/lib/commands/tables-db.d.ts.map +0 -1
  388. package/dist/lib/commands/tables-db.js +0 -2198
  389. package/dist/lib/commands/tables-db.js.map +0 -1
  390. package/dist/lib/commands/teams.d.ts +0 -129
  391. package/dist/lib/commands/teams.d.ts.map +0 -1
  392. package/dist/lib/commands/teams.js +0 -403
  393. package/dist/lib/commands/teams.js.map +0 -1
  394. package/dist/lib/commands/tokens.d.ts +0 -48
  395. package/dist/lib/commands/tokens.d.ts.map +0 -1
  396. package/dist/lib/commands/tokens.js +0 -156
  397. package/dist/lib/commands/tokens.js.map +0 -1
  398. package/dist/lib/commands/users.d.ts +0 -382
  399. package/dist/lib/commands/users.d.ts.map +0 -1
  400. package/dist/lib/commands/users.js +0 -1195
  401. package/dist/lib/commands/users.js.map +0 -1
  402. package/dist/lib/commands/vcs.d.ts +0 -92
  403. package/dist/lib/commands/vcs.d.ts.map +0 -1
  404. package/dist/lib/commands/vcs.js +0 -276
  405. package/dist/lib/commands/vcs.js.map +0 -1
  406. package/dist/lib/exception.d.ts +0 -8
  407. package/dist/lib/exception.d.ts.map +0 -1
  408. package/dist/lib/exception.js +0 -16
  409. package/dist/lib/exception.js.map +0 -1
  410. package/lib/commands/account.ts +0 -1867
  411. package/lib/commands/console.ts +0 -112
  412. package/lib/commands/databases.ts +0 -3272
  413. package/lib/commands/functions.ts +0 -1587
  414. package/lib/commands/graphql.ts +0 -110
  415. package/lib/commands/health.ts +0 -753
  416. package/lib/commands/locale.ts +0 -270
  417. package/lib/commands/messaging.ts +0 -2878
  418. package/lib/commands/migrations.ts +0 -754
  419. package/lib/commands/organizations.ts +0 -46
  420. package/lib/commands/project.ts +0 -266
  421. package/lib/commands/projects.ts +0 -2370
  422. package/lib/commands/proxy.ts +0 -357
  423. package/lib/commands/sites.ts +0 -1514
  424. package/lib/commands/storage.ts +0 -919
  425. package/lib/commands/tables-db.ts +0 -3260
  426. package/lib/commands/teams.ts +0 -609
  427. package/lib/commands/tokens.ts +0 -232
  428. package/lib/commands/users.ts +0 -1804
  429. package/lib/commands/vcs.ts +0 -428
  430. package/lib/exception.ts +0 -20
@@ -1,1514 +0,0 @@
1
- import fs = require('fs');
2
- import pathLib = require('path');
3
- import tar = require('tar');
4
- import ignore = require('ignore');
5
- import { promisify } from 'util';
6
- import Client from '../client';
7
- import { getAllFiles, showConsoleLink } from '../utils';
8
- import { Command } from 'commander';
9
- import { sdkForProject, sdkForConsole } from '../sdks';
10
- import { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log, warn } from '../parser';
11
- import { localConfig, globalConfig } from '../config';
12
- import { File } from 'undici';
13
- import { ReadableStream } from 'stream/web';
14
-
15
- function convertReadStreamToReadableStream(readStream: fs.ReadStream): ReadableStream {
16
- return new ReadableStream({
17
- start(controller) {
18
- readStream.on("data", (chunk: Buffer) => {
19
- controller.enqueue(chunk);
20
- });
21
- readStream.on("end", () => {
22
- controller.close();
23
- });
24
- readStream.on("error", (err: Error) => {
25
- controller.error(err);
26
- });
27
- },
28
- cancel() {
29
- readStream.destroy();
30
- },
31
- });
32
- }
33
-
34
- export const sites = new Command("sites").description(commandDescriptions['sites'] ?? '').configureHelp({
35
- helpWidth: process.stdout.columns || 80
36
- })
37
-
38
- interface SitesListRequestParams {
39
- queries?: string[];
40
- search?: string;
41
- total?: boolean;
42
- overrideForCli?: boolean;
43
- parseOutput?: boolean;
44
- sdk?: Client;
45
- console?: boolean;
46
- }
47
-
48
- export const sitesList = async ({queries,search,total,parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: SitesListRequestParams): Promise<any> => {
49
- let client = !sdk ? await sdkForProject() :
50
- sdk;
51
- let apiPath = '/sites';
52
- let payload = {};
53
- if (typeof queries !== 'undefined') {
54
- payload['queries'] = queries;
55
- }
56
- if (typeof search !== 'undefined') {
57
- payload['search'] = search;
58
- }
59
- if (typeof total !== 'undefined') {
60
- payload['total'] = total;
61
- }
62
-
63
- let response = undefined;
64
-
65
- response = await client.call('get', apiPath, {
66
- }, payload);
67
-
68
- if (parseOutput) {
69
- if(showConsole) {
70
- showConsoleLink('sites', 'list');
71
- } else {
72
- parse(response)
73
- }
74
- }
75
-
76
- return response;
77
-
78
- }
79
- interface SitesCreateRequestParams {
80
- siteId: string;
81
- name: string;
82
- framework: Framework;
83
- buildRuntime: BuildRuntime;
84
- enabled?: boolean;
85
- logging?: boolean;
86
- timeout?: number;
87
- installCommand?: string;
88
- buildCommand?: string;
89
- outputDirectory?: string;
90
- adapter?: Adapter;
91
- installationId?: string;
92
- fallbackFile?: string;
93
- providerRepositoryId?: string;
94
- providerBranch?: string;
95
- providerSilentMode?: boolean;
96
- providerRootDirectory?: string;
97
- specification?: string;
98
- overrideForCli?: boolean;
99
- parseOutput?: boolean;
100
- sdk?: Client;
101
- }
102
-
103
- export const sitesCreate = async ({siteId,name,framework,buildRuntime,enabled,logging,timeout,installCommand,buildCommand,outputDirectory,adapter,installationId,fallbackFile,providerRepositoryId,providerBranch,providerSilentMode,providerRootDirectory,specification,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesCreateRequestParams): Promise<any> => {
104
- let client = !sdk ? await sdkForProject() :
105
- sdk;
106
- let apiPath = '/sites';
107
- let payload = {};
108
- if (typeof siteId !== 'undefined') {
109
- payload['siteId'] = siteId;
110
- }
111
- if (typeof name !== 'undefined') {
112
- payload['name'] = name;
113
- }
114
- if (typeof framework !== 'undefined') {
115
- payload['framework'] = framework;
116
- }
117
- if (typeof enabled !== 'undefined') {
118
- payload['enabled'] = enabled;
119
- }
120
- if (typeof logging !== 'undefined') {
121
- payload['logging'] = logging;
122
- }
123
- if (typeof timeout !== 'undefined') {
124
- payload['timeout'] = timeout;
125
- }
126
- if (typeof installCommand !== 'undefined') {
127
- payload['installCommand'] = installCommand;
128
- }
129
- if (typeof buildCommand !== 'undefined') {
130
- payload['buildCommand'] = buildCommand;
131
- }
132
- if (typeof outputDirectory !== 'undefined') {
133
- payload['outputDirectory'] = outputDirectory;
134
- }
135
- if (typeof buildRuntime !== 'undefined') {
136
- payload['buildRuntime'] = buildRuntime;
137
- }
138
- if (typeof adapter !== 'undefined') {
139
- payload['adapter'] = adapter;
140
- }
141
- if (typeof installationId !== 'undefined') {
142
- payload['installationId'] = installationId;
143
- }
144
- if (typeof fallbackFile !== 'undefined') {
145
- payload['fallbackFile'] = fallbackFile;
146
- }
147
- if (typeof providerRepositoryId !== 'undefined') {
148
- payload['providerRepositoryId'] = providerRepositoryId;
149
- }
150
- if (typeof providerBranch !== 'undefined') {
151
- payload['providerBranch'] = providerBranch;
152
- }
153
- if (typeof providerSilentMode !== 'undefined') {
154
- payload['providerSilentMode'] = providerSilentMode;
155
- }
156
- if (typeof providerRootDirectory !== 'undefined') {
157
- payload['providerRootDirectory'] = providerRootDirectory;
158
- }
159
- if (typeof specification !== 'undefined') {
160
- payload['specification'] = specification;
161
- }
162
-
163
- let response = undefined;
164
-
165
- response = await client.call('post', apiPath, {
166
- 'content-type': 'application/json',
167
- }, payload);
168
-
169
- if (parseOutput) {
170
- parse(response)
171
- }
172
-
173
- return response;
174
-
175
- }
176
- interface SitesListFrameworksRequestParams {
177
- overrideForCli?: boolean;
178
- parseOutput?: boolean;
179
- sdk?: Client;
180
- console?: boolean;
181
- }
182
-
183
- export const sitesListFrameworks = async ({parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: SitesListFrameworksRequestParams): Promise<any> => {
184
- let client = !sdk ? await sdkForProject() :
185
- sdk;
186
- let apiPath = '/sites/frameworks';
187
- let payload = {};
188
-
189
- let response = undefined;
190
-
191
- response = await client.call('get', apiPath, {
192
- }, payload);
193
-
194
- if (parseOutput) {
195
- if(showConsole) {
196
- showConsoleLink('sites', 'listFrameworks');
197
- } else {
198
- parse(response)
199
- }
200
- }
201
-
202
- return response;
203
-
204
- }
205
- interface SitesListSpecificationsRequestParams {
206
- overrideForCli?: boolean;
207
- parseOutput?: boolean;
208
- sdk?: Client;
209
- console?: boolean;
210
- }
211
-
212
- export const sitesListSpecifications = async ({parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: SitesListSpecificationsRequestParams): Promise<any> => {
213
- let client = !sdk ? await sdkForProject() :
214
- sdk;
215
- let apiPath = '/sites/specifications';
216
- let payload = {};
217
-
218
- let response = undefined;
219
-
220
- response = await client.call('get', apiPath, {
221
- }, payload);
222
-
223
- if (parseOutput) {
224
- if(showConsole) {
225
- showConsoleLink('sites', 'listSpecifications');
226
- } else {
227
- parse(response)
228
- }
229
- }
230
-
231
- return response;
232
-
233
- }
234
- interface SitesListTemplatesRequestParams {
235
- frameworks?: string[];
236
- useCases?: string[];
237
- limit?: number;
238
- offset?: number;
239
- overrideForCli?: boolean;
240
- parseOutput?: boolean;
241
- sdk?: Client;
242
- console?: boolean;
243
- }
244
-
245
- export const sitesListTemplates = async ({frameworks,useCases,limit,offset,parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: SitesListTemplatesRequestParams): Promise<any> => {
246
- let client = !sdk ? await sdkForProject() :
247
- sdk;
248
- let apiPath = '/sites/templates';
249
- let payload = {};
250
- if (typeof frameworks !== 'undefined') {
251
- payload['frameworks'] = frameworks;
252
- }
253
- if (typeof useCases !== 'undefined') {
254
- payload['useCases'] = useCases;
255
- }
256
- if (typeof limit !== 'undefined') {
257
- payload['limit'] = limit;
258
- }
259
- if (typeof offset !== 'undefined') {
260
- payload['offset'] = offset;
261
- }
262
-
263
- let response = undefined;
264
-
265
- response = await client.call('get', apiPath, {
266
- }, payload);
267
-
268
- if (parseOutput) {
269
- if(showConsole) {
270
- showConsoleLink('sites', 'listTemplates');
271
- } else {
272
- parse(response)
273
- }
274
- }
275
-
276
- return response;
277
-
278
- }
279
- interface SitesGetTemplateRequestParams {
280
- templateId: string;
281
- overrideForCli?: boolean;
282
- parseOutput?: boolean;
283
- sdk?: Client;
284
- console?: boolean;
285
- }
286
-
287
- export const sitesGetTemplate = async ({templateId,parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: SitesGetTemplateRequestParams): Promise<any> => {
288
- let client = !sdk ? await sdkForProject() :
289
- sdk;
290
- let apiPath = '/sites/templates/{templateId}'.replace('{templateId}', templateId);
291
- let payload = {};
292
-
293
- let response = undefined;
294
-
295
- response = await client.call('get', apiPath, {
296
- }, payload);
297
-
298
- if (parseOutput) {
299
- if(showConsole) {
300
- showConsoleLink('sites', 'getTemplate', templateId);
301
- } else {
302
- parse(response)
303
- }
304
- }
305
-
306
- return response;
307
-
308
- }
309
- interface SitesListUsageRequestParams {
310
- range?: UsageRange;
311
- overrideForCli?: boolean;
312
- parseOutput?: boolean;
313
- sdk?: Client;
314
- console?: boolean;
315
- }
316
-
317
- export const sitesListUsage = async ({range,parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: SitesListUsageRequestParams): Promise<any> => {
318
- let client = !sdk ? await sdkForProject() :
319
- sdk;
320
- let apiPath = '/sites/usage';
321
- let payload = {};
322
- if (typeof range !== 'undefined') {
323
- payload['range'] = range;
324
- }
325
-
326
- let response = undefined;
327
-
328
- response = await client.call('get', apiPath, {
329
- }, payload);
330
-
331
- if (parseOutput) {
332
- if(showConsole) {
333
- showConsoleLink('sites', 'listUsage');
334
- } else {
335
- parse(response)
336
- }
337
- }
338
-
339
- return response;
340
-
341
- }
342
- interface SitesGetRequestParams {
343
- siteId: string;
344
- overrideForCli?: boolean;
345
- parseOutput?: boolean;
346
- sdk?: Client;
347
- console?: boolean;
348
- }
349
-
350
- export const sitesGet = async ({siteId,parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: SitesGetRequestParams): Promise<any> => {
351
- let client = !sdk ? await sdkForProject() :
352
- sdk;
353
- let apiPath = '/sites/{siteId}'.replace('{siteId}', siteId);
354
- let payload = {};
355
-
356
- let response = undefined;
357
-
358
- response = await client.call('get', apiPath, {
359
- }, payload);
360
-
361
- if (parseOutput) {
362
- if(showConsole) {
363
- showConsoleLink('sites', 'get', siteId);
364
- } else {
365
- parse(response)
366
- }
367
- }
368
-
369
- return response;
370
-
371
- }
372
- interface SitesUpdateRequestParams {
373
- siteId: string;
374
- name: string;
375
- framework: Framework;
376
- enabled?: boolean;
377
- logging?: boolean;
378
- timeout?: number;
379
- installCommand?: string;
380
- buildCommand?: string;
381
- outputDirectory?: string;
382
- buildRuntime?: BuildRuntime;
383
- adapter?: Adapter;
384
- fallbackFile?: string;
385
- installationId?: string;
386
- providerRepositoryId?: string;
387
- providerBranch?: string;
388
- providerSilentMode?: boolean;
389
- providerRootDirectory?: string;
390
- specification?: string;
391
- overrideForCli?: boolean;
392
- parseOutput?: boolean;
393
- sdk?: Client;
394
- }
395
-
396
- export const sitesUpdate = async ({siteId,name,framework,enabled,logging,timeout,installCommand,buildCommand,outputDirectory,buildRuntime,adapter,fallbackFile,installationId,providerRepositoryId,providerBranch,providerSilentMode,providerRootDirectory,specification,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesUpdateRequestParams): Promise<any> => {
397
- let client = !sdk ? await sdkForProject() :
398
- sdk;
399
- let apiPath = '/sites/{siteId}'.replace('{siteId}', siteId);
400
- let payload = {};
401
- if (typeof name !== 'undefined') {
402
- payload['name'] = name;
403
- }
404
- if (typeof framework !== 'undefined') {
405
- payload['framework'] = framework;
406
- }
407
- if (typeof enabled !== 'undefined') {
408
- payload['enabled'] = enabled;
409
- }
410
- if (typeof logging !== 'undefined') {
411
- payload['logging'] = logging;
412
- }
413
- if (typeof timeout !== 'undefined') {
414
- payload['timeout'] = timeout;
415
- }
416
- if (typeof installCommand !== 'undefined') {
417
- payload['installCommand'] = installCommand;
418
- }
419
- if (typeof buildCommand !== 'undefined') {
420
- payload['buildCommand'] = buildCommand;
421
- }
422
- if (typeof outputDirectory !== 'undefined') {
423
- payload['outputDirectory'] = outputDirectory;
424
- }
425
- if (typeof buildRuntime !== 'undefined') {
426
- payload['buildRuntime'] = buildRuntime;
427
- }
428
- if (typeof adapter !== 'undefined') {
429
- payload['adapter'] = adapter;
430
- }
431
- if (typeof fallbackFile !== 'undefined') {
432
- payload['fallbackFile'] = fallbackFile;
433
- }
434
- if (typeof installationId !== 'undefined') {
435
- payload['installationId'] = installationId;
436
- }
437
- if (typeof providerRepositoryId !== 'undefined') {
438
- payload['providerRepositoryId'] = providerRepositoryId;
439
- }
440
- if (typeof providerBranch !== 'undefined') {
441
- payload['providerBranch'] = providerBranch;
442
- }
443
- if (typeof providerSilentMode !== 'undefined') {
444
- payload['providerSilentMode'] = providerSilentMode;
445
- }
446
- if (typeof providerRootDirectory !== 'undefined') {
447
- payload['providerRootDirectory'] = providerRootDirectory;
448
- }
449
- if (typeof specification !== 'undefined') {
450
- payload['specification'] = specification;
451
- }
452
-
453
- let response = undefined;
454
-
455
- response = await client.call('put', apiPath, {
456
- 'content-type': 'application/json',
457
- }, payload);
458
-
459
- if (parseOutput) {
460
- parse(response)
461
- }
462
-
463
- return response;
464
-
465
- }
466
- interface SitesDeleteRequestParams {
467
- siteId: string;
468
- overrideForCli?: boolean;
469
- parseOutput?: boolean;
470
- sdk?: Client;
471
- }
472
-
473
- export const sitesDelete = async ({siteId,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesDeleteRequestParams): Promise<any> => {
474
- let client = !sdk ? await sdkForProject() :
475
- sdk;
476
- let apiPath = '/sites/{siteId}'.replace('{siteId}', siteId);
477
- let payload = {};
478
-
479
- let response = undefined;
480
-
481
- response = await client.call('delete', apiPath, {
482
- 'content-type': 'application/json',
483
- }, payload);
484
-
485
- if (parseOutput) {
486
- parse(response)
487
- }
488
-
489
- return response;
490
-
491
- }
492
- interface SitesUpdateSiteDeploymentRequestParams {
493
- siteId: string;
494
- deploymentId: string;
495
- overrideForCli?: boolean;
496
- parseOutput?: boolean;
497
- sdk?: Client;
498
- }
499
-
500
- export const sitesUpdateSiteDeployment = async ({siteId,deploymentId,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesUpdateSiteDeploymentRequestParams): Promise<any> => {
501
- let client = !sdk ? await sdkForProject() :
502
- sdk;
503
- let apiPath = '/sites/{siteId}/deployment'.replace('{siteId}', siteId);
504
- let payload = {};
505
- if (typeof deploymentId !== 'undefined') {
506
- payload['deploymentId'] = deploymentId;
507
- }
508
-
509
- let response = undefined;
510
-
511
- response = await client.call('patch', apiPath, {
512
- 'content-type': 'application/json',
513
- }, payload);
514
-
515
- if (parseOutput) {
516
- parse(response)
517
- }
518
-
519
- return response;
520
-
521
- }
522
- interface SitesListDeploymentsRequestParams {
523
- siteId: string;
524
- queries?: string[];
525
- search?: string;
526
- total?: boolean;
527
- overrideForCli?: boolean;
528
- parseOutput?: boolean;
529
- sdk?: Client;
530
- console?: boolean;
531
- }
532
-
533
- export const sitesListDeployments = async ({siteId,queries,search,total,parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: SitesListDeploymentsRequestParams): Promise<any> => {
534
- let client = !sdk ? await sdkForProject() :
535
- sdk;
536
- let apiPath = '/sites/{siteId}/deployments'.replace('{siteId}', siteId);
537
- let payload = {};
538
- if (typeof queries !== 'undefined') {
539
- payload['queries'] = queries;
540
- }
541
- if (typeof search !== 'undefined') {
542
- payload['search'] = search;
543
- }
544
- if (typeof total !== 'undefined') {
545
- payload['total'] = total;
546
- }
547
-
548
- let response = undefined;
549
-
550
- response = await client.call('get', apiPath, {
551
- }, payload);
552
-
553
- if (parseOutput) {
554
- if(showConsole) {
555
- showConsoleLink('sites', 'listDeployments', siteId);
556
- } else {
557
- parse(response)
558
- }
559
- }
560
-
561
- return response;
562
-
563
- }
564
- interface SitesCreateDeploymentRequestParams {
565
- siteId: string;
566
- code: string;
567
- activate: boolean;
568
- installCommand?: string;
569
- buildCommand?: string;
570
- outputDirectory?: string;
571
- overrideForCli?: boolean;
572
- parseOutput?: boolean;
573
- sdk?: Client;
574
- onProgress?: (progress: number) => void;
575
- }
576
-
577
- export const sitesCreateDeployment = async ({siteId,code,activate,installCommand,buildCommand,outputDirectory,parseOutput = true, overrideForCli = false, sdk = undefined,onProgress = () => {}}: SitesCreateDeploymentRequestParams): Promise<any> => {
578
- let client = !sdk ? await sdkForProject() :
579
- sdk;
580
- let apiPath = '/sites/{siteId}/deployments'.replace('{siteId}', siteId);
581
- let payload = {};
582
- if (typeof installCommand !== 'undefined') {
583
- payload['installCommand'] = installCommand;
584
- }
585
- if (typeof buildCommand !== 'undefined') {
586
- payload['buildCommand'] = buildCommand;
587
- }
588
- if (typeof outputDirectory !== 'undefined') {
589
- payload['outputDirectory'] = outputDirectory;
590
- }
591
- const folderPath = fs.realpathSync(code);
592
- if (!fs.lstatSync(folderPath).isDirectory()) {
593
- throw new Error('The path is not a directory.');
594
- }
595
-
596
- const ignorer = ignore();
597
-
598
- const resourceId = siteId;
599
- const resourceConfig = localConfig.getSite(resourceId);
600
-
601
- ignorer.add('.appwrite');
602
-
603
- if (resourceConfig.ignore) {
604
- ignorer.add(resourceConfig.ignore);
605
- } else if (fs.existsSync(pathLib.join(code, '.gitignore'))) {
606
- ignorer.add(fs.readFileSync(pathLib.join(code, '.gitignore')).toString());
607
- }
608
-
609
- const files = getAllFiles(code).map((file) => pathLib.relative(code, file)).filter((file) => !ignorer.ignores(file));
610
-
611
- const archiveFileName = `sites-${resourceId}-code.tar.gz`;
612
-
613
- await tar
614
- .create({
615
- gzip: true,
616
- sync: true,
617
- cwd: folderPath,
618
- file: archiveFileName
619
- }, files);
620
-
621
- let archivePath = fs.realpathSync(archiveFileName)
622
- if (typeof archivePath !== 'undefined') {
623
- payload['code'] = archivePath;
624
- code = archivePath;
625
- }
626
-
627
- const filePath = fs.realpathSync(code);
628
- const nodeStream = fs.createReadStream(filePath);
629
- const stream = convertReadStreamToReadableStream(nodeStream);
630
-
631
- if (typeof filePath !== 'undefined') {
632
- code = { type: 'file', stream, filename: pathLib.basename(filePath), size: fs.statSync(filePath).size };
633
- payload['code'] = code
634
- }
635
- if (typeof activate !== 'undefined') {
636
- payload['activate'] = activate;
637
- }
638
-
639
- const size = code.size;
640
-
641
- const apiHeaders = {
642
- 'content-type': 'multipart/form-data',
643
- };
644
-
645
- let id = undefined;
646
- let response = undefined;
647
-
648
- let chunksUploaded = 0;
649
-
650
- let currentChunk = 1;
651
- let currentPosition = 0;
652
- let uploadableChunk = new Uint8Array(client.CHUNK_SIZE);
653
-
654
- const uploadChunk = async (lastUpload = false) => {
655
- if(currentChunk <= chunksUploaded) {
656
- return;
657
- }
658
-
659
- const start = ((currentChunk - 1) * client.CHUNK_SIZE);
660
- let end = start + currentPosition - 1;
661
-
662
- if(!lastUpload || currentChunk !== 1) {
663
- apiHeaders['content-range'] = 'bytes ' + start + '-' + end + '/' + size;
664
- }
665
-
666
- let uploadableChunkTrimmed;
667
-
668
- if(currentPosition + 1 >= client.CHUNK_SIZE) {
669
- uploadableChunkTrimmed = uploadableChunk;
670
- } else {
671
- uploadableChunkTrimmed = new Uint8Array(currentPosition);
672
- for(let i = 0; i <= currentPosition; i++) {
673
- uploadableChunkTrimmed[i] = uploadableChunk[i];
674
- }
675
- }
676
-
677
- if (id) {
678
- apiHeaders['x-appwrite-id'] = id;
679
- }
680
-
681
- payload['code'] = { type: 'file', file: new File([uploadableChunkTrimmed], code.filename), filename: code.filename };
682
-
683
- response = await client.call('post', apiPath, apiHeaders, payload);
684
-
685
- if (!id) {
686
- id = response['$id'];
687
- }
688
-
689
- if (onProgress !== null) {
690
- onProgress({
691
- $id: response['$id'],
692
- progress: Math.min((currentChunk) * client.CHUNK_SIZE, size) / size * 100,
693
- sizeUploaded: end+1,
694
- chunksTotal: response['chunksTotal'],
695
- chunksUploaded: response['chunksUploaded']
696
- });
697
- }
698
-
699
- uploadableChunk = new Uint8Array(client.CHUNK_SIZE);
700
- currentChunk++;
701
- currentPosition = 0;
702
- }
703
-
704
- for await (const chunk of code.stream) {
705
- for(const b of chunk) {
706
- uploadableChunk[currentPosition] = b;
707
-
708
- currentPosition++;
709
- if(currentPosition >= client.CHUNK_SIZE) {
710
- await uploadChunk();
711
- currentPosition = 0;
712
- }
713
- }
714
- }
715
-
716
- if (currentPosition > 0) { // Check if there's any remaining data for the last chunk
717
- await uploadChunk(true);
718
- }
719
-
720
- await fs.unlink(filePath,()=>{});
721
-
722
- if (parseOutput) {
723
- parse(response)
724
- }
725
-
726
- return response;
727
- }
728
- interface SitesCreateDuplicateDeploymentRequestParams {
729
- siteId: string;
730
- deploymentId: string;
731
- overrideForCli?: boolean;
732
- parseOutput?: boolean;
733
- sdk?: Client;
734
- }
735
-
736
- export const sitesCreateDuplicateDeployment = async ({siteId,deploymentId,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesCreateDuplicateDeploymentRequestParams): Promise<any> => {
737
- let client = !sdk ? await sdkForProject() :
738
- sdk;
739
- let apiPath = '/sites/{siteId}/deployments/duplicate'.replace('{siteId}', siteId);
740
- let payload = {};
741
- if (typeof deploymentId !== 'undefined') {
742
- payload['deploymentId'] = deploymentId;
743
- }
744
-
745
- let response = undefined;
746
-
747
- response = await client.call('post', apiPath, {
748
- 'content-type': 'application/json',
749
- }, payload);
750
-
751
- if (parseOutput) {
752
- parse(response)
753
- }
754
-
755
- return response;
756
-
757
- }
758
- interface SitesCreateTemplateDeploymentRequestParams {
759
- siteId: string;
760
- repository: string;
761
- owner: string;
762
- rootDirectory: string;
763
- type: TemplateReferenceType;
764
- reference: string;
765
- activate?: boolean;
766
- overrideForCli?: boolean;
767
- parseOutput?: boolean;
768
- sdk?: Client;
769
- }
770
-
771
- export const sitesCreateTemplateDeployment = async ({siteId,repository,owner,rootDirectory,type,reference,activate,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesCreateTemplateDeploymentRequestParams): Promise<any> => {
772
- let client = !sdk ? await sdkForProject() :
773
- sdk;
774
- let apiPath = '/sites/{siteId}/deployments/template'.replace('{siteId}', siteId);
775
- let payload = {};
776
- if (typeof repository !== 'undefined') {
777
- payload['repository'] = repository;
778
- }
779
- if (typeof owner !== 'undefined') {
780
- payload['owner'] = owner;
781
- }
782
- if (typeof rootDirectory !== 'undefined') {
783
- payload['rootDirectory'] = rootDirectory;
784
- }
785
- if (typeof type !== 'undefined') {
786
- payload['type'] = type;
787
- }
788
- if (typeof reference !== 'undefined') {
789
- payload['reference'] = reference;
790
- }
791
- if (typeof activate !== 'undefined') {
792
- payload['activate'] = activate;
793
- }
794
-
795
- let response = undefined;
796
-
797
- response = await client.call('post', apiPath, {
798
- 'content-type': 'application/json',
799
- }, payload);
800
-
801
- if (parseOutput) {
802
- parse(response)
803
- }
804
-
805
- return response;
806
-
807
- }
808
- interface SitesCreateVcsDeploymentRequestParams {
809
- siteId: string;
810
- type: VCSReferenceType;
811
- reference: string;
812
- activate?: boolean;
813
- overrideForCli?: boolean;
814
- parseOutput?: boolean;
815
- sdk?: Client;
816
- }
817
-
818
- export const sitesCreateVcsDeployment = async ({siteId,type,reference,activate,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesCreateVcsDeploymentRequestParams): Promise<any> => {
819
- let client = !sdk ? await sdkForProject() :
820
- sdk;
821
- let apiPath = '/sites/{siteId}/deployments/vcs'.replace('{siteId}', siteId);
822
- let payload = {};
823
- if (typeof type !== 'undefined') {
824
- payload['type'] = type;
825
- }
826
- if (typeof reference !== 'undefined') {
827
- payload['reference'] = reference;
828
- }
829
- if (typeof activate !== 'undefined') {
830
- payload['activate'] = activate;
831
- }
832
-
833
- let response = undefined;
834
-
835
- response = await client.call('post', apiPath, {
836
- 'content-type': 'application/json',
837
- }, payload);
838
-
839
- if (parseOutput) {
840
- parse(response)
841
- }
842
-
843
- return response;
844
-
845
- }
846
- interface SitesGetDeploymentRequestParams {
847
- siteId: string;
848
- deploymentId: string;
849
- overrideForCli?: boolean;
850
- parseOutput?: boolean;
851
- sdk?: Client;
852
- console?: boolean;
853
- }
854
-
855
- export const sitesGetDeployment = async ({siteId,deploymentId,parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: SitesGetDeploymentRequestParams): Promise<any> => {
856
- let client = !sdk ? await sdkForProject() :
857
- sdk;
858
- let apiPath = '/sites/{siteId}/deployments/{deploymentId}'.replace('{siteId}', siteId).replace('{deploymentId}', deploymentId);
859
- let payload = {};
860
-
861
- let response = undefined;
862
-
863
- response = await client.call('get', apiPath, {
864
- }, payload);
865
-
866
- if (parseOutput) {
867
- if(showConsole) {
868
- showConsoleLink('sites', 'getDeployment', siteId, deploymentId);
869
- } else {
870
- parse(response)
871
- }
872
- }
873
-
874
- return response;
875
-
876
- }
877
- interface SitesDeleteDeploymentRequestParams {
878
- siteId: string;
879
- deploymentId: string;
880
- overrideForCli?: boolean;
881
- parseOutput?: boolean;
882
- sdk?: Client;
883
- }
884
-
885
- export const sitesDeleteDeployment = async ({siteId,deploymentId,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesDeleteDeploymentRequestParams): Promise<any> => {
886
- let client = !sdk ? await sdkForProject() :
887
- sdk;
888
- let apiPath = '/sites/{siteId}/deployments/{deploymentId}'.replace('{siteId}', siteId).replace('{deploymentId}', deploymentId);
889
- let payload = {};
890
-
891
- let response = undefined;
892
-
893
- response = await client.call('delete', apiPath, {
894
- 'content-type': 'application/json',
895
- }, payload);
896
-
897
- if (parseOutput) {
898
- parse(response)
899
- }
900
-
901
- return response;
902
-
903
- }
904
- interface SitesGetDeploymentDownloadRequestParams {
905
- siteId: string;
906
- deploymentId: string;
907
- type?: DeploymentDownloadType;
908
- overrideForCli?: boolean;
909
- parseOutput?: boolean;
910
- sdk?: Client;
911
- destination?: string;
912
- console?: boolean;
913
- }
914
-
915
- export const sitesGetDeploymentDownload = async ({siteId,deploymentId,type,parseOutput = true, overrideForCli = false, sdk = undefined, destination, console: showConsole}: SitesGetDeploymentDownloadRequestParams): Promise<any> => {
916
- let client = !sdk ? await sdkForProject() :
917
- sdk;
918
- let apiPath = '/sites/{siteId}/deployments/{deploymentId}/download'.replace('{siteId}', siteId).replace('{deploymentId}', deploymentId);
919
- let payload = {};
920
- if (typeof type !== 'undefined') {
921
- payload['type'] = type;
922
- }
923
- if (!overrideForCli) {
924
- payload['project'] = localConfig.getProject().projectId
925
- payload['key'] = globalConfig.getKey();
926
- const queryParams = new URLSearchParams(payload);
927
- apiPath = `${globalConfig.getEndpoint()}${apiPath}?${queryParams.toString()}`;
928
- }
929
-
930
- let response = undefined;
931
-
932
- response = await client.call('get', apiPath, {
933
- }, payload, 'arraybuffer');
934
-
935
- if (overrideForCli) {
936
- response = Buffer.from(response);
937
- }
938
-
939
- fs.writeFileSync(destination, response);
940
- if (parseOutput) {
941
- if(showConsole) {
942
- showConsoleLink('sites', 'getDeploymentDownload', siteId, deploymentId);
943
- } else {
944
- parse(response)
945
- }
946
- }
947
-
948
- return response;
949
-
950
- }
951
- interface SitesUpdateDeploymentStatusRequestParams {
952
- siteId: string;
953
- deploymentId: string;
954
- overrideForCli?: boolean;
955
- parseOutput?: boolean;
956
- sdk?: Client;
957
- }
958
-
959
- export const sitesUpdateDeploymentStatus = async ({siteId,deploymentId,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesUpdateDeploymentStatusRequestParams): Promise<any> => {
960
- let client = !sdk ? await sdkForProject() :
961
- sdk;
962
- let apiPath = '/sites/{siteId}/deployments/{deploymentId}/status'.replace('{siteId}', siteId).replace('{deploymentId}', deploymentId);
963
- let payload = {};
964
-
965
- let response = undefined;
966
-
967
- response = await client.call('patch', apiPath, {
968
- 'content-type': 'application/json',
969
- }, payload);
970
-
971
- if (parseOutput) {
972
- parse(response)
973
- }
974
-
975
- return response;
976
-
977
- }
978
- interface SitesListLogsRequestParams {
979
- siteId: string;
980
- queries?: string[];
981
- total?: boolean;
982
- overrideForCli?: boolean;
983
- parseOutput?: boolean;
984
- sdk?: Client;
985
- }
986
-
987
- export const sitesListLogs = async ({siteId,queries,total,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesListLogsRequestParams): Promise<any> => {
988
- let client = !sdk ? await sdkForProject() :
989
- sdk;
990
- let apiPath = '/sites/{siteId}/logs'.replace('{siteId}', siteId);
991
- let payload = {};
992
- if (typeof queries !== 'undefined') {
993
- payload['queries'] = queries;
994
- }
995
- if (typeof total !== 'undefined') {
996
- payload['total'] = total;
997
- }
998
-
999
- let response = undefined;
1000
-
1001
- response = await client.call('get', apiPath, {
1002
- }, payload);
1003
-
1004
- if (parseOutput) {
1005
- parse(response)
1006
- }
1007
-
1008
- return response;
1009
-
1010
- }
1011
- interface SitesGetLogRequestParams {
1012
- siteId: string;
1013
- logId: string;
1014
- overrideForCli?: boolean;
1015
- parseOutput?: boolean;
1016
- sdk?: Client;
1017
- console?: boolean;
1018
- }
1019
-
1020
- export const sitesGetLog = async ({siteId,logId,parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: SitesGetLogRequestParams): Promise<any> => {
1021
- let client = !sdk ? await sdkForProject() :
1022
- sdk;
1023
- let apiPath = '/sites/{siteId}/logs/{logId}'.replace('{siteId}', siteId).replace('{logId}', logId);
1024
- let payload = {};
1025
-
1026
- let response = undefined;
1027
-
1028
- response = await client.call('get', apiPath, {
1029
- }, payload);
1030
-
1031
- if (parseOutput) {
1032
- if(showConsole) {
1033
- showConsoleLink('sites', 'getLog', siteId, logId);
1034
- } else {
1035
- parse(response)
1036
- }
1037
- }
1038
-
1039
- return response;
1040
-
1041
- }
1042
- interface SitesDeleteLogRequestParams {
1043
- siteId: string;
1044
- logId: string;
1045
- overrideForCli?: boolean;
1046
- parseOutput?: boolean;
1047
- sdk?: Client;
1048
- }
1049
-
1050
- export const sitesDeleteLog = async ({siteId,logId,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesDeleteLogRequestParams): Promise<any> => {
1051
- let client = !sdk ? await sdkForProject() :
1052
- sdk;
1053
- let apiPath = '/sites/{siteId}/logs/{logId}'.replace('{siteId}', siteId).replace('{logId}', logId);
1054
- let payload = {};
1055
-
1056
- let response = undefined;
1057
-
1058
- response = await client.call('delete', apiPath, {
1059
- 'content-type': 'application/json',
1060
- }, payload);
1061
-
1062
- if (parseOutput) {
1063
- parse(response)
1064
- }
1065
-
1066
- return response;
1067
-
1068
- }
1069
- interface SitesGetUsageRequestParams {
1070
- siteId: string;
1071
- range?: UsageRange;
1072
- overrideForCli?: boolean;
1073
- parseOutput?: boolean;
1074
- sdk?: Client;
1075
- }
1076
-
1077
- export const sitesGetUsage = async ({siteId,range,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesGetUsageRequestParams): Promise<any> => {
1078
- let client = !sdk ? await sdkForProject() :
1079
- sdk;
1080
- let apiPath = '/sites/{siteId}/usage'.replace('{siteId}', siteId);
1081
- let payload = {};
1082
- if (typeof range !== 'undefined') {
1083
- payload['range'] = range;
1084
- }
1085
-
1086
- let response = undefined;
1087
-
1088
- response = await client.call('get', apiPath, {
1089
- }, payload);
1090
-
1091
- if (parseOutput) {
1092
- parse(response)
1093
- }
1094
-
1095
- return response;
1096
-
1097
- }
1098
- interface SitesListVariablesRequestParams {
1099
- siteId: string;
1100
- overrideForCli?: boolean;
1101
- parseOutput?: boolean;
1102
- sdk?: Client;
1103
- }
1104
-
1105
- export const sitesListVariables = async ({siteId,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesListVariablesRequestParams): Promise<any> => {
1106
- let client = !sdk ? await sdkForProject() :
1107
- sdk;
1108
- let apiPath = '/sites/{siteId}/variables'.replace('{siteId}', siteId);
1109
- let payload = {};
1110
-
1111
- let response = undefined;
1112
-
1113
- response = await client.call('get', apiPath, {
1114
- }, payload);
1115
-
1116
- if (parseOutput) {
1117
- parse(response)
1118
- }
1119
-
1120
- return response;
1121
-
1122
- }
1123
- interface SitesCreateVariableRequestParams {
1124
- siteId: string;
1125
- key: string;
1126
- value: string;
1127
- secret?: boolean;
1128
- overrideForCli?: boolean;
1129
- parseOutput?: boolean;
1130
- sdk?: Client;
1131
- }
1132
-
1133
- export const sitesCreateVariable = async ({siteId,key,value,secret,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesCreateVariableRequestParams): Promise<any> => {
1134
- let client = !sdk ? await sdkForProject() :
1135
- sdk;
1136
- let apiPath = '/sites/{siteId}/variables'.replace('{siteId}', siteId);
1137
- let payload = {};
1138
- if (typeof key !== 'undefined') {
1139
- payload['key'] = key;
1140
- }
1141
- if (typeof value !== 'undefined') {
1142
- payload['value'] = value;
1143
- }
1144
- if (typeof secret !== 'undefined') {
1145
- payload['secret'] = secret;
1146
- }
1147
-
1148
- let response = undefined;
1149
-
1150
- response = await client.call('post', apiPath, {
1151
- 'content-type': 'application/json',
1152
- }, payload);
1153
-
1154
- if (parseOutput) {
1155
- parse(response)
1156
- }
1157
-
1158
- return response;
1159
-
1160
- }
1161
- interface SitesGetVariableRequestParams {
1162
- siteId: string;
1163
- variableId: string;
1164
- overrideForCli?: boolean;
1165
- parseOutput?: boolean;
1166
- sdk?: Client;
1167
- }
1168
-
1169
- export const sitesGetVariable = async ({siteId,variableId,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesGetVariableRequestParams): Promise<any> => {
1170
- let client = !sdk ? await sdkForProject() :
1171
- sdk;
1172
- let apiPath = '/sites/{siteId}/variables/{variableId}'.replace('{siteId}', siteId).replace('{variableId}', variableId);
1173
- let payload = {};
1174
-
1175
- let response = undefined;
1176
-
1177
- response = await client.call('get', apiPath, {
1178
- }, payload);
1179
-
1180
- if (parseOutput) {
1181
- parse(response)
1182
- }
1183
-
1184
- return response;
1185
-
1186
- }
1187
- interface SitesUpdateVariableRequestParams {
1188
- siteId: string;
1189
- variableId: string;
1190
- key: string;
1191
- value?: string;
1192
- secret?: boolean;
1193
- overrideForCli?: boolean;
1194
- parseOutput?: boolean;
1195
- sdk?: Client;
1196
- }
1197
-
1198
- export const sitesUpdateVariable = async ({siteId,variableId,key,value,secret,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesUpdateVariableRequestParams): Promise<any> => {
1199
- let client = !sdk ? await sdkForProject() :
1200
- sdk;
1201
- let apiPath = '/sites/{siteId}/variables/{variableId}'.replace('{siteId}', siteId).replace('{variableId}', variableId);
1202
- let payload = {};
1203
- if (typeof key !== 'undefined') {
1204
- payload['key'] = key;
1205
- }
1206
- if (typeof value !== 'undefined') {
1207
- payload['value'] = value;
1208
- }
1209
- if (typeof secret !== 'undefined') {
1210
- payload['secret'] = secret;
1211
- }
1212
-
1213
- let response = undefined;
1214
-
1215
- response = await client.call('put', apiPath, {
1216
- 'content-type': 'application/json',
1217
- }, payload);
1218
-
1219
- if (parseOutput) {
1220
- parse(response)
1221
- }
1222
-
1223
- return response;
1224
-
1225
- }
1226
- interface SitesDeleteVariableRequestParams {
1227
- siteId: string;
1228
- variableId: string;
1229
- overrideForCli?: boolean;
1230
- parseOutput?: boolean;
1231
- sdk?: Client;
1232
- }
1233
-
1234
- export const sitesDeleteVariable = async ({siteId,variableId,parseOutput = true, overrideForCli = false, sdk = undefined}: SitesDeleteVariableRequestParams): Promise<any> => {
1235
- let client = !sdk ? await sdkForProject() :
1236
- sdk;
1237
- let apiPath = '/sites/{siteId}/variables/{variableId}'.replace('{siteId}', siteId).replace('{variableId}', variableId);
1238
- let payload = {};
1239
-
1240
- let response = undefined;
1241
-
1242
- response = await client.call('delete', apiPath, {
1243
- 'content-type': 'application/json',
1244
- }, payload);
1245
-
1246
- if (parseOutput) {
1247
- parse(response)
1248
- }
1249
-
1250
- return response;
1251
-
1252
- }
1253
- sites
1254
- .command(`list`)
1255
- .description(`Get a list of all the project's sites. You can use the query params to filter your results.`)
1256
- .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, framework, deploymentId, buildCommand, installCommand, outputDirectory, installationId`)
1257
- .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
1258
- .option(`--total [value]`, `When set to false, the total count returned will be 0 and will not be calculated.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1259
- .option(`--console`, `Get the resource console url`)
1260
- .action(actionRunner(sitesList))
1261
-
1262
- sites
1263
- .command(`create`)
1264
- .description(`Create a new site.`)
1265
- .requiredOption(`--site-id <site-id>`, `Site ID. Choose a custom ID or generate a random ID with 'ID.unique()'. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.`)
1266
- .requiredOption(`--name <name>`, `Site name. Max length: 128 chars.`)
1267
- .requiredOption(`--framework <framework>`, `Sites framework.`)
1268
- .requiredOption(`--build-runtime <build-runtime>`, `Runtime to use during build step.`)
1269
- .option(`--enabled [value]`, `Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1270
- .option(`--logging [value]`, `When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1271
- .option(`--timeout <timeout>`, `Maximum request time in seconds.`, parseInteger)
1272
- .option(`--install-command <install-command>`, `Install Command.`)
1273
- .option(`--build-command <build-command>`, `Build Command.`)
1274
- .option(`--output-directory <output-directory>`, `Output Directory for site.`)
1275
- .option(`--adapter <adapter>`, `Framework adapter defining rendering strategy. Allowed values are: static, ssr`)
1276
- .option(`--installation-id <installation-id>`, `Appwrite Installation ID for VCS (Version Control System) deployment.`)
1277
- .option(`--fallback-file <fallback-file>`, `Fallback file for single page application sites.`)
1278
- .option(`--provider-repository-id <provider-repository-id>`, `Repository ID of the repo linked to the site.`)
1279
- .option(`--provider-branch <provider-branch>`, `Production branch for the repo linked to the site.`)
1280
- .option(`--provider-silent-mode [value]`, `Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1281
- .option(`--provider-root-directory <provider-root-directory>`, `Path to site code in the linked repo.`)
1282
- .option(`--specification <specification>`, `Framework specification for the site and builds.`)
1283
- .action(actionRunner(sitesCreate))
1284
-
1285
- sites
1286
- .command(`list-frameworks`)
1287
- .description(`Get a list of all frameworks that are currently available on the server instance.`)
1288
- .option(`--console`, `Get the resource console url`)
1289
- .action(actionRunner(sitesListFrameworks))
1290
-
1291
- sites
1292
- .command(`list-specifications`)
1293
- .description(`List allowed site specifications for this instance.`)
1294
- .option(`--console`, `Get the resource console url`)
1295
- .action(actionRunner(sitesListSpecifications))
1296
-
1297
- sites
1298
- .command(`list-templates`)
1299
- .description(`List available site templates. You can use template details in [createSite](/docs/references/cloud/server-nodejs/sites#create) method.`)
1300
- .option(`--frameworks [frameworks...]`, `List of frameworks allowed for filtering site templates. Maximum of 100 frameworks are allowed.`)
1301
- .option(`--use-cases [use-cases...]`, `List of use cases allowed for filtering site templates. Maximum of 100 use cases are allowed.`)
1302
- .option(`--limit <limit>`, `Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.`, parseInteger)
1303
- .option(`--offset <offset>`, `Offset the list of returned templates. Maximum offset is 5000.`, parseInteger)
1304
- .option(`--console`, `Get the resource console url`)
1305
- .action(actionRunner(sitesListTemplates))
1306
-
1307
- sites
1308
- .command(`get-template`)
1309
- .description(`Get a site template using ID. You can use template details in [createSite](/docs/references/cloud/server-nodejs/sites#create) method.`)
1310
- .requiredOption(`--template-id <template-id>`, `Template ID.`)
1311
- .option(`--console`, `Get the resource console url`)
1312
- .action(actionRunner(sitesGetTemplate))
1313
-
1314
- sites
1315
- .command(`list-usage`)
1316
- .description(`Get usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.`)
1317
- .option(`--range <range>`, `Date range.`)
1318
- .option(`--console`, `Get the resource console url`)
1319
- .action(actionRunner(sitesListUsage))
1320
-
1321
- sites
1322
- .command(`get`)
1323
- .description(`Get a site by its unique ID.`)
1324
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1325
- .option(`--console`, `Get the resource console url`)
1326
- .action(actionRunner(sitesGet))
1327
-
1328
- sites
1329
- .command(`update`)
1330
- .description(`Update site by its unique ID.`)
1331
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1332
- .requiredOption(`--name <name>`, `Site name. Max length: 128 chars.`)
1333
- .requiredOption(`--framework <framework>`, `Sites framework.`)
1334
- .option(`--enabled [value]`, `Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1335
- .option(`--logging [value]`, `When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1336
- .option(`--timeout <timeout>`, `Maximum request time in seconds.`, parseInteger)
1337
- .option(`--install-command <install-command>`, `Install Command.`)
1338
- .option(`--build-command <build-command>`, `Build Command.`)
1339
- .option(`--output-directory <output-directory>`, `Output Directory for site.`)
1340
- .option(`--build-runtime <build-runtime>`, `Runtime to use during build step.`)
1341
- .option(`--adapter <adapter>`, `Framework adapter defining rendering strategy. Allowed values are: static, ssr`)
1342
- .option(`--fallback-file <fallback-file>`, `Fallback file for single page application sites.`)
1343
- .option(`--installation-id <installation-id>`, `Appwrite Installation ID for VCS (Version Control System) deployment.`)
1344
- .option(`--provider-repository-id <provider-repository-id>`, `Repository ID of the repo linked to the site.`)
1345
- .option(`--provider-branch <provider-branch>`, `Production branch for the repo linked to the site.`)
1346
- .option(`--provider-silent-mode [value]`, `Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1347
- .option(`--provider-root-directory <provider-root-directory>`, `Path to site code in the linked repo.`)
1348
- .option(`--specification <specification>`, `Framework specification for the site and builds.`)
1349
- .action(actionRunner(sitesUpdate))
1350
-
1351
- sites
1352
- .command(`delete`)
1353
- .description(`Delete a site by its unique ID.`)
1354
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1355
- .action(actionRunner(sitesDelete))
1356
-
1357
- sites
1358
- .command(`update-site-deployment`)
1359
- .description(`Update the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.`)
1360
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1361
- .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
1362
- .action(actionRunner(sitesUpdateSiteDeployment))
1363
-
1364
- sites
1365
- .command(`list-deployments`)
1366
- .description(`Get a list of all the site's code deployments. You can use the query params to filter your results.`)
1367
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1368
- .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type`)
1369
- .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
1370
- .option(`--total [value]`, `When set to false, the total count returned will be 0 and will not be calculated.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1371
- .option(`--console`, `Get the resource console url`)
1372
- .action(actionRunner(sitesListDeployments))
1373
-
1374
- sites
1375
- .command(`create-deployment`)
1376
- .description(`Create a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.`)
1377
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1378
- .requiredOption(`--code <code>`, `Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.`)
1379
- .requiredOption(`--activate [value]`, `Automatically activate the deployment when it is finished building.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1380
- .option(`--install-command <install-command>`, `Install Commands.`)
1381
- .option(`--build-command <build-command>`, `Build Commands.`)
1382
- .option(`--output-directory <output-directory>`, `Output Directory.`)
1383
- .action(actionRunner(sitesCreateDeployment))
1384
-
1385
- sites
1386
- .command(`create-duplicate-deployment`)
1387
- .description(`Create a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.`)
1388
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1389
- .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
1390
- .action(actionRunner(sitesCreateDuplicateDeployment))
1391
-
1392
- sites
1393
- .command(`create-template-deployment`)
1394
- .description(`Create a deployment based on a template. Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/products/sites/templates) to find the template details.`)
1395
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1396
- .requiredOption(`--repository <repository>`, `Repository name of the template.`)
1397
- .requiredOption(`--owner <owner>`, `The name of the owner of the template.`)
1398
- .requiredOption(`--root-directory <root-directory>`, `Path to site code in the template repo.`)
1399
- .requiredOption(`--type <type>`, `Type for the reference provided. Can be commit, branch, or tag`)
1400
- .requiredOption(`--reference <reference>`, `Reference value, can be a commit hash, branch name, or release tag`)
1401
- .option(`--activate [value]`, `Automatically activate the deployment when it is finished building.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1402
- .action(actionRunner(sitesCreateTemplateDeployment))
1403
-
1404
- sites
1405
- .command(`create-vcs-deployment`)
1406
- .description(`Create a deployment when a site is connected to VCS. This endpoint lets you create deployment from a branch, commit, or a tag.`)
1407
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1408
- .requiredOption(`--type <type>`, `Type of reference passed. Allowed values are: branch, commit`)
1409
- .requiredOption(`--reference <reference>`, `VCS reference to create deployment from. Depending on type this can be: branch name, commit hash`)
1410
- .option(`--activate [value]`, `Automatically activate the deployment when it is finished building.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1411
- .action(actionRunner(sitesCreateVcsDeployment))
1412
-
1413
- sites
1414
- .command(`get-deployment`)
1415
- .description(`Get a site deployment by its unique ID.`)
1416
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1417
- .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
1418
- .option(`--console`, `Get the resource console url`)
1419
- .action(actionRunner(sitesGetDeployment))
1420
-
1421
- sites
1422
- .command(`delete-deployment`)
1423
- .description(`Delete a site deployment by its unique ID.`)
1424
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1425
- .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
1426
- .action(actionRunner(sitesDeleteDeployment))
1427
-
1428
- sites
1429
- .command(`get-deployment-download`)
1430
- .description(`Get a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.`)
1431
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1432
- .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
1433
- .option(`--type <type>`, `Deployment file to download. Can be: "source", "output".`)
1434
- .requiredOption(`--destination <path>`, `output file path.`)
1435
- .option(`--console`, `Get the resource console url`)
1436
- .action(actionRunner(sitesGetDeploymentDownload))
1437
-
1438
- sites
1439
- .command(`update-deployment-status`)
1440
- .description(`Cancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.`)
1441
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1442
- .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
1443
- .action(actionRunner(sitesUpdateDeploymentStatus))
1444
-
1445
- sites
1446
- .command(`list-logs`)
1447
- .description(`Get a list of all site logs. You can use the query params to filter your results.`)
1448
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1449
- .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId`)
1450
- .option(`--total [value]`, `When set to false, the total count returned will be 0 and will not be calculated.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1451
- .action(actionRunner(sitesListLogs))
1452
-
1453
- sites
1454
- .command(`get-log`)
1455
- .description(`Get a site request log by its unique ID.`)
1456
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1457
- .requiredOption(`--log-id <log-id>`, `Log ID.`)
1458
- .option(`--console`, `Get the resource console url`)
1459
- .action(actionRunner(sitesGetLog))
1460
-
1461
- sites
1462
- .command(`delete-log`)
1463
- .description(`Delete a site log by its unique ID.`)
1464
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1465
- .requiredOption(`--log-id <log-id>`, `Log ID.`)
1466
- .action(actionRunner(sitesDeleteLog))
1467
-
1468
- sites
1469
- .command(`get-usage`)
1470
- .description(`Get usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.`)
1471
- .requiredOption(`--site-id <site-id>`, `Site ID.`)
1472
- .option(`--range <range>`, `Date range.`)
1473
- .action(actionRunner(sitesGetUsage))
1474
-
1475
- sites
1476
- .command(`list-variables`)
1477
- .description(`Get a list of all variables of a specific site.`)
1478
- .requiredOption(`--site-id <site-id>`, `Site unique ID.`)
1479
- .action(actionRunner(sitesListVariables))
1480
-
1481
- sites
1482
- .command(`create-variable`)
1483
- .description(`Create a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.`)
1484
- .requiredOption(`--site-id <site-id>`, `Site unique ID.`)
1485
- .requiredOption(`--key <key>`, `Variable key. Max length: 255 chars.`)
1486
- .requiredOption(`--value <value>`, `Variable value. Max length: 8192 chars.`)
1487
- .option(`--secret [value]`, `Secret variables can be updated or deleted, but only sites can read them during build and runtime.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1488
- .action(actionRunner(sitesCreateVariable))
1489
-
1490
- sites
1491
- .command(`get-variable`)
1492
- .description(`Get a variable by its unique ID.`)
1493
- .requiredOption(`--site-id <site-id>`, `Site unique ID.`)
1494
- .requiredOption(`--variable-id <variable-id>`, `Variable unique ID.`)
1495
- .action(actionRunner(sitesGetVariable))
1496
-
1497
- sites
1498
- .command(`update-variable`)
1499
- .description(`Update variable by its unique ID.`)
1500
- .requiredOption(`--site-id <site-id>`, `Site unique ID.`)
1501
- .requiredOption(`--variable-id <variable-id>`, `Variable unique ID.`)
1502
- .requiredOption(`--key <key>`, `Variable key. Max length: 255 chars.`)
1503
- .option(`--value <value>`, `Variable value. Max length: 8192 chars.`)
1504
- .option(`--secret [value]`, `Secret variables can be updated or deleted, but only sites can read them during build and runtime.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
1505
- .action(actionRunner(sitesUpdateVariable))
1506
-
1507
- sites
1508
- .command(`delete-variable`)
1509
- .description(`Delete a variable by its unique ID.`)
1510
- .requiredOption(`--site-id <site-id>`, `Site unique ID.`)
1511
- .requiredOption(`--variable-id <variable-id>`, `Variable unique ID.`)
1512
- .action(actionRunner(sitesDeleteVariable))
1513
-
1514
-