@appwrite.io/console 0.5.0 → 0.6.0-rc.10

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 (456) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/sdk.js +3770 -355
  3. package/dist/cjs/sdk.js.map +1 -1
  4. package/dist/esm/sdk.js +3770 -356
  5. package/dist/esm/sdk.js.map +1 -1
  6. package/dist/iife/sdk.js +3770 -355
  7. package/docs/examples/account/{update-phone-session.md → add-authenticator.md} +2 -2
  8. package/docs/examples/account/create-anonymous-session.md +1 -1
  9. package/docs/examples/account/create-email-password-session.md +18 -0
  10. package/docs/examples/account/{create-email-session.md → create-email-token.md} +2 -2
  11. package/docs/examples/account/create-j-w-t.md +1 -1
  12. package/docs/examples/account/{create-magic-u-r-l-session.md → create-magic-u-r-l-token.md} +2 -2
  13. package/docs/examples/account/create-o-auth2session.md +2 -2
  14. package/docs/examples/account/{create-phone-session.md → create-phone-token.md} +2 -2
  15. package/docs/examples/account/create-phone-verification.md +1 -1
  16. package/docs/examples/account/create-push-target.md +18 -0
  17. package/docs/examples/account/create-recovery.md +1 -1
  18. package/docs/examples/account/create-session.md +18 -0
  19. package/docs/examples/account/create-verification.md +1 -1
  20. package/docs/examples/account/create.md +1 -1
  21. package/docs/examples/account/create2f-a-challenge.md +18 -0
  22. package/docs/examples/account/delete-authenticator.md +18 -0
  23. package/docs/examples/account/delete-identity.md +1 -1
  24. package/docs/examples/account/delete-push-target.md +18 -0
  25. package/docs/examples/account/delete-session.md +1 -1
  26. package/docs/examples/account/delete-sessions.md +1 -1
  27. package/docs/examples/account/delete.md +1 -1
  28. package/docs/examples/account/get-prefs.md +1 -1
  29. package/docs/examples/account/get-session.md +1 -1
  30. package/docs/examples/account/get.md +1 -1
  31. package/docs/examples/account/list-factors.md +18 -0
  32. package/docs/examples/account/list-identities.md +1 -1
  33. package/docs/examples/account/list-logs.md +1 -1
  34. package/docs/examples/account/list-sessions.md +1 -1
  35. package/docs/examples/account/update-challenge.md +18 -0
  36. package/docs/examples/account/update-email.md +1 -1
  37. package/docs/examples/account/update-m-f-a.md +18 -0
  38. package/docs/examples/account/update-magic-u-r-l-session.md +1 -1
  39. package/docs/examples/account/update-name.md +1 -1
  40. package/docs/examples/account/update-password.md +1 -1
  41. package/docs/examples/account/update-phone-verification.md +1 -1
  42. package/docs/examples/account/update-phone.md +1 -1
  43. package/docs/examples/account/update-prefs.md +1 -1
  44. package/docs/examples/account/update-push-target.md +18 -0
  45. package/docs/examples/account/update-recovery.md +2 -2
  46. package/docs/examples/account/update-session.md +1 -1
  47. package/docs/examples/account/update-status.md +1 -1
  48. package/docs/examples/account/update-verification.md +1 -1
  49. package/docs/examples/account/verify-authenticator.md +18 -0
  50. package/docs/examples/assistant/chat.md +1 -1
  51. package/docs/examples/avatars/get-browser.md +2 -2
  52. package/docs/examples/avatars/get-credit-card.md +2 -2
  53. package/docs/examples/avatars/get-favicon.md +1 -1
  54. package/docs/examples/avatars/get-flag.md +2 -2
  55. package/docs/examples/avatars/get-image.md +1 -1
  56. package/docs/examples/avatars/get-initials.md +1 -1
  57. package/docs/examples/avatars/get-q-r.md +1 -1
  58. package/docs/examples/console/variables.md +1 -1
  59. package/docs/examples/databases/create-boolean-attribute.md +1 -1
  60. package/docs/examples/databases/create-collection.md +1 -1
  61. package/docs/examples/databases/create-datetime-attribute.md +1 -1
  62. package/docs/examples/databases/create-document.md +1 -1
  63. package/docs/examples/databases/create-email-attribute.md +1 -1
  64. package/docs/examples/databases/create-enum-attribute.md +1 -1
  65. package/docs/examples/databases/create-float-attribute.md +1 -1
  66. package/docs/examples/databases/create-index.md +2 -2
  67. package/docs/examples/databases/create-integer-attribute.md +1 -1
  68. package/docs/examples/databases/create-ip-attribute.md +1 -1
  69. package/docs/examples/databases/create-relationship-attribute.md +2 -2
  70. package/docs/examples/databases/create-string-attribute.md +1 -1
  71. package/docs/examples/databases/create-url-attribute.md +1 -1
  72. package/docs/examples/databases/create.md +1 -1
  73. package/docs/examples/databases/delete-attribute.md +1 -1
  74. package/docs/examples/databases/delete-collection.md +1 -1
  75. package/docs/examples/databases/delete-document.md +1 -1
  76. package/docs/examples/databases/delete-index.md +1 -1
  77. package/docs/examples/databases/delete.md +1 -1
  78. package/docs/examples/databases/get-attribute.md +1 -1
  79. package/docs/examples/databases/get-collection-usage.md +1 -1
  80. package/docs/examples/databases/get-collection.md +1 -1
  81. package/docs/examples/databases/get-database-usage.md +1 -1
  82. package/docs/examples/databases/get-document.md +1 -1
  83. package/docs/examples/databases/get-index.md +1 -1
  84. package/docs/examples/databases/get-usage.md +1 -1
  85. package/docs/examples/databases/get.md +1 -1
  86. package/docs/examples/databases/list-attributes.md +1 -1
  87. package/docs/examples/databases/list-collection-logs.md +1 -1
  88. package/docs/examples/databases/list-collections.md +1 -1
  89. package/docs/examples/databases/list-document-logs.md +1 -1
  90. package/docs/examples/databases/list-documents.md +1 -1
  91. package/docs/examples/databases/list-indexes.md +1 -1
  92. package/docs/examples/databases/list-logs.md +1 -1
  93. package/docs/examples/databases/list.md +1 -1
  94. package/docs/examples/databases/update-boolean-attribute.md +1 -1
  95. package/docs/examples/databases/update-collection.md +1 -1
  96. package/docs/examples/databases/update-datetime-attribute.md +1 -1
  97. package/docs/examples/databases/update-document.md +1 -1
  98. package/docs/examples/databases/update-email-attribute.md +1 -1
  99. package/docs/examples/databases/update-enum-attribute.md +1 -1
  100. package/docs/examples/databases/update-float-attribute.md +1 -1
  101. package/docs/examples/databases/update-integer-attribute.md +1 -1
  102. package/docs/examples/databases/update-ip-attribute.md +1 -1
  103. package/docs/examples/databases/update-relationship-attribute.md +1 -1
  104. package/docs/examples/databases/update-string-attribute.md +1 -1
  105. package/docs/examples/databases/update-url-attribute.md +1 -1
  106. package/docs/examples/databases/update.md +1 -1
  107. package/docs/examples/functions/create-build.md +1 -1
  108. package/docs/examples/functions/create-deployment.md +1 -1
  109. package/docs/examples/functions/create-execution.md +1 -1
  110. package/docs/examples/functions/create-variable.md +1 -1
  111. package/docs/examples/functions/create.md +2 -2
  112. package/docs/examples/functions/delete-deployment.md +1 -1
  113. package/docs/examples/functions/delete-variable.md +1 -1
  114. package/docs/examples/functions/delete.md +1 -1
  115. package/docs/examples/functions/download-deployment.md +1 -1
  116. package/docs/examples/functions/get-deployment.md +1 -1
  117. package/docs/examples/functions/get-execution.md +1 -1
  118. package/docs/examples/functions/get-function-usage.md +1 -1
  119. package/docs/examples/functions/get-usage.md +1 -1
  120. package/docs/examples/functions/get-variable.md +1 -1
  121. package/docs/examples/functions/get.md +1 -1
  122. package/docs/examples/functions/list-deployments.md +1 -1
  123. package/docs/examples/functions/list-executions.md +1 -1
  124. package/docs/examples/functions/list-runtimes.md +1 -1
  125. package/docs/examples/functions/list-variables.md +1 -1
  126. package/docs/examples/functions/list.md +1 -1
  127. package/docs/examples/functions/update-deployment.md +1 -1
  128. package/docs/examples/functions/update-variable.md +1 -1
  129. package/docs/examples/functions/update.md +1 -1
  130. package/docs/examples/graphql/mutation.md +1 -1
  131. package/docs/examples/graphql/query.md +1 -1
  132. package/docs/examples/health/get-antivirus.md +1 -1
  133. package/docs/examples/health/get-cache.md +1 -1
  134. package/docs/examples/health/get-certificate.md +18 -0
  135. package/docs/examples/health/get-d-b.md +1 -1
  136. package/docs/examples/health/get-failed-jobs.md +18 -0
  137. package/docs/examples/health/get-pub-sub.md +1 -1
  138. package/docs/examples/health/get-queue-builds.md +1 -1
  139. package/docs/examples/health/get-queue-certificates.md +1 -1
  140. package/docs/examples/health/get-queue-databases.md +1 -1
  141. package/docs/examples/health/get-queue-deletes.md +1 -1
  142. package/docs/examples/health/get-queue-functions.md +1 -1
  143. package/docs/examples/health/get-queue-logs.md +1 -1
  144. package/docs/examples/health/get-queue-mails.md +1 -1
  145. package/docs/examples/health/get-queue-messaging.md +1 -1
  146. package/docs/examples/health/get-queue-migrations.md +1 -1
  147. package/docs/examples/health/get-queue-webhooks.md +1 -1
  148. package/docs/examples/health/get-queue.md +1 -1
  149. package/docs/examples/health/get-storage-local.md +1 -1
  150. package/docs/examples/health/get-time.md +1 -1
  151. package/docs/examples/health/get.md +1 -1
  152. package/docs/examples/locale/get.md +1 -1
  153. package/docs/examples/locale/list-codes.md +1 -1
  154. package/docs/examples/locale/list-continents.md +1 -1
  155. package/docs/examples/locale/list-countries-e-u.md +1 -1
  156. package/docs/examples/locale/list-countries-phones.md +1 -1
  157. package/docs/examples/locale/list-countries.md +1 -1
  158. package/docs/examples/locale/list-currencies.md +1 -1
  159. package/docs/examples/locale/list-languages.md +1 -1
  160. package/docs/examples/messaging/create-a-p-n-s-provider.md +18 -0
  161. package/docs/examples/messaging/create-email.md +18 -0
  162. package/docs/examples/messaging/create-f-c-m-provider.md +18 -0
  163. package/docs/examples/messaging/create-mailgun-provider.md +18 -0
  164. package/docs/examples/messaging/create-msg91provider.md +18 -0
  165. package/docs/examples/messaging/create-push.md +18 -0
  166. package/docs/examples/messaging/create-s-m-s.md +18 -0
  167. package/docs/examples/messaging/create-s-m-t-p-provider.md +18 -0
  168. package/docs/examples/messaging/create-sendgrid-provider.md +18 -0
  169. package/docs/examples/messaging/create-subscriber.md +18 -0
  170. package/docs/examples/messaging/create-telesign-provider.md +18 -0
  171. package/docs/examples/messaging/create-textmagic-provider.md +18 -0
  172. package/docs/examples/messaging/create-topic.md +18 -0
  173. package/docs/examples/messaging/create-twilio-provider.md +18 -0
  174. package/docs/examples/messaging/create-vonage-provider.md +18 -0
  175. package/docs/examples/messaging/delete-provider.md +18 -0
  176. package/docs/examples/messaging/delete-subscriber.md +18 -0
  177. package/docs/examples/messaging/delete-topic.md +18 -0
  178. package/docs/examples/messaging/delete.md +18 -0
  179. package/docs/examples/messaging/get-message.md +18 -0
  180. package/docs/examples/messaging/get-provider.md +18 -0
  181. package/docs/examples/messaging/get-subscriber.md +18 -0
  182. package/docs/examples/messaging/get-topic.md +18 -0
  183. package/docs/examples/messaging/list-message-logs.md +18 -0
  184. package/docs/examples/messaging/list-messages.md +18 -0
  185. package/docs/examples/messaging/list-provider-logs.md +18 -0
  186. package/docs/examples/messaging/list-providers.md +18 -0
  187. package/docs/examples/messaging/list-subscriber-logs.md +18 -0
  188. package/docs/examples/messaging/list-subscribers.md +18 -0
  189. package/docs/examples/messaging/list-targets.md +18 -0
  190. package/docs/examples/messaging/list-topic-logs.md +18 -0
  191. package/docs/examples/messaging/list-topics.md +18 -0
  192. package/docs/examples/messaging/update-a-p-n-s-provider.md +18 -0
  193. package/docs/examples/messaging/update-email.md +18 -0
  194. package/docs/examples/messaging/update-f-c-m-provider.md +18 -0
  195. package/docs/examples/messaging/update-mailgun-provider.md +18 -0
  196. package/docs/examples/messaging/update-msg91provider.md +18 -0
  197. package/docs/examples/messaging/update-push.md +18 -0
  198. package/docs/examples/messaging/update-s-m-s.md +18 -0
  199. package/docs/examples/messaging/update-s-m-t-p-provider.md +18 -0
  200. package/docs/examples/messaging/update-sendgrid-provider.md +18 -0
  201. package/docs/examples/messaging/update-telesign-provider.md +18 -0
  202. package/docs/examples/messaging/update-textmagic-provider.md +18 -0
  203. package/docs/examples/messaging/update-topic.md +18 -0
  204. package/docs/examples/messaging/update-twilio-provider.md +18 -0
  205. package/docs/examples/messaging/update-vonage-provider.md +18 -0
  206. package/docs/examples/migrations/create-appwrite-migration.md +1 -1
  207. package/docs/examples/migrations/create-firebase-migration.md +1 -1
  208. package/docs/examples/migrations/create-firebase-o-auth-migration.md +1 -1
  209. package/docs/examples/migrations/create-n-host-migration.md +1 -1
  210. package/docs/examples/migrations/create-supabase-migration.md +1 -1
  211. package/docs/examples/migrations/delete-firebase-auth.md +1 -1
  212. package/docs/examples/migrations/delete.md +1 -1
  213. package/docs/examples/migrations/get-appwrite-report.md +1 -1
  214. package/docs/examples/migrations/get-firebase-report-o-auth.md +1 -1
  215. package/docs/examples/migrations/get-firebase-report.md +1 -1
  216. package/docs/examples/migrations/get-n-host-report.md +1 -1
  217. package/docs/examples/migrations/get-supabase-report.md +1 -1
  218. package/docs/examples/migrations/get.md +1 -1
  219. package/docs/examples/migrations/list-firebase-projects.md +1 -1
  220. package/docs/examples/migrations/list.md +1 -1
  221. package/docs/examples/migrations/retry.md +1 -1
  222. package/docs/examples/project/create-variable.md +1 -1
  223. package/docs/examples/project/delete-variable.md +1 -1
  224. package/docs/examples/project/get-usage.md +1 -1
  225. package/docs/examples/project/get-variable.md +1 -1
  226. package/docs/examples/project/list-variables.md +1 -1
  227. package/docs/examples/project/update-variable.md +1 -1
  228. package/docs/examples/projects/create-key.md +1 -1
  229. package/docs/examples/projects/create-platform.md +2 -2
  230. package/docs/examples/projects/create-smtp-test.md +18 -0
  231. package/docs/examples/projects/create-webhook.md +2 -2
  232. package/docs/examples/projects/create.md +1 -1
  233. package/docs/examples/projects/delete-email-template.md +2 -2
  234. package/docs/examples/projects/delete-key.md +1 -1
  235. package/docs/examples/projects/delete-platform.md +1 -1
  236. package/docs/examples/projects/delete-sms-template.md +2 -2
  237. package/docs/examples/projects/delete-webhook.md +1 -1
  238. package/docs/examples/projects/delete.md +1 -1
  239. package/docs/examples/projects/get-email-template.md +2 -2
  240. package/docs/examples/projects/get-key.md +1 -1
  241. package/docs/examples/projects/get-platform.md +1 -1
  242. package/docs/examples/projects/get-sms-template.md +2 -2
  243. package/docs/examples/projects/get-webhook.md +1 -1
  244. package/docs/examples/projects/get.md +1 -1
  245. package/docs/examples/projects/list-keys.md +1 -1
  246. package/docs/examples/projects/list-platforms.md +1 -1
  247. package/docs/examples/projects/list-webhooks.md +1 -1
  248. package/docs/examples/projects/list.md +1 -1
  249. package/docs/examples/projects/update-auth-duration.md +1 -1
  250. package/docs/examples/projects/update-auth-limit.md +1 -1
  251. package/docs/examples/projects/update-auth-password-dictionary.md +1 -1
  252. package/docs/examples/projects/update-auth-password-history.md +1 -1
  253. package/docs/examples/projects/update-auth-sessions-limit.md +1 -1
  254. package/docs/examples/projects/update-auth-status.md +2 -2
  255. package/docs/examples/projects/update-email-template.md +2 -2
  256. package/docs/examples/projects/update-key.md +1 -1
  257. package/docs/examples/projects/update-o-auth2.md +2 -2
  258. package/docs/examples/projects/update-personal-data-check.md +1 -1
  259. package/docs/examples/projects/update-platform.md +1 -1
  260. package/docs/examples/projects/update-service-status-all.md +1 -1
  261. package/docs/examples/projects/update-service-status.md +2 -2
  262. package/docs/examples/projects/update-sms-template.md +2 -2
  263. package/docs/examples/projects/{update-smtp-configuration.md → update-smtp.md} +2 -2
  264. package/docs/examples/projects/update-team.md +1 -1
  265. package/docs/examples/projects/update-webhook-signature.md +1 -1
  266. package/docs/examples/projects/update-webhook.md +2 -2
  267. package/docs/examples/projects/update.md +1 -1
  268. package/docs/examples/proxy/create-rule.md +2 -2
  269. package/docs/examples/proxy/delete-rule.md +1 -1
  270. package/docs/examples/proxy/get-rule.md +1 -1
  271. package/docs/examples/proxy/list-rules.md +1 -1
  272. package/docs/examples/proxy/update-rule-verification.md +1 -1
  273. package/docs/examples/storage/create-bucket.md +1 -1
  274. package/docs/examples/storage/create-file.md +1 -1
  275. package/docs/examples/storage/delete-bucket.md +1 -1
  276. package/docs/examples/storage/delete-file.md +1 -1
  277. package/docs/examples/storage/get-bucket-usage.md +1 -1
  278. package/docs/examples/storage/get-bucket.md +1 -1
  279. package/docs/examples/storage/get-file-download.md +1 -1
  280. package/docs/examples/storage/get-file-preview.md +1 -1
  281. package/docs/examples/storage/get-file-view.md +1 -1
  282. package/docs/examples/storage/get-file.md +1 -1
  283. package/docs/examples/storage/get-usage.md +1 -1
  284. package/docs/examples/storage/list-buckets.md +1 -1
  285. package/docs/examples/storage/list-files.md +1 -1
  286. package/docs/examples/storage/update-bucket.md +1 -1
  287. package/docs/examples/storage/update-file.md +1 -1
  288. package/docs/examples/teams/create-membership.md +1 -1
  289. package/docs/examples/teams/create.md +1 -1
  290. package/docs/examples/teams/delete-membership.md +1 -1
  291. package/docs/examples/teams/delete.md +1 -1
  292. package/docs/examples/teams/get-membership.md +1 -1
  293. package/docs/examples/teams/get-prefs.md +1 -1
  294. package/docs/examples/teams/get.md +1 -1
  295. package/docs/examples/teams/list-logs.md +1 -1
  296. package/docs/examples/teams/list-memberships.md +1 -1
  297. package/docs/examples/teams/list.md +1 -1
  298. package/docs/examples/teams/update-membership-status.md +1 -1
  299. package/docs/examples/teams/update-membership.md +1 -1
  300. package/docs/examples/teams/update-name.md +1 -1
  301. package/docs/examples/teams/update-prefs.md +1 -1
  302. package/docs/examples/users/create-argon2user.md +1 -1
  303. package/docs/examples/users/create-bcrypt-user.md +1 -1
  304. package/docs/examples/users/create-m-d5user.md +1 -1
  305. package/docs/examples/users/create-p-h-pass-user.md +1 -1
  306. package/docs/examples/users/create-s-h-a-user.md +1 -1
  307. package/docs/examples/users/create-scrypt-modified-user.md +1 -1
  308. package/docs/examples/users/create-scrypt-user.md +1 -1
  309. package/docs/examples/users/create-session.md +18 -0
  310. package/docs/examples/users/create-target.md +18 -0
  311. package/docs/examples/users/create-token.md +18 -0
  312. package/docs/examples/users/create.md +1 -1
  313. package/docs/examples/users/delete-authenticator.md +18 -0
  314. package/docs/examples/users/delete-identity.md +1 -1
  315. package/docs/examples/users/delete-session.md +1 -1
  316. package/docs/examples/users/delete-sessions.md +1 -1
  317. package/docs/examples/users/delete-target.md +18 -0
  318. package/docs/examples/users/delete.md +1 -1
  319. package/docs/examples/users/get-prefs.md +1 -1
  320. package/docs/examples/users/get-target.md +18 -0
  321. package/docs/examples/users/get-usage.md +1 -1
  322. package/docs/examples/users/get.md +1 -1
  323. package/docs/examples/users/list-factors.md +18 -0
  324. package/docs/examples/users/list-identities.md +1 -1
  325. package/docs/examples/users/list-logs.md +1 -1
  326. package/docs/examples/users/list-memberships.md +1 -1
  327. package/docs/examples/users/list-sessions.md +1 -1
  328. package/docs/examples/users/list-targets.md +18 -0
  329. package/docs/examples/users/list.md +1 -1
  330. package/docs/examples/users/update-email-verification.md +1 -1
  331. package/docs/examples/users/update-email.md +1 -1
  332. package/docs/examples/users/update-labels.md +1 -1
  333. package/docs/examples/users/update-mfa.md +18 -0
  334. package/docs/examples/users/update-name.md +1 -1
  335. package/docs/examples/users/update-password.md +1 -1
  336. package/docs/examples/users/update-phone-verification.md +1 -1
  337. package/docs/examples/users/update-phone.md +1 -1
  338. package/docs/examples/users/update-prefs.md +1 -1
  339. package/docs/examples/users/update-status.md +1 -1
  340. package/docs/examples/users/update-target.md +18 -0
  341. package/docs/examples/vcs/create-repository-detection.md +1 -1
  342. package/docs/examples/vcs/create-repository.md +1 -1
  343. package/docs/examples/vcs/delete-installation.md +1 -1
  344. package/docs/examples/vcs/get-installation.md +1 -1
  345. package/docs/examples/vcs/get-repository.md +1 -1
  346. package/docs/examples/vcs/list-installations.md +1 -1
  347. package/docs/examples/vcs/list-repositories.md +1 -1
  348. package/docs/examples/vcs/list-repository-branches.md +1 -1
  349. package/docs/examples/vcs/update-external-deployments.md +1 -1
  350. package/package.json +1 -1
  351. package/src/client.ts +2 -2
  352. package/src/enums/a-p-i-service.ts +13 -0
  353. package/src/enums/auth-method.ts +9 -0
  354. package/src/enums/browser.ts +16 -0
  355. package/src/enums/compression.ts +5 -0
  356. package/src/enums/credit-card.ts +18 -0
  357. package/src/enums/database-usage-range.ts +5 -0
  358. package/src/enums/email-template-locale.ts +133 -0
  359. package/src/enums/email-template-type.ts +6 -0
  360. package/src/enums/execution-method.ts +8 -0
  361. package/src/enums/factor.ts +5 -0
  362. package/src/enums/flag.ts +196 -0
  363. package/src/enums/function-usage-range.ts +5 -0
  364. package/src/enums/image-format.ts +7 -0
  365. package/src/enums/image-gravity.ts +11 -0
  366. package/src/enums/index-type.ts +6 -0
  367. package/src/enums/message-status.ts +5 -0
  368. package/src/enums/messaging-provider-type.ts +5 -0
  369. package/src/enums/name.ts +14 -0
  370. package/src/enums/o-auth-provider.ts +41 -0
  371. package/src/enums/password-hash.ts +13 -0
  372. package/src/enums/platform-type.ts +15 -0
  373. package/src/enums/project-usage-range.ts +4 -0
  374. package/src/enums/region.ts +3 -0
  375. package/src/enums/relation-mutate.ts +5 -0
  376. package/src/enums/relationship-type.ts +6 -0
  377. package/src/enums/resource-type.ts +4 -0
  378. package/src/enums/runtime.ts +6 -0
  379. package/src/enums/s-m-s-template-locale.ts +133 -0
  380. package/src/enums/s-m-s-template-type.ts +5 -0
  381. package/src/enums/s-m-t-p-encryption.ts +5 -0
  382. package/src/enums/s-m-t-p-secure.ts +3 -0
  383. package/src/enums/storage-usage-range.ts +5 -0
  384. package/src/enums/type.ts +3 -0
  385. package/src/enums/user-usage-range.ts +5 -0
  386. package/src/index.ts +36 -1
  387. package/src/models.ts +417 -7
  388. package/src/query.ts +61 -34
  389. package/src/service.ts +7 -7
  390. package/src/services/account.ts +468 -143
  391. package/src/services/assistant.ts +1 -0
  392. package/src/services/avatars.ts +10 -6
  393. package/src/services/console.ts +1 -0
  394. package/src/services/databases.ts +18 -13
  395. package/src/services/functions.ts +14 -10
  396. package/src/services/graphql.ts +1 -0
  397. package/src/services/health.ts +54 -0
  398. package/src/services/locale.ts +1 -0
  399. package/src/services/messaging.ts +2176 -0
  400. package/src/services/migrations.ts +3 -2
  401. package/src/services/project.ts +4 -2
  402. package/src/services/projects.ts +137 -33
  403. package/src/services/proxy.ts +4 -2
  404. package/src/services/storage.ts +16 -11
  405. package/src/services/teams.ts +1 -0
  406. package/src/services/users.ts +348 -7
  407. package/src/services/vcs.ts +1 -0
  408. package/types/enums/a-p-i-service.d.ts +13 -0
  409. package/types/enums/auth-method.d.ts +9 -0
  410. package/types/enums/browser.d.ts +16 -0
  411. package/types/enums/compression.d.ts +5 -0
  412. package/types/enums/credit-card.d.ts +18 -0
  413. package/types/enums/database-usage-range.d.ts +5 -0
  414. package/types/enums/email-template-locale.d.ts +133 -0
  415. package/types/enums/email-template-type.d.ts +6 -0
  416. package/types/enums/execution-method.d.ts +8 -0
  417. package/types/enums/factor.d.ts +5 -0
  418. package/types/enums/flag.d.ts +196 -0
  419. package/types/enums/function-usage-range.d.ts +5 -0
  420. package/types/enums/image-format.d.ts +7 -0
  421. package/types/enums/image-gravity.d.ts +11 -0
  422. package/types/enums/index-type.d.ts +6 -0
  423. package/types/enums/message-status.d.ts +5 -0
  424. package/types/enums/messaging-provider-type.d.ts +5 -0
  425. package/types/enums/name.d.ts +14 -0
  426. package/types/enums/o-auth-provider.d.ts +41 -0
  427. package/types/enums/password-hash.d.ts +13 -0
  428. package/types/enums/platform-type.d.ts +15 -0
  429. package/types/enums/project-usage-range.d.ts +4 -0
  430. package/types/enums/region.d.ts +3 -0
  431. package/types/enums/relation-mutate.d.ts +5 -0
  432. package/types/enums/relationship-type.d.ts +6 -0
  433. package/types/enums/resource-type.d.ts +4 -0
  434. package/types/enums/runtime.d.ts +6 -0
  435. package/types/enums/s-m-s-template-locale.d.ts +133 -0
  436. package/types/enums/s-m-s-template-type.d.ts +5 -0
  437. package/types/enums/s-m-t-p-encryption.d.ts +5 -0
  438. package/types/enums/s-m-t-p-secure.d.ts +3 -0
  439. package/types/enums/storage-usage-range.d.ts +5 -0
  440. package/types/enums/type.d.ts +3 -0
  441. package/types/enums/user-usage-range.d.ts +5 -0
  442. package/types/index.d.ts +35 -0
  443. package/types/models.d.ts +417 -7
  444. package/types/query.d.ts +10 -3
  445. package/types/services/account.d.ts +188 -79
  446. package/types/services/avatars.d.ts +9 -6
  447. package/types/services/databases.d.ts +17 -13
  448. package/types/services/functions.d.ts +13 -10
  449. package/types/services/health.d.ts +23 -0
  450. package/types/services/messaging.d.ts +627 -0
  451. package/types/services/migrations.d.ts +2 -2
  452. package/types/services/project.d.ts +3 -2
  453. package/types/services/projects.d.ts +63 -33
  454. package/types/services/proxy.d.ts +3 -2
  455. package/types/services/storage.d.ts +15 -11
  456. package/types/services/users.d.ts +129 -7
