chirag-appwrite-cli 0.1.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 (491) hide show
  1. package/.github/workflows/npm-publish.yml +49 -0
  2. package/CHANGELOG.md +1 -0
  3. package/Formula/appwrite.rb +19 -0
  4. package/LICENSE.md +1 -0
  5. package/README.md +104 -0
  6. package/appwrite.json +164 -0
  7. package/docs/examples/account/create-anonymous-session.md +1 -0
  8. package/docs/examples/account/create-email-password-session.md +3 -0
  9. package/docs/examples/account/create-email-token.md +4 -0
  10. package/docs/examples/account/create-j-w-t.md +1 -0
  11. package/docs/examples/account/create-magic-u-r-l-token.md +5 -0
  12. package/docs/examples/account/create-mfa-authenticator.md +2 -0
  13. package/docs/examples/account/create-mfa-challenge.md +2 -0
  14. package/docs/examples/account/create-mfa-recovery-codes.md +1 -0
  15. package/docs/examples/account/create-o-auth2session.md +5 -0
  16. package/docs/examples/account/create-o-auth2token.md +5 -0
  17. package/docs/examples/account/create-phone-token.md +3 -0
  18. package/docs/examples/account/create-phone-verification.md +1 -0
  19. package/docs/examples/account/create-push-target.md +4 -0
  20. package/docs/examples/account/create-recovery.md +3 -0
  21. package/docs/examples/account/create-session.md +3 -0
  22. package/docs/examples/account/create-verification.md +2 -0
  23. package/docs/examples/account/create.md +5 -0
  24. package/docs/examples/account/delete-identity.md +2 -0
  25. package/docs/examples/account/delete-mfa-authenticator.md +2 -0
  26. package/docs/examples/account/delete-push-target.md +2 -0
  27. package/docs/examples/account/delete-session.md +2 -0
  28. package/docs/examples/account/delete-sessions.md +1 -0
  29. package/docs/examples/account/delete.md +1 -0
  30. package/docs/examples/account/get-mfa-recovery-codes.md +1 -0
  31. package/docs/examples/account/get-prefs.md +1 -0
  32. package/docs/examples/account/get-session.md +2 -0
  33. package/docs/examples/account/get.md +1 -0
  34. package/docs/examples/account/list-identities.md +2 -0
  35. package/docs/examples/account/list-logs.md +2 -0
  36. package/docs/examples/account/list-mfa-factors.md +1 -0
  37. package/docs/examples/account/list-sessions.md +1 -0
  38. package/docs/examples/account/update-email.md +3 -0
  39. package/docs/examples/account/update-m-f-a.md +2 -0
  40. package/docs/examples/account/update-magic-u-r-l-session.md +3 -0
  41. package/docs/examples/account/update-mfa-authenticator.md +3 -0
  42. package/docs/examples/account/update-mfa-challenge.md +3 -0
  43. package/docs/examples/account/update-mfa-recovery-codes.md +1 -0
  44. package/docs/examples/account/update-name.md +2 -0
  45. package/docs/examples/account/update-password.md +3 -0
  46. package/docs/examples/account/update-phone-session.md +3 -0
  47. package/docs/examples/account/update-phone-verification.md +3 -0
  48. package/docs/examples/account/update-phone.md +3 -0
  49. package/docs/examples/account/update-prefs.md +2 -0
  50. package/docs/examples/account/update-push-target.md +3 -0
  51. package/docs/examples/account/update-recovery.md +4 -0
  52. package/docs/examples/account/update-session.md +2 -0
  53. package/docs/examples/account/update-status.md +1 -0
  54. package/docs/examples/account/update-verification.md +3 -0
  55. package/docs/examples/avatars/get-browser.md +5 -0
  56. package/docs/examples/avatars/get-credit-card.md +5 -0
  57. package/docs/examples/avatars/get-favicon.md +2 -0
  58. package/docs/examples/avatars/get-flag.md +5 -0
  59. package/docs/examples/avatars/get-image.md +4 -0
  60. package/docs/examples/avatars/get-initials.md +5 -0
  61. package/docs/examples/avatars/get-q-r.md +5 -0
  62. package/docs/examples/console/get-resource.md +3 -0
  63. package/docs/examples/console/variables.md +1 -0
  64. package/docs/examples/databases/create-boolean-attribute.md +7 -0
  65. package/docs/examples/databases/create-collection.md +7 -0
  66. package/docs/examples/databases/create-datetime-attribute.md +7 -0
  67. package/docs/examples/databases/create-document.md +6 -0
  68. package/docs/examples/databases/create-documents.md +4 -0
  69. package/docs/examples/databases/create-email-attribute.md +7 -0
  70. package/docs/examples/databases/create-enum-attribute.md +8 -0
  71. package/docs/examples/databases/create-float-attribute.md +9 -0
  72. package/docs/examples/databases/create-index.md +8 -0
  73. package/docs/examples/databases/create-integer-attribute.md +9 -0
  74. package/docs/examples/databases/create-ip-attribute.md +7 -0
  75. package/docs/examples/databases/create-relationship-attribute.md +9 -0
  76. package/docs/examples/databases/create-string-attribute.md +9 -0
  77. package/docs/examples/databases/create-url-attribute.md +7 -0
  78. package/docs/examples/databases/create.md +4 -0
  79. package/docs/examples/databases/decrement-document-attribute.md +7 -0
  80. package/docs/examples/databases/delete-attribute.md +4 -0
  81. package/docs/examples/databases/delete-collection.md +3 -0
  82. package/docs/examples/databases/delete-document.md +4 -0
  83. package/docs/examples/databases/delete-documents.md +4 -0
  84. package/docs/examples/databases/delete-index.md +4 -0
  85. package/docs/examples/databases/delete.md +2 -0
  86. package/docs/examples/databases/get-attribute.md +4 -0
  87. package/docs/examples/databases/get-collection-usage.md +4 -0
  88. package/docs/examples/databases/get-collection.md +3 -0
  89. package/docs/examples/databases/get-database-usage.md +3 -0
  90. package/docs/examples/databases/get-document.md +5 -0
  91. package/docs/examples/databases/get-index.md +4 -0
  92. package/docs/examples/databases/get-usage.md +2 -0
  93. package/docs/examples/databases/get.md +2 -0
  94. package/docs/examples/databases/increment-document-attribute.md +7 -0
  95. package/docs/examples/databases/list-attributes.md +4 -0
  96. package/docs/examples/databases/list-collection-logs.md +4 -0
  97. package/docs/examples/databases/list-collections.md +4 -0
  98. package/docs/examples/databases/list-document-logs.md +5 -0
  99. package/docs/examples/databases/list-documents.md +4 -0
  100. package/docs/examples/databases/list-indexes.md +4 -0
  101. package/docs/examples/databases/list-logs.md +3 -0
  102. package/docs/examples/databases/list.md +3 -0
  103. package/docs/examples/databases/update-boolean-attribute.md +7 -0
  104. package/docs/examples/databases/update-collection.md +7 -0
  105. package/docs/examples/databases/update-datetime-attribute.md +7 -0
  106. package/docs/examples/databases/update-document.md +6 -0
  107. package/docs/examples/databases/update-documents.md +5 -0
  108. package/docs/examples/databases/update-email-attribute.md +7 -0
  109. package/docs/examples/databases/update-enum-attribute.md +8 -0
  110. package/docs/examples/databases/update-float-attribute.md +9 -0
  111. package/docs/examples/databases/update-integer-attribute.md +9 -0
  112. package/docs/examples/databases/update-ip-attribute.md +7 -0
  113. package/docs/examples/databases/update-relationship-attribute.md +6 -0
  114. package/docs/examples/databases/update-string-attribute.md +8 -0
  115. package/docs/examples/databases/update-url-attribute.md +7 -0
  116. package/docs/examples/databases/update.md +4 -0
  117. package/docs/examples/databases/upsert-document.md +6 -0
  118. package/docs/examples/databases/upsert-documents.md +4 -0
  119. package/docs/examples/functions/create-deployment.md +6 -0
  120. package/docs/examples/functions/create-duplicate-deployment.md +4 -0
  121. package/docs/examples/functions/create-execution.md +8 -0
  122. package/docs/examples/functions/create-template-deployment.md +7 -0
  123. package/docs/examples/functions/create-variable.md +5 -0
  124. package/docs/examples/functions/create-vcs-deployment.md +5 -0
  125. package/docs/examples/functions/create.md +19 -0
  126. package/docs/examples/functions/delete-deployment.md +3 -0
  127. package/docs/examples/functions/delete-execution.md +3 -0
  128. package/docs/examples/functions/delete-variable.md +3 -0
  129. package/docs/examples/functions/delete.md +2 -0
  130. package/docs/examples/functions/get-deployment-download.md +4 -0
  131. package/docs/examples/functions/get-deployment.md +3 -0
  132. package/docs/examples/functions/get-execution.md +3 -0
  133. package/docs/examples/functions/get-template.md +2 -0
  134. package/docs/examples/functions/get-usage.md +3 -0
  135. package/docs/examples/functions/get-variable.md +3 -0
  136. package/docs/examples/functions/get.md +2 -0
  137. package/docs/examples/functions/list-deployments.md +4 -0
  138. package/docs/examples/functions/list-executions.md +3 -0
  139. package/docs/examples/functions/list-runtimes.md +1 -0
  140. package/docs/examples/functions/list-specifications.md +1 -0
  141. package/docs/examples/functions/list-templates.md +5 -0
  142. package/docs/examples/functions/list-usage.md +2 -0
  143. package/docs/examples/functions/list-variables.md +2 -0
  144. package/docs/examples/functions/list.md +3 -0
  145. package/docs/examples/functions/update-deployment-status.md +3 -0
  146. package/docs/examples/functions/update-function-deployment.md +3 -0
  147. package/docs/examples/functions/update-variable.md +6 -0
  148. package/docs/examples/functions/update.md +19 -0
  149. package/docs/examples/graphql/mutation.md +2 -0
  150. package/docs/examples/graphql/query.md +2 -0
  151. package/docs/examples/health/get-antivirus.md +1 -0
  152. package/docs/examples/health/get-cache.md +1 -0
  153. package/docs/examples/health/get-certificate.md +2 -0
  154. package/docs/examples/health/get-d-b.md +1 -0
  155. package/docs/examples/health/get-failed-jobs.md +3 -0
  156. package/docs/examples/health/get-pub-sub.md +1 -0
  157. package/docs/examples/health/get-queue-builds.md +2 -0
  158. package/docs/examples/health/get-queue-certificates.md +2 -0
  159. package/docs/examples/health/get-queue-databases.md +3 -0
  160. package/docs/examples/health/get-queue-deletes.md +2 -0
  161. package/docs/examples/health/get-queue-functions.md +2 -0
  162. package/docs/examples/health/get-queue-logs.md +2 -0
  163. package/docs/examples/health/get-queue-mails.md +2 -0
  164. package/docs/examples/health/get-queue-messaging.md +2 -0
  165. package/docs/examples/health/get-queue-migrations.md +2 -0
  166. package/docs/examples/health/get-queue-stats-resources.md +2 -0
  167. package/docs/examples/health/get-queue-usage.md +2 -0
  168. package/docs/examples/health/get-queue-webhooks.md +2 -0
  169. package/docs/examples/health/get-storage-local.md +1 -0
  170. package/docs/examples/health/get-storage.md +1 -0
  171. package/docs/examples/health/get-time.md +1 -0
  172. package/docs/examples/health/get.md +1 -0
  173. package/docs/examples/locale/get.md +1 -0
  174. package/docs/examples/locale/list-codes.md +1 -0
  175. package/docs/examples/locale/list-continents.md +1 -0
  176. package/docs/examples/locale/list-countries-e-u.md +1 -0
  177. package/docs/examples/locale/list-countries-phones.md +1 -0
  178. package/docs/examples/locale/list-countries.md +1 -0
  179. package/docs/examples/locale/list-currencies.md +1 -0
  180. package/docs/examples/locale/list-languages.md +1 -0
  181. package/docs/examples/messaging/create-apns-provider.md +9 -0
  182. package/docs/examples/messaging/create-email.md +13 -0
  183. package/docs/examples/messaging/create-fcm-provider.md +5 -0
  184. package/docs/examples/messaging/create-mailgun-provider.md +11 -0
  185. package/docs/examples/messaging/create-msg91provider.md +7 -0
  186. package/docs/examples/messaging/create-push.md +20 -0
  187. package/docs/examples/messaging/create-sendgrid-provider.md +9 -0
  188. package/docs/examples/messaging/create-sms.md +8 -0
  189. package/docs/examples/messaging/create-smtp-provider.md +15 -0
  190. package/docs/examples/messaging/create-subscriber.md +4 -0
  191. package/docs/examples/messaging/create-telesign-provider.md +7 -0
  192. package/docs/examples/messaging/create-textmagic-provider.md +7 -0
  193. package/docs/examples/messaging/create-topic.md +4 -0
  194. package/docs/examples/messaging/create-twilio-provider.md +7 -0
  195. package/docs/examples/messaging/create-vonage-provider.md +7 -0
  196. package/docs/examples/messaging/delete-provider.md +2 -0
  197. package/docs/examples/messaging/delete-subscriber.md +3 -0
  198. package/docs/examples/messaging/delete-topic.md +2 -0
  199. package/docs/examples/messaging/delete.md +2 -0
  200. package/docs/examples/messaging/get-message.md +2 -0
  201. package/docs/examples/messaging/get-provider.md +2 -0
  202. package/docs/examples/messaging/get-subscriber.md +3 -0
  203. package/docs/examples/messaging/get-topic.md +2 -0
  204. package/docs/examples/messaging/list-message-logs.md +3 -0
  205. package/docs/examples/messaging/list-messages.md +3 -0
  206. package/docs/examples/messaging/list-provider-logs.md +3 -0
  207. package/docs/examples/messaging/list-providers.md +3 -0
  208. package/docs/examples/messaging/list-subscriber-logs.md +3 -0
  209. package/docs/examples/messaging/list-subscribers.md +4 -0
  210. package/docs/examples/messaging/list-targets.md +3 -0
  211. package/docs/examples/messaging/list-topic-logs.md +3 -0
  212. package/docs/examples/messaging/list-topics.md +3 -0
  213. package/docs/examples/messaging/update-apns-provider.md +9 -0
  214. package/docs/examples/messaging/update-email.md +13 -0
  215. package/docs/examples/messaging/update-fcm-provider.md +5 -0
  216. package/docs/examples/messaging/update-mailgun-provider.md +11 -0
  217. package/docs/examples/messaging/update-msg91provider.md +7 -0
  218. package/docs/examples/messaging/update-push.md +20 -0
  219. package/docs/examples/messaging/update-sendgrid-provider.md +9 -0
  220. package/docs/examples/messaging/update-sms.md +8 -0
  221. package/docs/examples/messaging/update-smtp-provider.md +15 -0
  222. package/docs/examples/messaging/update-telesign-provider.md +7 -0
  223. package/docs/examples/messaging/update-textmagic-provider.md +7 -0
  224. package/docs/examples/messaging/update-topic.md +4 -0
  225. package/docs/examples/messaging/update-twilio-provider.md +7 -0
  226. package/docs/examples/messaging/update-vonage-provider.md +7 -0
  227. package/docs/examples/migrations/create-appwrite-migration.md +5 -0
  228. package/docs/examples/migrations/create-csv-migration.md +4 -0
  229. package/docs/examples/migrations/create-firebase-migration.md +3 -0
  230. package/docs/examples/migrations/create-n-host-migration.md +9 -0
  231. package/docs/examples/migrations/create-supabase-migration.md +8 -0
  232. package/docs/examples/migrations/delete.md +2 -0
  233. package/docs/examples/migrations/get-appwrite-report.md +5 -0
  234. package/docs/examples/migrations/get-firebase-report.md +3 -0
  235. package/docs/examples/migrations/get-n-host-report.md +9 -0
  236. package/docs/examples/migrations/get-supabase-report.md +8 -0
  237. package/docs/examples/migrations/get.md +2 -0
  238. package/docs/examples/migrations/list.md +3 -0
  239. package/docs/examples/migrations/retry.md +2 -0
  240. package/docs/examples/project/create-variable.md +4 -0
  241. package/docs/examples/project/delete-variable.md +2 -0
  242. package/docs/examples/project/get-usage.md +4 -0
  243. package/docs/examples/project/get-variable.md +2 -0
  244. package/docs/examples/project/list-variables.md +1 -0
  245. package/docs/examples/project/update-variable.md +5 -0
  246. package/docs/examples/projects/create-dev-key.md +4 -0
  247. package/docs/examples/projects/create-j-w-t.md +4 -0
  248. package/docs/examples/projects/create-key.md +5 -0
  249. package/docs/examples/projects/create-platform.md +7 -0
  250. package/docs/examples/projects/create-smtp-test.md +11 -0
  251. package/docs/examples/projects/create-webhook.md +9 -0
  252. package/docs/examples/projects/create.md +14 -0
  253. package/docs/examples/projects/delete-dev-key.md +3 -0
  254. package/docs/examples/projects/delete-email-template.md +4 -0
  255. package/docs/examples/projects/delete-key.md +3 -0
  256. package/docs/examples/projects/delete-platform.md +3 -0
  257. package/docs/examples/projects/delete-sms-template.md +4 -0
  258. package/docs/examples/projects/delete-webhook.md +3 -0
  259. package/docs/examples/projects/delete.md +2 -0
  260. package/docs/examples/projects/get-dev-key.md +3 -0
  261. package/docs/examples/projects/get-email-template.md +4 -0
  262. package/docs/examples/projects/get-key.md +3 -0
  263. package/docs/examples/projects/get-platform.md +3 -0
  264. package/docs/examples/projects/get-sms-template.md +4 -0
  265. package/docs/examples/projects/get-webhook.md +3 -0
  266. package/docs/examples/projects/get.md +2 -0
  267. package/docs/examples/projects/list-dev-keys.md +3 -0
  268. package/docs/examples/projects/list-keys.md +2 -0
  269. package/docs/examples/projects/list-platforms.md +2 -0
  270. package/docs/examples/projects/list-webhooks.md +2 -0
  271. package/docs/examples/projects/list.md +3 -0
  272. package/docs/examples/projects/update-api-status-all.md +3 -0
  273. package/docs/examples/projects/update-api-status.md +4 -0
  274. package/docs/examples/projects/update-auth-duration.md +3 -0
  275. package/docs/examples/projects/update-auth-limit.md +3 -0
  276. package/docs/examples/projects/update-auth-password-dictionary.md +3 -0
  277. package/docs/examples/projects/update-auth-password-history.md +3 -0
  278. package/docs/examples/projects/update-auth-sessions-limit.md +3 -0
  279. package/docs/examples/projects/update-auth-status.md +4 -0
  280. package/docs/examples/projects/update-dev-key.md +5 -0
  281. package/docs/examples/projects/update-email-template.md +9 -0
  282. package/docs/examples/projects/update-key.md +6 -0
  283. package/docs/examples/projects/update-memberships-privacy.md +5 -0
  284. package/docs/examples/projects/update-mock-numbers.md +3 -0
  285. package/docs/examples/projects/update-o-auth2.md +6 -0
  286. package/docs/examples/projects/update-personal-data-check.md +3 -0
  287. package/docs/examples/projects/update-platform.md +7 -0
  288. package/docs/examples/projects/update-service-status-all.md +3 -0
  289. package/docs/examples/projects/update-service-status.md +4 -0
  290. package/docs/examples/projects/update-session-alerts.md +3 -0
  291. package/docs/examples/projects/update-sms-template.md +5 -0
  292. package/docs/examples/projects/update-smtp.md +11 -0
  293. package/docs/examples/projects/update-team.md +3 -0
  294. package/docs/examples/projects/update-webhook-signature.md +3 -0
  295. package/docs/examples/projects/update-webhook.md +10 -0
  296. package/docs/examples/projects/update.md +12 -0
  297. package/docs/examples/proxy/create-a-p-i-rule.md +2 -0
  298. package/docs/examples/proxy/create-function-rule.md +4 -0
  299. package/docs/examples/proxy/create-redirect-rule.md +6 -0
  300. package/docs/examples/proxy/create-site-rule.md +4 -0
  301. package/docs/examples/proxy/delete-rule.md +2 -0
  302. package/docs/examples/proxy/get-rule.md +2 -0
  303. package/docs/examples/proxy/list-rules.md +3 -0
  304. package/docs/examples/proxy/update-rule-verification.md +2 -0
  305. package/docs/examples/sites/create-deployment.md +7 -0
  306. package/docs/examples/sites/create-duplicate-deployment.md +3 -0
  307. package/docs/examples/sites/create-template-deployment.md +7 -0
  308. package/docs/examples/sites/create-variable.md +5 -0
  309. package/docs/examples/sites/create-vcs-deployment.md +5 -0
  310. package/docs/examples/sites/create.md +19 -0
  311. package/docs/examples/sites/delete-deployment.md +3 -0
  312. package/docs/examples/sites/delete-log.md +3 -0
  313. package/docs/examples/sites/delete-variable.md +3 -0
  314. package/docs/examples/sites/delete.md +2 -0
  315. package/docs/examples/sites/get-deployment-download.md +4 -0
  316. package/docs/examples/sites/get-deployment.md +3 -0
  317. package/docs/examples/sites/get-log.md +3 -0
  318. package/docs/examples/sites/get-template.md +2 -0
  319. package/docs/examples/sites/get-usage.md +3 -0
  320. package/docs/examples/sites/get-variable.md +3 -0
  321. package/docs/examples/sites/get.md +2 -0
  322. package/docs/examples/sites/list-deployments.md +4 -0
  323. package/docs/examples/sites/list-frameworks.md +1 -0
  324. package/docs/examples/sites/list-logs.md +3 -0
  325. package/docs/examples/sites/list-specifications.md +1 -0
  326. package/docs/examples/sites/list-templates.md +5 -0
  327. package/docs/examples/sites/list-usage.md +2 -0
  328. package/docs/examples/sites/list-variables.md +2 -0
  329. package/docs/examples/sites/list.md +3 -0
  330. package/docs/examples/sites/update-deployment-status.md +3 -0
  331. package/docs/examples/sites/update-site-deployment.md +3 -0
  332. package/docs/examples/sites/update-variable.md +6 -0
  333. package/docs/examples/sites/update.md +19 -0
  334. package/docs/examples/storage/create-bucket.md +11 -0
  335. package/docs/examples/storage/create-file.md +5 -0
  336. package/docs/examples/storage/delete-bucket.md +2 -0
  337. package/docs/examples/storage/delete-file.md +3 -0
  338. package/docs/examples/storage/get-bucket-usage.md +3 -0
  339. package/docs/examples/storage/get-bucket.md +2 -0
  340. package/docs/examples/storage/get-file-download.md +4 -0
  341. package/docs/examples/storage/get-file-preview.md +15 -0
  342. package/docs/examples/storage/get-file-view.md +4 -0
  343. package/docs/examples/storage/get-file.md +3 -0
  344. package/docs/examples/storage/get-usage.md +2 -0
  345. package/docs/examples/storage/list-buckets.md +3 -0
  346. package/docs/examples/storage/list-files.md +4 -0
  347. package/docs/examples/storage/update-bucket.md +11 -0
  348. package/docs/examples/storage/update-file.md +5 -0
  349. package/docs/examples/teams/create-membership.md +8 -0
  350. package/docs/examples/teams/create.md +4 -0
  351. package/docs/examples/teams/delete-membership.md +3 -0
  352. package/docs/examples/teams/delete.md +2 -0
  353. package/docs/examples/teams/get-membership.md +3 -0
  354. package/docs/examples/teams/get-prefs.md +2 -0
  355. package/docs/examples/teams/get.md +2 -0
  356. package/docs/examples/teams/list-logs.md +3 -0
  357. package/docs/examples/teams/list-memberships.md +4 -0
  358. package/docs/examples/teams/list.md +3 -0
  359. package/docs/examples/teams/update-membership-status.md +5 -0
  360. package/docs/examples/teams/update-membership.md +4 -0
  361. package/docs/examples/teams/update-name.md +3 -0
  362. package/docs/examples/teams/update-prefs.md +3 -0
  363. package/docs/examples/tokens/create-file-token.md +4 -0
  364. package/docs/examples/tokens/delete.md +2 -0
  365. package/docs/examples/tokens/get.md +2 -0
  366. package/docs/examples/tokens/list.md +4 -0
  367. package/docs/examples/tokens/update.md +3 -0
  368. package/docs/examples/users/create-argon2user.md +5 -0
  369. package/docs/examples/users/create-bcrypt-user.md +5 -0
  370. package/docs/examples/users/create-j-w-t.md +4 -0
  371. package/docs/examples/users/create-m-d5user.md +5 -0
  372. package/docs/examples/users/create-mfa-recovery-codes.md +2 -0
  373. package/docs/examples/users/create-p-h-pass-user.md +5 -0
  374. package/docs/examples/users/create-s-h-a-user.md +6 -0
  375. package/docs/examples/users/create-scrypt-modified-user.md +8 -0
  376. package/docs/examples/users/create-scrypt-user.md +10 -0
  377. package/docs/examples/users/create-session.md +2 -0
  378. package/docs/examples/users/create-target.md +7 -0
  379. package/docs/examples/users/create-token.md +4 -0
  380. package/docs/examples/users/create.md +6 -0
  381. package/docs/examples/users/delete-identity.md +2 -0
  382. package/docs/examples/users/delete-mfa-authenticator.md +3 -0
  383. package/docs/examples/users/delete-session.md +3 -0
  384. package/docs/examples/users/delete-sessions.md +2 -0
  385. package/docs/examples/users/delete-target.md +3 -0
  386. package/docs/examples/users/delete.md +2 -0
  387. package/docs/examples/users/get-mfa-recovery-codes.md +2 -0
  388. package/docs/examples/users/get-prefs.md +2 -0
  389. package/docs/examples/users/get-target.md +3 -0
  390. package/docs/examples/users/get-usage.md +2 -0
  391. package/docs/examples/users/get.md +2 -0
  392. package/docs/examples/users/list-identities.md +3 -0
  393. package/docs/examples/users/list-logs.md +3 -0
  394. package/docs/examples/users/list-memberships.md +4 -0
  395. package/docs/examples/users/list-mfa-factors.md +2 -0
  396. package/docs/examples/users/list-sessions.md +2 -0
  397. package/docs/examples/users/list-targets.md +3 -0
  398. package/docs/examples/users/list.md +3 -0
  399. package/docs/examples/users/update-email-verification.md +3 -0
  400. package/docs/examples/users/update-email.md +3 -0
  401. package/docs/examples/users/update-labels.md +3 -0
  402. package/docs/examples/users/update-mfa-recovery-codes.md +2 -0
  403. package/docs/examples/users/update-mfa.md +3 -0
  404. package/docs/examples/users/update-name.md +3 -0
  405. package/docs/examples/users/update-password.md +3 -0
  406. package/docs/examples/users/update-phone-verification.md +3 -0
  407. package/docs/examples/users/update-phone.md +3 -0
  408. package/docs/examples/users/update-prefs.md +3 -0
  409. package/docs/examples/users/update-status.md +3 -0
  410. package/docs/examples/users/update-target.md +6 -0
  411. package/docs/examples/vcs/create-repository-detection.md +5 -0
  412. package/docs/examples/vcs/create-repository.md +4 -0
  413. package/docs/examples/vcs/delete-installation.md +2 -0
  414. package/docs/examples/vcs/get-installation.md +2 -0
  415. package/docs/examples/vcs/get-repository-contents.md +5 -0
  416. package/docs/examples/vcs/get-repository.md +3 -0
  417. package/docs/examples/vcs/list-installations.md +3 -0
  418. package/docs/examples/vcs/list-repositories.md +4 -0
  419. package/docs/examples/vcs/list-repository-branches.md +3 -0
  420. package/docs/examples/vcs/update-external-deployments.md +4 -0
  421. package/functions/Starter function/.prettierrc.json +6 -0
  422. package/functions/Starter function/README.md +48 -0
  423. package/functions/Starter function/package-lock.json +60 -0
  424. package/functions/Starter function/package.json +16 -0
  425. package/functions/Starter function/src/main.js +35 -0
  426. package/generate/appwrite.d.ts +18 -0
  427. package/index.js +109 -0
  428. package/install.ps1 +98 -0
  429. package/install.sh +157 -0
  430. package/lib/client.js +259 -0
  431. package/lib/commands/account.js +2074 -0
  432. package/lib/commands/avatars.js +491 -0
  433. package/lib/commands/console.js +129 -0
  434. package/lib/commands/databases.js +2972 -0
  435. package/lib/commands/functions.js +1737 -0
  436. package/lib/commands/generic.js +328 -0
  437. package/lib/commands/graphql.js +128 -0
  438. package/lib/commands/health.js +891 -0
  439. package/lib/commands/init.js +566 -0
  440. package/lib/commands/locale.js +324 -0
  441. package/lib/commands/messaging.js +2970 -0
  442. package/lib/commands/migrations.js +751 -0
  443. package/lib/commands/organizations.js +48 -0
  444. package/lib/commands/project.js +308 -0
  445. package/lib/commands/projects.js +2615 -0
  446. package/lib/commands/proxy.js +406 -0
  447. package/lib/commands/pull.js +474 -0
  448. package/lib/commands/push.js +2117 -0
  449. package/lib/commands/run.js +330 -0
  450. package/lib/commands/sites.js +1663 -0
  451. package/lib/commands/storage.js +990 -0
  452. package/lib/commands/teams.js +682 -0
  453. package/lib/commands/tokens.js +261 -0
  454. package/lib/commands/types.js +156 -0
  455. package/lib/commands/users.js +2035 -0
  456. package/lib/commands/vcs.js +484 -0
  457. package/lib/config.js +705 -0
  458. package/lib/emulation/docker.js +264 -0
  459. package/lib/emulation/utils.js +186 -0
  460. package/lib/exception.js +9 -0
  461. package/lib/id.js +30 -0
  462. package/lib/paginate.js +52 -0
  463. package/lib/parser.js +246 -0
  464. package/lib/questions.js +1006 -0
  465. package/lib/sdks.js +60 -0
  466. package/lib/spinner.js +104 -0
  467. package/lib/type-generation/attribute.js +16 -0
  468. package/lib/type-generation/languages/dart.js +196 -0
  469. package/lib/type-generation/languages/java.js +130 -0
  470. package/lib/type-generation/languages/javascript.js +102 -0
  471. package/lib/type-generation/languages/kotlin.js +84 -0
  472. package/lib/type-generation/languages/language.js +125 -0
  473. package/lib/type-generation/languages/php.js +109 -0
  474. package/lib/type-generation/languages/swift.js +169 -0
  475. package/lib/type-generation/languages/typescript.js +102 -0
  476. package/lib/utils.js +289 -0
  477. package/lib/validations.js +17 -0
  478. package/package.json +50 -0
  479. package/scoop/appwrite.json +30 -0
  480. package/sites/JavaScript starter/.env.example +3 -0
  481. package/sites/JavaScript starter/LICENSE +21 -0
  482. package/sites/JavaScript starter/images/appwrite.svg +8 -0
  483. package/sites/JavaScript starter/images/javascript.svg +5 -0
  484. package/sites/JavaScript starter/index.html +250 -0
  485. package/sites/JavaScript starter/lib/appwrite.js +10 -0
  486. package/sites/JavaScript starter/package-lock.json +1431 -0
  487. package/sites/JavaScript starter/package.json +21 -0
  488. package/sites/JavaScript starter/readme.md +26 -0
  489. package/sites/JavaScript starter/src/javascript.svg +1 -0
  490. package/sites/JavaScript starter/style/app.css +20 -0
  491. package/sites/JavaScript starter/vite.config.js +7 -0
