chirag-appwrite-cli 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (875) hide show
  1. package/.github/workflows/build-verify.yml +71 -0
  2. package/.github/workflows/npm-publish.yml +41 -22
  3. package/CHANGELOG.md +190 -1
  4. package/LICENSE.md +12 -1
  5. package/README.md +182 -15
  6. package/bun.lock +627 -0
  7. package/dist/bundle.cjs +108228 -0
  8. package/dist/index.d.ts +7 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +149 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/lib/client.d.ts +88 -0
  13. package/dist/lib/client.d.ts.map +1 -0
  14. package/dist/lib/client.js +238 -0
  15. package/dist/lib/client.js.map +1 -0
  16. package/dist/lib/commands/config.d.ts +557 -0
  17. package/dist/lib/commands/config.d.ts.map +1 -0
  18. package/dist/lib/commands/config.js +415 -0
  19. package/dist/lib/commands/config.js.map +1 -0
  20. package/dist/lib/commands/db.d.ts +34 -0
  21. package/dist/lib/commands/db.d.ts.map +1 -0
  22. package/dist/lib/commands/db.js +247 -0
  23. package/dist/lib/commands/db.js.map +1 -0
  24. package/dist/lib/commands/errors.d.ts +68 -0
  25. package/dist/lib/commands/errors.d.ts.map +1 -0
  26. package/dist/lib/commands/errors.js +72 -0
  27. package/dist/lib/commands/errors.js.map +1 -0
  28. package/dist/lib/commands/generic.d.ts +17 -0
  29. package/dist/lib/commands/generic.d.ts.map +1 -0
  30. package/dist/lib/commands/generic.js +292 -0
  31. package/dist/lib/commands/generic.js.map +1 -0
  32. package/dist/lib/commands/init.d.ts +3 -0
  33. package/dist/lib/commands/init.d.ts.map +1 -0
  34. package/dist/lib/commands/init.js +526 -0
  35. package/dist/lib/commands/init.js.map +1 -0
  36. package/dist/lib/commands/pull.d.ts +110 -0
  37. package/dist/lib/commands/pull.d.ts.map +1 -0
  38. package/dist/lib/commands/pull.js +626 -0
  39. package/dist/lib/commands/pull.js.map +1 -0
  40. package/dist/lib/commands/push.d.ts +82 -0
  41. package/dist/lib/commands/push.d.ts.map +1 -0
  42. package/dist/lib/commands/push.js +1666 -0
  43. package/dist/lib/commands/push.js.map +1 -0
  44. package/dist/lib/commands/run.d.ts +3 -0
  45. package/dist/lib/commands/run.d.ts.map +1 -0
  46. package/dist/lib/commands/run.js +289 -0
  47. package/dist/lib/commands/run.js.map +1 -0
  48. package/dist/lib/commands/schema.d.ts +57 -0
  49. package/dist/lib/commands/schema.d.ts.map +1 -0
  50. package/dist/lib/commands/schema.js +75 -0
  51. package/dist/lib/commands/schema.js.map +1 -0
  52. package/dist/lib/commands/services/account.d.ts +3 -0
  53. package/dist/lib/commands/services/account.d.ts.map +1 -0
  54. package/dist/lib/commands/services/account.js +306 -0
  55. package/dist/lib/commands/services/account.js.map +1 -0
  56. package/dist/lib/commands/services/avatars.d.ts +3 -0
  57. package/dist/lib/commands/services/avatars.d.ts.map +1 -0
  58. package/dist/lib/commands/services/avatars.js +118 -0
  59. package/dist/lib/commands/services/avatars.js.map +1 -0
  60. package/dist/lib/commands/services/console.d.ts +3 -0
  61. package/dist/lib/commands/services/console.d.ts.map +1 -0
  62. package/dist/lib/commands/services/console.js +41 -0
  63. package/dist/lib/commands/services/console.js.map +1 -0
  64. package/dist/lib/commands/services/databases.d.ts +3 -0
  65. package/dist/lib/commands/services/databases.d.ts.map +1 -0
  66. package/dist/lib/commands/services/databases.js +612 -0
  67. package/dist/lib/commands/services/databases.js.map +1 -0
  68. package/dist/lib/commands/services/functions.d.ts +3 -0
  69. package/dist/lib/commands/services/functions.d.ts.map +1 -0
  70. package/dist/lib/commands/services/functions.js +258 -0
  71. package/dist/lib/commands/services/functions.js.map +1 -0
  72. package/dist/lib/commands/services/graphql.d.ts +3 -0
  73. package/dist/lib/commands/services/graphql.d.ts.map +1 -0
  74. package/dist/lib/commands/services/graphql.js +28 -0
  75. package/dist/lib/commands/services/graphql.js.map +1 -0
  76. package/dist/lib/commands/services/health.d.ts +3 -0
  77. package/dist/lib/commands/services/health.d.ts.map +1 -0
  78. package/dist/lib/commands/services/health.js +123 -0
  79. package/dist/lib/commands/services/health.js.map +1 -0
  80. package/dist/lib/commands/services/locale.d.ts +3 -0
  81. package/dist/lib/commands/services/locale.d.ts.map +1 -0
  82. package/dist/lib/commands/services/locale.js +52 -0
  83. package/dist/lib/commands/services/locale.js.map +1 -0
  84. package/dist/lib/commands/services/messaging.d.ts +3 -0
  85. package/dist/lib/commands/services/messaging.d.ts.map +1 -0
  86. package/dist/lib/commands/services/messaging.js +505 -0
  87. package/dist/lib/commands/services/messaging.js.map +1 -0
  88. package/dist/lib/commands/services/migrations.d.ts +3 -0
  89. package/dist/lib/commands/services/migrations.d.ts.map +1 -0
  90. package/dist/lib/commands/services/migrations.js +135 -0
  91. package/dist/lib/commands/services/migrations.js.map +1 -0
  92. package/dist/lib/commands/services/project.d.ts +3 -0
  93. package/dist/lib/commands/services/project.d.ts.map +1 -0
  94. package/dist/lib/commands/services/project.js +54 -0
  95. package/dist/lib/commands/services/project.js.map +1 -0
  96. package/dist/lib/commands/services/projects.d.ts +3 -0
  97. package/dist/lib/commands/services/projects.d.ts.map +1 -0
  98. package/dist/lib/commands/services/projects.js +415 -0
  99. package/dist/lib/commands/services/projects.js.map +1 -0
  100. package/dist/lib/commands/services/proxy.d.ts +3 -0
  101. package/dist/lib/commands/services/proxy.d.ts.map +1 -0
  102. package/dist/lib/commands/services/proxy.js +68 -0
  103. package/dist/lib/commands/services/proxy.js.map +1 -0
  104. package/dist/lib/commands/services/sites.d.ts +3 -0
  105. package/dist/lib/commands/services/sites.d.ts.map +1 -0
  106. package/dist/lib/commands/services/sites.js +242 -0
  107. package/dist/lib/commands/services/sites.js.map +1 -0
  108. package/dist/lib/commands/services/storage.d.ts +3 -0
  109. package/dist/lib/commands/services/storage.d.ts.map +1 -0
  110. package/dist/lib/commands/services/storage.js +153 -0
  111. package/dist/lib/commands/services/storage.js.map +1 -0
  112. package/dist/lib/commands/services/tablesdb.d.ts +3 -0
  113. package/dist/lib/commands/services/tablesdb.d.ts.map +1 -0
  114. package/dist/lib/commands/services/tablesdb.js +605 -0
  115. package/dist/lib/commands/services/tablesdb.js.map +1 -0
  116. package/dist/lib/commands/services/teams.d.ts +3 -0
  117. package/dist/lib/commands/services/teams.d.ts.map +1 -0
  118. package/dist/lib/commands/services/teams.js +123 -0
  119. package/dist/lib/commands/services/teams.js.map +1 -0
  120. package/dist/lib/commands/services/tokens.d.ts +3 -0
  121. package/dist/lib/commands/services/tokens.d.ts.map +1 -0
  122. package/dist/lib/commands/services/tokens.js +49 -0
  123. package/dist/lib/commands/services/tokens.js.map +1 -0
  124. package/dist/lib/commands/services/users.d.ts +3 -0
  125. package/dist/lib/commands/services/users.d.ts.map +1 -0
  126. package/dist/lib/commands/services/users.js +312 -0
  127. package/dist/lib/commands/services/users.js.map +1 -0
  128. package/dist/lib/commands/services/vcs.d.ts +3 -0
  129. package/dist/lib/commands/services/vcs.d.ts.map +1 -0
  130. package/dist/lib/commands/services/vcs.js +87 -0
  131. package/dist/lib/commands/services/vcs.js.map +1 -0
  132. package/dist/lib/commands/types.d.ts +3 -0
  133. package/dist/lib/commands/types.d.ts.map +1 -0
  134. package/dist/lib/commands/types.js +151 -0
  135. package/dist/lib/commands/types.js.map +1 -0
  136. package/dist/lib/commands/update.d.ts +3 -0
  137. package/dist/lib/commands/update.d.ts.map +1 -0
  138. package/dist/lib/commands/update.js +201 -0
  139. package/dist/lib/commands/update.js.map +1 -0
  140. package/dist/lib/commands/utils/attributes.d.ts +46 -0
  141. package/dist/lib/commands/utils/attributes.d.ts.map +1 -0
  142. package/dist/lib/commands/utils/attributes.js +521 -0
  143. package/dist/lib/commands/utils/attributes.js.map +1 -0
  144. package/dist/lib/commands/utils/change-approval.d.ts +25 -0
  145. package/dist/lib/commands/utils/change-approval.d.ts.map +1 -0
  146. package/dist/lib/commands/utils/change-approval.js +129 -0
  147. package/dist/lib/commands/utils/change-approval.js.map +1 -0
  148. package/dist/lib/commands/utils/database-sync.d.ts +10 -0
  149. package/dist/lib/commands/utils/database-sync.d.ts.map +1 -0
  150. package/dist/lib/commands/utils/database-sync.js +136 -0
  151. package/dist/lib/commands/utils/database-sync.js.map +1 -0
  152. package/dist/lib/commands/utils/deployment.d.ts +34 -0
  153. package/dist/lib/commands/utils/deployment.d.ts.map +1 -0
  154. package/dist/lib/commands/utils/deployment.js +108 -0
  155. package/dist/lib/commands/utils/deployment.js.map +1 -0
  156. package/dist/lib/commands/utils/error-formatter.d.ts +19 -0
  157. package/dist/lib/commands/utils/error-formatter.d.ts.map +1 -0
  158. package/dist/lib/commands/utils/error-formatter.js +333 -0
  159. package/dist/lib/commands/utils/error-formatter.js.map +1 -0
  160. package/dist/lib/commands/utils/pools.d.ts +16 -0
  161. package/dist/lib/commands/utils/pools.d.ts.map +1 -0
  162. package/dist/lib/commands/utils/pools.js +197 -0
  163. package/dist/lib/commands/utils/pools.js.map +1 -0
  164. package/dist/lib/config.d.ts +119 -0
  165. package/dist/lib/config.d.ts.map +1 -0
  166. package/dist/lib/config.js +728 -0
  167. package/dist/lib/config.js.map +1 -0
  168. package/dist/lib/emulation/docker.d.ts +7 -0
  169. package/dist/lib/emulation/docker.d.ts.map +1 -0
  170. package/dist/lib/emulation/docker.js +224 -0
  171. package/dist/lib/emulation/docker.js.map +1 -0
  172. package/dist/lib/emulation/utils.d.ts +29 -0
  173. package/dist/lib/emulation/utils.d.ts.map +1 -0
  174. package/dist/lib/emulation/utils.js +165 -0
  175. package/dist/lib/emulation/utils.js.map +1 -0
  176. package/dist/lib/id.d.ts +7 -0
  177. package/dist/lib/id.d.ts.map +1 -0
  178. package/dist/lib/id.js +27 -0
  179. package/dist/lib/id.js.map +1 -0
  180. package/dist/lib/paginate.d.ts +9 -0
  181. package/dist/lib/paginate.d.ts.map +1 -0
  182. package/dist/lib/paginate.js +43 -0
  183. package/dist/lib/paginate.js.map +1 -0
  184. package/dist/lib/parser.d.ts +18 -0
  185. package/dist/lib/parser.d.ts.map +1 -0
  186. package/dist/lib/parser.js +225 -0
  187. package/dist/lib/parser.js.map +1 -0
  188. package/dist/lib/questions.d.ts +59 -0
  189. package/dist/lib/questions.d.ts.map +1 -0
  190. package/dist/lib/questions.js +991 -0
  191. package/dist/lib/questions.js.map +1 -0
  192. package/dist/lib/sdks.d.ts +4 -0
  193. package/dist/lib/sdks.d.ts.map +1 -0
  194. package/dist/lib/sdks.js +61 -0
  195. package/dist/lib/sdks.js.map +1 -0
  196. package/dist/lib/services.d.ts +13 -0
  197. package/dist/lib/services.d.ts.map +1 -0
  198. package/dist/lib/services.js +47 -0
  199. package/dist/lib/services.js.map +1 -0
  200. package/dist/lib/spinner.d.ts +28 -0
  201. package/dist/lib/spinner.d.ts.map +1 -0
  202. package/dist/lib/spinner.js +91 -0
  203. package/dist/lib/spinner.js.map +1 -0
  204. package/dist/lib/type-generation/attribute.d.ts +17 -0
  205. package/dist/lib/type-generation/attribute.d.ts.map +1 -0
  206. package/dist/lib/type-generation/attribute.js +16 -0
  207. package/dist/lib/type-generation/attribute.js.map +1 -0
  208. package/dist/lib/type-generation/languages/csharp.d.ts +7 -0
  209. package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -0
  210. package/dist/lib/type-generation/languages/csharp.js +180 -0
  211. package/dist/lib/type-generation/languages/csharp.js.map +1 -0
  212. package/dist/lib/type-generation/languages/dart.d.ts +8 -0
  213. package/dist/lib/type-generation/languages/dart.d.ts.map +1 -0
  214. package/dist/lib/type-generation/languages/dart.js +197 -0
  215. package/dist/lib/type-generation/languages/dart.js.map +1 -0
  216. package/dist/lib/type-generation/languages/java.d.ts +7 -0
  217. package/dist/lib/type-generation/languages/java.d.ts.map +1 -0
  218. package/dist/lib/type-generation/languages/java.js +140 -0
  219. package/dist/lib/type-generation/languages/java.js.map +1 -0
  220. package/dist/lib/type-generation/languages/javascript.d.ts +9 -0
  221. package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -0
  222. package/dist/lib/type-generation/languages/javascript.js +109 -0
  223. package/dist/lib/type-generation/languages/javascript.js.map +1 -0
  224. package/dist/lib/type-generation/languages/kotlin.d.ts +7 -0
  225. package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -0
  226. package/dist/lib/type-generation/languages/kotlin.js +95 -0
  227. package/dist/lib/type-generation/languages/kotlin.js.map +1 -0
  228. package/dist/lib/type-generation/languages/language.d.ts +43 -0
  229. package/dist/lib/type-generation/languages/language.d.ts.map +1 -0
  230. package/dist/lib/type-generation/languages/language.js +77 -0
  231. package/dist/lib/type-generation/languages/language.js.map +1 -0
  232. package/dist/lib/type-generation/languages/php.d.ts +7 -0
  233. package/dist/lib/type-generation/languages/php.d.ts.map +1 -0
  234. package/dist/lib/type-generation/languages/php.js +116 -0
  235. package/dist/lib/type-generation/languages/php.js.map +1 -0
  236. package/dist/lib/type-generation/languages/swift.d.ts +7 -0
  237. package/dist/lib/type-generation/languages/swift.d.ts.map +1 -0
  238. package/dist/lib/type-generation/languages/swift.js +179 -0
  239. package/dist/lib/type-generation/languages/swift.js.map +1 -0
  240. package/dist/lib/type-generation/languages/typescript.d.ts +9 -0
  241. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -0
  242. package/dist/lib/type-generation/languages/typescript.js +115 -0
  243. package/dist/lib/type-generation/languages/typescript.js.map +1 -0
  244. package/dist/lib/types.d.ts +63 -0
  245. package/dist/lib/types.d.ts.map +1 -0
  246. package/dist/lib/types.js +2 -0
  247. package/dist/lib/types.js.map +1 -0
  248. package/dist/lib/utils.d.ts +18 -0
  249. package/dist/lib/utils.d.ts.map +1 -0
  250. package/dist/lib/utils.js +323 -0
  251. package/dist/lib/utils.js.map +1 -0
  252. package/dist/lib/validations.d.ts +2 -0
  253. package/dist/lib/validations.d.ts.map +1 -0
  254. package/dist/lib/validations.js +16 -0
  255. package/dist/lib/validations.js.map +1 -0
  256. package/dist/package.json +68 -0
  257. package/dist/scripts/generate-commands.d.ts +2 -0
  258. package/dist/scripts/generate-commands.d.ts.map +1 -0
  259. package/dist/scripts/generate-commands.js +398 -0
  260. package/dist/scripts/generate-commands.js.map +1 -0
  261. package/dist/sites/profile-website/src/lib/utils.d.ts +4 -0
  262. package/dist/sites/profile-website/src/lib/utils.d.ts.map +1 -0
  263. package/dist/sites/profile-website/src/lib/utils.js +32 -0
  264. package/dist/sites/profile-website/src/lib/utils.js.map +1 -0
  265. package/dist/sites/profile-website/tailwind.config.d.ts +3 -0
  266. package/dist/sites/profile-website/tailwind.config.d.ts.map +1 -0
  267. package/dist/sites/profile-website/tailwind.config.js +110 -0
  268. package/dist/sites/profile-website/tailwind.config.js.map +1 -0
  269. package/dist/test.d.ts +2 -0
  270. package/dist/test.d.ts.map +1 -0
  271. package/dist/test.js +38 -0
  272. package/dist/test.js.map +1 -0
  273. package/index.ts +190 -0
  274. package/install.ps1 +5 -8
  275. package/install.sh +4 -5
  276. package/lib/client.ts +292 -0
  277. package/lib/commands/config.ts +493 -0
  278. package/lib/commands/db.ts +324 -0
  279. package/lib/commands/errors.ts +93 -0
  280. package/lib/commands/generic.ts +440 -0
  281. package/lib/commands/init.ts +713 -0
  282. package/lib/commands/pull.ts +944 -0
  283. package/lib/commands/push.ts +2355 -0
  284. package/lib/commands/run.ts +416 -0
  285. package/lib/commands/schema.ts +103 -0
  286. package/lib/commands/services/account.ts +832 -0
  287. package/lib/commands/services/avatars.ts +400 -0
  288. package/lib/commands/services/console.ts +73 -0
  289. package/lib/commands/services/databases.ts +2080 -0
  290. package/lib/commands/services/functions.ts +855 -0
  291. package/lib/commands/services/graphql.ts +47 -0
  292. package/lib/commands/services/health.ts +322 -0
  293. package/lib/commands/services/locale.ts +99 -0
  294. package/lib/commands/services/messaging.ts +1871 -0
  295. package/lib/commands/services/migrations.ts +421 -0
  296. package/lib/commands/services/project.ts +116 -0
  297. package/lib/commands/services/projects.ts +1317 -0
  298. package/lib/commands/services/proxy.ts +163 -0
  299. package/lib/commands/services/sites.ts +777 -0
  300. package/lib/commands/services/storage.ts +547 -0
  301. package/lib/commands/services/tablesdb.ts +1928 -0
  302. package/lib/commands/services/teams.ts +294 -0
  303. package/lib/commands/services/tokens.ts +106 -0
  304. package/lib/commands/services/users.ts +886 -0
  305. package/lib/commands/services/vcs.ts +268 -0
  306. package/lib/commands/types.ts +220 -0
  307. package/lib/commands/update.ts +245 -0
  308. package/lib/commands/utils/attributes.ts +734 -0
  309. package/lib/commands/utils/change-approval.ts +186 -0
  310. package/lib/commands/utils/database-sync.ts +180 -0
  311. package/lib/commands/utils/deployment.ts +180 -0
  312. package/lib/commands/utils/error-formatter.ts +417 -0
  313. package/lib/commands/utils/pools.ts +354 -0
  314. package/lib/config.ts +932 -0
  315. package/lib/emulation/docker.ts +312 -0
  316. package/lib/emulation/utils.ts +207 -0
  317. package/lib/id.ts +30 -0
  318. package/lib/paginate.ts +77 -0
  319. package/lib/parser.ts +264 -0
  320. package/lib/questions.ts +1167 -0
  321. package/lib/sdks.ts +84 -0
  322. package/lib/services.ts +72 -0
  323. package/lib/spinner.ts +131 -0
  324. package/lib/type-generation/attribute.ts +18 -0
  325. package/lib/type-generation/languages/csharp.ts +192 -0
  326. package/lib/type-generation/languages/dart.ts +217 -0
  327. package/lib/type-generation/languages/java.ts +152 -0
  328. package/lib/type-generation/languages/javascript.ts +122 -0
  329. package/lib/type-generation/languages/kotlin.ts +107 -0
  330. package/lib/type-generation/languages/language.ts +127 -0
  331. package/lib/type-generation/languages/php.ts +128 -0
  332. package/lib/type-generation/languages/swift.ts +191 -0
  333. package/lib/type-generation/languages/typescript.ts +133 -0
  334. package/lib/types.ts +75 -0
  335. package/lib/utils.ts +394 -0
  336. package/lib/validations.ts +20 -0
  337. package/package.json +39 -21
  338. package/scoop/appwrite.config.json +20 -0
  339. package/scripts/generate-commands.ts +539 -0
  340. package/tsconfig.json +24 -0
  341. package/appwrite.config.json +0 -420
  342. package/docs/examples/account/create-anonymous-session.md +0 -1
  343. package/docs/examples/account/create-email-password-session.md +0 -3
  344. package/docs/examples/account/create-email-token.md +0 -4
  345. package/docs/examples/account/create-j-w-t.md +0 -1
  346. package/docs/examples/account/create-magic-u-r-l-token.md +0 -5
  347. package/docs/examples/account/create-mfa-authenticator.md +0 -2
  348. package/docs/examples/account/create-mfa-challenge.md +0 -2
  349. package/docs/examples/account/create-mfa-recovery-codes.md +0 -1
  350. package/docs/examples/account/create-o-auth2session.md +0 -5
  351. package/docs/examples/account/create-o-auth2token.md +0 -5
  352. package/docs/examples/account/create-phone-token.md +0 -3
  353. package/docs/examples/account/create-phone-verification.md +0 -1
  354. package/docs/examples/account/create-push-target.md +0 -4
  355. package/docs/examples/account/create-recovery.md +0 -3
  356. package/docs/examples/account/create-session.md +0 -3
  357. package/docs/examples/account/create-verification.md +0 -2
  358. package/docs/examples/account/create.md +0 -5
  359. package/docs/examples/account/delete-identity.md +0 -2
  360. package/docs/examples/account/delete-mfa-authenticator.md +0 -2
  361. package/docs/examples/account/delete-push-target.md +0 -2
  362. package/docs/examples/account/delete-session.md +0 -2
  363. package/docs/examples/account/delete-sessions.md +0 -1
  364. package/docs/examples/account/delete.md +0 -1
  365. package/docs/examples/account/get-mfa-recovery-codes.md +0 -1
  366. package/docs/examples/account/get-prefs.md +0 -1
  367. package/docs/examples/account/get-session.md +0 -2
  368. package/docs/examples/account/get.md +0 -1
  369. package/docs/examples/account/list-identities.md +0 -2
  370. package/docs/examples/account/list-logs.md +0 -2
  371. package/docs/examples/account/list-mfa-factors.md +0 -1
  372. package/docs/examples/account/list-sessions.md +0 -1
  373. package/docs/examples/account/update-email.md +0 -3
  374. package/docs/examples/account/update-m-f-a.md +0 -2
  375. package/docs/examples/account/update-magic-u-r-l-session.md +0 -3
  376. package/docs/examples/account/update-mfa-authenticator.md +0 -3
  377. package/docs/examples/account/update-mfa-challenge.md +0 -3
  378. package/docs/examples/account/update-mfa-recovery-codes.md +0 -1
  379. package/docs/examples/account/update-name.md +0 -2
  380. package/docs/examples/account/update-password.md +0 -3
  381. package/docs/examples/account/update-phone-session.md +0 -3
  382. package/docs/examples/account/update-phone-verification.md +0 -3
  383. package/docs/examples/account/update-phone.md +0 -3
  384. package/docs/examples/account/update-prefs.md +0 -2
  385. package/docs/examples/account/update-push-target.md +0 -3
  386. package/docs/examples/account/update-recovery.md +0 -4
  387. package/docs/examples/account/update-session.md +0 -2
  388. package/docs/examples/account/update-status.md +0 -1
  389. package/docs/examples/account/update-verification.md +0 -3
  390. package/docs/examples/avatars/get-browser.md +0 -5
  391. package/docs/examples/avatars/get-credit-card.md +0 -5
  392. package/docs/examples/avatars/get-favicon.md +0 -2
  393. package/docs/examples/avatars/get-flag.md +0 -5
  394. package/docs/examples/avatars/get-image.md +0 -4
  395. package/docs/examples/avatars/get-initials.md +0 -5
  396. package/docs/examples/avatars/get-q-r.md +0 -5
  397. package/docs/examples/console/get-resource.md +0 -3
  398. package/docs/examples/console/variables.md +0 -1
  399. package/docs/examples/databases/create-boolean-attribute.md +0 -7
  400. package/docs/examples/databases/create-collection.md +0 -7
  401. package/docs/examples/databases/create-datetime-attribute.md +0 -7
  402. package/docs/examples/databases/create-document.md +0 -6
  403. package/docs/examples/databases/create-documents.md +0 -4
  404. package/docs/examples/databases/create-email-attribute.md +0 -7
  405. package/docs/examples/databases/create-enum-attribute.md +0 -8
  406. package/docs/examples/databases/create-float-attribute.md +0 -9
  407. package/docs/examples/databases/create-index.md +0 -8
  408. package/docs/examples/databases/create-integer-attribute.md +0 -9
  409. package/docs/examples/databases/create-ip-attribute.md +0 -7
  410. package/docs/examples/databases/create-relationship-attribute.md +0 -9
  411. package/docs/examples/databases/create-string-attribute.md +0 -9
  412. package/docs/examples/databases/create-url-attribute.md +0 -7
  413. package/docs/examples/databases/create.md +0 -4
  414. package/docs/examples/databases/decrement-document-attribute.md +0 -7
  415. package/docs/examples/databases/delete-attribute.md +0 -4
  416. package/docs/examples/databases/delete-collection.md +0 -3
  417. package/docs/examples/databases/delete-document.md +0 -4
  418. package/docs/examples/databases/delete-documents.md +0 -4
  419. package/docs/examples/databases/delete-index.md +0 -4
  420. package/docs/examples/databases/delete.md +0 -2
  421. package/docs/examples/databases/get-attribute.md +0 -4
  422. package/docs/examples/databases/get-collection-usage.md +0 -4
  423. package/docs/examples/databases/get-collection.md +0 -3
  424. package/docs/examples/databases/get-database-usage.md +0 -3
  425. package/docs/examples/databases/get-document.md +0 -5
  426. package/docs/examples/databases/get-index.md +0 -4
  427. package/docs/examples/databases/get-usage.md +0 -2
  428. package/docs/examples/databases/get.md +0 -2
  429. package/docs/examples/databases/increment-document-attribute.md +0 -7
  430. package/docs/examples/databases/list-attributes.md +0 -4
  431. package/docs/examples/databases/list-collection-logs.md +0 -4
  432. package/docs/examples/databases/list-collections.md +0 -4
  433. package/docs/examples/databases/list-document-logs.md +0 -5
  434. package/docs/examples/databases/list-documents.md +0 -4
  435. package/docs/examples/databases/list-indexes.md +0 -4
  436. package/docs/examples/databases/list-logs.md +0 -3
  437. package/docs/examples/databases/list-usage.md +0 -2
  438. package/docs/examples/databases/list.md +0 -3
  439. package/docs/examples/databases/update-boolean-attribute.md +0 -7
  440. package/docs/examples/databases/update-collection.md +0 -7
  441. package/docs/examples/databases/update-datetime-attribute.md +0 -7
  442. package/docs/examples/databases/update-document.md +0 -6
  443. package/docs/examples/databases/update-documents.md +0 -5
  444. package/docs/examples/databases/update-email-attribute.md +0 -7
  445. package/docs/examples/databases/update-enum-attribute.md +0 -8
  446. package/docs/examples/databases/update-float-attribute.md +0 -9
  447. package/docs/examples/databases/update-integer-attribute.md +0 -9
  448. package/docs/examples/databases/update-ip-attribute.md +0 -7
  449. package/docs/examples/databases/update-relationship-attribute.md +0 -6
  450. package/docs/examples/databases/update-string-attribute.md +0 -8
  451. package/docs/examples/databases/update-url-attribute.md +0 -7
  452. package/docs/examples/databases/update.md +0 -4
  453. package/docs/examples/databases/upsert-document.md +0 -6
  454. package/docs/examples/databases/upsert-documents.md +0 -4
  455. package/docs/examples/functions/create-deployment.md +0 -6
  456. package/docs/examples/functions/create-duplicate-deployment.md +0 -4
  457. package/docs/examples/functions/create-execution.md +0 -8
  458. package/docs/examples/functions/create-template-deployment.md +0 -7
  459. package/docs/examples/functions/create-variable.md +0 -5
  460. package/docs/examples/functions/create-vcs-deployment.md +0 -5
  461. package/docs/examples/functions/create.md +0 -19
  462. package/docs/examples/functions/delete-deployment.md +0 -3
  463. package/docs/examples/functions/delete-execution.md +0 -3
  464. package/docs/examples/functions/delete-variable.md +0 -3
  465. package/docs/examples/functions/delete.md +0 -2
  466. package/docs/examples/functions/get-deployment-download.md +0 -4
  467. package/docs/examples/functions/get-deployment.md +0 -3
  468. package/docs/examples/functions/get-execution.md +0 -3
  469. package/docs/examples/functions/get-template.md +0 -2
  470. package/docs/examples/functions/get-usage.md +0 -3
  471. package/docs/examples/functions/get-variable.md +0 -3
  472. package/docs/examples/functions/get.md +0 -2
  473. package/docs/examples/functions/list-deployments.md +0 -4
  474. package/docs/examples/functions/list-executions.md +0 -3
  475. package/docs/examples/functions/list-runtimes.md +0 -1
  476. package/docs/examples/functions/list-specifications.md +0 -1
  477. package/docs/examples/functions/list-templates.md +0 -5
  478. package/docs/examples/functions/list-usage.md +0 -2
  479. package/docs/examples/functions/list-variables.md +0 -2
  480. package/docs/examples/functions/list.md +0 -3
  481. package/docs/examples/functions/update-deployment-status.md +0 -3
  482. package/docs/examples/functions/update-function-deployment.md +0 -3
  483. package/docs/examples/functions/update-variable.md +0 -6
  484. package/docs/examples/functions/update.md +0 -19
  485. package/docs/examples/graphql/mutation.md +0 -2
  486. package/docs/examples/graphql/query.md +0 -2
  487. package/docs/examples/health/get-antivirus.md +0 -1
  488. package/docs/examples/health/get-cache.md +0 -1
  489. package/docs/examples/health/get-certificate.md +0 -2
  490. package/docs/examples/health/get-d-b.md +0 -1
  491. package/docs/examples/health/get-failed-jobs.md +0 -3
  492. package/docs/examples/health/get-pub-sub.md +0 -1
  493. package/docs/examples/health/get-queue-builds.md +0 -2
  494. package/docs/examples/health/get-queue-certificates.md +0 -2
  495. package/docs/examples/health/get-queue-databases.md +0 -3
  496. package/docs/examples/health/get-queue-deletes.md +0 -2
  497. package/docs/examples/health/get-queue-functions.md +0 -2
  498. package/docs/examples/health/get-queue-logs.md +0 -2
  499. package/docs/examples/health/get-queue-mails.md +0 -2
  500. package/docs/examples/health/get-queue-messaging.md +0 -2
  501. package/docs/examples/health/get-queue-migrations.md +0 -2
  502. package/docs/examples/health/get-queue-stats-resources.md +0 -2
  503. package/docs/examples/health/get-queue-usage.md +0 -2
  504. package/docs/examples/health/get-queue-webhooks.md +0 -2
  505. package/docs/examples/health/get-storage-local.md +0 -1
  506. package/docs/examples/health/get-storage.md +0 -1
  507. package/docs/examples/health/get-time.md +0 -1
  508. package/docs/examples/health/get.md +0 -1
  509. package/docs/examples/locale/get.md +0 -1
  510. package/docs/examples/locale/list-codes.md +0 -1
  511. package/docs/examples/locale/list-continents.md +0 -1
  512. package/docs/examples/locale/list-countries-e-u.md +0 -1
  513. package/docs/examples/locale/list-countries-phones.md +0 -1
  514. package/docs/examples/locale/list-countries.md +0 -1
  515. package/docs/examples/locale/list-currencies.md +0 -1
  516. package/docs/examples/locale/list-languages.md +0 -1
  517. package/docs/examples/messaging/create-apns-provider.md +0 -9
  518. package/docs/examples/messaging/create-email.md +0 -13
  519. package/docs/examples/messaging/create-fcm-provider.md +0 -5
  520. package/docs/examples/messaging/create-mailgun-provider.md +0 -11
  521. package/docs/examples/messaging/create-msg91provider.md +0 -7
  522. package/docs/examples/messaging/create-push.md +0 -20
  523. package/docs/examples/messaging/create-sendgrid-provider.md +0 -9
  524. package/docs/examples/messaging/create-sms.md +0 -8
  525. package/docs/examples/messaging/create-smtp-provider.md +0 -15
  526. package/docs/examples/messaging/create-subscriber.md +0 -4
  527. package/docs/examples/messaging/create-telesign-provider.md +0 -7
  528. package/docs/examples/messaging/create-textmagic-provider.md +0 -7
  529. package/docs/examples/messaging/create-topic.md +0 -4
  530. package/docs/examples/messaging/create-twilio-provider.md +0 -7
  531. package/docs/examples/messaging/create-vonage-provider.md +0 -7
  532. package/docs/examples/messaging/delete-provider.md +0 -2
  533. package/docs/examples/messaging/delete-subscriber.md +0 -3
  534. package/docs/examples/messaging/delete-topic.md +0 -2
  535. package/docs/examples/messaging/delete.md +0 -2
  536. package/docs/examples/messaging/get-message.md +0 -2
  537. package/docs/examples/messaging/get-provider.md +0 -2
  538. package/docs/examples/messaging/get-subscriber.md +0 -3
  539. package/docs/examples/messaging/get-topic.md +0 -2
  540. package/docs/examples/messaging/list-message-logs.md +0 -3
  541. package/docs/examples/messaging/list-messages.md +0 -3
  542. package/docs/examples/messaging/list-provider-logs.md +0 -3
  543. package/docs/examples/messaging/list-providers.md +0 -3
  544. package/docs/examples/messaging/list-subscriber-logs.md +0 -3
  545. package/docs/examples/messaging/list-subscribers.md +0 -4
  546. package/docs/examples/messaging/list-targets.md +0 -3
  547. package/docs/examples/messaging/list-topic-logs.md +0 -3
  548. package/docs/examples/messaging/list-topics.md +0 -3
  549. package/docs/examples/messaging/update-apns-provider.md +0 -9
  550. package/docs/examples/messaging/update-email.md +0 -13
  551. package/docs/examples/messaging/update-fcm-provider.md +0 -5
  552. package/docs/examples/messaging/update-mailgun-provider.md +0 -11
  553. package/docs/examples/messaging/update-msg91provider.md +0 -7
  554. package/docs/examples/messaging/update-push.md +0 -20
  555. package/docs/examples/messaging/update-sendgrid-provider.md +0 -9
  556. package/docs/examples/messaging/update-sms.md +0 -8
  557. package/docs/examples/messaging/update-smtp-provider.md +0 -15
  558. package/docs/examples/messaging/update-telesign-provider.md +0 -7
  559. package/docs/examples/messaging/update-textmagic-provider.md +0 -7
  560. package/docs/examples/messaging/update-topic.md +0 -4
  561. package/docs/examples/messaging/update-twilio-provider.md +0 -7
  562. package/docs/examples/messaging/update-vonage-provider.md +0 -7
  563. package/docs/examples/migrations/create-appwrite-migration.md +0 -5
  564. package/docs/examples/migrations/create-csv-migration.md +0 -4
  565. package/docs/examples/migrations/create-firebase-migration.md +0 -3
  566. package/docs/examples/migrations/create-n-host-migration.md +0 -9
  567. package/docs/examples/migrations/create-supabase-migration.md +0 -8
  568. package/docs/examples/migrations/delete.md +0 -2
  569. package/docs/examples/migrations/get-appwrite-report.md +0 -5
  570. package/docs/examples/migrations/get-firebase-report.md +0 -3
  571. package/docs/examples/migrations/get-n-host-report.md +0 -9
  572. package/docs/examples/migrations/get-supabase-report.md +0 -8
  573. package/docs/examples/migrations/get.md +0 -2
  574. package/docs/examples/migrations/list.md +0 -3
  575. package/docs/examples/migrations/retry.md +0 -2
  576. package/docs/examples/project/create-variable.md +0 -4
  577. package/docs/examples/project/delete-variable.md +0 -2
  578. package/docs/examples/project/get-usage.md +0 -4
  579. package/docs/examples/project/get-variable.md +0 -2
  580. package/docs/examples/project/list-variables.md +0 -1
  581. package/docs/examples/project/update-variable.md +0 -5
  582. package/docs/examples/projects/create-dev-key.md +0 -4
  583. package/docs/examples/projects/create-j-w-t.md +0 -4
  584. package/docs/examples/projects/create-key.md +0 -5
  585. package/docs/examples/projects/create-platform.md +0 -7
  586. package/docs/examples/projects/create-smtp-test.md +0 -11
  587. package/docs/examples/projects/create-webhook.md +0 -9
  588. package/docs/examples/projects/create.md +0 -14
  589. package/docs/examples/projects/delete-dev-key.md +0 -3
  590. package/docs/examples/projects/delete-email-template.md +0 -4
  591. package/docs/examples/projects/delete-key.md +0 -3
  592. package/docs/examples/projects/delete-platform.md +0 -3
  593. package/docs/examples/projects/delete-sms-template.md +0 -4
  594. package/docs/examples/projects/delete-webhook.md +0 -3
  595. package/docs/examples/projects/delete.md +0 -2
  596. package/docs/examples/projects/get-dev-key.md +0 -3
  597. package/docs/examples/projects/get-email-template.md +0 -4
  598. package/docs/examples/projects/get-key.md +0 -3
  599. package/docs/examples/projects/get-platform.md +0 -3
  600. package/docs/examples/projects/get-sms-template.md +0 -4
  601. package/docs/examples/projects/get-webhook.md +0 -3
  602. package/docs/examples/projects/get.md +0 -2
  603. package/docs/examples/projects/list-dev-keys.md +0 -3
  604. package/docs/examples/projects/list-keys.md +0 -2
  605. package/docs/examples/projects/list-platforms.md +0 -2
  606. package/docs/examples/projects/list-webhooks.md +0 -2
  607. package/docs/examples/projects/list.md +0 -3
  608. package/docs/examples/projects/update-api-status-all.md +0 -3
  609. package/docs/examples/projects/update-api-status.md +0 -4
  610. package/docs/examples/projects/update-auth-duration.md +0 -3
  611. package/docs/examples/projects/update-auth-limit.md +0 -3
  612. package/docs/examples/projects/update-auth-password-dictionary.md +0 -3
  613. package/docs/examples/projects/update-auth-password-history.md +0 -3
  614. package/docs/examples/projects/update-auth-sessions-limit.md +0 -3
  615. package/docs/examples/projects/update-auth-status.md +0 -4
  616. package/docs/examples/projects/update-dev-key.md +0 -5
  617. package/docs/examples/projects/update-email-template.md +0 -9
  618. package/docs/examples/projects/update-key.md +0 -6
  619. package/docs/examples/projects/update-memberships-privacy.md +0 -5
  620. package/docs/examples/projects/update-mock-numbers.md +0 -3
  621. package/docs/examples/projects/update-o-auth2.md +0 -6
  622. package/docs/examples/projects/update-personal-data-check.md +0 -3
  623. package/docs/examples/projects/update-platform.md +0 -7
  624. package/docs/examples/projects/update-service-status-all.md +0 -3
  625. package/docs/examples/projects/update-service-status.md +0 -4
  626. package/docs/examples/projects/update-session-alerts.md +0 -3
  627. package/docs/examples/projects/update-session-invalidation.md +0 -3
  628. package/docs/examples/projects/update-sms-template.md +0 -5
  629. package/docs/examples/projects/update-smtp.md +0 -11
  630. package/docs/examples/projects/update-team.md +0 -3
  631. package/docs/examples/projects/update-webhook-signature.md +0 -3
  632. package/docs/examples/projects/update-webhook.md +0 -10
  633. package/docs/examples/projects/update.md +0 -12
  634. package/docs/examples/proxy/create-a-p-i-rule.md +0 -2
  635. package/docs/examples/proxy/create-function-rule.md +0 -4
  636. package/docs/examples/proxy/create-redirect-rule.md +0 -6
  637. package/docs/examples/proxy/create-site-rule.md +0 -4
  638. package/docs/examples/proxy/delete-rule.md +0 -2
  639. package/docs/examples/proxy/get-rule.md +0 -2
  640. package/docs/examples/proxy/list-rules.md +0 -3
  641. package/docs/examples/proxy/update-rule-verification.md +0 -2
  642. package/docs/examples/sites/create-deployment.md +0 -7
  643. package/docs/examples/sites/create-duplicate-deployment.md +0 -3
  644. package/docs/examples/sites/create-template-deployment.md +0 -7
  645. package/docs/examples/sites/create-variable.md +0 -5
  646. package/docs/examples/sites/create-vcs-deployment.md +0 -5
  647. package/docs/examples/sites/create.md +0 -19
  648. package/docs/examples/sites/delete-deployment.md +0 -3
  649. package/docs/examples/sites/delete-log.md +0 -3
  650. package/docs/examples/sites/delete-variable.md +0 -3
  651. package/docs/examples/sites/delete.md +0 -2
  652. package/docs/examples/sites/get-deployment-download.md +0 -4
  653. package/docs/examples/sites/get-deployment.md +0 -3
  654. package/docs/examples/sites/get-log.md +0 -3
  655. package/docs/examples/sites/get-template.md +0 -2
  656. package/docs/examples/sites/get-usage.md +0 -3
  657. package/docs/examples/sites/get-variable.md +0 -3
  658. package/docs/examples/sites/get.md +0 -2
  659. package/docs/examples/sites/list-deployments.md +0 -4
  660. package/docs/examples/sites/list-frameworks.md +0 -1
  661. package/docs/examples/sites/list-logs.md +0 -3
  662. package/docs/examples/sites/list-specifications.md +0 -1
  663. package/docs/examples/sites/list-templates.md +0 -5
  664. package/docs/examples/sites/list-usage.md +0 -2
  665. package/docs/examples/sites/list-variables.md +0 -2
  666. package/docs/examples/sites/list.md +0 -3
  667. package/docs/examples/sites/update-deployment-status.md +0 -3
  668. package/docs/examples/sites/update-site-deployment.md +0 -3
  669. package/docs/examples/sites/update-variable.md +0 -6
  670. package/docs/examples/sites/update.md +0 -19
  671. package/docs/examples/storage/create-bucket.md +0 -11
  672. package/docs/examples/storage/create-file.md +0 -5
  673. package/docs/examples/storage/delete-bucket.md +0 -2
  674. package/docs/examples/storage/delete-file.md +0 -3
  675. package/docs/examples/storage/get-bucket-usage.md +0 -3
  676. package/docs/examples/storage/get-bucket.md +0 -2
  677. package/docs/examples/storage/get-file-download.md +0 -4
  678. package/docs/examples/storage/get-file-preview.md +0 -15
  679. package/docs/examples/storage/get-file-view.md +0 -4
  680. package/docs/examples/storage/get-file.md +0 -3
  681. package/docs/examples/storage/get-usage.md +0 -2
  682. package/docs/examples/storage/list-buckets.md +0 -3
  683. package/docs/examples/storage/list-files.md +0 -4
  684. package/docs/examples/storage/update-bucket.md +0 -11
  685. package/docs/examples/storage/update-file.md +0 -5
  686. package/docs/examples/tables/create-boolean-column.md +0 -7
  687. package/docs/examples/tables/create-datetime-column.md +0 -7
  688. package/docs/examples/tables/create-email-column.md +0 -7
  689. package/docs/examples/tables/create-enum-column.md +0 -8
  690. package/docs/examples/tables/create-float-column.md +0 -9
  691. package/docs/examples/tables/create-index.md +0 -8
  692. package/docs/examples/tables/create-integer-column.md +0 -9
  693. package/docs/examples/tables/create-ip-column.md +0 -7
  694. package/docs/examples/tables/create-relationship-column.md +0 -9
  695. package/docs/examples/tables/create-row.md +0 -6
  696. package/docs/examples/tables/create-rows.md +0 -4
  697. package/docs/examples/tables/create-string-column.md +0 -9
  698. package/docs/examples/tables/create-url-column.md +0 -7
  699. package/docs/examples/tables/create.md +0 -7
  700. package/docs/examples/tables/decrement-row-column.md +0 -7
  701. package/docs/examples/tables/delete-column.md +0 -4
  702. package/docs/examples/tables/delete-index.md +0 -4
  703. package/docs/examples/tables/delete-row.md +0 -4
  704. package/docs/examples/tables/delete-rows.md +0 -4
  705. package/docs/examples/tables/delete.md +0 -3
  706. package/docs/examples/tables/get-column.md +0 -4
  707. package/docs/examples/tables/get-index.md +0 -4
  708. package/docs/examples/tables/get-row.md +0 -5
  709. package/docs/examples/tables/get-usage.md +0 -4
  710. package/docs/examples/tables/get.md +0 -3
  711. package/docs/examples/tables/increment-row-column.md +0 -7
  712. package/docs/examples/tables/list-columns.md +0 -4
  713. package/docs/examples/tables/list-indexes.md +0 -4
  714. package/docs/examples/tables/list-logs.md +0 -4
  715. package/docs/examples/tables/list-row-logs.md +0 -5
  716. package/docs/examples/tables/list-rows.md +0 -4
  717. package/docs/examples/tables/list.md +0 -4
  718. package/docs/examples/tables/update-boolean-column.md +0 -7
  719. package/docs/examples/tables/update-datetime-column.md +0 -7
  720. package/docs/examples/tables/update-email-column.md +0 -7
  721. package/docs/examples/tables/update-enum-column.md +0 -8
  722. package/docs/examples/tables/update-float-column.md +0 -9
  723. package/docs/examples/tables/update-integer-column.md +0 -9
  724. package/docs/examples/tables/update-ip-column.md +0 -7
  725. package/docs/examples/tables/update-relationship-column.md +0 -6
  726. package/docs/examples/tables/update-row.md +0 -6
  727. package/docs/examples/tables/update-rows.md +0 -5
  728. package/docs/examples/tables/update-string-column.md +0 -8
  729. package/docs/examples/tables/update-url-column.md +0 -7
  730. package/docs/examples/tables/update.md +0 -7
  731. package/docs/examples/tables/upsert-row.md +0 -4
  732. package/docs/examples/tables/upsert-rows.md +0 -3
  733. package/docs/examples/teams/create-membership.md +0 -8
  734. package/docs/examples/teams/create.md +0 -4
  735. package/docs/examples/teams/delete-membership.md +0 -3
  736. package/docs/examples/teams/delete.md +0 -2
  737. package/docs/examples/teams/get-membership.md +0 -3
  738. package/docs/examples/teams/get-prefs.md +0 -2
  739. package/docs/examples/teams/get.md +0 -2
  740. package/docs/examples/teams/list-logs.md +0 -3
  741. package/docs/examples/teams/list-memberships.md +0 -4
  742. package/docs/examples/teams/list.md +0 -3
  743. package/docs/examples/teams/update-membership-status.md +0 -5
  744. package/docs/examples/teams/update-membership.md +0 -4
  745. package/docs/examples/teams/update-name.md +0 -3
  746. package/docs/examples/teams/update-prefs.md +0 -3
  747. package/docs/examples/tokens/create-file-token.md +0 -4
  748. package/docs/examples/tokens/delete.md +0 -2
  749. package/docs/examples/tokens/get.md +0 -2
  750. package/docs/examples/tokens/list.md +0 -4
  751. package/docs/examples/tokens/update.md +0 -3
  752. package/docs/examples/users/create-argon2user.md +0 -5
  753. package/docs/examples/users/create-bcrypt-user.md +0 -5
  754. package/docs/examples/users/create-j-w-t.md +0 -4
  755. package/docs/examples/users/create-m-d5user.md +0 -5
  756. package/docs/examples/users/create-mfa-recovery-codes.md +0 -2
  757. package/docs/examples/users/create-p-h-pass-user.md +0 -5
  758. package/docs/examples/users/create-s-h-a-user.md +0 -6
  759. package/docs/examples/users/create-scrypt-modified-user.md +0 -8
  760. package/docs/examples/users/create-scrypt-user.md +0 -10
  761. package/docs/examples/users/create-session.md +0 -2
  762. package/docs/examples/users/create-target.md +0 -7
  763. package/docs/examples/users/create-token.md +0 -4
  764. package/docs/examples/users/create.md +0 -6
  765. package/docs/examples/users/delete-identity.md +0 -2
  766. package/docs/examples/users/delete-mfa-authenticator.md +0 -3
  767. package/docs/examples/users/delete-session.md +0 -3
  768. package/docs/examples/users/delete-sessions.md +0 -2
  769. package/docs/examples/users/delete-target.md +0 -3
  770. package/docs/examples/users/delete.md +0 -2
  771. package/docs/examples/users/get-mfa-recovery-codes.md +0 -2
  772. package/docs/examples/users/get-prefs.md +0 -2
  773. package/docs/examples/users/get-target.md +0 -3
  774. package/docs/examples/users/get-usage.md +0 -2
  775. package/docs/examples/users/get.md +0 -2
  776. package/docs/examples/users/list-identities.md +0 -3
  777. package/docs/examples/users/list-logs.md +0 -3
  778. package/docs/examples/users/list-memberships.md +0 -4
  779. package/docs/examples/users/list-mfa-factors.md +0 -2
  780. package/docs/examples/users/list-sessions.md +0 -2
  781. package/docs/examples/users/list-targets.md +0 -3
  782. package/docs/examples/users/list.md +0 -3
  783. package/docs/examples/users/update-email-verification.md +0 -3
  784. package/docs/examples/users/update-email.md +0 -3
  785. package/docs/examples/users/update-labels.md +0 -3
  786. package/docs/examples/users/update-mfa-recovery-codes.md +0 -2
  787. package/docs/examples/users/update-mfa.md +0 -3
  788. package/docs/examples/users/update-name.md +0 -3
  789. package/docs/examples/users/update-password.md +0 -3
  790. package/docs/examples/users/update-phone-verification.md +0 -3
  791. package/docs/examples/users/update-phone.md +0 -3
  792. package/docs/examples/users/update-prefs.md +0 -3
  793. package/docs/examples/users/update-status.md +0 -3
  794. package/docs/examples/users/update-target.md +0 -6
  795. package/docs/examples/vcs/create-repository-detection.md +0 -5
  796. package/docs/examples/vcs/create-repository.md +0 -4
  797. package/docs/examples/vcs/delete-installation.md +0 -2
  798. package/docs/examples/vcs/get-installation.md +0 -2
  799. package/docs/examples/vcs/get-repository-contents.md +0 -5
  800. package/docs/examples/vcs/get-repository.md +0 -3
  801. package/docs/examples/vcs/list-installations.md +0 -3
  802. package/docs/examples/vcs/list-repositories.md +0 -4
  803. package/docs/examples/vcs/list-repository-branches.md +0 -3
  804. package/docs/examples/vcs/update-external-deployments.md +0 -4
  805. package/functions/Starter function/.prettierrc.json +0 -6
  806. package/functions/Starter function/README.md +0 -48
  807. package/functions/Starter function/package-lock.json +0 -60
  808. package/functions/Starter function/package.json +0 -16
  809. package/functions/Starter function/src/main.js +0 -35
  810. package/generate/appwrite.d.ts +0 -55
  811. package/generate/appwrite.db.ts +0 -75
  812. package/index.js +0 -109
  813. package/lib/client-generation/languages/typescript.js +0 -65
  814. package/lib/client.js +0 -259
  815. package/lib/commands/account.js +0 -2074
  816. package/lib/commands/avatars.js +0 -491
  817. package/lib/commands/console.js +0 -129
  818. package/lib/commands/databases.js +0 -2972
  819. package/lib/commands/functions.js +0 -1737
  820. package/lib/commands/generic.js +0 -328
  821. package/lib/commands/graphql.js +0 -128
  822. package/lib/commands/health.js +0 -891
  823. package/lib/commands/init.js +0 -566
  824. package/lib/commands/locale.js +0 -324
  825. package/lib/commands/messaging.js +0 -2970
  826. package/lib/commands/migrations.js +0 -751
  827. package/lib/commands/organizations.js +0 -48
  828. package/lib/commands/project.js +0 -308
  829. package/lib/commands/projects.js +0 -2615
  830. package/lib/commands/proxy.js +0 -406
  831. package/lib/commands/pull.js +0 -474
  832. package/lib/commands/push.js +0 -2117
  833. package/lib/commands/run.js +0 -330
  834. package/lib/commands/sites.js +0 -1663
  835. package/lib/commands/storage.js +0 -990
  836. package/lib/commands/tables.js +0 -2607
  837. package/lib/commands/teams.js +0 -682
  838. package/lib/commands/tokens.js +0 -261
  839. package/lib/commands/types.js +0 -191
  840. package/lib/commands/users.js +0 -2035
  841. package/lib/commands/vcs.js +0 -484
  842. package/lib/config.js +0 -717
  843. package/lib/emulation/docker.js +0 -264
  844. package/lib/emulation/utils.js +0 -186
  845. package/lib/exception.js +0 -9
  846. package/lib/id.js +0 -30
  847. package/lib/paginate.js +0 -52
  848. package/lib/parser.js +0 -246
  849. package/lib/questions.js +0 -1006
  850. package/lib/sdks.js +0 -60
  851. package/lib/spinner.js +0 -104
  852. package/lib/type-generation/attribute.js +0 -16
  853. package/lib/type-generation/languages/dart.js +0 -196
  854. package/lib/type-generation/languages/java.js +0 -130
  855. package/lib/type-generation/languages/javascript.js +0 -102
  856. package/lib/type-generation/languages/kotlin.js +0 -85
  857. package/lib/type-generation/languages/language.js +0 -125
  858. package/lib/type-generation/languages/php.js +0 -110
  859. package/lib/type-generation/languages/swift.js +0 -169
  860. package/lib/type-generation/languages/typescript.js +0 -105
  861. package/lib/utils.js +0 -289
  862. package/lib/validations.js +0 -17
  863. package/scoop/appwrite.json +0 -30
  864. package/sites/JavaScript starter2/.env.example +0 -3
  865. package/sites/JavaScript starter2/LICENSE +0 -21
  866. package/sites/JavaScript starter2/images/appwrite.svg +0 -8
  867. package/sites/JavaScript starter2/images/javascript.svg +0 -5
  868. package/sites/JavaScript starter2/index.html +0 -250
  869. package/sites/JavaScript starter2/lib/appwrite.js +0 -10
  870. package/sites/JavaScript starter2/package-lock.json +0 -1431
  871. package/sites/JavaScript starter2/package.json +0 -21
  872. package/sites/JavaScript starter2/readme.md +0 -26
  873. package/sites/JavaScript starter2/src/javascript.svg +0 -1
  874. package/sites/JavaScript starter2/style/app.css +0 -20
  875. package/sites/JavaScript starter2/vite.config.js +0 -7