package/src/models.ts CHANGED
@@ -402,6 +402,71 @@ export namespace Models {
402
402
  */
403
403
  localeCodes: LocaleCode[];
404
404
  }
405
+ /**
406
+ * Provider list
407
+ */
408
+ export type ProviderList = {
409
+ /**
410
+ * Total number of providers documents that matched your query.
411
+ */
412
+ total: number;
413
+ /**
414
+ * List of providers.
415
+ */
416
+ providers: Provider[];
417
+ }
418
+ /**
419
+ * Message list
420
+ */
421
+ export type MessageList = {
422
+ /**
423
+ * Total number of messages documents that matched your query.
424
+ */
425
+ total: number;
426
+ /**
427
+ * List of messages.
428
+ */
429
+ messages: Message[];
430
+ }
431
+ /**
432
+ * Topic list
433
+ */
434
+ export type TopicList = {
435
+ /**
436
+ * Total number of topics documents that matched your query.
437
+ */
438
+ total: number;
439
+ /**
440
+ * List of topics.
441
+ */
442
+ topics: Topic[];
443
+ }
444
+ /**
445
+ * Subscriber list
446
+ */
447
+ export type SubscriberList = {
448
+ /**
449
+ * Total number of subscribers documents that matched your query.
450
+ */
451
+ total: number;
452
+ /**
453
+ * List of subscribers.
454
+ */
455
+ subscribers: Subscriber[];
456
+ }
457
+ /**
458
+ * Target list
459
+ */
460
+ export type TargetList = {
461
+ /**
462
+ * Total number of targets documents that matched your query.
463
+ */
464
+ total: number;
465
+ /**
466
+ * List of targets.
467
+ */
468
+ targets: Target[];
469
+ }
405
470
  /**
406
471
  * Migrations List
407
472
  */