@@ -0,0 +1,682 @@
1
+ const fs = require('fs');
2
+ const pathLib = require('path');
3
+ const tar = require("tar");
4
+ const ignore = require("ignore");
5
+ const { promisify } = require('util');
6
+ const libClient = require('../client.js');
7
+ const { getAllFiles, showConsoleLink } = require('../utils.js');
8
+ const { Command } = require('commander');
9
+ const { sdkForProject, sdkForConsole } = require('../sdks')
10
+ const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
11
+ const { localConfig, globalConfig } = require("../config");
12
+ const { File } = require('undici');
13
+ const { ReadableStream } = require('stream/web');
14
+
15
+ /**
16
+ * @param {fs.ReadStream} readStream
17
+ * @returns {ReadableStream}
18
+ */
19
+ function convertReadStreamToReadableStream(readStream) {
20
+ return new ReadableStream({
21
+ start(controller) {
22
+ readStream.on("data", (chunk) => {
23
+ controller.enqueue(chunk);
24
+ });
25
+ readStream.on("end", () => {
26
+ controller.close();
27
+ });
28
+ readStream.on("error", (err) => {
29
+ controller.error(err);
30
+ });
31
+ },
32
+ cancel() {
33
+ readStream.destroy();
34
+ },
35
+ });
36
+ }
37
+
38
+ const teams = new Command("teams").description(commandDescriptions['teams'] ?? '').configureHelp({
39
+ helpWidth: process.stdout.columns || 80
40
+ })
41
+
42
+ /**
43
+ * @typedef {Object} TeamsListRequestParams
44
+ * @property {string[]} queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan
45
+ * @property {string} search Search term to filter your list results. Max length: 256 chars.
46
+ * @property {boolean} overrideForCli
47
+ * @property {boolean} parseOutput
48
+ * @property {libClient | undefined} sdk
49
+ */
50
+
51
+ /**
52
+ * @param {TeamsListRequestParams} params
53
+ */
54
+ const teamsList = async ({queries,search,parseOutput = true, overrideForCli = false, sdk = undefined, console}) => {
55
+ let client = !sdk ? await sdkForProject() :
56
+ sdk;
57
+ let apiPath = '/teams';
58
+ let payload = {};
59
+ if (typeof queries !== 'undefined') {
60
+ payload['queries'] = queries;
61
+ }
62
+ if (typeof search !== 'undefined') {
63
+ payload['search'] = search;
64
+ }
65
+
66
+ let response = undefined;
67
+
68
+ response = await client.call('get', apiPath, {
69
+ }, payload);
70
+
71
+ if (parseOutput) {
72
+ if(console) {
73
+ showConsoleLink('teams', 'list');
74
+ } else {
75
+ parse(response)
76
+ }
77
+ }
78
+
79
+ return response;
80
+
81
+ }
82
+
83
+ /**
84
+ * @typedef {Object} TeamsCreateRequestParams
85
+ * @property {string} teamId Team 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.
86
+ * @property {string} name Team name. Max length: 128 chars.
87
+ * @property {string[]} roles Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long.
88
+ * @property {boolean} overrideForCli
89
+ * @property {boolean} parseOutput
90
+ * @property {libClient | undefined} sdk
91
+ */
92
+
93
+ /**
94
+ * @param {TeamsCreateRequestParams} params
95
+ */
96
+ const teamsCreate = async ({teamId,name,roles,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
97
+ let client = !sdk ? await sdkForProject() :
98
+ sdk;
99
+ let apiPath = '/teams';
100
+ let payload = {};
101
+ if (typeof teamId !== 'undefined') {
102
+ payload['teamId'] = teamId;
103
+ }
104
+ if (typeof name !== 'undefined') {
105
+ payload['name'] = name;
106
+ }
107
+ roles = roles === true ? [] : roles;
108
+ if (typeof roles !== 'undefined') {
109
+ payload['roles'] = roles;
110
+ }
111
+
112
+ let response = undefined;
113
+
114
+ response = await client.call('post', apiPath, {
115
+ 'content-type': 'application/json',
116
+ }, payload);
117
+
118
+ if (parseOutput) {
119
+ parse(response)
120
+ }
121
+
122
+ return response;
123
+
124
+ }
125
+
126
+ /**
127
+ * @typedef {Object} TeamsGetRequestParams
128
+ * @property {string} teamId Team ID.
129
+ * @property {boolean} overrideForCli
130
+ * @property {boolean} parseOutput
131
+ * @property {libClient | undefined} sdk
132
+ */
133
+
134
+ /**
135
+ * @param {TeamsGetRequestParams} params
136
+ */
137
+ const teamsGet = async ({teamId,parseOutput = true, overrideForCli = false, sdk = undefined, console}) => {
138
+ let client = !sdk ? await sdkForProject() :
139
+ sdk;
140
+ let apiPath = '/teams/{teamId}'.replace('{teamId}', teamId);
141
+ let payload = {};
142
+
143
+ let response = undefined;
144
+
145
+ response = await client.call('get', apiPath, {
146
+ }, payload);
147
+
148
+ if (parseOutput) {
149
+ if(console) {
150
+ showConsoleLink('teams', 'get', teamId);
151
+ } else {
152
+ parse(response)
153
+ }
154
+ }
155
+
156
+ return response;
157
+
158
+ }
159
+
160
+ /**
161
+ * @typedef {Object} TeamsUpdateNameRequestParams
162
+ * @property {string} teamId Team ID.
163
+ * @property {string} name New team name. Max length: 128 chars.
164
+ * @property {boolean} overrideForCli
165
+ * @property {boolean} parseOutput
166
+ * @property {libClient | undefined} sdk
167
+ */
168
+
169
+ /**
170
+ * @param {TeamsUpdateNameRequestParams} params
171
+ */
172
+ const teamsUpdateName = async ({teamId,name,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
173
+ let client = !sdk ? await sdkForProject() :
174
+ sdk;
175
+ let apiPath = '/teams/{teamId}'.replace('{teamId}', teamId);
176
+ let payload = {};
177
+ if (typeof name !== 'undefined') {
178
+ payload['name'] = name;
179
+ }
180
+
181
+ let response = undefined;
182
+
183
+ response = await client.call('put', apiPath, {
184
+ 'content-type': 'application/json',
185
+ }, payload);
186
+
187
+ if (parseOutput) {
188
+ parse(response)
189
+ }
190
+
191
+ return response;
192
+
193
+ }
194
+
195
+ /**
196
+ * @typedef {Object} TeamsDeleteRequestParams
197
+ * @property {string} teamId Team ID.
198
+ * @property {boolean} overrideForCli
199
+ * @property {boolean} parseOutput
200
+ * @property {libClient | undefined} sdk
201
+ */
202
+
203
+ /**
204
+ * @param {TeamsDeleteRequestParams} params
205
+ */
206
+ const teamsDelete = async ({teamId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
207
+ let client = !sdk ? await sdkForProject() :
208
+ sdk;
209
+ let apiPath = '/teams/{teamId}'.replace('{teamId}', teamId);
210
+ let payload = {};
211
+
212
+ let response = undefined;
213
+
214
+ response = await client.call('delete', apiPath, {
215
+ 'content-type': 'application/json',
216
+ }, payload);
217
+
218
+ if (parseOutput) {
219
+ parse(response)
220
+ }
221
+
222
+ return response;
223
+
224
+ }
225
+
226
+ /**
227
+ * @typedef {Object} TeamsListLogsRequestParams
228
+ * @property {string} teamId Team ID.
229
+ * @property {string[]} queries 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
230
+ * @property {boolean} overrideForCli
231
+ * @property {boolean} parseOutput
232
+ * @property {libClient | undefined} sdk
233
+ */
234
+
235
+ /**
236
+ * @param {TeamsListLogsRequestParams} params
237
+ */
238
+ const teamsListLogs = async ({teamId,queries,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
239
+ let client = !sdk ? await sdkForProject() :
240
+ sdk;
241
+ let apiPath = '/teams/{teamId}/logs'.replace('{teamId}', teamId);
242
+ let payload = {};
243
+ if (typeof queries !== 'undefined') {
244
+ payload['queries'] = queries;
245
+ }
246
+
247
+ let response = undefined;
248
+
249
+ response = await client.call('get', apiPath, {
250
+ }, payload);
251
+
252
+ if (parseOutput) {
253
+ parse(response)
254
+ }
255
+
256
+ return response;
257
+
258
+ }
259
+
260
+ /**
261
+ * @typedef {Object} TeamsListMembershipsRequestParams
262
+ * @property {string} teamId Team ID.
263
+ * @property {string[]} queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles
264
+ * @property {string} search Search term to filter your list results. Max length: 256 chars.
265
+ * @property {boolean} overrideForCli
266
+ * @property {boolean} parseOutput
267
+ * @property {libClient | undefined} sdk
268
+ */
269
+
270
+ /**
271
+ * @param {TeamsListMembershipsRequestParams} params
272
+ */
273
+ const teamsListMemberships = async ({teamId,queries,search,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
274
+ let client = !sdk ? await sdkForProject() :
275
+ sdk;
276
+ let apiPath = '/teams/{teamId}/memberships'.replace('{teamId}', teamId);
277
+ let payload = {};
278
+ if (typeof queries !== 'undefined') {
279
+ payload['queries'] = queries;
280
+ }
281
+ if (typeof search !== 'undefined') {
282
+ payload['search'] = search;
283
+ }
284
+
285
+ let response = undefined;
286
+
287
+ response = await client.call('get', apiPath, {
288
+ }, payload);
289
+
290
+ if (parseOutput) {
291
+ parse(response)
292
+ }
293
+
294
+ return response;
295
+
296
+ }
297
+
298
+ /**
299
+ * @typedef {Object} TeamsCreateMembershipRequestParams
300
+ * @property {string} teamId Team ID.
301
+ * @property {string[]} roles Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long.
302
+ * @property {string} email Email of the new team member.
303
+ * @property {string} userId ID of the user to be added to a team.
304
+ * @property {string} phone Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.
305
+ * @property {string} url URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.
306
+ * @property {string} name Name of the new team member. Max length: 128 chars.
307
+ * @property {boolean} overrideForCli
308
+ * @property {boolean} parseOutput
309
+ * @property {libClient | undefined} sdk
310
+ */
311
+
312
+ /**
313
+ * @param {TeamsCreateMembershipRequestParams} params
314
+ */
315
+ const teamsCreateMembership = async ({teamId,roles,email,userId,phone,url,name,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
316
+ let client = !sdk ? await sdkForProject() :
317
+ sdk;
318
+ let apiPath = '/teams/{teamId}/memberships'.replace('{teamId}', teamId);
319
+ let payload = {};
320
+ if (typeof email !== 'undefined') {
321
+ payload['email'] = email;
322
+ }
323
+ if (typeof userId !== 'undefined') {
324
+ payload['userId'] = userId;
325
+ }
326
+ if (typeof phone !== 'undefined') {
327
+ payload['phone'] = phone;
328
+ }
329
+ roles = roles === true ? [] : roles;
330
+ if (typeof roles !== 'undefined') {
331
+ payload['roles'] = roles;
332
+ }
333
+ if (typeof url !== 'undefined') {
334
+ payload['url'] = url;
335
+ }
336
+ if (typeof name !== 'undefined') {
337
+ payload['name'] = name;
338
+ }
339
+
340
+ let response = undefined;
341
+
342
+ response = await client.call('post', apiPath, {
343
+ 'content-type': 'application/json',
344
+ }, payload);
345
+
346
+ if (parseOutput) {
347
+ parse(response)
348
+ }
349
+
350
+ return response;
351
+
352
+ }
353
+
354
+ /**
355
+ * @typedef {Object} TeamsGetMembershipRequestParams
356
+ * @property {string} teamId Team ID.
357
+ * @property {string} membershipId Membership ID.
358
+ * @property {boolean} overrideForCli
359
+ * @property {boolean} parseOutput
360
+ * @property {libClient | undefined} sdk
361
+ */
362
+
363
+ /**
364
+ * @param {TeamsGetMembershipRequestParams} params
365
+ */
366
+ const teamsGetMembership = async ({teamId,membershipId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
367
+ let client = !sdk ? await sdkForProject() :
368
+ sdk;
369
+ let apiPath = '/teams/{teamId}/memberships/{membershipId}'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);
370
+ let payload = {};
371
+
372
+ let response = undefined;
373
+
374
+ response = await client.call('get', apiPath, {
375
+ }, payload);
376
+
377
+ if (parseOutput) {
378
+ parse(response)
379
+ }
380
+
381
+ return response;
382
+
383
+ }
384
+
385
+ /**
386
+ * @typedef {Object} TeamsUpdateMembershipRequestParams
387
+ * @property {string} teamId Team ID.
388
+ * @property {string} membershipId Membership ID.
389
+ * @property {string[]} roles An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long.
390
+ * @property {boolean} overrideForCli
391
+ * @property {boolean} parseOutput
392
+ * @property {libClient | undefined} sdk
393
+ */
394
+
395
+ /**
396
+ * @param {TeamsUpdateMembershipRequestParams} params
397
+ */
398
+ const teamsUpdateMembership = async ({teamId,membershipId,roles,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
399
+ let client = !sdk ? await sdkForProject() :
400
+ sdk;
401
+ let apiPath = '/teams/{teamId}/memberships/{membershipId}'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);
402
+ let payload = {};
403
+ roles = roles === true ? [] : roles;
404
+ if (typeof roles !== 'undefined') {
405
+ payload['roles'] = roles;
406
+ }
407
+
408
+ let response = undefined;
409
+
410
+ response = await client.call('patch', apiPath, {
411
+ 'content-type': 'application/json',
412
+ }, payload);
413
+
414
+ if (parseOutput) {
415
+ parse(response)
416
+ }
417
+
418
+ return response;
419
+
420
+ }
421
+
422
+ /**
423
+ * @typedef {Object} TeamsDeleteMembershipRequestParams
424
+ * @property {string} teamId Team ID.
425
+ * @property {string} membershipId Membership ID.
426
+ * @property {boolean} overrideForCli
427
+ * @property {boolean} parseOutput
428
+ * @property {libClient | undefined} sdk
429
+ */
430
+
431
+ /**
432
+ * @param {TeamsDeleteMembershipRequestParams} params
433
+ */
434
+ const teamsDeleteMembership = async ({teamId,membershipId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
435
+ let client = !sdk ? await sdkForProject() :
436
+ sdk;
437
+ let apiPath = '/teams/{teamId}/memberships/{membershipId}'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);
438
+ let payload = {};
439
+
440
+ let response = undefined;
441
+
442
+ response = await client.call('delete', apiPath, {
443
+ 'content-type': 'application/json',
444
+ }, payload);
445
+
446
+ if (parseOutput) {
447
+ parse(response)
448
+ }
449
+
450
+ return response;
451
+
452
+ }
453
+
454
+ /**
455
+ * @typedef {Object} TeamsUpdateMembershipStatusRequestParams
456
+ * @property {string} teamId Team ID.
457
+ * @property {string} membershipId Membership ID.
458
+ * @property {string} userId User ID.
459
+ * @property {string} secret Secret key.
460
+ * @property {boolean} overrideForCli
461
+ * @property {boolean} parseOutput
462
+ * @property {libClient | undefined} sdk
463
+ */
464
+
465
+ /**
466
+ * @param {TeamsUpdateMembershipStatusRequestParams} params
467
+ */
468
+ const teamsUpdateMembershipStatus = async ({teamId,membershipId,userId,secret,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
469
+ let client = !sdk ? await sdkForProject() :
470
+ sdk;
471
+ let apiPath = '/teams/{teamId}/memberships/{membershipId}/status'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);
472
+ let payload = {};
473
+ if (typeof userId !== 'undefined') {
474
+ payload['userId'] = userId;
475
+ }
476
+ if (typeof secret !== 'undefined') {
477
+ payload['secret'] = secret;
478
+ }
479
+
480
+ let response = undefined;
481
+
482
+ response = await client.call('patch', apiPath, {
483
+ 'content-type': 'application/json',
484
+ }, payload);
485
+
486
+ if (parseOutput) {
487
+ parse(response)
488
+ }
489
+
490
+ return response;
491
+
492
+ }
493
+
494
+ /**
495
+ * @typedef {Object} TeamsGetPrefsRequestParams
496
+ * @property {string} teamId Team ID.
497
+ * @property {boolean} overrideForCli
498
+ * @property {boolean} parseOutput
499
+ * @property {libClient | undefined} sdk
500
+ */
501
+
502
+ /**
503
+ * @param {TeamsGetPrefsRequestParams} params
504
+ */
505
+ const teamsGetPrefs = async ({teamId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
506
+ let client = !sdk ? await sdkForProject() :
507
+ sdk;
508
+ let apiPath = '/teams/{teamId}/prefs'.replace('{teamId}', teamId);
509
+ let payload = {};
510
+
511
+ let response = undefined;
512
+
513
+ response = await client.call('get', apiPath, {
514
+ }, payload);
515
+
516
+ if (parseOutput) {
517
+ parse(response)
518
+ }
519
+
520
+ return response;
521
+
522
+ }
523
+
524
+ /**
525
+ * @typedef {Object} TeamsUpdatePrefsRequestParams
526
+ * @property {string} teamId Team ID.
527
+ * @property {object} prefs Prefs key-value JSON object.
528
+ * @property {boolean} overrideForCli
529
+ * @property {boolean} parseOutput
530
+ * @property {libClient | undefined} sdk
531
+ */
532
+
533
+ /**
534
+ * @param {TeamsUpdatePrefsRequestParams} params
535
+ */
536
+ const teamsUpdatePrefs = async ({teamId,prefs,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
537
+ let client = !sdk ? await sdkForProject() :
538
+ sdk;
539
+ let apiPath = '/teams/{teamId}/prefs'.replace('{teamId}', teamId);
540
+ let payload = {};
541
+ if (typeof prefs !== 'undefined') {
542
+ payload['prefs'] = JSON.parse(prefs);
543
+ }
544
+
545
+ let response = undefined;
546
+
547
+ response = await client.call('put', apiPath, {
548
+ 'content-type': 'application/json',
549
+ }, payload);
550
+
551
+ if (parseOutput) {
552
+ parse(response)
553
+ }
554
+
555
+ return response;
556
+
557
+ }
558
+
559
+ teams
560
+ .command(`list`)
561
+ .description(`Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.`)
562
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan`)
563
+ .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
564
+ .option(`--console`, `Get the resource console url`)
565
+ .action(actionRunner(teamsList))
566
+
567
+ teams
568
+ .command(`create`)
569
+ .description(`Create a new team. The user who creates the team will automatically be assigned as the owner of the team. Only the users with the owner role can invite new members, add new owners and delete or update the team.`)
570
+ .requiredOption(`--team-id <team-id>`, `Team 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.`)
571
+ .requiredOption(`--name <name>`, `Team name. Max length: 128 chars.`)
572
+ .option(`--roles [roles...]`, `Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long.`)
573
+ .action(actionRunner(teamsCreate))
574
+
575
+ teams
576
+ .command(`get`)
577
+ .description(`Get a team by its ID. All team members have read access for this resource.`)
578
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
579
+ .option(`--console`, `Get the resource console url`)
580
+ .action(actionRunner(teamsGet))
581
+
582
+ teams
583
+ .command(`update-name`)
584
+ .description(`Update the team's name by its unique ID.`)
585
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
586
+ .requiredOption(`--name <name>`, `New team name. Max length: 128 chars.`)
587
+ .action(actionRunner(teamsUpdateName))
588
+
589
+ teams
590
+ .command(`delete`)
591
+ .description(`Delete a team using its ID. Only team members with the owner role can delete the team.`)
592
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
593
+ .action(actionRunner(teamsDelete))
594
+
595
+ teams
596
+ .command(`list-logs`)
597
+ .description(`Get the team activity logs list by its unique ID.`)
598
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
599
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset`)
600
+ .action(actionRunner(teamsListLogs))
601
+
602
+ teams
603
+ .command(`list-memberships`)
604
+ .description(`Use this endpoint to list a team's members using the team's ID. All team members have read access to this endpoint. Hide sensitive attributes from the response by toggling membership privacy in the Console.`)
605
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
606
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles`)
607
+ .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
608
+ .action(actionRunner(teamsListMemberships))
609
+
610
+ teams
611
+ .command(`create-membership`)
612
+ .description(`Invite a new member to join your team. Provide an ID for existing users, or invite unregistered users using an email or phone number. If initiated from a Client SDK, Appwrite will send an email or sms with a link to join the team to the invited user, and an account will be created for them if one doesn't exist. If initiated from a Server SDK, the new member will be added automatically to the team. You only need to provide one of a user ID, email, or phone number. Appwrite will prioritize accepting the user ID > email > phone number if you provide more than one of these parameters. Use the 'url' parameter to redirect the user from the invitation email to your app. After the user is redirected, use the [Update Team Membership Status](https://appwrite.io/docs/references/cloud/client-web/teams#updateMembershipStatus) endpoint to allow the user to accept the invitation to the team. Please note that to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) Appwrite will accept the only redirect URLs under the domains you have added as a platform on the Appwrite Console. `)
613
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
614
+ .requiredOption(`--roles [roles...]`, `Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long.`)
615
+ .option(`--email <email>`, `Email of the new team member.`)
616
+ .option(`--user-id <user-id>`, `ID of the user to be added to a team.`)
617
+ .option(`--phone <phone>`, `Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.`)
618
+ .option(`--url <url>`, `URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`)
619
+ .option(`--name <name>`, `Name of the new team member. Max length: 128 chars.`)
620
+ .action(actionRunner(teamsCreateMembership))
621
+
622
+ teams
623
+ .command(`get-membership`)
624
+ .description(`Get a team member by the membership unique id. All team members have read access for this resource. Hide sensitive attributes from the response by toggling membership privacy in the Console.`)
625
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
626
+ .requiredOption(`--membership-id <membership-id>`, `Membership ID.`)
627
+ .action(actionRunner(teamsGetMembership))
628
+
629
+ teams
630
+ .command(`update-membership`)
631
+ .description(`Modify the roles of a team member. Only team members with the owner role have access to this endpoint. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). `)
632
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
633
+ .requiredOption(`--membership-id <membership-id>`, `Membership ID.`)
634
+ .requiredOption(`--roles [roles...]`, `An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long.`)
635
+ .action(actionRunner(teamsUpdateMembership))
636
+
637
+ teams
638
+ .command(`delete-membership`)
639
+ .description(`This endpoint allows a user to leave a team or for a team owner to delete the membership of any other team member. You can also use this endpoint to delete a user membership even if it is not accepted.`)
640
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
641
+ .requiredOption(`--membership-id <membership-id>`, `Membership ID.`)
642
+ .action(actionRunner(teamsDeleteMembership))
643
+
644
+ teams
645
+ .command(`update-membership-status`)
646
+ .description(`Use this endpoint to allow a user to accept an invitation to join a team after being redirected back to your app from the invitation email received by the user. If the request is successful, a session for the user is automatically created. `)
647
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
648
+ .requiredOption(`--membership-id <membership-id>`, `Membership ID.`)
649
+ .requiredOption(`--user-id <user-id>`, `User ID.`)
650
+ .requiredOption(`--secret <secret>`, `Secret key.`)
651
+ .action(actionRunner(teamsUpdateMembershipStatus))
652
+
653
+ teams
654
+ .command(`get-prefs`)
655
+ .description(`Get the team's shared preferences by its unique ID. If a preference doesn't need to be shared by all team members, prefer storing them in [user preferences](https://appwrite.io/docs/references/cloud/client-web/account#getPrefs).`)
656
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
657
+ .action(actionRunner(teamsGetPrefs))
658
+
659
+ teams
660
+ .command(`update-prefs`)
661
+ .description(`Update the team's preferences by its unique ID. The object you pass is stored as is and replaces any previous value. The maximum allowed prefs size is 64kB and throws an error if exceeded.`)
662
+ .requiredOption(`--team-id <team-id>`, `Team ID.`)
663
+ .requiredOption(`--prefs <prefs>`, `Prefs key-value JSON object.`)
664
+ .action(actionRunner(teamsUpdatePrefs))
665
+
666
+ module.exports = {
667
+ teams,
668
+ teamsList,
669
+ teamsCreate,
670
+ teamsGet,
671
+ teamsUpdateName,
672
+ teamsDelete,
673
+ teamsListLogs,
674
+ teamsListMemberships,
675
+ teamsCreateMembership,
676
+ teamsGetMembership,
677
+ teamsUpdateMembership,
678
+ teamsDeleteMembership,
679
+ teamsUpdateMembershipStatus,
680
+ teamsGetPrefs,
681
+ teamsUpdatePrefs
682
+ };