@@ -0,0 +1,1871 @@
1
+ import { Command } from "commander";
2
+ import { sdkForProject } from "../../sdks.js";
3
+ import {
4
+ actionRunner,
5
+ commandDescriptions,
6
+ parseBool,
7
+ parseInteger,
8
+ } from "../../parser.js";
9
+ import {
10
+ Messaging,
11
+ MessagePriority,
12
+ SmtpEncryption,
13
+ } from "@appwrite.io/console";
14
+
15
+ let messagingClient: Messaging | null = null;
16
+
17
+ const getMessagingClient = async (): Promise<Messaging> => {
18
+ if (!messagingClient) {
19
+ const sdkClient = await sdkForProject();
20
+ messagingClient = new Messaging(sdkClient);
21
+ }
22
+ return messagingClient;
23
+ };
24
+
25
+ export const messaging = new Command("messaging")
26
+ .description(commandDescriptions["messaging"] ?? "")
27
+ .configureHelp({
28
+ helpWidth: process.stdout.columns || 80,
29
+ });
30
+
31
+ messaging
32
+ .command(`list-messages`)
33
+ .description(`Get a list of all messages from the current Appwrite project.`)
34
+ .option(
35
+ `--queries [queries...]`,
36
+ `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: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType`,
37
+ )
38
+ .option(
39
+ `--search <search>`,
40
+ `Search term to filter your list results. Max length: 256 chars.`,
41
+ )
42
+ .option(
43
+ `--total [value]`,
44
+ `When set to false, the total count returned will be 0 and will not be calculated.`,
45
+ (value: string | undefined) =>
46
+ value === undefined ? true : parseBool(value),
47
+ )
48
+ .action(
49
+ actionRunner(
50
+ async ({ queries, search, total }) =>
51
+ await (await getMessagingClient()).listMessages(queries, search, total),
52
+ ),
53
+ );
54
+
55
+ messaging
56
+ .command(`create-email`)
57
+ .description(`Create a new email message.`)
58
+ .requiredOption(
59
+ `--message-id <message-id>`,
60
+ `Message 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.`,
61
+ )
62
+ .requiredOption(`--subject <subject>`, `Email Subject.`)
63
+ .requiredOption(`--content <content>`, `Email Content.`)
64
+ .option(`--topics [topics...]`, `List of Topic IDs.`)
65
+ .option(`--users [users...]`, `List of User IDs.`)
66
+ .option(`--targets [targets...]`, `List of Targets IDs.`)
67
+ .option(`--cc [cc...]`, `Array of target IDs to be added as CC.`)
68
+ .option(`--bcc [bcc...]`, `Array of target IDs to be added as BCC.`)
69
+ .option(
70
+ `--attachments [attachments...]`,
71
+ `Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.`,
72
+ )
73
+ .option(
74
+ `--draft [value]`,
75
+ `Is message a draft`,
76
+ (value: string | undefined) =>
77
+ value === undefined ? true : parseBool(value),
78
+ )
79
+ .option(
80
+ `--html [value]`,
81
+ `Is content of type HTML`,
82
+ (value: string | undefined) =>
83
+ value === undefined ? true : parseBool(value),
84
+ )
85
+ .option(
86
+ `--scheduled-at <scheduled-at>`,
87
+ `Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.`,
88
+ )
89
+ .action(
90
+ actionRunner(
91
+ async ({
92
+ messageId,
93
+ subject,
94
+ content,
95
+ topics,
96
+ users,
97
+ targets,
98
+ cc,
99
+ bcc,
100
+ attachments,
101
+ draft,
102
+ html,
103
+ scheduledAt,
104
+ }) =>
105
+ await (
106
+ await getMessagingClient()
107
+ ).createEmail(
108
+ messageId,
109
+ subject,
110
+ content,
111
+ topics,
112
+ users,
113
+ targets,
114
+ cc,
115
+ bcc,
116
+ attachments,
117
+ draft,
118
+ html,
119
+ scheduledAt,
120
+ ),
121
+ ),
122
+ );
123
+
124
+ messaging
125
+ .command(`update-email`)
126
+ .description(
127
+ `Update an email message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
128
+ `,
129
+ )
130
+ .requiredOption(`--message-id <message-id>`, `Message ID.`)
131
+ .option(`--topics [topics...]`, `List of Topic IDs.`)
132
+ .option(`--users [users...]`, `List of User IDs.`)
133
+ .option(`--targets [targets...]`, `List of Targets IDs.`)
134
+ .option(`--subject <subject>`, `Email Subject.`)
135
+ .option(`--content <content>`, `Email Content.`)
136
+ .option(
137
+ `--draft [value]`,
138
+ `Is message a draft`,
139
+ (value: string | undefined) =>
140
+ value === undefined ? true : parseBool(value),
141
+ )
142
+ .option(
143
+ `--html [value]`,
144
+ `Is content of type HTML`,
145
+ (value: string | undefined) =>
146
+ value === undefined ? true : parseBool(value),
147
+ )
148
+ .option(`--cc [cc...]`, `Array of target IDs to be added as CC.`)
149
+ .option(`--bcc [bcc...]`, `Array of target IDs to be added as BCC.`)
150
+ .option(
151
+ `--scheduled-at <scheduled-at>`,
152
+ `Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.`,
153
+ )
154
+ .option(
155
+ `--attachments [attachments...]`,
156
+ `Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.`,
157
+ )
158
+ .action(
159
+ actionRunner(
160
+ async ({
161
+ messageId,
162
+ topics,
163
+ users,
164
+ targets,
165
+ subject,
166
+ content,
167
+ draft,
168
+ html,
169
+ cc,
170
+ bcc,
171
+ scheduledAt,
172
+ attachments,
173
+ }) =>
174
+ await (
175
+ await getMessagingClient()
176
+ ).updateEmail(
177
+ messageId,
178
+ topics,
179
+ users,
180
+ targets,
181
+ subject,
182
+ content,
183
+ draft,
184
+ html,
185
+ cc,
186
+ bcc,
187
+ scheduledAt,
188
+ attachments,
189
+ ),
190
+ ),
191
+ );
192
+
193
+ messaging
194
+ .command(`create-push`)
195
+ .description(`Create a new push notification.`)
196
+ .requiredOption(
197
+ `--message-id <message-id>`,
198
+ `Message 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.`,
199
+ )
200
+ .option(`--title <title>`, `Title for push notification.`)
201
+ .option(`--body <body>`, `Body for push notification.`)
202
+ .option(`--topics [topics...]`, `List of Topic IDs.`)
203
+ .option(`--users [users...]`, `List of User IDs.`)
204
+ .option(`--targets [targets...]`, `List of Targets IDs.`)
205
+ .option(
206
+ `--data <data>`,
207
+ `Additional key-value pair data for push notification.`,
208
+ )
209
+ .option(`--action <action>`, `Action for push notification.`)
210
+ .option(
211
+ `--image <image>`,
212
+ `Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.`,
213
+ )
214
+ .option(
215
+ `--icon <icon>`,
216
+ `Icon for push notification. Available only for Android and Web Platform.`,
217
+ )
218
+ .option(
219
+ `--sound <sound>`,
220
+ `Sound for push notification. Available only for Android and iOS Platform.`,
221
+ )
222
+ .option(
223
+ `--color <color>`,
224
+ `Color for push notification. Available only for Android Platform.`,
225
+ )
226
+ .option(
227
+ `--tag <tag>`,
228
+ `Tag for push notification. Available only for Android Platform.`,
229
+ )
230
+ .option(
231
+ `--badge <badge>`,
232
+ `Badge for push notification. Available only for iOS Platform.`,
233
+ parseInteger,
234
+ )
235
+ .option(
236
+ `--draft [value]`,
237
+ `Is message a draft`,
238
+ (value: string | undefined) =>
239
+ value === undefined ? true : parseBool(value),
240
+ )
241
+ .option(
242
+ `--scheduled-at <scheduled-at>`,
243
+ `Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.`,
244
+ )
245
+ .option(
246
+ `--content-available [value]`,
247
+ `If set to true, the notification will be delivered in the background. Available only for iOS Platform.`,
248
+ (value: string | undefined) =>
249
+ value === undefined ? true : parseBool(value),
250
+ )
251
+ .option(
252
+ `--critical [value]`,
253
+ `If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.`,
254
+ (value: string | undefined) =>
255
+ value === undefined ? true : parseBool(value),
256
+ )
257
+ .option(
258
+ `--priority <priority>`,
259
+ `Set the notification priority. "normal" will consider device state and may not deliver notifications immediately. "high" will always attempt to immediately deliver the notification.`,
260
+ )
261
+ .action(
262
+ actionRunner(
263
+ async ({
264
+ messageId,
265
+ title,
266
+ body,
267
+ topics,
268
+ users,
269
+ targets,
270
+ data,
271
+ action,
272
+ image,
273
+ icon,
274
+ sound,
275
+ color,
276
+ tag,
277
+ badge,
278
+ draft,
279
+ scheduledAt,
280
+ contentAvailable,
281
+ critical,
282
+ priority,
283
+ }) =>
284
+ await (
285
+ await getMessagingClient()
286
+ ).createPush(
287
+ messageId,
288
+ title,
289
+ body,
290
+ topics,
291
+ users,
292
+ targets,
293
+ JSON.parse(data),
294
+ action,
295
+ image,
296
+ icon,
297
+ sound,
298
+ color,
299
+ tag,
300
+ badge,
301
+ draft,
302
+ scheduledAt,
303
+ contentAvailable,
304
+ critical,
305
+ priority as MessagePriority,
306
+ ),
307
+ ),
308
+ );
309
+
310
+ messaging
311
+ .command(`update-push`)
312
+ .description(
313
+ `Update a push notification by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
314
+ `,
315
+ )
316
+ .requiredOption(`--message-id <message-id>`, `Message ID.`)
317
+ .option(`--topics [topics...]`, `List of Topic IDs.`)
318
+ .option(`--users [users...]`, `List of User IDs.`)
319
+ .option(`--targets [targets...]`, `List of Targets IDs.`)
320
+ .option(`--title <title>`, `Title for push notification.`)
321
+ .option(`--body <body>`, `Body for push notification.`)
322
+ .option(`--data <data>`, `Additional Data for push notification.`)
323
+ .option(`--action <action>`, `Action for push notification.`)
324
+ .option(
325
+ `--image <image>`,
326
+ `Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.`,
327
+ )
328
+ .option(
329
+ `--icon <icon>`,
330
+ `Icon for push notification. Available only for Android and Web platforms.`,
331
+ )
332
+ .option(
333
+ `--sound <sound>`,
334
+ `Sound for push notification. Available only for Android and iOS platforms.`,
335
+ )
336
+ .option(
337
+ `--color <color>`,
338
+ `Color for push notification. Available only for Android platforms.`,
339
+ )
340
+ .option(
341
+ `--tag <tag>`,
342
+ `Tag for push notification. Available only for Android platforms.`,
343
+ )
344
+ .option(
345
+ `--badge <badge>`,
346
+ `Badge for push notification. Available only for iOS platforms.`,
347
+ parseInteger,
348
+ )
349
+ .option(
350
+ `--draft [value]`,
351
+ `Is message a draft`,
352
+ (value: string | undefined) =>
353
+ value === undefined ? true : parseBool(value),
354
+ )
355
+ .option(
356
+ `--scheduled-at <scheduled-at>`,
357
+ `Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.`,
358
+ )
359
+ .option(
360
+ `--content-available [value]`,
361
+ `If set to true, the notification will be delivered in the background. Available only for iOS Platform.`,
362
+ (value: string | undefined) =>
363
+ value === undefined ? true : parseBool(value),
364
+ )
365
+ .option(
366
+ `--critical [value]`,
367
+ `If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.`,
368
+ (value: string | undefined) =>
369
+ value === undefined ? true : parseBool(value),
370
+ )
371
+ .option(
372
+ `--priority <priority>`,
373
+ `Set the notification priority. "normal" will consider device battery state and may send notifications later. "high" will always attempt to immediately deliver the notification.`,
374
+ )
375
+ .action(
376
+ actionRunner(
377
+ async ({
378
+ messageId,
379
+ topics,
380
+ users,
381
+ targets,
382
+ title,
383
+ body,
384
+ data,
385
+ action,
386
+ image,
387
+ icon,
388
+ sound,
389
+ color,
390
+ tag,
391
+ badge,
392
+ draft,
393
+ scheduledAt,
394
+ contentAvailable,
395
+ critical,
396
+ priority,
397
+ }) =>
398
+ await (
399
+ await getMessagingClient()
400
+ ).updatePush(
401
+ messageId,
402
+ topics,
403
+ users,
404
+ targets,
405
+ title,
406
+ body,
407
+ JSON.parse(data),
408
+ action,
409
+ image,
410
+ icon,
411
+ sound,
412
+ color,
413
+ tag,
414
+ badge,
415
+ draft,
416
+ scheduledAt,
417
+ contentAvailable,
418
+ critical,
419
+ priority as MessagePriority,
420
+ ),
421
+ ),
422
+ );
423
+
424
+ messaging
425
+ .command(`create-sms`)
426
+ .description(
427
+ `[**DEPRECATED** - This command is deprecated. Please use 'messaging createSms' instead] Create a new SMS message.`,
428
+ )
429
+ .requiredOption(
430
+ `--message-id <message-id>`,
431
+ `Message 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.`,
432
+ )
433
+ .requiredOption(`--content <content>`, `SMS Content.`)
434
+ .option(`--topics [topics...]`, `List of Topic IDs.`)
435
+ .option(`--users [users...]`, `List of User IDs.`)
436
+ .option(`--targets [targets...]`, `List of Targets IDs.`)
437
+ .option(
438
+ `--draft [value]`,
439
+ `Is message a draft`,
440
+ (value: string | undefined) =>
441
+ value === undefined ? true : parseBool(value),
442
+ )
443
+ .option(
444
+ `--scheduled-at <scheduled-at>`,
445
+ `Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.`,
446
+ )
447
+ .action(
448
+ actionRunner(
449
+ async ({
450
+ messageId,
451
+ content,
452
+ topics,
453
+ users,
454
+ targets,
455
+ draft,
456
+ scheduledAt,
457
+ }) =>
458
+ await (
459
+ await getMessagingClient()
460
+ ).createSms(
461
+ messageId,
462
+ content,
463
+ topics,
464
+ users,
465
+ targets,
466
+ draft,
467
+ scheduledAt,
468
+ ),
469
+ ),
470
+ );
471
+
472
+ messaging
473
+ .command(`update-sms`)
474
+ .description(
475
+ `[**DEPRECATED** - This command is deprecated. Please use 'messaging updateSms' instead] Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
476
+ `,
477
+ )
478
+ .requiredOption(`--message-id <message-id>`, `Message ID.`)
479
+ .option(`--topics [topics...]`, `List of Topic IDs.`)
480
+ .option(`--users [users...]`, `List of User IDs.`)
481
+ .option(`--targets [targets...]`, `List of Targets IDs.`)
482
+ .option(`--content <content>`, `Email Content.`)
483
+ .option(
484
+ `--draft [value]`,
485
+ `Is message a draft`,
486
+ (value: string | undefined) =>
487
+ value === undefined ? true : parseBool(value),
488
+ )
489
+ .option(
490
+ `--scheduled-at <scheduled-at>`,
491
+ `Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.`,
492
+ )
493
+ .action(
494
+ actionRunner(
495
+ async ({
496
+ messageId,
497
+ topics,
498
+ users,
499
+ targets,
500
+ content,
501
+ draft,
502
+ scheduledAt,
503
+ }) =>
504
+ await (
505
+ await getMessagingClient()
506
+ ).updateSms(
507
+ messageId,
508
+ topics,
509
+ users,
510
+ targets,
511
+ content,
512
+ draft,
513
+ scheduledAt,
514
+ ),
515
+ ),
516
+ );
517
+
518
+ messaging
519
+ .command(`get-message`)
520
+ .description(
521
+ `Get a message by its unique ID.
522
+ `,
523
+ )
524
+ .requiredOption(`--message-id <message-id>`, `Message ID.`)
525
+ .action(
526
+ actionRunner(
527
+ async ({ messageId }) =>
528
+ await (await getMessagingClient()).getMessage(messageId),
529
+ ),
530
+ );
531
+
532
+ messaging
533
+ .command(`delete`)
534
+ .description(
535
+ `Delete a message. If the message is not a draft or scheduled, but has been sent, this will not recall the message.`,
536
+ )
537
+ .requiredOption(`--message-id <message-id>`, `Message ID.`)
538
+ .action(
539
+ actionRunner(
540
+ async ({ messageId }) =>
541
+ await (await getMessagingClient()).delete(messageId),
542
+ ),
543
+ );
544
+
545
+ messaging
546
+ .command(`list-message-logs`)
547
+ .description(`Get the message activity logs listed by its unique ID.`)
548
+ .requiredOption(`--message-id <message-id>`, `Message ID.`)
549
+ .option(
550
+ `--queries [queries...]`,
551
+ `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset`,
552
+ )
553
+ .option(
554
+ `--total [value]`,
555
+ `When set to false, the total count returned will be 0 and will not be calculated.`,
556
+ (value: string | undefined) =>
557
+ value === undefined ? true : parseBool(value),
558
+ )
559
+ .action(
560
+ actionRunner(
561
+ async ({ messageId, queries, total }) =>
562
+ await (
563
+ await getMessagingClient()
564
+ ).listMessageLogs(messageId, queries, total),
565
+ ),
566
+ );
567
+
568
+ messaging
569
+ .command(`list-targets`)
570
+ .description(`Get a list of the targets associated with a message.`)
571
+ .requiredOption(`--message-id <message-id>`, `Message ID.`)
572
+ .option(
573
+ `--queries [queries...]`,
574
+ `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: userId, providerId, identifier, providerType`,
575
+ )
576
+ .option(
577
+ `--total [value]`,
578
+ `When set to false, the total count returned will be 0 and will not be calculated.`,
579
+ (value: string | undefined) =>
580
+ value === undefined ? true : parseBool(value),
581
+ )
582
+ .action(
583
+ actionRunner(
584
+ async ({ messageId, queries, total }) =>
585
+ await (
586
+ await getMessagingClient()
587
+ ).listTargets(messageId, queries, total),
588
+ ),
589
+ );
590
+
591
+ messaging
592
+ .command(`list-providers`)
593
+ .description(`Get a list of all providers from the current Appwrite project.`)
594
+ .option(
595
+ `--queries [queries...]`,
596
+ `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, provider, type, enabled`,
597
+ )
598
+ .option(
599
+ `--search <search>`,
600
+ `Search term to filter your list results. Max length: 256 chars.`,
601
+ )
602
+ .option(
603
+ `--total [value]`,
604
+ `When set to false, the total count returned will be 0 and will not be calculated.`,
605
+ (value: string | undefined) =>
606
+ value === undefined ? true : parseBool(value),
607
+ )
608
+ .action(
609
+ actionRunner(
610
+ async ({ queries, search, total }) =>
611
+ await (
612
+ await getMessagingClient()
613
+ ).listProviders(queries, search, total),
614
+ ),
615
+ );
616
+
617
+ messaging
618
+ .command(`create-apns-provider`)
619
+ .description(
620
+ `[**DEPRECATED** - This command is deprecated. Please use 'messaging createApnsProvider' instead] Create a new Apple Push Notification service provider.`,
621
+ )
622
+ .requiredOption(
623
+ `--provider-id <provider-id>`,
624
+ `Provider 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.`,
625
+ )
626
+ .requiredOption(`--name <name>`, `Provider name.`)
627
+ .option(`--auth-key <auth-key>`, `APNS authentication key.`)
628
+ .option(`--auth-key-id <auth-key-id>`, `APNS authentication key ID.`)
629
+ .option(`--team-id <team-id>`, `APNS team ID.`)
630
+ .option(`--bundle-id <bundle-id>`, `APNS bundle ID.`)
631
+ .option(
632
+ `--sandbox [value]`,
633
+ `Use APNS sandbox environment.`,
634
+ (value: string | undefined) =>
635
+ value === undefined ? true : parseBool(value),
636
+ )
637
+ .option(
638
+ `--enabled [value]`,
639
+ `Set as enabled.`,
640
+ (value: string | undefined) =>
641
+ value === undefined ? true : parseBool(value),
642
+ )
643
+ .action(
644
+ actionRunner(
645
+ async ({
646
+ providerId,
647
+ name,
648
+ authKey,
649
+ authKeyId,
650
+ teamId,
651
+ bundleId,
652
+ sandbox,
653
+ enabled,
654
+ }) =>
655
+ await (
656
+ await getMessagingClient()
657
+ ).createApnsProvider(
658
+ providerId,
659
+ name,
660
+ authKey,
661
+ authKeyId,
662
+ teamId,
663
+ bundleId,
664
+ sandbox,
665
+ enabled,
666
+ ),
667
+ ),
668
+ );
669
+
670
+ messaging
671
+ .command(`update-apns-provider`)
672
+ .description(
673
+ `[**DEPRECATED** - This command is deprecated. Please use 'messaging updateApnsProvider' instead] Update a Apple Push Notification service provider by its unique ID.`,
674
+ )
675
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
676
+ .option(`--name <name>`, `Provider name.`)
677
+ .option(
678
+ `--enabled [value]`,
679
+ `Set as enabled.`,
680
+ (value: string | undefined) =>
681
+ value === undefined ? true : parseBool(value),
682
+ )
683
+ .option(`--auth-key <auth-key>`, `APNS authentication key.`)
684
+ .option(`--auth-key-id <auth-key-id>`, `APNS authentication key ID.`)
685
+ .option(`--team-id <team-id>`, `APNS team ID.`)
686
+ .option(`--bundle-id <bundle-id>`, `APNS bundle ID.`)
687
+ .option(
688
+ `--sandbox [value]`,
689
+ `Use APNS sandbox environment.`,
690
+ (value: string | undefined) =>
691
+ value === undefined ? true : parseBool(value),
692
+ )
693
+ .action(
694
+ actionRunner(
695
+ async ({
696
+ providerId,
697
+ name,
698
+ enabled,
699
+ authKey,
700
+ authKeyId,
701
+ teamId,
702
+ bundleId,
703
+ sandbox,
704
+ }) =>
705
+ await (
706
+ await getMessagingClient()
707
+ ).updateApnsProvider(
708
+ providerId,
709
+ name,
710
+ enabled,
711
+ authKey,
712
+ authKeyId,
713
+ teamId,
714
+ bundleId,
715
+ sandbox,
716
+ ),
717
+ ),
718
+ );
719
+
720
+ messaging
721
+ .command(`create-fcm-provider`)
722
+ .description(
723
+ `[**DEPRECATED** - This command is deprecated. Please use 'messaging createFcmProvider' instead] Create a new Firebase Cloud Messaging provider.`,
724
+ )
725
+ .requiredOption(
726
+ `--provider-id <provider-id>`,
727
+ `Provider 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.`,
728
+ )
729
+ .requiredOption(`--name <name>`, `Provider name.`)
730
+ .option(
731
+ `--service-account-json <service-account-json>`,
732
+ `FCM service account JSON.`,
733
+ )
734
+ .option(
735
+ `--enabled [value]`,
736
+ `Set as enabled.`,
737
+ (value: string | undefined) =>
738
+ value === undefined ? true : parseBool(value),
739
+ )
740
+ .action(
741
+ actionRunner(
742
+ async ({ providerId, name, serviceAccountJSON, enabled }) =>
743
+ await (
744
+ await getMessagingClient()
745
+ ).createFcmProvider(
746
+ providerId,
747
+ name,
748
+ JSON.parse(serviceAccountJSON),
749
+ enabled,
750
+ ),
751
+ ),
752
+ );
753
+
754
+ messaging
755
+ .command(`update-fcm-provider`)
756
+ .description(
757
+ `[**DEPRECATED** - This command is deprecated. Please use 'messaging updateFcmProvider' instead] Update a Firebase Cloud Messaging provider by its unique ID.`,
758
+ )
759
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
760
+ .option(`--name <name>`, `Provider name.`)
761
+ .option(
762
+ `--enabled [value]`,
763
+ `Set as enabled.`,
764
+ (value: string | undefined) =>
765
+ value === undefined ? true : parseBool(value),
766
+ )
767
+ .option(
768
+ `--service-account-json <service-account-json>`,
769
+ `FCM service account JSON.`,
770
+ )
771
+ .action(
772
+ actionRunner(
773
+ async ({ providerId, name, enabled, serviceAccountJSON }) =>
774
+ await (
775
+ await getMessagingClient()
776
+ ).updateFcmProvider(
777
+ providerId,
778
+ name,
779
+ enabled,
780
+ JSON.parse(serviceAccountJSON),
781
+ ),
782
+ ),
783
+ );
784
+
785
+ messaging
786
+ .command(`create-mailgun-provider`)
787
+ .description(`Create a new Mailgun provider.`)
788
+ .requiredOption(
789
+ `--provider-id <provider-id>`,
790
+ `Provider 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.`,
791
+ )
792
+ .requiredOption(`--name <name>`, `Provider name.`)
793
+ .option(`--api-key <api-key>`, `Mailgun API Key.`)
794
+ .option(`--domain <domain>`, `Mailgun Domain.`)
795
+ .option(
796
+ `--is-eu-region [value]`,
797
+ `Set as EU region.`,
798
+ (value: string | undefined) =>
799
+ value === undefined ? true : parseBool(value),
800
+ )
801
+ .option(`--from-name <from-name>`, `Sender Name.`)
802
+ .option(`--from-email <from-email>`, `Sender email address.`)
803
+ .option(
804
+ `--reply-to-name <reply-to-name>`,
805
+ `Name set in the reply to field for the mail. Default value is sender name. Reply to name must have reply to email as well.`,
806
+ )
807
+ .option(
808
+ `--reply-to-email <reply-to-email>`,
809
+ `Email set in the reply to field for the mail. Default value is sender email. Reply to email must have reply to name as well.`,
810
+ )
811
+ .option(
812
+ `--enabled [value]`,
813
+ `Set as enabled.`,
814
+ (value: string | undefined) =>
815
+ value === undefined ? true : parseBool(value),
816
+ )
817
+ .action(
818
+ actionRunner(
819
+ async ({
820
+ providerId,
821
+ name,
822
+ apiKey,
823
+ domain,
824
+ isEuRegion,
825
+ fromName,
826
+ fromEmail,
827
+ replyToName,
828
+ replyToEmail,
829
+ enabled,
830
+ }) =>
831
+ await (
832
+ await getMessagingClient()
833
+ ).createMailgunProvider(
834
+ providerId,
835
+ name,
836
+ apiKey,
837
+ domain,
838
+ isEuRegion,
839
+ fromName,
840
+ fromEmail,
841
+ replyToName,
842
+ replyToEmail,
843
+ enabled,
844
+ ),
845
+ ),
846
+ );
847
+
848
+ messaging
849
+ .command(`update-mailgun-provider`)
850
+ .description(`Update a Mailgun provider by its unique ID.`)
851
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
852
+ .option(`--name <name>`, `Provider name.`)
853
+ .option(`--api-key <api-key>`, `Mailgun API Key.`)
854
+ .option(`--domain <domain>`, `Mailgun Domain.`)
855
+ .option(
856
+ `--is-eu-region [value]`,
857
+ `Set as EU region.`,
858
+ (value: string | undefined) =>
859
+ value === undefined ? true : parseBool(value),
860
+ )
861
+ .option(
862
+ `--enabled [value]`,
863
+ `Set as enabled.`,
864
+ (value: string | undefined) =>
865
+ value === undefined ? true : parseBool(value),
866
+ )
867
+ .option(`--from-name <from-name>`, `Sender Name.`)
868
+ .option(`--from-email <from-email>`, `Sender email address.`)
869
+ .option(
870
+ `--reply-to-name <reply-to-name>`,
871
+ `Name set in the reply to field for the mail. Default value is sender name.`,
872
+ )
873
+ .option(
874
+ `--reply-to-email <reply-to-email>`,
875
+ `Email set in the reply to field for the mail. Default value is sender email.`,
876
+ )
877
+ .action(
878
+ actionRunner(
879
+ async ({
880
+ providerId,
881
+ name,
882
+ apiKey,
883
+ domain,
884
+ isEuRegion,
885
+ enabled,
886
+ fromName,
887
+ fromEmail,
888
+ replyToName,
889
+ replyToEmail,
890
+ }) =>
891
+ await (
892
+ await getMessagingClient()
893
+ ).updateMailgunProvider(
894
+ providerId,
895
+ name,
896
+ apiKey,
897
+ domain,
898
+ isEuRegion,
899
+ enabled,
900
+ fromName,
901
+ fromEmail,
902
+ replyToName,
903
+ replyToEmail,
904
+ ),
905
+ ),
906
+ );
907
+
908
+ messaging
909
+ .command(`create-msg91-provider`)
910
+ .description(`Create a new MSG91 provider.`)
911
+ .requiredOption(
912
+ `--provider-id <provider-id>`,
913
+ `Provider 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.`,
914
+ )
915
+ .requiredOption(`--name <name>`, `Provider name.`)
916
+ .option(`--template-id <template-id>`, `Msg91 template ID`)
917
+ .option(`--sender-id <sender-id>`, `Msg91 sender ID.`)
918
+ .option(`--auth-key <auth-key>`, `Msg91 auth key.`)
919
+ .option(
920
+ `--enabled [value]`,
921
+ `Set as enabled.`,
922
+ (value: string | undefined) =>
923
+ value === undefined ? true : parseBool(value),
924
+ )
925
+ .action(
926
+ actionRunner(
927
+ async ({ providerId, name, templateId, senderId, authKey, enabled }) =>
928
+ await (
929
+ await getMessagingClient()
930
+ ).createMsg91Provider(
931
+ providerId,
932
+ name,
933
+ templateId,
934
+ senderId,
935
+ authKey,
936
+ enabled,
937
+ ),
938
+ ),
939
+ );
940
+
941
+ messaging
942
+ .command(`update-msg91-provider`)
943
+ .description(`Update a MSG91 provider by its unique ID.`)
944
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
945
+ .option(`--name <name>`, `Provider name.`)
946
+ .option(
947
+ `--enabled [value]`,
948
+ `Set as enabled.`,
949
+ (value: string | undefined) =>
950
+ value === undefined ? true : parseBool(value),
951
+ )
952
+ .option(`--template-id <template-id>`, `Msg91 template ID.`)
953
+ .option(`--sender-id <sender-id>`, `Msg91 sender ID.`)
954
+ .option(`--auth-key <auth-key>`, `Msg91 auth key.`)
955
+ .action(
956
+ actionRunner(
957
+ async ({ providerId, name, enabled, templateId, senderId, authKey }) =>
958
+ await (
959
+ await getMessagingClient()
960
+ ).updateMsg91Provider(
961
+ providerId,
962
+ name,
963
+ enabled,
964
+ templateId,
965
+ senderId,
966
+ authKey,
967
+ ),
968
+ ),
969
+ );
970
+
971
+ messaging
972
+ .command(`create-resend-provider`)
973
+ .description(`Create a new Resend provider.`)
974
+ .requiredOption(
975
+ `--provider-id <provider-id>`,
976
+ `Provider 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.`,
977
+ )
978
+ .requiredOption(`--name <name>`, `Provider name.`)
979
+ .option(`--api-key <api-key>`, `Resend API key.`)
980
+ .option(`--from-name <from-name>`, `Sender Name.`)
981
+ .option(`--from-email <from-email>`, `Sender email address.`)
982
+ .option(
983
+ `--reply-to-name <reply-to-name>`,
984
+ `Name set in the reply to field for the mail. Default value is sender name.`,
985
+ )
986
+ .option(
987
+ `--reply-to-email <reply-to-email>`,
988
+ `Email set in the reply to field for the mail. Default value is sender email.`,
989
+ )
990
+ .option(
991
+ `--enabled [value]`,
992
+ `Set as enabled.`,
993
+ (value: string | undefined) =>
994
+ value === undefined ? true : parseBool(value),
995
+ )
996
+ .action(
997
+ actionRunner(
998
+ async ({
999
+ providerId,
1000
+ name,
1001
+ apiKey,
1002
+ fromName,
1003
+ fromEmail,
1004
+ replyToName,
1005
+ replyToEmail,
1006
+ enabled,
1007
+ }) =>
1008
+ await (
1009
+ await getMessagingClient()
1010
+ ).createResendProvider(
1011
+ providerId,
1012
+ name,
1013
+ apiKey,
1014
+ fromName,
1015
+ fromEmail,
1016
+ replyToName,
1017
+ replyToEmail,
1018
+ enabled,
1019
+ ),
1020
+ ),
1021
+ );
1022
+
1023
+ messaging
1024
+ .command(`update-resend-provider`)
1025
+ .description(`Update a Resend provider by its unique ID.`)
1026
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
1027
+ .option(`--name <name>`, `Provider name.`)
1028
+ .option(
1029
+ `--enabled [value]`,
1030
+ `Set as enabled.`,
1031
+ (value: string | undefined) =>
1032
+ value === undefined ? true : parseBool(value),
1033
+ )
1034
+ .option(`--api-key <api-key>`, `Resend API key.`)
1035
+ .option(`--from-name <from-name>`, `Sender Name.`)
1036
+ .option(`--from-email <from-email>`, `Sender email address.`)
1037
+ .option(
1038
+ `--reply-to-name <reply-to-name>`,
1039
+ `Name set in the Reply To field for the mail. Default value is Sender Name.`,
1040
+ )
1041
+ .option(
1042
+ `--reply-to-email <reply-to-email>`,
1043
+ `Email set in the Reply To field for the mail. Default value is Sender Email.`,
1044
+ )
1045
+ .action(
1046
+ actionRunner(
1047
+ async ({
1048
+ providerId,
1049
+ name,
1050
+ enabled,
1051
+ apiKey,
1052
+ fromName,
1053
+ fromEmail,
1054
+ replyToName,
1055
+ replyToEmail,
1056
+ }) =>
1057
+ await (
1058
+ await getMessagingClient()
1059
+ ).updateResendProvider(
1060
+ providerId,
1061
+ name,
1062
+ enabled,
1063
+ apiKey,
1064
+ fromName,
1065
+ fromEmail,
1066
+ replyToName,
1067
+ replyToEmail,
1068
+ ),
1069
+ ),
1070
+ );
1071
+
1072
+ messaging
1073
+ .command(`create-sendgrid-provider`)
1074
+ .description(`Create a new Sendgrid provider.`)
1075
+ .requiredOption(
1076
+ `--provider-id <provider-id>`,
1077
+ `Provider 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.`,
1078
+ )
1079
+ .requiredOption(`--name <name>`, `Provider name.`)
1080
+ .option(`--api-key <api-key>`, `Sendgrid API key.`)
1081
+ .option(`--from-name <from-name>`, `Sender Name.`)
1082
+ .option(`--from-email <from-email>`, `Sender email address.`)
1083
+ .option(
1084
+ `--reply-to-name <reply-to-name>`,
1085
+ `Name set in the reply to field for the mail. Default value is sender name.`,
1086
+ )
1087
+ .option(
1088
+ `--reply-to-email <reply-to-email>`,
1089
+ `Email set in the reply to field for the mail. Default value is sender email.`,
1090
+ )
1091
+ .option(
1092
+ `--enabled [value]`,
1093
+ `Set as enabled.`,
1094
+ (value: string | undefined) =>
1095
+ value === undefined ? true : parseBool(value),
1096
+ )
1097
+ .action(
1098
+ actionRunner(
1099
+ async ({
1100
+ providerId,
1101
+ name,
1102
+ apiKey,
1103
+ fromName,
1104
+ fromEmail,
1105
+ replyToName,
1106
+ replyToEmail,
1107
+ enabled,
1108
+ }) =>
1109
+ await (
1110
+ await getMessagingClient()
1111
+ ).createSendgridProvider(
1112
+ providerId,
1113
+ name,
1114
+ apiKey,
1115
+ fromName,
1116
+ fromEmail,
1117
+ replyToName,
1118
+ replyToEmail,
1119
+ enabled,
1120
+ ),
1121
+ ),
1122
+ );
1123
+
1124
+ messaging
1125
+ .command(`update-sendgrid-provider`)
1126
+ .description(`Update a Sendgrid provider by its unique ID.`)
1127
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
1128
+ .option(`--name <name>`, `Provider name.`)
1129
+ .option(
1130
+ `--enabled [value]`,
1131
+ `Set as enabled.`,
1132
+ (value: string | undefined) =>
1133
+ value === undefined ? true : parseBool(value),
1134
+ )
1135
+ .option(`--api-key <api-key>`, `Sendgrid API key.`)
1136
+ .option(`--from-name <from-name>`, `Sender Name.`)
1137
+ .option(`--from-email <from-email>`, `Sender email address.`)
1138
+ .option(
1139
+ `--reply-to-name <reply-to-name>`,
1140
+ `Name set in the Reply To field for the mail. Default value is Sender Name.`,
1141
+ )
1142
+ .option(
1143
+ `--reply-to-email <reply-to-email>`,
1144
+ `Email set in the Reply To field for the mail. Default value is Sender Email.`,
1145
+ )
1146
+ .action(
1147
+ actionRunner(
1148
+ async ({
1149
+ providerId,
1150
+ name,
1151
+ enabled,
1152
+ apiKey,
1153
+ fromName,
1154
+ fromEmail,
1155
+ replyToName,
1156
+ replyToEmail,
1157
+ }) =>
1158
+ await (
1159
+ await getMessagingClient()
1160
+ ).updateSendgridProvider(
1161
+ providerId,
1162
+ name,
1163
+ enabled,
1164
+ apiKey,
1165
+ fromName,
1166
+ fromEmail,
1167
+ replyToName,
1168
+ replyToEmail,
1169
+ ),
1170
+ ),
1171
+ );
1172
+
1173
+ messaging
1174
+ .command(`create-smtp-provider`)
1175
+ .description(
1176
+ `[**DEPRECATED** - This command is deprecated. Please use 'messaging createSmtpProvider' instead] Create a new SMTP provider.`,
1177
+ )
1178
+ .requiredOption(
1179
+ `--provider-id <provider-id>`,
1180
+ `Provider 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.`,
1181
+ )
1182
+ .requiredOption(`--name <name>`, `Provider name.`)
1183
+ .requiredOption(
1184
+ `--host <host>`,
1185
+ `SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as \`smtp1.example.com:25;smtp2.example.com\`. You can also specify encryption type, for example: \`tls://smtp1.example.com:587;ssl://smtp2.example.com:465"\`. Hosts will be tried in order.`,
1186
+ )
1187
+ .option(`--port <port>`, `The default SMTP server port.`, parseInteger)
1188
+ .option(`--username <username>`, `Authentication username.`)
1189
+ .option(`--password <password>`, `Authentication password.`)
1190
+ .option(
1191
+ `--encryption <encryption>`,
1192
+ `Encryption type. Can be omitted, 'ssl', or 'tls'`,
1193
+ )
1194
+ .option(
1195
+ `--auto-tls [value]`,
1196
+ `Enable SMTP AutoTLS feature.`,
1197
+ (value: string | undefined) =>
1198
+ value === undefined ? true : parseBool(value),
1199
+ )
1200
+ .option(`--mailer <mailer>`, `The value to use for the X-Mailer header.`)
1201
+ .option(`--from-name <from-name>`, `Sender Name.`)
1202
+ .option(`--from-email <from-email>`, `Sender email address.`)
1203
+ .option(
1204
+ `--reply-to-name <reply-to-name>`,
1205
+ `Name set in the reply to field for the mail. Default value is sender name.`,
1206
+ )
1207
+ .option(
1208
+ `--reply-to-email <reply-to-email>`,
1209
+ `Email set in the reply to field for the mail. Default value is sender email.`,
1210
+ )
1211
+ .option(
1212
+ `--enabled [value]`,
1213
+ `Set as enabled.`,
1214
+ (value: string | undefined) =>
1215
+ value === undefined ? true : parseBool(value),
1216
+ )
1217
+ .action(
1218
+ actionRunner(
1219
+ async ({
1220
+ providerId,
1221
+ name,
1222
+ host,
1223
+ port,
1224
+ username,
1225
+ password,
1226
+ encryption,
1227
+ autoTLS,
1228
+ mailer,
1229
+ fromName,
1230
+ fromEmail,
1231
+ replyToName,
1232
+ replyToEmail,
1233
+ enabled,
1234
+ }) =>
1235
+ await (
1236
+ await getMessagingClient()
1237
+ ).createSmtpProvider(
1238
+ providerId,
1239
+ name,
1240
+ host,
1241
+ port,
1242
+ username,
1243
+ password,
1244
+ encryption as SmtpEncryption,
1245
+ autoTLS,
1246
+ mailer,
1247
+ fromName,
1248
+ fromEmail,
1249
+ replyToName,
1250
+ replyToEmail,
1251
+ enabled,
1252
+ ),
1253
+ ),
1254
+ );
1255
+
1256
+ messaging
1257
+ .command(`update-smtp-provider`)
1258
+ .description(
1259
+ `[**DEPRECATED** - This command is deprecated. Please use 'messaging updateSmtpProvider' instead] Update a SMTP provider by its unique ID.`,
1260
+ )
1261
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
1262
+ .option(`--name <name>`, `Provider name.`)
1263
+ .option(
1264
+ `--host <host>`,
1265
+ `SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as \`smtp1.example.com:25;smtp2.example.com\`. You can also specify encryption type, for example: \`tls://smtp1.example.com:587;ssl://smtp2.example.com:465"\`. Hosts will be tried in order.`,
1266
+ )
1267
+ .option(`--port <port>`, `SMTP port.`, parseInteger)
1268
+ .option(`--username <username>`, `Authentication username.`)
1269
+ .option(`--password <password>`, `Authentication password.`)
1270
+ .option(`--encryption <encryption>`, `Encryption type. Can be 'ssl' or 'tls'`)
1271
+ .option(
1272
+ `--auto-tls [value]`,
1273
+ `Enable SMTP AutoTLS feature.`,
1274
+ (value: string | undefined) =>
1275
+ value === undefined ? true : parseBool(value),
1276
+ )
1277
+ .option(`--mailer <mailer>`, `The value to use for the X-Mailer header.`)
1278
+ .option(`--from-name <from-name>`, `Sender Name.`)
1279
+ .option(`--from-email <from-email>`, `Sender email address.`)
1280
+ .option(
1281
+ `--reply-to-name <reply-to-name>`,
1282
+ `Name set in the Reply To field for the mail. Default value is Sender Name.`,
1283
+ )
1284
+ .option(
1285
+ `--reply-to-email <reply-to-email>`,
1286
+ `Email set in the Reply To field for the mail. Default value is Sender Email.`,
1287
+ )
1288
+ .option(
1289
+ `--enabled [value]`,
1290
+ `Set as enabled.`,
1291
+ (value: string | undefined) =>
1292
+ value === undefined ? true : parseBool(value),
1293
+ )
1294
+ .action(
1295
+ actionRunner(
1296
+ async ({
1297
+ providerId,
1298
+ name,
1299
+ host,
1300
+ port,
1301
+ username,
1302
+ password,
1303
+ encryption,
1304
+ autoTLS,
1305
+ mailer,
1306
+ fromName,
1307
+ fromEmail,
1308
+ replyToName,
1309
+ replyToEmail,
1310
+ enabled,
1311
+ }) =>
1312
+ await (
1313
+ await getMessagingClient()
1314
+ ).updateSmtpProvider(
1315
+ providerId,
1316
+ name,
1317
+ host,
1318
+ port,
1319
+ username,
1320
+ password,
1321
+ encryption as SmtpEncryption,
1322
+ autoTLS,
1323
+ mailer,
1324
+ fromName,
1325
+ fromEmail,
1326
+ replyToName,
1327
+ replyToEmail,
1328
+ enabled,
1329
+ ),
1330
+ ),
1331
+ );
1332
+
1333
+ messaging
1334
+ .command(`create-telesign-provider`)
1335
+ .description(`Create a new Telesign provider.`)
1336
+ .requiredOption(
1337
+ `--provider-id <provider-id>`,
1338
+ `Provider 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.`,
1339
+ )
1340
+ .requiredOption(`--name <name>`, `Provider name.`)
1341
+ .option(
1342
+ `--from <from>`,
1343
+ `Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.`,
1344
+ )
1345
+ .option(`--customer-id <customer-id>`, `Telesign customer ID.`)
1346
+ .option(`--api-key <api-key>`, `Telesign API key.`)
1347
+ .option(
1348
+ `--enabled [value]`,
1349
+ `Set as enabled.`,
1350
+ (value: string | undefined) =>
1351
+ value === undefined ? true : parseBool(value),
1352
+ )
1353
+ .action(
1354
+ actionRunner(
1355
+ async ({ providerId, name, from, customerId, apiKey, enabled }) =>
1356
+ await (
1357
+ await getMessagingClient()
1358
+ ).createTelesignProvider(
1359
+ providerId,
1360
+ name,
1361
+ from,
1362
+ customerId,
1363
+ apiKey,
1364
+ enabled,
1365
+ ),
1366
+ ),
1367
+ );
1368
+
1369
+ messaging
1370
+ .command(`update-telesign-provider`)
1371
+ .description(`Update a Telesign provider by its unique ID.`)
1372
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
1373
+ .option(`--name <name>`, `Provider name.`)
1374
+ .option(
1375
+ `--enabled [value]`,
1376
+ `Set as enabled.`,
1377
+ (value: string | undefined) =>
1378
+ value === undefined ? true : parseBool(value),
1379
+ )
1380
+ .option(`--customer-id <customer-id>`, `Telesign customer ID.`)
1381
+ .option(`--api-key <api-key>`, `Telesign API key.`)
1382
+ .option(`--from <from>`, `Sender number.`)
1383
+ .action(
1384
+ actionRunner(
1385
+ async ({ providerId, name, enabled, customerId, apiKey, from }) =>
1386
+ await (
1387
+ await getMessagingClient()
1388
+ ).updateTelesignProvider(
1389
+ providerId,
1390
+ name,
1391
+ enabled,
1392
+ customerId,
1393
+ apiKey,
1394
+ from,
1395
+ ),
1396
+ ),
1397
+ );
1398
+
1399
+ messaging
1400
+ .command(`create-textmagic-provider`)
1401
+ .description(`Create a new Textmagic provider.`)
1402
+ .requiredOption(
1403
+ `--provider-id <provider-id>`,
1404
+ `Provider 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.`,
1405
+ )
1406
+ .requiredOption(`--name <name>`, `Provider name.`)
1407
+ .option(
1408
+ `--from <from>`,
1409
+ `Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.`,
1410
+ )
1411
+ .option(`--username <username>`, `Textmagic username.`)
1412
+ .option(`--api-key <api-key>`, `Textmagic apiKey.`)
1413
+ .option(
1414
+ `--enabled [value]`,
1415
+ `Set as enabled.`,
1416
+ (value: string | undefined) =>
1417
+ value === undefined ? true : parseBool(value),
1418
+ )
1419
+ .action(
1420
+ actionRunner(
1421
+ async ({ providerId, name, from, username, apiKey, enabled }) =>
1422
+ await (
1423
+ await getMessagingClient()
1424
+ ).createTextmagicProvider(
1425
+ providerId,
1426
+ name,
1427
+ from,
1428
+ username,
1429
+ apiKey,
1430
+ enabled,
1431
+ ),
1432
+ ),
1433
+ );
1434
+
1435
+ messaging
1436
+ .command(`update-textmagic-provider`)
1437
+ .description(`Update a Textmagic provider by its unique ID.`)
1438
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
1439
+ .option(`--name <name>`, `Provider name.`)
1440
+ .option(
1441
+ `--enabled [value]`,
1442
+ `Set as enabled.`,
1443
+ (value: string | undefined) =>
1444
+ value === undefined ? true : parseBool(value),
1445
+ )
1446
+ .option(`--username <username>`, `Textmagic username.`)
1447
+ .option(`--api-key <api-key>`, `Textmagic apiKey.`)
1448
+ .option(`--from <from>`, `Sender number.`)
1449
+ .action(
1450
+ actionRunner(
1451
+ async ({ providerId, name, enabled, username, apiKey, from }) =>
1452
+ await (
1453
+ await getMessagingClient()
1454
+ ).updateTextmagicProvider(
1455
+ providerId,
1456
+ name,
1457
+ enabled,
1458
+ username,
1459
+ apiKey,
1460
+ from,
1461
+ ),
1462
+ ),
1463
+ );
1464
+
1465
+ messaging
1466
+ .command(`create-twilio-provider`)
1467
+ .description(`Create a new Twilio provider.`)
1468
+ .requiredOption(
1469
+ `--provider-id <provider-id>`,
1470
+ `Provider 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.`,
1471
+ )
1472
+ .requiredOption(`--name <name>`, `Provider name.`)
1473
+ .option(
1474
+ `--from <from>`,
1475
+ `Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.`,
1476
+ )
1477
+ .option(`--account-sid <account-sid>`, `Twilio account secret ID.`)
1478
+ .option(`--auth-token <auth-token>`, `Twilio authentication token.`)
1479
+ .option(
1480
+ `--enabled [value]`,
1481
+ `Set as enabled.`,
1482
+ (value: string | undefined) =>
1483
+ value === undefined ? true : parseBool(value),
1484
+ )
1485
+ .action(
1486
+ actionRunner(
1487
+ async ({ providerId, name, from, accountSid, authToken, enabled }) =>
1488
+ await (
1489
+ await getMessagingClient()
1490
+ ).createTwilioProvider(
1491
+ providerId,
1492
+ name,
1493
+ from,
1494
+ accountSid,
1495
+ authToken,
1496
+ enabled,
1497
+ ),
1498
+ ),
1499
+ );
1500
+
1501
+ messaging
1502
+ .command(`update-twilio-provider`)
1503
+ .description(`Update a Twilio provider by its unique ID.`)
1504
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
1505
+ .option(`--name <name>`, `Provider name.`)
1506
+ .option(
1507
+ `--enabled [value]`,
1508
+ `Set as enabled.`,
1509
+ (value: string | undefined) =>
1510
+ value === undefined ? true : parseBool(value),
1511
+ )
1512
+ .option(`--account-sid <account-sid>`, `Twilio account secret ID.`)
1513
+ .option(`--auth-token <auth-token>`, `Twilio authentication token.`)
1514
+ .option(`--from <from>`, `Sender number.`)
1515
+ .action(
1516
+ actionRunner(
1517
+ async ({ providerId, name, enabled, accountSid, authToken, from }) =>
1518
+ await (
1519
+ await getMessagingClient()
1520
+ ).updateTwilioProvider(
1521
+ providerId,
1522
+ name,
1523
+ enabled,
1524
+ accountSid,
1525
+ authToken,
1526
+ from,
1527
+ ),
1528
+ ),
1529
+ );
1530
+
1531
+ messaging
1532
+ .command(`create-vonage-provider`)
1533
+ .description(`Create a new Vonage provider.`)
1534
+ .requiredOption(
1535
+ `--provider-id <provider-id>`,
1536
+ `Provider 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.`,
1537
+ )
1538
+ .requiredOption(`--name <name>`, `Provider name.`)
1539
+ .option(
1540
+ `--from <from>`,
1541
+ `Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.`,
1542
+ )
1543
+ .option(`--api-key <api-key>`, `Vonage API key.`)
1544
+ .option(`--api-secret <api-secret>`, `Vonage API secret.`)
1545
+ .option(
1546
+ `--enabled [value]`,
1547
+ `Set as enabled.`,
1548
+ (value: string | undefined) =>
1549
+ value === undefined ? true : parseBool(value),
1550
+ )
1551
+ .action(
1552
+ actionRunner(
1553
+ async ({ providerId, name, from, apiKey, apiSecret, enabled }) =>
1554
+ await (
1555
+ await getMessagingClient()
1556
+ ).createVonageProvider(
1557
+ providerId,
1558
+ name,
1559
+ from,
1560
+ apiKey,
1561
+ apiSecret,
1562
+ enabled,
1563
+ ),
1564
+ ),
1565
+ );
1566
+
1567
+ messaging
1568
+ .command(`update-vonage-provider`)
1569
+ .description(`Update a Vonage provider by its unique ID.`)
1570
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
1571
+ .option(`--name <name>`, `Provider name.`)
1572
+ .option(
1573
+ `--enabled [value]`,
1574
+ `Set as enabled.`,
1575
+ (value: string | undefined) =>
1576
+ value === undefined ? true : parseBool(value),
1577
+ )
1578
+ .option(`--api-key <api-key>`, `Vonage API key.`)
1579
+ .option(`--api-secret <api-secret>`, `Vonage API secret.`)
1580
+ .option(`--from <from>`, `Sender number.`)
1581
+ .action(
1582
+ actionRunner(
1583
+ async ({ providerId, name, enabled, apiKey, apiSecret, from }) =>
1584
+ await (
1585
+ await getMessagingClient()
1586
+ ).updateVonageProvider(
1587
+ providerId,
1588
+ name,
1589
+ enabled,
1590
+ apiKey,
1591
+ apiSecret,
1592
+ from,
1593
+ ),
1594
+ ),
1595
+ );
1596
+
1597
+ messaging
1598
+ .command(`get-provider`)
1599
+ .description(
1600
+ `Get a provider by its unique ID.
1601
+ `,
1602
+ )
1603
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
1604
+ .action(
1605
+ actionRunner(
1606
+ async ({ providerId }) =>
1607
+ await (await getMessagingClient()).getProvider(providerId),
1608
+ ),
1609
+ );
1610
+
1611
+ messaging
1612
+ .command(`delete-provider`)
1613
+ .description(`Delete a provider by its unique ID.`)
1614
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
1615
+ .action(
1616
+ actionRunner(
1617
+ async ({ providerId }) =>
1618
+ await (await getMessagingClient()).deleteProvider(providerId),
1619
+ ),
1620
+ );
1621
+
1622
+ messaging
1623
+ .command(`list-provider-logs`)
1624
+ .description(`Get the provider activity logs listed by its unique ID.`)
1625
+ .requiredOption(`--provider-id <provider-id>`, `Provider ID.`)
1626
+ .option(
1627
+ `--queries [queries...]`,
1628
+ `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset`,
1629
+ )
1630
+ .option(
1631
+ `--total [value]`,
1632
+ `When set to false, the total count returned will be 0 and will not be calculated.`,
1633
+ (value: string | undefined) =>
1634
+ value === undefined ? true : parseBool(value),
1635
+ )
1636
+ .action(
1637
+ actionRunner(
1638
+ async ({ providerId, queries, total }) =>
1639
+ await (
1640
+ await getMessagingClient()
1641
+ ).listProviderLogs(providerId, queries, total),
1642
+ ),
1643
+ );
1644
+
1645
+ messaging
1646
+ .command(`list-subscriber-logs`)
1647
+ .description(`Get the subscriber activity logs listed by its unique ID.`)
1648
+ .requiredOption(`--subscriber-id <subscriber-id>`, `Subscriber ID.`)
1649
+ .option(
1650
+ `--queries [queries...]`,
1651
+ `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset`,
1652
+ )
1653
+ .option(
1654
+ `--total [value]`,
1655
+ `When set to false, the total count returned will be 0 and will not be calculated.`,
1656
+ (value: string | undefined) =>
1657
+ value === undefined ? true : parseBool(value),
1658
+ )
1659
+ .action(
1660
+ actionRunner(
1661
+ async ({ subscriberId, queries, total }) =>
1662
+ await (
1663
+ await getMessagingClient()
1664
+ ).listSubscriberLogs(subscriberId, queries, total),
1665
+ ),
1666
+ );
1667
+
1668
+ messaging
1669
+ .command(`list-topics`)
1670
+ .description(`Get a list of all topics from the current Appwrite project.`)
1671
+ .option(
1672
+ `--queries [queries...]`,
1673
+ `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, description, emailTotal, smsTotal, pushTotal`,
1674
+ )
1675
+ .option(
1676
+ `--search <search>`,
1677
+ `Search term to filter your list results. Max length: 256 chars.`,
1678
+ )
1679
+ .option(
1680
+ `--total [value]`,
1681
+ `When set to false, the total count returned will be 0 and will not be calculated.`,
1682
+ (value: string | undefined) =>
1683
+ value === undefined ? true : parseBool(value),
1684
+ )
1685
+ .action(
1686
+ actionRunner(
1687
+ async ({ queries, search, total }) =>
1688
+ await (await getMessagingClient()).listTopics(queries, search, total),
1689
+ ),
1690
+ );
1691
+
1692
+ messaging
1693
+ .command(`create-topic`)
1694
+ .description(`Create a new topic.`)
1695
+ .requiredOption(
1696
+ `--topic-id <topic-id>`,
1697
+ `Topic ID. Choose a custom Topic ID or a new Topic ID.`,
1698
+ )
1699
+ .requiredOption(`--name <name>`, `Topic Name.`)
1700
+ .option(
1701
+ `--subscribe [subscribe...]`,
1702
+ `An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.`,
1703
+ )
1704
+ .action(
1705
+ actionRunner(
1706
+ async ({ topicId, name, subscribe }) =>
1707
+ await (
1708
+ await getMessagingClient()
1709
+ ).createTopic(topicId, name, subscribe),
1710
+ ),
1711
+ );
1712
+
1713
+ messaging
1714
+ .command(`get-topic`)
1715
+ .description(
1716
+ `Get a topic by its unique ID.
1717
+ `,
1718
+ )
1719
+ .requiredOption(`--topic-id <topic-id>`, `Topic ID.`)
1720
+ .action(
1721
+ actionRunner(
1722
+ async ({ topicId }) =>
1723
+ await (await getMessagingClient()).getTopic(topicId),
1724
+ ),
1725
+ );
1726
+
1727
+ messaging
1728
+ .command(`update-topic`)
1729
+ .description(
1730
+ `Update a topic by its unique ID.
1731
+ `,
1732
+ )
1733
+ .requiredOption(`--topic-id <topic-id>`, `Topic ID.`)
1734
+ .option(`--name <name>`, `Topic Name.`)
1735
+ .option(
1736
+ `--subscribe [subscribe...]`,
1737
+ `An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.`,
1738
+ )
1739
+ .action(
1740
+ actionRunner(
1741
+ async ({ topicId, name, subscribe }) =>
1742
+ await (
1743
+ await getMessagingClient()
1744
+ ).updateTopic(topicId, name, subscribe),
1745
+ ),
1746
+ );
1747
+
1748
+ messaging
1749
+ .command(`delete-topic`)
1750
+ .description(`Delete a topic by its unique ID.`)
1751
+ .requiredOption(`--topic-id <topic-id>`, `Topic ID.`)
1752
+ .action(
1753
+ actionRunner(
1754
+ async ({ topicId }) =>
1755
+ await (await getMessagingClient()).deleteTopic(topicId),
1756
+ ),
1757
+ );
1758
+
1759
+ messaging
1760
+ .command(`list-topic-logs`)
1761
+ .description(`Get the topic activity logs listed by its unique ID.`)
1762
+ .requiredOption(`--topic-id <topic-id>`, `Topic ID.`)
1763
+ .option(
1764
+ `--queries [queries...]`,
1765
+ `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset`,
1766
+ )
1767
+ .option(
1768
+ `--total [value]`,
1769
+ `When set to false, the total count returned will be 0 and will not be calculated.`,
1770
+ (value: string | undefined) =>
1771
+ value === undefined ? true : parseBool(value),
1772
+ )
1773
+ .action(
1774
+ actionRunner(
1775
+ async ({ topicId, queries, total }) =>
1776
+ await (
1777
+ await getMessagingClient()
1778
+ ).listTopicLogs(topicId, queries, total),
1779
+ ),
1780
+ );
1781
+
1782
+ messaging
1783
+ .command(`list-subscribers`)
1784
+ .description(
1785
+ `Get a list of all subscribers from the current Appwrite project.`,
1786
+ )
1787
+ .requiredOption(
1788
+ `--topic-id <topic-id>`,
1789
+ `Topic ID. The topic ID subscribed to.`,
1790
+ )
1791
+ .option(
1792
+ `--queries [queries...]`,
1793
+ `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, provider, type, enabled`,
1794
+ )
1795
+ .option(
1796
+ `--search <search>`,
1797
+ `Search term to filter your list results. Max length: 256 chars.`,
1798
+ )
1799
+ .option(
1800
+ `--total [value]`,
1801
+ `When set to false, the total count returned will be 0 and will not be calculated.`,
1802
+ (value: string | undefined) =>
1803
+ value === undefined ? true : parseBool(value),
1804
+ )
1805
+ .action(
1806
+ actionRunner(
1807
+ async ({ topicId, queries, search, total }) =>
1808
+ await (
1809
+ await getMessagingClient()
1810
+ ).listSubscribers(topicId, queries, search, total),
1811
+ ),
1812
+ );
1813
+
1814
+ messaging
1815
+ .command(`create-subscriber`)
1816
+ .description(`Create a new subscriber.`)
1817
+ .requiredOption(
1818
+ `--topic-id <topic-id>`,
1819
+ `Topic ID. The topic ID to subscribe to.`,
1820
+ )
1821
+ .requiredOption(
1822
+ `--subscriber-id <subscriber-id>`,
1823
+ `Subscriber ID. Choose a custom Subscriber ID or a new Subscriber ID.`,
1824
+ )
1825
+ .requiredOption(
1826
+ `--target-id <target-id>`,
1827
+ `Target ID. The target ID to link to the specified Topic ID.`,
1828
+ )
1829
+ .action(
1830
+ actionRunner(
1831
+ async ({ topicId, subscriberId, targetId }) =>
1832
+ await (
1833
+ await getMessagingClient()
1834
+ ).createSubscriber(topicId, subscriberId, targetId),
1835
+ ),
1836
+ );
1837
+
1838
+ messaging
1839
+ .command(`get-subscriber`)
1840
+ .description(
1841
+ `Get a subscriber by its unique ID.
1842
+ `,
1843
+ )
1844
+ .requiredOption(
1845
+ `--topic-id <topic-id>`,
1846
+ `Topic ID. The topic ID subscribed to.`,
1847
+ )
1848
+ .requiredOption(`--subscriber-id <subscriber-id>`, `Subscriber ID.`)
1849
+ .action(
1850
+ actionRunner(
1851
+ async ({ topicId, subscriberId }) =>
1852
+ await (await getMessagingClient()).getSubscriber(topicId, subscriberId),
1853
+ ),
1854
+ );
1855
+
1856
+ messaging
1857
+ .command(`delete-subscriber`)
1858
+ .description(`Delete a subscriber by its unique ID.`)
1859
+ .requiredOption(
1860
+ `--topic-id <topic-id>`,
1861
+ `Topic ID. The topic ID subscribed to.`,
1862
+ )
1863
+ .requiredOption(`--subscriber-id <subscriber-id>`, `Subscriber ID.`)
1864
+ .action(
1865
+ actionRunner(
1866
+ async ({ topicId, subscriberId }) =>
1867
+ await (
1868
+ await getMessagingClient()
1869
+ ).deleteSubscriber(topicId, subscriberId),
1870
+ ),
1871
+ );