@@ -1117,10 +1182,22 @@ export namespace Models {
1117
1182
  * Phone verification status.
1118
1183
  */
1119
1184
  phoneVerification: boolean;
1185
+ /**
1186
+ * Multi factor authentication status.
1187
+ */
1188
+ mfa: boolean;
1189
+ /**
1190
+ * TOTP status.
1191
+ */
1192
+ totp: boolean;
1120
1193
  /**
1121
1194
  * User preferences as a key-value object
1122
1195
  */
1123
1196
  prefs: Preferences;
1197
+ /**
1198
+ * A user-owned message receiver. A single user may have multiple e.g. emails, phones, and a browser. Each target is registered with a single provider.
1199
+ */
1200
+ targets: Target[];
1124
1201
  /**
1125
1202
  * Most recent access date in ISO 8601 format. This attribute is only updated again after 24 hours.
1126
1203
  */
@@ -1339,6 +1416,14 @@ export namespace Models {
1339
1416
  * Returns true if this the current user session.
1340
1417
  */
1341
1418
  current: boolean;
1419
+ /**
1420
+ * Returns a list of active session factors.
1421
+ */
1422
+ factors: string[];
1423
+ /**
1424
+ * Secret used to authenticate the user. Only included if the request was made with an API key
1425
+ */
1426
+ secret: string;
1342
1427
  }
1343
1428
  /**
1344
1429
  * Identity
@@ -1409,6 +1494,10 @@ export namespace Models {
1409
1494
  * Token expiration date in ISO 8601 format.
1410
1495
  */
1411
1496
  expire: string;
1497
+ /**
1498
+ * Security phrase of a token. Empty if security phrase was not requested when creating a token. It includes randomly generated phrase which is also sent in the external resource such as email.
1499
+ */
1500
+ phrase: string;
1412
1501
  }
1413
1502
  /**
1414
1503
  * JWT
@@ -1644,6 +1733,10 @@ export namespace Models {
1644
1733
  * User confirmation status, true if the user has joined the team or false otherwise.
1645
1734
  */
1646
1735
  confirm: boolean;
1736
+ /**
1737
+ * Multi factor authentication status, true if the user has MFA enabled or false otherwise.
1738
+ */
1739
+ mfa: boolean;
1647
1740
  /**
1648
1741
  * User list of roles
1649
1742
  */
@@ -2106,9 +2199,9 @@ export namespace Models {
2106
2199
  */
2107
2200
  authPersonalDataCheck: boolean;
2108
2201
  /**
2109
- * List of Providers.
2202
+ * List of Auth Providers.
2110
2203
  */
2111
- providers: Provider[];
2204
+ oAuthProviders: AuthProvider[];
2112
2205
  /**
2113
2206
  * List of Platforms.
2114
2207
  */
@@ -2165,6 +2258,10 @@ export namespace Models {
2165
2258
  * Magic URL auth method status
2166
2259
  */
2167
2260
  authUsersAuthMagicURL: boolean;
2261
+ /**
2262
+ * Email (OTP) auth method status
2263
+ */
2264
+ authEmailOtp: boolean;
2168
2265
  /**
2169
2266
  * Anonymous auth method status
2170
2267
  */
@@ -2221,6 +2318,10 @@ export namespace Models {
2221
2318
  * GraphQL service status
2222
2319
  */
2223
2320
  serviceStatusForGraphql: boolean;
2321
+ /**
2322
+ * Messaging service status
2323
+ */
2324
+ serviceStatusForMessaging: boolean;
2224
2325
  }
2225
2326
  /**
2226
2327
  * Webhook
@@ -2266,6 +2367,18 @@ export namespace Models {
2266
2367
  * Signature key which can be used to validated incoming
2267
2368
  */
2268
2369
  signatureKey: string;
2370
+ /**
2371
+ * Indicates if this webhook is enabled.
2372
+ */
2373
+ enabled: boolean;
2374
+ /**
2375
+ * Webhook error logs from the most recent failure.
2376
+ */
2377
+ logs: string;
2378
+ /**
2379
+ * Number of consecutive failed webhook attempts.
2380
+ */
2381
+ attempts: number;
2269
2382
  }
2270
2383
  /**
2271
2384
  * Key
@@ -2309,15 +2422,15 @@ export namespace Models {
2309
2422
  sdks: string[];
2310
2423
  }
2311
2424
  /**
2312
- * Provider
2425
+ * AuthProvider
2313
2426
  */
2314
- export type Provider = {
2427
+ export type AuthProvider = {
2315
2428
  /**
2316
- * Provider.
2429
+ * Auth Provider.
2317
2430
  */
2318
2431
  key: string;
2319
2432
  /**
2320
- * Provider name.
2433
+ * Auth Provider name.
2321
2434
  */
2322
2435
  name: string;
2323
2436
  /**
@@ -2329,7 +2442,7 @@ export namespace Models {
2329
2442
  */
2330
2443
  secret: string;
2331
2444
  /**
2332
- * Provider is active and can be used to create session.
2445
+ * Auth Provider is active and can be used to create session.
2333
2446
  */
2334
2447
  enabled: boolean;
2335
2448
  }
@@ -2543,6 +2656,35 @@ export namespace Models {
2543
2656
  */
2544
2657
  status: string;
2545
2658
  }
2659
+ /**
2660
+ * Health Certificate
2661
+ */
2662
+ export type HealthCertificate = {
2663
+ /**
2664
+ * Certificate name
2665
+ */
2666
+ name: string;
2667
+ /**
2668
+ * Subject SN
2669
+ */
2670
+ subjectSN: string;
2671
+ /**
2672
+ * Issuer organisation
2673
+ */
2674
+ issuerOrganisation: string;
2675
+ /**
2676
+ * Valid from
2677
+ */
2678
+ validFrom: string;
2679
+ /**
2680
+ * Valid to
2681
+ */
2682
+ validTo: string;
2683
+ /**
2684
+ * Signature type SN
2685
+ */
2686
+ signatureTypeSN: string;
2687
+ }
2546
2688
  /**
2547
2689
  * Health Time
2548
2690
  */
@@ -3076,6 +3218,274 @@ export namespace Models {
3076
3218
  */
3077
3219
  _APP_ASSISTANT_ENABLED: boolean;
3078
3220
  }
3221
+ /**
3222
+ * MFA Challenge
3223
+ */
3224
+ export type MfaChallenge = {
3225
+ /**
3226
+ * Token ID.
3227
+ */
3228
+ $id: string;
3229
+ /**
3230
+ * Token creation date in ISO 8601 format.
3231
+ */
3232
+ $createdAt: string;
3233
+ /**
3234
+ * User ID.
3235
+ */
3236
+ userId: string;
3237
+ /**
3238
+ * Token expiration date in ISO 8601 format.
3239
+ */
3240
+ expire: string;
3241
+ }
3242
+ /**
3243
+ * MFAType
3244
+ */
3245
+ export type MfaType = {
3246
+ /**
3247
+ * Backup codes.
3248
+ */
3249
+ backups: string[];
3250
+ /**
3251
+ * Secret token used for TOTP factor.
3252
+ */
3253
+ secret: string;
3254
+ /**
3255
+ * URI for authenticator apps.
3256
+ */
3257
+ uri: string;
3258
+ }
3259
+ /**
3260
+ * MFAFactors
3261
+ */
3262
+ export type MfaFactors = {
3263
+ /**
3264
+ * TOTP
3265
+ */
3266
+ totp: boolean;
3267
+ /**
3268
+ * Phone
3269
+ */
3270
+ phone: boolean;
3271
+ /**
3272
+ * Email
3273
+ */
3274
+ email: boolean;
3275
+ }
3276
+ /**
3277
+ * Provider
3278
+ */
3279
+ export type Provider = {
3280
+ /**
3281
+ * Provider ID.
3282
+ */
3283
+ $id: string;
3284
+ /**
3285
+ * Provider creation time in ISO 8601 format.
3286
+ */
3287
+ $createdAt: string;
3288
+ /**
3289
+ * Provider update date in ISO 8601 format.
3290
+ */
3291
+ $updatedAt: string;
3292
+ /**
3293
+ * The name for the provider instance.
3294
+ */
3295
+ name: string;
3296
+ /**
3297
+ * The name of the provider service.
3298
+ */
3299
+ provider: string;
3300
+ /**
3301
+ * Is provider enabled?
3302
+ */
3303
+ enabled: boolean;
3304
+ /**
3305
+ * Type of provider.
3306
+ */
3307
+ type: string;
3308
+ /**
3309
+ * Provider credentials.
3310
+ */
3311
+ credentials: object;
3312
+ /**
3313
+ * Provider options.
3314
+ */
3315
+ options?: object;
3316
+ }
3317
+ /**
3318
+ * Message
3319
+ */
3320
+ export type Message = {
3321
+ /**
3322
+ * Message ID.
3323
+ */
3324
+ $id: string;
3325
+ /**
3326
+ * Message creation time in ISO 8601 format.
3327
+ */
3328
+ $createdAt: string;
3329
+ /**
3330
+ * Message update date in ISO 8601 format.
3331
+ */
3332
+ $updatedAt: string;
3333
+ /**
3334
+ * Message provider type.
3335
+ */
3336
+ providerType: string;
3337
+ /**
3338
+ * Topic IDs set as recipients.
3339
+ */
3340
+ topics: string[];
3341
+ /**
3342
+ * User IDs set as recipients.
3343
+ */
3344
+ users: string[];
3345
+ /**
3346
+ * Target IDs set as recipients.
3347
+ */
3348
+ targets: string[];
3349
+ /**
3350
+ * The scheduled time for message.
3351
+ */
3352
+ scheduledAt?: string;
3353
+ /**
3354
+ * The time when the message was delivered.
3355
+ */
3356
+ deliveredAt?: string;
3357
+ /**
3358
+ * Delivery errors if any.
3359
+ */
3360
+ deliveryErrors?: string[];
3361
+ /**
3362
+ * Number of recipients the message was delivered to.
3363
+ */
3364
+ deliveredTotal: number;
3365
+ /**
3366
+ * Data of the message.
3367
+ */
3368
+ data: object;
3369
+ /**
3370
+ * Status of delivery.
3371
+ */
3372
+ status: string;
3373
+ }
3374
+ /**
3375
+ * Topic
3376
+ */
3377
+ export type Topic = {
3378
+ /**
3379
+ * Topic ID.
3380
+ */
3381
+ $id: string;
3382
+ /**
3383
+ * Topic creation time in ISO 8601 format.
3384
+ */
3385
+ $createdAt: string;
3386
+ /**
3387
+ * Topic update date in ISO 8601 format.
3388
+ */
3389
+ $updatedAt: string;
3390
+ /**
3391
+ * The name of the topic.
3392
+ */
3393
+ name: string;
3394
+ /**
3395
+ * Total count of email subscribers subscribed to the topic.
3396
+ */
3397
+ emailTotal: number;
3398
+ /**
3399
+ * Total count of SMS subscribers subscribed to the topic.
3400
+ */
3401
+ smsTotal: number;
3402
+ /**
3403
+ * Total count of push subscribers subscribed to the topic.
3404
+ */
3405
+ pushTotal: number;
3406
+ /**
3407
+ * Subscribe permissions.
3408
+ */
3409
+ subscribe: string[];
3410
+ }
3411
+ /**
3412
+ * Subscriber
3413
+ */
3414
+ export type Subscriber = {
3415
+ /**
3416
+ * Subscriber ID.
3417
+ */
3418
+ $id: string;
3419
+ /**
3420
+ * Subscriber creation time in ISO 8601 format.
3421
+ */
3422
+ $createdAt: string;
3423
+ /**
3424
+ * Subscriber update date in ISO 8601 format.
3425
+ */
3426
+ $updatedAt: string;
3427
+ /**
3428
+ * Target ID.
3429
+ */
3430
+ targetId: string;
3431
+ /**
3432
+ * Target.
3433
+ */
3434
+ target: Target;
3435
+ /**
3436
+ * Topic ID.
3437
+ */
3438
+ userId: string;
3439
+ /**
3440
+ * User Name.
3441
+ */
3442
+ userName: string;
3443
+ /**
3444
+ * Topic ID.
3445
+ */
3446
+ topicId: string;
3447
+ /**
3448
+ * The target provider type. Can be one of the following: `email`, `sms` or `push`.
3449
+ */
3450
+ providerType: string;
3451
+ }
3452
+ /**
3453
+ * Target
3454
+ */
3455
+ export type Target = {
3456
+ /**
3457
+ * Target ID.
3458
+ */
3459
+ $id: string;
3460
+ /**
3461
+ * Target creation time in ISO 8601 format.
3462
+ */
3463
+ $createdAt: string;
3464
+ /**
3465
+ * Target update date in ISO 8601 format.
3466
+ */
3467
+ $updatedAt: string;
3468
+ /**
3469
+ * Target Name.
3470
+ */
3471
+ name: string;
3472
+ /**
3473
+ * User ID.
3474
+ */
3475
+ userId: string;
3476
+ /**
3477
+ * Provider ID.
3478
+ */
3479
+ providerId?: string;
3480
+ /**
3481
+ * The target provider type. Can be one of the following: `email`, `sms` or `push`.
3482
+ */
3483
+ providerType: string;
3484
+ /**
3485
+ * The target identifier.
3486
+ */
3487
+ identifier: string;
3488
+ }
3079
3489
  /**
3080
3490
  * Migration
3081
3491
  */
package/src/query.ts CHANGED
@@ -1,74 +1,101 @@
1
1
  type QueryTypesSingle = string | number | boolean;
2
- export type QueryTypesList = string[] | number[] | boolean[];
2
+ export type QueryTypesList = string[] | number[] | boolean[] | Query[];
3
3
  export type QueryTypes = QueryTypesSingle | QueryTypesList;
4
+ type AttributesTypes = string | string[];
4
5
 
5
6
  export class Query {
7
+ method: string;
8
+ attribute: AttributesTypes | undefined;
9
+ values: QueryTypesList | undefined;
10
+
11
+ constructor(
12
+ method: string,
13
+ attribute?: AttributesTypes,
14
+ values?: QueryTypes
15
+ ) {
16
+ this.method = method;
17
+ this.attribute = attribute;
18
+
19
+ if (values !== undefined) {
20
+ if (Array.isArray(values)) {
21
+ this.values = values;
22
+ } else {
23
+ this.values = [values] as QueryTypesList;
24
+ }
25
+ }
26
+ }
27
+
28
+ toString(): string {
29
+ return JSON.stringify({
30
+ method: this.method,
31
+ attribute: this.attribute,
32
+ values: this.values,
33
+ });
34
+ }
35
+
6
36
  static equal = (attribute: string, value: QueryTypes): string =>
7
- Query.addQuery(attribute, "equal", value);
37
+ new Query("equal", attribute, value).toString();
8
38
 
9
39
  static notEqual = (attribute: string, value: QueryTypes): string =>
10
- Query.addQuery(attribute, "notEqual", value);
40
+ new Query("notEqual", attribute, value).toString();
11
41
 
12
42
  static lessThan = (attribute: string, value: QueryTypes): string =>
13
- Query.addQuery(attribute, "lessThan", value);
43
+ new Query("lessThan", attribute, value).toString();
14
44
 
15
45
  static lessThanEqual = (attribute: string, value: QueryTypes): string =>
16
- Query.addQuery(attribute, "lessThanEqual", value);
46
+ new Query("lessThanEqual", attribute, value).toString();
17
47
 
18
48
  static greaterThan = (attribute: string, value: QueryTypes): string =>
19
- Query.addQuery(attribute, "greaterThan", value);
49
+ new Query("greaterThan", attribute, value).toString();
20
50
 
21
51
  static greaterThanEqual = (attribute: string, value: QueryTypes): string =>
22
- Query.addQuery(attribute, "greaterThanEqual", value);
52
+ new Query("greaterThanEqual", attribute, value).toString();
23
53
 
24
54
  static isNull = (attribute: string): string =>
25
- `isNull("${attribute}")`;
55
+ new Query("isNull", attribute).toString();
26
56
 
27
57
  static isNotNull = (attribute: string): string =>
28
- `isNotNull("${attribute}")`;
58
+ new Query("isNotNull", attribute).toString();
29
59
 
30
- static between = (attribute: string, start: string|number, end: string|number): string =>
31
- `between("${attribute}", ${Query.parseValues(start)}, ${Query.parseValues(end)})`;
60
+ static between = (attribute: string, start: string | number, end: string | number) =>
61
+ new Query("between", attribute, [start, end] as QueryTypesList).toString();
32
62
 
33
63
  static startsWith = (attribute: string, value: string): string =>
34
- Query.addQuery(attribute, "startsWith", value);
64
+ new Query("startsWith", attribute, value).toString();
35
65
 
36
66
  static endsWith = (attribute: string, value: string): string =>
37
- Query.addQuery(attribute, "endsWith", value);
67
+ new Query("endsWith", attribute, value).toString();
38
68
 
39
69
  static select = (attributes: string[]): string =>
40
- `select([${attributes.map((attr: string) => `"${attr}"`).join(",")}])`;
70
+ new Query("select", undefined, attributes).toString();
41
71
 
42
72
  static search = (attribute: string, value: string): string =>
43
- Query.addQuery(attribute, "search", value);
73
+ new Query("search", attribute, value).toString();
44
74
 
45
75
  static orderDesc = (attribute: string): string =>
46
- `orderDesc("${attribute}")`;
76
+ new Query("orderDesc", attribute).toString();
47
77
 
48
78
  static orderAsc = (attribute: string): string =>
49
- `orderAsc("${attribute}")`;
79
+ new Query("orderAsc", attribute).toString();
50
80
 
51
81
  static cursorAfter = (documentId: string): string =>
52
- `cursorAfter("${documentId}")`;
82
+ new Query("cursorAfter", undefined, documentId).toString();
53
83
 
54
84
  static cursorBefore = (documentId: string): string =>
55
- `cursorBefore("${documentId}")`;
85
+ new Query("cursorBefore", undefined, documentId).toString();
56
86
 
57
87
  static limit = (limit: number): string =>
58
- `limit(${limit})`;
88
+ new Query("limit", undefined, limit).toString();
59
89
 
60
90
  static offset = (offset: number): string =>
61
- `offset(${offset})`;
62
-
63
- private static addQuery = (attribute: string, method: string, value: QueryTypes): string =>
64
- value instanceof Array
65
- ? `${method}("${attribute}", [${value
66
- .map((v: QueryTypesSingle) => Query.parseValues(v))
67
- .join(",")}])`
68
- : `${method}("${attribute}", [${Query.parseValues(value)}])`;
69
-
70
- private static parseValues = (value: QueryTypes): string =>
71
- typeof value === "string" || value instanceof String
72
- ? `"${value}"`
73
- : `${value}`;
74
- }
91
+ new Query("offset", undefined, offset).toString();
92
+
93
+ static contains = (attribute: string, value: string | string[]): string =>
94
+ new Query("contains", attribute, value).toString();
95
+
96
+ static or = (queries: string[]) =>
97
+ new Query("or", undefined, queries.map((query) => JSON.parse(query))).toString();
98
+
99
+ static and = (queries: string[]) =>
100
+ new Query("and", undefined, queries.map((query) => JSON.parse(query))).toString();
101
+ }
package/src/service.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Client } from './client';
2
2
  import type { Payload } from './client';
3
+ import { Query } from './query';
3
4
 
4
5
  export class Service {
5
6
  static CHUNK_SIZE = 5*1024*1024; // 5MB
@@ -13,14 +14,13 @@ export class Service {
13
14
  static flatten(data: Payload, prefix = ''): Payload {
14
15
  let output: Payload = {};
15
16
 
16
- for (const key in data) {
17
- let value = data[key];
18
- let finalKey = prefix ? `${prefix}[${key}]` : key;
19
-
17
+ for (const [key, value] of Object.entries(data)) {
18
+ let finalKey = prefix ? prefix + '[' + key +']' : key;
20
19
  if (Array.isArray(value)) {
21
- output = Object.assign(output, this.flatten(value, finalKey));
22
- }
23
- else {
20
+ output = { ...output, ...Service.flatten(value, finalKey) };
21
+ } else if (value instanceof Query) {
22
+ output[finalKey] = JSON.stringify(value);
23
+ } else {
24
24
  output[finalKey] = value;
25
25
  }
26
26
  }