@hammadj/better-auth 1.5.0-beta.9

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 (688) hide show
  1. package/LICENSE.md +20 -0
  2. package/README.md +33 -0
  3. package/dist/_virtual/rolldown_runtime.mjs +36 -0
  4. package/dist/adapters/drizzle-adapter/index.d.mts +1 -0
  5. package/dist/adapters/drizzle-adapter/index.mjs +3 -0
  6. package/dist/adapters/index.d.mts +23 -0
  7. package/dist/adapters/index.mjs +13 -0
  8. package/dist/adapters/index.mjs.map +1 -0
  9. package/dist/adapters/kysely-adapter/index.d.mts +1 -0
  10. package/dist/adapters/kysely-adapter/index.mjs +3 -0
  11. package/dist/adapters/memory-adapter/index.d.mts +1 -0
  12. package/dist/adapters/memory-adapter/index.mjs +3 -0
  13. package/dist/adapters/mongodb-adapter/index.d.mts +1 -0
  14. package/dist/adapters/mongodb-adapter/index.mjs +3 -0
  15. package/dist/adapters/prisma-adapter/index.d.mts +1 -0
  16. package/dist/adapters/prisma-adapter/index.mjs +3 -0
  17. package/dist/api/index.d.mts +40 -0
  18. package/dist/api/index.mjs +205 -0
  19. package/dist/api/index.mjs.map +1 -0
  20. package/dist/api/middlewares/index.d.mts +1 -0
  21. package/dist/api/middlewares/index.mjs +3 -0
  22. package/dist/api/middlewares/origin-check.d.mts +17 -0
  23. package/dist/api/middlewares/origin-check.mjs +140 -0
  24. package/dist/api/middlewares/origin-check.mjs.map +1 -0
  25. package/dist/api/rate-limiter/index.mjs +177 -0
  26. package/dist/api/rate-limiter/index.mjs.map +1 -0
  27. package/dist/api/routes/account.d.mts +10 -0
  28. package/dist/api/routes/account.mjs +493 -0
  29. package/dist/api/routes/account.mjs.map +1 -0
  30. package/dist/api/routes/callback.d.mts +5 -0
  31. package/dist/api/routes/callback.mjs +178 -0
  32. package/dist/api/routes/callback.mjs.map +1 -0
  33. package/dist/api/routes/email-verification.d.mts +29 -0
  34. package/dist/api/routes/email-verification.mjs +301 -0
  35. package/dist/api/routes/email-verification.mjs.map +1 -0
  36. package/dist/api/routes/error.d.mts +5 -0
  37. package/dist/api/routes/error.mjs +386 -0
  38. package/dist/api/routes/error.mjs.map +1 -0
  39. package/dist/api/routes/index.d.mts +11 -0
  40. package/dist/api/routes/index.mjs +13 -0
  41. package/dist/api/routes/ok.d.mts +5 -0
  42. package/dist/api/routes/ok.mjs +30 -0
  43. package/dist/api/routes/ok.mjs.map +1 -0
  44. package/dist/api/routes/password.d.mts +8 -0
  45. package/dist/api/routes/password.mjs +198 -0
  46. package/dist/api/routes/password.mjs.map +1 -0
  47. package/dist/api/routes/session.d.mts +52 -0
  48. package/dist/api/routes/session.mjs +478 -0
  49. package/dist/api/routes/session.mjs.map +1 -0
  50. package/dist/api/routes/sign-in.d.mts +8 -0
  51. package/dist/api/routes/sign-in.mjs +262 -0
  52. package/dist/api/routes/sign-in.mjs.map +1 -0
  53. package/dist/api/routes/sign-out.d.mts +5 -0
  54. package/dist/api/routes/sign-out.mjs +33 -0
  55. package/dist/api/routes/sign-out.mjs.map +1 -0
  56. package/dist/api/routes/sign-up.d.mts +7 -0
  57. package/dist/api/routes/sign-up.mjs +227 -0
  58. package/dist/api/routes/sign-up.mjs.map +1 -0
  59. package/dist/api/routes/update-user.d.mts +12 -0
  60. package/dist/api/routes/update-user.mjs +493 -0
  61. package/dist/api/routes/update-user.mjs.map +1 -0
  62. package/dist/api/state/oauth.d.mts +5 -0
  63. package/dist/api/state/oauth.mjs +8 -0
  64. package/dist/api/state/oauth.mjs.map +1 -0
  65. package/dist/api/state/should-session-refresh.d.mts +13 -0
  66. package/dist/api/state/should-session-refresh.mjs +16 -0
  67. package/dist/api/state/should-session-refresh.mjs.map +1 -0
  68. package/dist/api/to-auth-endpoints.mjs +197 -0
  69. package/dist/api/to-auth-endpoints.mjs.map +1 -0
  70. package/dist/auth/base.mjs +44 -0
  71. package/dist/auth/base.mjs.map +1 -0
  72. package/dist/auth/full.d.mts +30 -0
  73. package/dist/auth/full.mjs +32 -0
  74. package/dist/auth/full.mjs.map +1 -0
  75. package/dist/auth/minimal.d.mts +12 -0
  76. package/dist/auth/minimal.mjs +14 -0
  77. package/dist/auth/minimal.mjs.map +1 -0
  78. package/dist/auth/trusted-origins.mjs +31 -0
  79. package/dist/auth/trusted-origins.mjs.map +1 -0
  80. package/dist/client/broadcast-channel.d.mts +20 -0
  81. package/dist/client/broadcast-channel.mjs +46 -0
  82. package/dist/client/broadcast-channel.mjs.map +1 -0
  83. package/dist/client/config.mjs +90 -0
  84. package/dist/client/config.mjs.map +1 -0
  85. package/dist/client/fetch-plugins.mjs +18 -0
  86. package/dist/client/fetch-plugins.mjs.map +1 -0
  87. package/dist/client/focus-manager.d.mts +11 -0
  88. package/dist/client/focus-manager.mjs +32 -0
  89. package/dist/client/focus-manager.mjs.map +1 -0
  90. package/dist/client/index.d.mts +30 -0
  91. package/dist/client/index.mjs +21 -0
  92. package/dist/client/index.mjs.map +1 -0
  93. package/dist/client/lynx/index.d.mts +62 -0
  94. package/dist/client/lynx/index.mjs +24 -0
  95. package/dist/client/lynx/index.mjs.map +1 -0
  96. package/dist/client/lynx/lynx-store.d.mts +47 -0
  97. package/dist/client/lynx/lynx-store.mjs +47 -0
  98. package/dist/client/lynx/lynx-store.mjs.map +1 -0
  99. package/dist/client/online-manager.d.mts +12 -0
  100. package/dist/client/online-manager.mjs +35 -0
  101. package/dist/client/online-manager.mjs.map +1 -0
  102. package/dist/client/parser.mjs +73 -0
  103. package/dist/client/parser.mjs.map +1 -0
  104. package/dist/client/path-to-object.d.mts +57 -0
  105. package/dist/client/plugins/index.d.mts +58 -0
  106. package/dist/client/plugins/index.mjs +33 -0
  107. package/dist/client/plugins/infer-plugin.d.mts +9 -0
  108. package/dist/client/plugins/infer-plugin.mjs +11 -0
  109. package/dist/client/plugins/infer-plugin.mjs.map +1 -0
  110. package/dist/client/proxy.mjs +79 -0
  111. package/dist/client/proxy.mjs.map +1 -0
  112. package/dist/client/query.d.mts +23 -0
  113. package/dist/client/query.mjs +98 -0
  114. package/dist/client/query.mjs.map +1 -0
  115. package/dist/client/react/index.d.mts +63 -0
  116. package/dist/client/react/index.mjs +24 -0
  117. package/dist/client/react/index.mjs.map +1 -0
  118. package/dist/client/react/react-store.d.mts +47 -0
  119. package/dist/client/react/react-store.mjs +47 -0
  120. package/dist/client/react/react-store.mjs.map +1 -0
  121. package/dist/client/session-atom.mjs +29 -0
  122. package/dist/client/session-atom.mjs.map +1 -0
  123. package/dist/client/session-refresh.d.mts +28 -0
  124. package/dist/client/session-refresh.mjs +140 -0
  125. package/dist/client/session-refresh.mjs.map +1 -0
  126. package/dist/client/solid/index.d.mts +57 -0
  127. package/dist/client/solid/index.mjs +22 -0
  128. package/dist/client/solid/index.mjs.map +1 -0
  129. package/dist/client/solid/solid-store.mjs +24 -0
  130. package/dist/client/solid/solid-store.mjs.map +1 -0
  131. package/dist/client/svelte/index.d.mts +63 -0
  132. package/dist/client/svelte/index.mjs +20 -0
  133. package/dist/client/svelte/index.mjs.map +1 -0
  134. package/dist/client/types.d.mts +58 -0
  135. package/dist/client/vanilla.d.mts +62 -0
  136. package/dist/client/vanilla.mjs +20 -0
  137. package/dist/client/vanilla.mjs.map +1 -0
  138. package/dist/client/vue/index.d.mts +86 -0
  139. package/dist/client/vue/index.mjs +38 -0
  140. package/dist/client/vue/index.mjs.map +1 -0
  141. package/dist/client/vue/vue-store.mjs +26 -0
  142. package/dist/client/vue/vue-store.mjs.map +1 -0
  143. package/dist/context/create-context.mjs +211 -0
  144. package/dist/context/create-context.mjs.map +1 -0
  145. package/dist/context/helpers.mjs +62 -0
  146. package/dist/context/helpers.mjs.map +1 -0
  147. package/dist/context/init-minimal.mjs +20 -0
  148. package/dist/context/init-minimal.mjs.map +1 -0
  149. package/dist/context/init.mjs +22 -0
  150. package/dist/context/init.mjs.map +1 -0
  151. package/dist/cookies/cookie-utils.d.mts +29 -0
  152. package/dist/cookies/cookie-utils.mjs +105 -0
  153. package/dist/cookies/cookie-utils.mjs.map +1 -0
  154. package/dist/cookies/index.d.mts +67 -0
  155. package/dist/cookies/index.mjs +264 -0
  156. package/dist/cookies/index.mjs.map +1 -0
  157. package/dist/cookies/session-store.d.mts +36 -0
  158. package/dist/cookies/session-store.mjs +200 -0
  159. package/dist/cookies/session-store.mjs.map +1 -0
  160. package/dist/crypto/buffer.d.mts +8 -0
  161. package/dist/crypto/buffer.mjs +18 -0
  162. package/dist/crypto/buffer.mjs.map +1 -0
  163. package/dist/crypto/index.d.mts +27 -0
  164. package/dist/crypto/index.mjs +38 -0
  165. package/dist/crypto/index.mjs.map +1 -0
  166. package/dist/crypto/jwt.d.mts +8 -0
  167. package/dist/crypto/jwt.mjs +95 -0
  168. package/dist/crypto/jwt.mjs.map +1 -0
  169. package/dist/crypto/password.d.mts +12 -0
  170. package/dist/crypto/password.mjs +36 -0
  171. package/dist/crypto/password.mjs.map +1 -0
  172. package/dist/crypto/random.d.mts +5 -0
  173. package/dist/crypto/random.mjs +8 -0
  174. package/dist/crypto/random.mjs.map +1 -0
  175. package/dist/db/adapter-base.d.mts +8 -0
  176. package/dist/db/adapter-base.mjs +28 -0
  177. package/dist/db/adapter-base.mjs.map +1 -0
  178. package/dist/db/adapter-kysely.d.mts +8 -0
  179. package/dist/db/adapter-kysely.mjs +21 -0
  180. package/dist/db/adapter-kysely.mjs.map +1 -0
  181. package/dist/db/field-converter.d.mts +8 -0
  182. package/dist/db/field-converter.mjs +21 -0
  183. package/dist/db/field-converter.mjs.map +1 -0
  184. package/dist/db/field.d.mts +55 -0
  185. package/dist/db/field.mjs +11 -0
  186. package/dist/db/field.mjs.map +1 -0
  187. package/dist/db/get-migration.d.mts +23 -0
  188. package/dist/db/get-migration.mjs +339 -0
  189. package/dist/db/get-migration.mjs.map +1 -0
  190. package/dist/db/get-schema.d.mts +11 -0
  191. package/dist/db/get-schema.mjs +39 -0
  192. package/dist/db/get-schema.mjs.map +1 -0
  193. package/dist/db/index.d.mts +9 -0
  194. package/dist/db/index.mjs +36 -0
  195. package/dist/db/index.mjs.map +1 -0
  196. package/dist/db/internal-adapter.d.mts +14 -0
  197. package/dist/db/internal-adapter.mjs +616 -0
  198. package/dist/db/internal-adapter.mjs.map +1 -0
  199. package/dist/db/schema.d.mts +26 -0
  200. package/dist/db/schema.mjs +118 -0
  201. package/dist/db/schema.mjs.map +1 -0
  202. package/dist/db/to-zod.d.mts +36 -0
  203. package/dist/db/to-zod.mjs +26 -0
  204. package/dist/db/to-zod.mjs.map +1 -0
  205. package/dist/db/verification-token-storage.mjs +28 -0
  206. package/dist/db/verification-token-storage.mjs.map +1 -0
  207. package/dist/db/with-hooks.d.mts +33 -0
  208. package/dist/db/with-hooks.mjs +159 -0
  209. package/dist/db/with-hooks.mjs.map +1 -0
  210. package/dist/index.d.mts +52 -0
  211. package/dist/index.mjs +26 -0
  212. package/dist/integrations/next-js.d.mts +14 -0
  213. package/dist/integrations/next-js.mjs +78 -0
  214. package/dist/integrations/next-js.mjs.map +1 -0
  215. package/dist/integrations/node.d.mts +13 -0
  216. package/dist/integrations/node.mjs +16 -0
  217. package/dist/integrations/node.mjs.map +1 -0
  218. package/dist/integrations/solid-start.d.mts +23 -0
  219. package/dist/integrations/solid-start.mjs +17 -0
  220. package/dist/integrations/solid-start.mjs.map +1 -0
  221. package/dist/integrations/svelte-kit.d.mts +29 -0
  222. package/dist/integrations/svelte-kit.mjs +57 -0
  223. package/dist/integrations/svelte-kit.mjs.map +1 -0
  224. package/dist/integrations/tanstack-start-solid.d.mts +22 -0
  225. package/dist/integrations/tanstack-start-solid.mjs +61 -0
  226. package/dist/integrations/tanstack-start-solid.mjs.map +1 -0
  227. package/dist/integrations/tanstack-start.d.mts +22 -0
  228. package/dist/integrations/tanstack-start.mjs +61 -0
  229. package/dist/integrations/tanstack-start.mjs.map +1 -0
  230. package/dist/oauth2/index.d.mts +5 -0
  231. package/dist/oauth2/index.mjs +7 -0
  232. package/dist/oauth2/link-account.d.mts +31 -0
  233. package/dist/oauth2/link-account.mjs +144 -0
  234. package/dist/oauth2/link-account.mjs.map +1 -0
  235. package/dist/oauth2/state.d.mts +26 -0
  236. package/dist/oauth2/state.mjs +51 -0
  237. package/dist/oauth2/state.mjs.map +1 -0
  238. package/dist/oauth2/utils.d.mts +8 -0
  239. package/dist/oauth2/utils.mjs +31 -0
  240. package/dist/oauth2/utils.mjs.map +1 -0
  241. package/dist/plugins/access/access.d.mts +30 -0
  242. package/dist/plugins/access/access.mjs +46 -0
  243. package/dist/plugins/access/access.mjs.map +1 -0
  244. package/dist/plugins/access/index.d.mts +3 -0
  245. package/dist/plugins/access/index.mjs +3 -0
  246. package/dist/plugins/access/types.d.mts +17 -0
  247. package/dist/plugins/additional-fields/client.d.mts +14 -0
  248. package/dist/plugins/additional-fields/client.mjs +11 -0
  249. package/dist/plugins/additional-fields/client.mjs.map +1 -0
  250. package/dist/plugins/admin/access/index.d.mts +2 -0
  251. package/dist/plugins/admin/access/index.mjs +3 -0
  252. package/dist/plugins/admin/access/statement.d.mts +118 -0
  253. package/dist/plugins/admin/access/statement.mjs +53 -0
  254. package/dist/plugins/admin/access/statement.mjs.map +1 -0
  255. package/dist/plugins/admin/admin.d.mts +14 -0
  256. package/dist/plugins/admin/admin.mjs +95 -0
  257. package/dist/plugins/admin/admin.mjs.map +1 -0
  258. package/dist/plugins/admin/client.d.mts +14 -0
  259. package/dist/plugins/admin/client.mjs +36 -0
  260. package/dist/plugins/admin/client.mjs.map +1 -0
  261. package/dist/plugins/admin/error-codes.d.mts +5 -0
  262. package/dist/plugins/admin/error-codes.mjs +30 -0
  263. package/dist/plugins/admin/error-codes.mjs.map +1 -0
  264. package/dist/plugins/admin/has-permission.mjs +16 -0
  265. package/dist/plugins/admin/has-permission.mjs.map +1 -0
  266. package/dist/plugins/admin/index.d.mts +3 -0
  267. package/dist/plugins/admin/index.mjs +3 -0
  268. package/dist/plugins/admin/routes.mjs +855 -0
  269. package/dist/plugins/admin/routes.mjs.map +1 -0
  270. package/dist/plugins/admin/schema.d.mts +6 -0
  271. package/dist/plugins/admin/schema.mjs +34 -0
  272. package/dist/plugins/admin/schema.mjs.map +1 -0
  273. package/dist/plugins/admin/types.d.mts +89 -0
  274. package/dist/plugins/anonymous/client.d.mts +9 -0
  275. package/dist/plugins/anonymous/client.mjs +22 -0
  276. package/dist/plugins/anonymous/client.mjs.map +1 -0
  277. package/dist/plugins/anonymous/error-codes.d.mts +5 -0
  278. package/dist/plugins/anonymous/error-codes.mjs +16 -0
  279. package/dist/plugins/anonymous/error-codes.mjs.map +1 -0
  280. package/dist/plugins/anonymous/index.d.mts +14 -0
  281. package/dist/plugins/anonymous/index.mjs +163 -0
  282. package/dist/plugins/anonymous/index.mjs.map +1 -0
  283. package/dist/plugins/anonymous/schema.d.mts +5 -0
  284. package/dist/plugins/anonymous/schema.mjs +11 -0
  285. package/dist/plugins/anonymous/schema.mjs.map +1 -0
  286. package/dist/plugins/anonymous/types.d.mts +68 -0
  287. package/dist/plugins/api-key/adapter.mjs +468 -0
  288. package/dist/plugins/api-key/adapter.mjs.map +1 -0
  289. package/dist/plugins/api-key/client.d.mts +9 -0
  290. package/dist/plugins/api-key/client.mjs +19 -0
  291. package/dist/plugins/api-key/client.mjs.map +1 -0
  292. package/dist/plugins/api-key/error-codes.d.mts +5 -0
  293. package/dist/plugins/api-key/error-codes.mjs +34 -0
  294. package/dist/plugins/api-key/error-codes.mjs.map +1 -0
  295. package/dist/plugins/api-key/index.d.mts +17 -0
  296. package/dist/plugins/api-key/index.mjs +134 -0
  297. package/dist/plugins/api-key/index.mjs.map +1 -0
  298. package/dist/plugins/api-key/rate-limit.mjs +74 -0
  299. package/dist/plugins/api-key/rate-limit.mjs.map +1 -0
  300. package/dist/plugins/api-key/routes/create-api-key.mjs +252 -0
  301. package/dist/plugins/api-key/routes/create-api-key.mjs.map +1 -0
  302. package/dist/plugins/api-key/routes/delete-all-expired-api-keys.mjs +24 -0
  303. package/dist/plugins/api-key/routes/delete-all-expired-api-keys.mjs.map +1 -0
  304. package/dist/plugins/api-key/routes/delete-api-key.mjs +74 -0
  305. package/dist/plugins/api-key/routes/delete-api-key.mjs.map +1 -0
  306. package/dist/plugins/api-key/routes/get-api-key.mjs +158 -0
  307. package/dist/plugins/api-key/routes/get-api-key.mjs.map +1 -0
  308. package/dist/plugins/api-key/routes/index.mjs +71 -0
  309. package/dist/plugins/api-key/routes/index.mjs.map +1 -0
  310. package/dist/plugins/api-key/routes/list-api-keys.mjs +194 -0
  311. package/dist/plugins/api-key/routes/list-api-keys.mjs.map +1 -0
  312. package/dist/plugins/api-key/routes/update-api-key.mjs +248 -0
  313. package/dist/plugins/api-key/routes/update-api-key.mjs.map +1 -0
  314. package/dist/plugins/api-key/routes/verify-api-key.mjs +223 -0
  315. package/dist/plugins/api-key/routes/verify-api-key.mjs.map +1 -0
  316. package/dist/plugins/api-key/schema.d.mts +11 -0
  317. package/dist/plugins/api-key/schema.mjs +130 -0
  318. package/dist/plugins/api-key/schema.mjs.map +1 -0
  319. package/dist/plugins/api-key/types.d.mts +346 -0
  320. package/dist/plugins/bearer/index.d.mts +25 -0
  321. package/dist/plugins/bearer/index.mjs +66 -0
  322. package/dist/plugins/bearer/index.mjs.map +1 -0
  323. package/dist/plugins/captcha/constants.d.mts +10 -0
  324. package/dist/plugins/captcha/constants.mjs +22 -0
  325. package/dist/plugins/captcha/constants.mjs.map +1 -0
  326. package/dist/plugins/captcha/error-codes.mjs +16 -0
  327. package/dist/plugins/captcha/error-codes.mjs.map +1 -0
  328. package/dist/plugins/captcha/index.d.mts +14 -0
  329. package/dist/plugins/captcha/index.mjs +60 -0
  330. package/dist/plugins/captcha/index.mjs.map +1 -0
  331. package/dist/plugins/captcha/types.d.mts +28 -0
  332. package/dist/plugins/captcha/utils.mjs +11 -0
  333. package/dist/plugins/captcha/utils.mjs.map +1 -0
  334. package/dist/plugins/captcha/verify-handlers/captchafox.mjs +27 -0
  335. package/dist/plugins/captcha/verify-handlers/captchafox.mjs.map +1 -0
  336. package/dist/plugins/captcha/verify-handlers/cloudflare-turnstile.mjs +25 -0
  337. package/dist/plugins/captcha/verify-handlers/cloudflare-turnstile.mjs.map +1 -0
  338. package/dist/plugins/captcha/verify-handlers/google-recaptcha.mjs +29 -0
  339. package/dist/plugins/captcha/verify-handlers/google-recaptcha.mjs.map +1 -0
  340. package/dist/plugins/captcha/verify-handlers/h-captcha.mjs +27 -0
  341. package/dist/plugins/captcha/verify-handlers/h-captcha.mjs.map +1 -0
  342. package/dist/plugins/captcha/verify-handlers/index.mjs +6 -0
  343. package/dist/plugins/custom-session/client.d.mts +10 -0
  344. package/dist/plugins/custom-session/client.mjs +11 -0
  345. package/dist/plugins/custom-session/client.mjs.map +1 -0
  346. package/dist/plugins/custom-session/index.d.mts +26 -0
  347. package/dist/plugins/custom-session/index.mjs +70 -0
  348. package/dist/plugins/custom-session/index.mjs.map +1 -0
  349. package/dist/plugins/device-authorization/client.d.mts +5 -0
  350. package/dist/plugins/device-authorization/client.mjs +18 -0
  351. package/dist/plugins/device-authorization/client.mjs.map +1 -0
  352. package/dist/plugins/device-authorization/error-codes.mjs +21 -0
  353. package/dist/plugins/device-authorization/error-codes.mjs.map +1 -0
  354. package/dist/plugins/device-authorization/index.d.mts +28 -0
  355. package/dist/plugins/device-authorization/index.mjs +50 -0
  356. package/dist/plugins/device-authorization/index.mjs.map +1 -0
  357. package/dist/plugins/device-authorization/routes.mjs +510 -0
  358. package/dist/plugins/device-authorization/routes.mjs.map +1 -0
  359. package/dist/plugins/device-authorization/schema.mjs +57 -0
  360. package/dist/plugins/device-authorization/schema.mjs.map +1 -0
  361. package/dist/plugins/email-otp/client.d.mts +7 -0
  362. package/dist/plugins/email-otp/client.mjs +18 -0
  363. package/dist/plugins/email-otp/client.mjs.map +1 -0
  364. package/dist/plugins/email-otp/error-codes.d.mts +5 -0
  365. package/dist/plugins/email-otp/error-codes.mjs +12 -0
  366. package/dist/plugins/email-otp/error-codes.mjs.map +1 -0
  367. package/dist/plugins/email-otp/index.d.mts +14 -0
  368. package/dist/plugins/email-otp/index.mjs +108 -0
  369. package/dist/plugins/email-otp/index.mjs.map +1 -0
  370. package/dist/plugins/email-otp/otp-token.mjs +29 -0
  371. package/dist/plugins/email-otp/otp-token.mjs.map +1 -0
  372. package/dist/plugins/email-otp/routes.mjs +564 -0
  373. package/dist/plugins/email-otp/routes.mjs.map +1 -0
  374. package/dist/plugins/email-otp/types.d.mts +74 -0
  375. package/dist/plugins/email-otp/utils.mjs +17 -0
  376. package/dist/plugins/email-otp/utils.mjs.map +1 -0
  377. package/dist/plugins/generic-oauth/client.d.mts +19 -0
  378. package/dist/plugins/generic-oauth/client.mjs +14 -0
  379. package/dist/plugins/generic-oauth/client.mjs.map +1 -0
  380. package/dist/plugins/generic-oauth/error-codes.d.mts +5 -0
  381. package/dist/plugins/generic-oauth/error-codes.mjs +15 -0
  382. package/dist/plugins/generic-oauth/error-codes.mjs.map +1 -0
  383. package/dist/plugins/generic-oauth/index.d.mts +34 -0
  384. package/dist/plugins/generic-oauth/index.mjs +137 -0
  385. package/dist/plugins/generic-oauth/index.mjs.map +1 -0
  386. package/dist/plugins/generic-oauth/providers/auth0.d.mts +37 -0
  387. package/dist/plugins/generic-oauth/providers/auth0.mjs +62 -0
  388. package/dist/plugins/generic-oauth/providers/auth0.mjs.map +1 -0
  389. package/dist/plugins/generic-oauth/providers/gumroad.d.mts +32 -0
  390. package/dist/plugins/generic-oauth/providers/gumroad.mjs +60 -0
  391. package/dist/plugins/generic-oauth/providers/gumroad.mjs.map +1 -0
  392. package/dist/plugins/generic-oauth/providers/hubspot.d.mts +37 -0
  393. package/dist/plugins/generic-oauth/providers/hubspot.mjs +60 -0
  394. package/dist/plugins/generic-oauth/providers/hubspot.mjs.map +1 -0
  395. package/dist/plugins/generic-oauth/providers/index.d.mts +9 -0
  396. package/dist/plugins/generic-oauth/providers/index.mjs +11 -0
  397. package/dist/plugins/generic-oauth/providers/keycloak.d.mts +37 -0
  398. package/dist/plugins/generic-oauth/providers/keycloak.mjs +62 -0
  399. package/dist/plugins/generic-oauth/providers/keycloak.mjs.map +1 -0
  400. package/dist/plugins/generic-oauth/providers/line.d.mts +55 -0
  401. package/dist/plugins/generic-oauth/providers/line.mjs +91 -0
  402. package/dist/plugins/generic-oauth/providers/line.mjs.map +1 -0
  403. package/dist/plugins/generic-oauth/providers/microsoft-entra-id.d.mts +37 -0
  404. package/dist/plugins/generic-oauth/providers/microsoft-entra-id.mjs +66 -0
  405. package/dist/plugins/generic-oauth/providers/microsoft-entra-id.mjs.map +1 -0
  406. package/dist/plugins/generic-oauth/providers/okta.d.mts +37 -0
  407. package/dist/plugins/generic-oauth/providers/okta.mjs +62 -0
  408. package/dist/plugins/generic-oauth/providers/okta.mjs.map +1 -0
  409. package/dist/plugins/generic-oauth/providers/patreon.d.mts +30 -0
  410. package/dist/plugins/generic-oauth/providers/patreon.mjs +59 -0
  411. package/dist/plugins/generic-oauth/providers/patreon.mjs.map +1 -0
  412. package/dist/plugins/generic-oauth/providers/slack.d.mts +30 -0
  413. package/dist/plugins/generic-oauth/providers/slack.mjs +61 -0
  414. package/dist/plugins/generic-oauth/providers/slack.mjs.map +1 -0
  415. package/dist/plugins/generic-oauth/routes.mjs +394 -0
  416. package/dist/plugins/generic-oauth/routes.mjs.map +1 -0
  417. package/dist/plugins/generic-oauth/types.d.mts +145 -0
  418. package/dist/plugins/haveibeenpwned/index.d.mts +21 -0
  419. package/dist/plugins/haveibeenpwned/index.mjs +56 -0
  420. package/dist/plugins/haveibeenpwned/index.mjs.map +1 -0
  421. package/dist/plugins/index.d.mts +68 -0
  422. package/dist/plugins/index.mjs +51 -0
  423. package/dist/plugins/jwt/adapter.mjs +27 -0
  424. package/dist/plugins/jwt/adapter.mjs.map +1 -0
  425. package/dist/plugins/jwt/client.d.mts +18 -0
  426. package/dist/plugins/jwt/client.mjs +19 -0
  427. package/dist/plugins/jwt/client.mjs.map +1 -0
  428. package/dist/plugins/jwt/index.d.mts +17 -0
  429. package/dist/plugins/jwt/index.mjs +202 -0
  430. package/dist/plugins/jwt/index.mjs.map +1 -0
  431. package/dist/plugins/jwt/schema.d.mts +5 -0
  432. package/dist/plugins/jwt/schema.mjs +23 -0
  433. package/dist/plugins/jwt/schema.mjs.map +1 -0
  434. package/dist/plugins/jwt/sign.d.mts +57 -0
  435. package/dist/plugins/jwt/sign.mjs +66 -0
  436. package/dist/plugins/jwt/sign.mjs.map +1 -0
  437. package/dist/plugins/jwt/types.d.mts +194 -0
  438. package/dist/plugins/jwt/utils.d.mts +42 -0
  439. package/dist/plugins/jwt/utils.mjs +64 -0
  440. package/dist/plugins/jwt/utils.mjs.map +1 -0
  441. package/dist/plugins/jwt/verify.d.mts +12 -0
  442. package/dist/plugins/jwt/verify.mjs +46 -0
  443. package/dist/plugins/jwt/verify.mjs.map +1 -0
  444. package/dist/plugins/last-login-method/client.d.mts +18 -0
  445. package/dist/plugins/last-login-method/client.mjs +32 -0
  446. package/dist/plugins/last-login-method/client.mjs.map +1 -0
  447. package/dist/plugins/last-login-method/index.d.mts +52 -0
  448. package/dist/plugins/last-login-method/index.mjs +77 -0
  449. package/dist/plugins/last-login-method/index.mjs.map +1 -0
  450. package/dist/plugins/magic-link/client.d.mts +5 -0
  451. package/dist/plugins/magic-link/client.mjs +11 -0
  452. package/dist/plugins/magic-link/client.mjs.map +1 -0
  453. package/dist/plugins/magic-link/index.d.mts +61 -0
  454. package/dist/plugins/magic-link/index.mjs +167 -0
  455. package/dist/plugins/magic-link/index.mjs.map +1 -0
  456. package/dist/plugins/magic-link/utils.mjs +12 -0
  457. package/dist/plugins/magic-link/utils.mjs.map +1 -0
  458. package/dist/plugins/mcp/authorize.mjs +133 -0
  459. package/dist/plugins/mcp/authorize.mjs.map +1 -0
  460. package/dist/plugins/mcp/index.d.mts +46 -0
  461. package/dist/plugins/mcp/index.mjs +717 -0
  462. package/dist/plugins/mcp/index.mjs.map +1 -0
  463. package/dist/plugins/multi-session/client.d.mts +8 -0
  464. package/dist/plugins/multi-session/client.mjs +20 -0
  465. package/dist/plugins/multi-session/client.mjs.map +1 -0
  466. package/dist/plugins/multi-session/error-codes.d.mts +5 -0
  467. package/dist/plugins/multi-session/error-codes.mjs +8 -0
  468. package/dist/plugins/multi-session/error-codes.mjs.map +1 -0
  469. package/dist/plugins/multi-session/index.d.mts +22 -0
  470. package/dist/plugins/multi-session/index.mjs +172 -0
  471. package/dist/plugins/multi-session/index.mjs.map +1 -0
  472. package/dist/plugins/oauth-proxy/index.d.mts +39 -0
  473. package/dist/plugins/oauth-proxy/index.mjs +305 -0
  474. package/dist/plugins/oauth-proxy/index.mjs.map +1 -0
  475. package/dist/plugins/oauth-proxy/utils.mjs +44 -0
  476. package/dist/plugins/oauth-proxy/utils.mjs.map +1 -0
  477. package/dist/plugins/oidc-provider/authorize.mjs +194 -0
  478. package/dist/plugins/oidc-provider/authorize.mjs.map +1 -0
  479. package/dist/plugins/oidc-provider/client.d.mts +8 -0
  480. package/dist/plugins/oidc-provider/client.mjs +11 -0
  481. package/dist/plugins/oidc-provider/client.mjs.map +1 -0
  482. package/dist/plugins/oidc-provider/error.mjs +17 -0
  483. package/dist/plugins/oidc-provider/error.mjs.map +1 -0
  484. package/dist/plugins/oidc-provider/index.d.mts +32 -0
  485. package/dist/plugins/oidc-provider/index.mjs +1093 -0
  486. package/dist/plugins/oidc-provider/index.mjs.map +1 -0
  487. package/dist/plugins/oidc-provider/schema.d.mts +26 -0
  488. package/dist/plugins/oidc-provider/schema.mjs +132 -0
  489. package/dist/plugins/oidc-provider/schema.mjs.map +1 -0
  490. package/dist/plugins/oidc-provider/types.d.mts +517 -0
  491. package/dist/plugins/oidc-provider/utils/prompt.mjs +19 -0
  492. package/dist/plugins/oidc-provider/utils/prompt.mjs.map +1 -0
  493. package/dist/plugins/oidc-provider/utils.mjs +15 -0
  494. package/dist/plugins/oidc-provider/utils.mjs.map +1 -0
  495. package/dist/plugins/one-tap/client.d.mts +159 -0
  496. package/dist/plugins/one-tap/client.mjs +214 -0
  497. package/dist/plugins/one-tap/client.mjs.map +1 -0
  498. package/dist/plugins/one-tap/index.d.mts +27 -0
  499. package/dist/plugins/one-tap/index.mjs +96 -0
  500. package/dist/plugins/one-tap/index.mjs.map +1 -0
  501. package/dist/plugins/one-time-token/client.d.mts +7 -0
  502. package/dist/plugins/one-time-token/client.mjs +11 -0
  503. package/dist/plugins/one-time-token/client.mjs.map +1 -0
  504. package/dist/plugins/one-time-token/index.d.mts +53 -0
  505. package/dist/plugins/one-time-token/index.mjs +82 -0
  506. package/dist/plugins/one-time-token/index.mjs.map +1 -0
  507. package/dist/plugins/one-time-token/utils.mjs +12 -0
  508. package/dist/plugins/one-time-token/utils.mjs.map +1 -0
  509. package/dist/plugins/open-api/generator.d.mts +115 -0
  510. package/dist/plugins/open-api/generator.mjs +315 -0
  511. package/dist/plugins/open-api/generator.mjs.map +1 -0
  512. package/dist/plugins/open-api/index.d.mts +45 -0
  513. package/dist/plugins/open-api/index.mjs +67 -0
  514. package/dist/plugins/open-api/index.mjs.map +1 -0
  515. package/dist/plugins/open-api/logo.mjs +15 -0
  516. package/dist/plugins/open-api/logo.mjs.map +1 -0
  517. package/dist/plugins/organization/access/index.d.mts +2 -0
  518. package/dist/plugins/organization/access/index.mjs +3 -0
  519. package/dist/plugins/organization/access/statement.d.mts +249 -0
  520. package/dist/plugins/organization/access/statement.mjs +81 -0
  521. package/dist/plugins/organization/access/statement.mjs.map +1 -0
  522. package/dist/plugins/organization/adapter.d.mts +205 -0
  523. package/dist/plugins/organization/adapter.mjs +624 -0
  524. package/dist/plugins/organization/adapter.mjs.map +1 -0
  525. package/dist/plugins/organization/call.mjs +19 -0
  526. package/dist/plugins/organization/call.mjs.map +1 -0
  527. package/dist/plugins/organization/client.d.mts +151 -0
  528. package/dist/plugins/organization/client.mjs +107 -0
  529. package/dist/plugins/organization/client.mjs.map +1 -0
  530. package/dist/plugins/organization/error-codes.d.mts +5 -0
  531. package/dist/plugins/organization/error-codes.mjs +65 -0
  532. package/dist/plugins/organization/error-codes.mjs.map +1 -0
  533. package/dist/plugins/organization/has-permission.mjs +35 -0
  534. package/dist/plugins/organization/has-permission.mjs.map +1 -0
  535. package/dist/plugins/organization/index.d.mts +5 -0
  536. package/dist/plugins/organization/index.mjs +4 -0
  537. package/dist/plugins/organization/organization.d.mts +252 -0
  538. package/dist/plugins/organization/organization.mjs +428 -0
  539. package/dist/plugins/organization/organization.mjs.map +1 -0
  540. package/dist/plugins/organization/permission.d.mts +26 -0
  541. package/dist/plugins/organization/permission.mjs +16 -0
  542. package/dist/plugins/organization/permission.mjs.map +1 -0
  543. package/dist/plugins/organization/routes/crud-access-control.d.mts +11 -0
  544. package/dist/plugins/organization/routes/crud-access-control.mjs +656 -0
  545. package/dist/plugins/organization/routes/crud-access-control.mjs.map +1 -0
  546. package/dist/plugins/organization/routes/crud-invites.d.mts +16 -0
  547. package/dist/plugins/organization/routes/crud-invites.mjs +555 -0
  548. package/dist/plugins/organization/routes/crud-invites.mjs.map +1 -0
  549. package/dist/plugins/organization/routes/crud-members.d.mts +13 -0
  550. package/dist/plugins/organization/routes/crud-members.mjs +473 -0
  551. package/dist/plugins/organization/routes/crud-members.mjs.map +1 -0
  552. package/dist/plugins/organization/routes/crud-org.d.mts +13 -0
  553. package/dist/plugins/organization/routes/crud-org.mjs +447 -0
  554. package/dist/plugins/organization/routes/crud-org.mjs.map +1 -0
  555. package/dist/plugins/organization/routes/crud-team.d.mts +15 -0
  556. package/dist/plugins/organization/routes/crud-team.mjs +676 -0
  557. package/dist/plugins/organization/routes/crud-team.mjs.map +1 -0
  558. package/dist/plugins/organization/schema.d.mts +376 -0
  559. package/dist/plugins/organization/schema.mjs +68 -0
  560. package/dist/plugins/organization/schema.mjs.map +1 -0
  561. package/dist/plugins/organization/types.d.mts +733 -0
  562. package/dist/plugins/phone-number/client.d.mts +8 -0
  563. package/dist/plugins/phone-number/client.mjs +20 -0
  564. package/dist/plugins/phone-number/client.mjs.map +1 -0
  565. package/dist/plugins/phone-number/error-codes.d.mts +5 -0
  566. package/dist/plugins/phone-number/error-codes.mjs +21 -0
  567. package/dist/plugins/phone-number/error-codes.mjs.map +1 -0
  568. package/dist/plugins/phone-number/index.d.mts +14 -0
  569. package/dist/plugins/phone-number/index.mjs +49 -0
  570. package/dist/plugins/phone-number/index.mjs.map +1 -0
  571. package/dist/plugins/phone-number/routes.mjs +459 -0
  572. package/dist/plugins/phone-number/routes.mjs.map +1 -0
  573. package/dist/plugins/phone-number/schema.d.mts +5 -0
  574. package/dist/plugins/phone-number/schema.mjs +20 -0
  575. package/dist/plugins/phone-number/schema.mjs.map +1 -0
  576. package/dist/plugins/phone-number/types.d.mts +118 -0
  577. package/dist/plugins/siwe/client.d.mts +5 -0
  578. package/dist/plugins/siwe/client.mjs +11 -0
  579. package/dist/plugins/siwe/client.mjs.map +1 -0
  580. package/dist/plugins/siwe/error-codes.mjs +13 -0
  581. package/dist/plugins/siwe/error-codes.mjs.map +1 -0
  582. package/dist/plugins/siwe/index.d.mts +26 -0
  583. package/dist/plugins/siwe/index.mjs +261 -0
  584. package/dist/plugins/siwe/index.mjs.map +1 -0
  585. package/dist/plugins/siwe/schema.d.mts +5 -0
  586. package/dist/plugins/siwe/schema.mjs +32 -0
  587. package/dist/plugins/siwe/schema.mjs.map +1 -0
  588. package/dist/plugins/siwe/types.d.mts +44 -0
  589. package/dist/plugins/two-factor/backup-codes/index.d.mts +91 -0
  590. package/dist/plugins/two-factor/backup-codes/index.mjs +277 -0
  591. package/dist/plugins/two-factor/backup-codes/index.mjs.map +1 -0
  592. package/dist/plugins/two-factor/client.d.mts +17 -0
  593. package/dist/plugins/two-factor/client.mjs +37 -0
  594. package/dist/plugins/two-factor/client.mjs.map +1 -0
  595. package/dist/plugins/two-factor/constant.mjs +8 -0
  596. package/dist/plugins/two-factor/constant.mjs.map +1 -0
  597. package/dist/plugins/two-factor/error-code.d.mts +5 -0
  598. package/dist/plugins/two-factor/error-code.mjs +18 -0
  599. package/dist/plugins/two-factor/error-code.mjs.map +1 -0
  600. package/dist/plugins/two-factor/index.d.mts +19 -0
  601. package/dist/plugins/two-factor/index.mjs +207 -0
  602. package/dist/plugins/two-factor/index.mjs.map +1 -0
  603. package/dist/plugins/two-factor/otp/index.d.mts +96 -0
  604. package/dist/plugins/two-factor/otp/index.mjs +199 -0
  605. package/dist/plugins/two-factor/otp/index.mjs.map +1 -0
  606. package/dist/plugins/two-factor/schema.d.mts +5 -0
  607. package/dist/plugins/two-factor/schema.mjs +36 -0
  608. package/dist/plugins/two-factor/schema.mjs.map +1 -0
  609. package/dist/plugins/two-factor/totp/index.d.mts +81 -0
  610. package/dist/plugins/two-factor/totp/index.mjs +157 -0
  611. package/dist/plugins/two-factor/totp/index.mjs.map +1 -0
  612. package/dist/plugins/two-factor/types.d.mts +65 -0
  613. package/dist/plugins/two-factor/utils.mjs +12 -0
  614. package/dist/plugins/two-factor/utils.mjs.map +1 -0
  615. package/dist/plugins/two-factor/verify-two-factor.mjs +76 -0
  616. package/dist/plugins/two-factor/verify-two-factor.mjs.map +1 -0
  617. package/dist/plugins/username/client.d.mts +7 -0
  618. package/dist/plugins/username/client.mjs +18 -0
  619. package/dist/plugins/username/client.mjs.map +1 -0
  620. package/dist/plugins/username/error-codes.d.mts +5 -0
  621. package/dist/plugins/username/error-codes.mjs +17 -0
  622. package/dist/plugins/username/error-codes.mjs.map +1 -0
  623. package/dist/plugins/username/index.d.mts +74 -0
  624. package/dist/plugins/username/index.mjs +237 -0
  625. package/dist/plugins/username/index.mjs.map +1 -0
  626. package/dist/plugins/username/schema.d.mts +9 -0
  627. package/dist/plugins/username/schema.mjs +26 -0
  628. package/dist/plugins/username/schema.mjs.map +1 -0
  629. package/dist/social-providers/index.d.mts +1 -0
  630. package/dist/social-providers/index.mjs +3 -0
  631. package/dist/state.d.mts +42 -0
  632. package/dist/state.mjs +107 -0
  633. package/dist/state.mjs.map +1 -0
  634. package/dist/test-utils/headers.d.mts +9 -0
  635. package/dist/test-utils/headers.mjs +24 -0
  636. package/dist/test-utils/headers.mjs.map +1 -0
  637. package/dist/test-utils/index.d.mts +3 -0
  638. package/dist/test-utils/index.mjs +4 -0
  639. package/dist/test-utils/test-instance.d.mts +181 -0
  640. package/dist/test-utils/test-instance.mjs +210 -0
  641. package/dist/test-utils/test-instance.mjs.map +1 -0
  642. package/dist/types/adapter.d.mts +24 -0
  643. package/dist/types/api.d.mts +29 -0
  644. package/dist/types/auth.d.mts +30 -0
  645. package/dist/types/helper.d.mts +21 -0
  646. package/dist/types/index.d.mts +11 -0
  647. package/dist/types/index.mjs +1 -0
  648. package/dist/types/models.d.mts +17 -0
  649. package/dist/types/plugins.d.mts +16 -0
  650. package/dist/utils/boolean.mjs +8 -0
  651. package/dist/utils/boolean.mjs.map +1 -0
  652. package/dist/utils/constants.mjs +6 -0
  653. package/dist/utils/constants.mjs.map +1 -0
  654. package/dist/utils/date.mjs +8 -0
  655. package/dist/utils/date.mjs.map +1 -0
  656. package/dist/utils/get-request-ip.d.mts +7 -0
  657. package/dist/utils/get-request-ip.mjs +23 -0
  658. package/dist/utils/get-request-ip.mjs.map +1 -0
  659. package/dist/utils/hashing.mjs +21 -0
  660. package/dist/utils/hashing.mjs.map +1 -0
  661. package/dist/utils/hide-metadata.d.mts +7 -0
  662. package/dist/utils/hide-metadata.mjs +6 -0
  663. package/dist/utils/hide-metadata.mjs.map +1 -0
  664. package/dist/utils/index.d.mts +3 -0
  665. package/dist/utils/index.mjs +5 -0
  666. package/dist/utils/is-api-error.d.mts +7 -0
  667. package/dist/utils/is-api-error.mjs +11 -0
  668. package/dist/utils/is-api-error.mjs.map +1 -0
  669. package/dist/utils/is-atom.mjs +8 -0
  670. package/dist/utils/is-atom.mjs.map +1 -0
  671. package/dist/utils/is-promise.mjs +8 -0
  672. package/dist/utils/is-promise.mjs.map +1 -0
  673. package/dist/utils/middleware-response.mjs +6 -0
  674. package/dist/utils/middleware-response.mjs.map +1 -0
  675. package/dist/utils/password.mjs +26 -0
  676. package/dist/utils/password.mjs.map +1 -0
  677. package/dist/utils/plugin-helper.mjs +17 -0
  678. package/dist/utils/plugin-helper.mjs.map +1 -0
  679. package/dist/utils/shim.mjs +24 -0
  680. package/dist/utils/shim.mjs.map +1 -0
  681. package/dist/utils/time.d.mts +49 -0
  682. package/dist/utils/time.mjs +100 -0
  683. package/dist/utils/time.mjs.map +1 -0
  684. package/dist/utils/url.mjs +92 -0
  685. package/dist/utils/url.mjs.map +1 -0
  686. package/dist/utils/wildcard.mjs +108 -0
  687. package/dist/utils/wildcard.mjs.map +1 -0
  688. package/package.json +601 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-team.mjs","names":[],"sources":["../../../../src/plugins/organization/routes/crud-team.ts"],"sourcesContent":["import { createAuthEndpoint } from \"@better-auth/core/api\";\nimport { APIError } from \"@better-auth/core/error\";\nimport * as z from \"zod\";\nimport { getSessionFromCtx } from \"../../../api\";\nimport { setSessionCookie } from \"../../../cookies\";\nimport type { InferAdditionalFieldsFromPluginOptions } from \"../../../db\";\nimport { toZodSchema } from \"../../../db\";\nimport type { PrettifyDeep } from \"../../../types/helper\";\nimport { getOrgAdapter } from \"../adapter\";\nimport { orgMiddleware, orgSessionMiddleware } from \"../call\";\nimport { ORGANIZATION_ERROR_CODES } from \"../error-codes\";\nimport { hasPermission } from \"../has-permission\";\nimport { teamSchema } from \"../schema\";\nimport type { OrganizationOptions } from \"../types\";\n\nconst teamBaseSchema = z.object({\n\tname: z.string().meta({\n\t\tdescription: 'The name of the team. Eg: \"my-team\"',\n\t}),\n\torganizationId: z\n\t\t.string()\n\t\t.meta({\n\t\t\tdescription:\n\t\t\t\t'The organization ID which the team will be created in. Defaults to the active organization. Eg: \"organization-id\"',\n\t\t})\n\t\t.optional(),\n});\n\nexport const createTeam = <O extends OrganizationOptions>(options: O) => {\n\tconst additionalFieldsSchema = toZodSchema({\n\t\tfields: options?.schema?.team?.additionalFields ?? {},\n\t\tisClientSide: true,\n\t});\n\treturn createAuthEndpoint(\n\t\t\"/organization/create-team\",\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\tbody: z.object({\n\t\t\t\t...teamBaseSchema.shape,\n\t\t\t\t...additionalFieldsSchema.shape,\n\t\t\t}),\n\t\t\tuse: [orgMiddleware],\n\t\t\tmetadata: {\n\t\t\t\t$Infer: {\n\t\t\t\t\tbody: {} as z.infer<typeof teamBaseSchema> &\n\t\t\t\t\t\tInferAdditionalFieldsFromPluginOptions<\"team\", O>,\n\t\t\t\t},\n\t\t\t\topenapi: {\n\t\t\t\t\tdescription: \"Create a new team within an organization\",\n\t\t\t\t\tresponses: {\n\t\t\t\t\t\t\"200\": {\n\t\t\t\t\t\t\tdescription: \"Team created successfully\",\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\"application/json\": {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Unique identifier of the created team\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Name of the team\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\torganizationId: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"ID of the organization the team belongs to\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tcreatedAt: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tformat: \"date-time\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Timestamp when the team was created\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tupdatedAt: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tformat: \"date-time\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Timestamp when the team was last updated\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\trequired: [\n\t\t\t\t\t\t\t\t\t\t\t\"id\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\",\n\t\t\t\t\t\t\t\t\t\t\t\"organizationId\",\n\t\t\t\t\t\t\t\t\t\t\t\"createdAt\",\n\t\t\t\t\t\t\t\t\t\t\t\"updatedAt\",\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tasync (ctx) => {\n\t\t\tconst session = await getSessionFromCtx(ctx);\n\t\t\tconst organizationId =\n\t\t\t\tctx.body.organizationId || session?.session.activeOrganizationId;\n\t\t\tif (!session && (ctx.request || ctx.headers)) {\n\t\t\t\tthrow APIError.fromStatus(\"UNAUTHORIZED\");\n\t\t\t}\n\n\t\t\tif (!organizationId) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.NO_ACTIVE_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst adapter = getOrgAdapter<O>(ctx.context, options as O);\n\t\t\tif (session) {\n\t\t\t\tconst member = await adapter.findMemberByOrgId({\n\t\t\t\t\tuserId: session.user.id,\n\t\t\t\t\torganizationId,\n\t\t\t\t});\n\t\t\t\tif (!member) {\n\t\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\t\"FORBIDDEN\",\n\t\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_ARE_NOT_ALLOWED_TO_INVITE_USERS_TO_THIS_ORGANIZATION,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst canCreate = await hasPermission(\n\t\t\t\t\t{\n\t\t\t\t\t\trole: member.role,\n\t\t\t\t\t\toptions: ctx.context.orgOptions,\n\t\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t\tteam: [\"create\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\torganizationId,\n\t\t\t\t\t},\n\t\t\t\t\tctx,\n\t\t\t\t);\n\n\t\t\t\tif (!canCreate) {\n\t\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\t\"FORBIDDEN\",\n\t\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_ARE_NOT_ALLOWED_TO_CREATE_TEAMS_IN_THIS_ORGANIZATION,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst existingTeams = await adapter.listTeams(organizationId);\n\t\t\tconst maximum =\n\t\t\t\ttypeof ctx.context.orgOptions.teams?.maximumTeams === \"function\"\n\t\t\t\t\t? await ctx.context.orgOptions.teams?.maximumTeams(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\torganizationId,\n\t\t\t\t\t\t\t\tsession,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t)\n\t\t\t\t\t: ctx.context.orgOptions.teams?.maximumTeams;\n\n\t\t\tconst maxTeamsReached = maximum ? existingTeams.length >= maximum : false;\n\t\t\tif (maxTeamsReached) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_HAVE_REACHED_THE_MAXIMUM_NUMBER_OF_TEAMS,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst { name, organizationId: _, ...additionalFields } = ctx.body;\n\n\t\t\tconst organization = await adapter.findOrganizationById(organizationId);\n\t\t\tif (!organization) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.ORGANIZATION_NOT_FOUND,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet teamData = {\n\t\t\t\tname,\n\t\t\t\torganizationId,\n\t\t\t\tcreatedAt: new Date(),\n\t\t\t\tupdatedAt: new Date(),\n\t\t\t\t...additionalFields,\n\t\t\t};\n\n\t\t\t// Run beforeCreateTeam hook\n\t\t\tif (options?.organizationHooks?.beforeCreateTeam) {\n\t\t\t\tconst response = await options?.organizationHooks.beforeCreateTeam({\n\t\t\t\t\tteam: {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\torganizationId,\n\t\t\t\t\t\t...additionalFields,\n\t\t\t\t\t},\n\t\t\t\t\tuser: session?.user,\n\t\t\t\t\torganization,\n\t\t\t\t});\n\t\t\t\tif (response && typeof response === \"object\" && \"data\" in response) {\n\t\t\t\t\tteamData = {\n\t\t\t\t\t\t...teamData,\n\t\t\t\t\t\t...response.data,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst createdTeam = await adapter.createTeam(teamData);\n\n\t\t\t// Run afterCreateTeam hook\n\t\t\tif (options?.organizationHooks?.afterCreateTeam) {\n\t\t\t\tawait options?.organizationHooks.afterCreateTeam({\n\t\t\t\t\tteam: createdTeam,\n\t\t\t\t\tuser: session?.user,\n\t\t\t\t\torganization,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn ctx.json(createdTeam);\n\t\t},\n\t);\n};\n\nconst removeTeamBodySchema = z.object({\n\tteamId: z.string().meta({\n\t\tdescription: `The team ID of the team to remove. Eg: \"team-id\"`,\n\t}),\n\torganizationId: z\n\t\t.string()\n\t\t.meta({\n\t\t\tdescription: `The organization ID which the team falls under. If not provided, it will default to the user's active organization. Eg: \"organization-id\"`,\n\t\t})\n\t\t.optional(),\n});\n\nexport const removeTeam = <O extends OrganizationOptions>(options: O) =>\n\tcreateAuthEndpoint(\n\t\t\"/organization/remove-team\",\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\tbody: removeTeamBodySchema,\n\t\t\tuse: [orgMiddleware],\n\t\t\tmetadata: {\n\t\t\t\topenapi: {\n\t\t\t\t\tdescription: \"Remove a team from an organization\",\n\t\t\t\t\tresponses: {\n\t\t\t\t\t\t\"200\": {\n\t\t\t\t\t\t\tdescription: \"Team removed successfully\",\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\"application/json\": {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"Confirmation message indicating successful removal\",\n\t\t\t\t\t\t\t\t\t\t\t\tenum: [\"Team removed successfully.\"],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\trequired: [\"message\"],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tasync (ctx) => {\n\t\t\tconst session = await getSessionFromCtx(ctx);\n\t\t\tconst organizationId =\n\t\t\t\tctx.body.organizationId || session?.session.activeOrganizationId;\n\t\t\tif (!organizationId) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.NO_ACTIVE_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!session && (ctx.request || ctx.headers)) {\n\t\t\t\tthrow APIError.fromStatus(\"UNAUTHORIZED\");\n\t\t\t}\n\t\t\tconst adapter = getOrgAdapter<O>(ctx.context, options);\n\t\t\tif (session) {\n\t\t\t\tconst member = await adapter.findMemberByOrgId({\n\t\t\t\t\tuserId: session.user.id,\n\t\t\t\t\torganizationId,\n\t\t\t\t});\n\n\t\t\t\tif (!member || session.session?.activeTeamId === ctx.body.teamId) {\n\t\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\t\"FORBIDDEN\",\n\t\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_ARE_NOT_ALLOWED_TO_DELETE_THIS_TEAM,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst canRemove = await hasPermission(\n\t\t\t\t\t{\n\t\t\t\t\t\trole: member.role,\n\t\t\t\t\t\toptions: ctx.context.orgOptions,\n\t\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t\tteam: [\"delete\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\torganizationId,\n\t\t\t\t\t},\n\t\t\t\t\tctx,\n\t\t\t\t);\n\n\t\t\t\tif (!canRemove) {\n\t\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\t\"FORBIDDEN\",\n\t\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_ARE_NOT_ALLOWED_TO_DELETE_TEAMS_IN_THIS_ORGANIZATION,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst team = await adapter.findTeamById({\n\t\t\t\tteamId: ctx.body.teamId,\n\t\t\t\torganizationId,\n\t\t\t});\n\t\t\tif (!team || team.organizationId !== organizationId) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.TEAM_NOT_FOUND,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!ctx.context.orgOptions.teams?.allowRemovingAllTeams) {\n\t\t\t\tconst teams = await adapter.listTeams(organizationId);\n\t\t\t\tif (teams.length <= 1) {\n\t\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\t\tORGANIZATION_ERROR_CODES.UNABLE_TO_REMOVE_LAST_TEAM,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst organization = await adapter.findOrganizationById(organizationId);\n\t\t\tif (!organization) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.ORGANIZATION_NOT_FOUND,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Run beforeDeleteTeam hook\n\t\t\tif (options?.organizationHooks?.beforeDeleteTeam) {\n\t\t\t\tawait options?.organizationHooks.beforeDeleteTeam({\n\t\t\t\t\tteam,\n\t\t\t\t\tuser: session?.user,\n\t\t\t\t\torganization,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tawait adapter.deleteTeam(team.id);\n\n\t\t\t// Run afterDeleteTeam hook\n\t\t\tif (options?.organizationHooks?.afterDeleteTeam) {\n\t\t\t\tawait options?.organizationHooks.afterDeleteTeam({\n\t\t\t\t\tteam,\n\t\t\t\t\tuser: session?.user,\n\t\t\t\t\torganization,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn ctx.json({ message: \"Team removed successfully.\" });\n\t\t},\n\t);\n\nexport const updateTeam = <O extends OrganizationOptions>(options: O) => {\n\tconst additionalFieldsSchema = toZodSchema({\n\t\tfields: options?.schema?.team?.additionalFields ?? {},\n\t\tisClientSide: true,\n\t});\n\n\ttype Body = {\n\t\tteamId: string;\n\t\tdata: Partial<\n\t\t\tPrettifyDeep<\n\t\t\t\tOmit<z.infer<typeof teamSchema>, \"id\" | \"createdAt\" | \"updatedAt\">\n\t\t\t> &\n\t\t\t\tInferAdditionalFieldsFromPluginOptions<\"team\", O>\n\t\t>;\n\t};\n\n\treturn createAuthEndpoint(\n\t\t\"/organization/update-team\",\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\tbody: z.object({\n\t\t\t\tteamId: z.string().meta({\n\t\t\t\t\tdescription: `The ID of the team to be updated. Eg: \"team-id\"`,\n\t\t\t\t}),\n\t\t\t\tdata: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\t...teamSchema.shape,\n\t\t\t\t\t\t...additionalFieldsSchema.shape,\n\t\t\t\t\t})\n\t\t\t\t\t.partial(),\n\t\t\t}),\n\t\t\trequireHeaders: true,\n\t\t\tuse: [orgMiddleware, orgSessionMiddleware],\n\t\t\tmetadata: {\n\t\t\t\t$Infer: { body: {} as Body },\n\t\t\t\topenapi: {\n\t\t\t\t\tdescription: \"Update an existing team in an organization\",\n\t\t\t\t\tresponses: {\n\t\t\t\t\t\t\"200\": {\n\t\t\t\t\t\t\tdescription: \"Team updated successfully\",\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\"application/json\": {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Unique identifier of the updated team\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Updated name of the team\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\torganizationId: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"ID of the organization the team belongs to\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tcreatedAt: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tformat: \"date-time\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Timestamp when the team was created\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tupdatedAt: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tformat: \"date-time\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Timestamp when the team was last updated\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\trequired: [\n\t\t\t\t\t\t\t\t\t\t\t\"id\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\",\n\t\t\t\t\t\t\t\t\t\t\t\"organizationId\",\n\t\t\t\t\t\t\t\t\t\t\t\"createdAt\",\n\t\t\t\t\t\t\t\t\t\t\t\"updatedAt\",\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tasync (ctx) => {\n\t\t\tconst session = ctx.context.session;\n\t\t\tconst organizationId =\n\t\t\t\tctx.body.data.organizationId || session.session.activeOrganizationId;\n\t\t\tif (!organizationId) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.NO_ACTIVE_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst adapter = getOrgAdapter<O>(ctx.context, options);\n\t\t\tconst member = await adapter.findMemberByOrgId({\n\t\t\t\tuserId: session.user.id,\n\t\t\t\torganizationId,\n\t\t\t});\n\n\t\t\tif (!member) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"FORBIDDEN\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_ARE_NOT_ALLOWED_TO_UPDATE_THIS_TEAM,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst canUpdate = await hasPermission(\n\t\t\t\t{\n\t\t\t\t\trole: member.role,\n\t\t\t\t\toptions: ctx.context.orgOptions,\n\t\t\t\t\tpermissions: {\n\t\t\t\t\t\tteam: [\"update\"],\n\t\t\t\t\t},\n\t\t\t\t\torganizationId,\n\t\t\t\t},\n\t\t\t\tctx,\n\t\t\t);\n\n\t\t\tif (!canUpdate) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"FORBIDDEN\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_ARE_NOT_ALLOWED_TO_UPDATE_THIS_TEAM,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst team = await adapter.findTeamById({\n\t\t\t\tteamId: ctx.body.teamId,\n\t\t\t\torganizationId,\n\t\t\t});\n\n\t\t\tif (!team || team.organizationId !== organizationId) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.TEAM_NOT_FOUND,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst { name, organizationId: __, ...additionalFields } = ctx.body.data;\n\n\t\t\tconst organization = await adapter.findOrganizationById(organizationId);\n\t\t\tif (!organization) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.ORGANIZATION_NOT_FOUND,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst updates = {\n\t\t\t\tname,\n\t\t\t\t...additionalFields,\n\t\t\t};\n\n\t\t\t// Run beforeUpdateTeam hook\n\t\t\tif (options?.organizationHooks?.beforeUpdateTeam) {\n\t\t\t\tconst response = await options?.organizationHooks.beforeUpdateTeam({\n\t\t\t\t\tteam,\n\t\t\t\t\tupdates,\n\t\t\t\t\tuser: session.user,\n\t\t\t\t\torganization,\n\t\t\t\t});\n\t\t\t\tif (response && typeof response === \"object\" && \"data\" in response) {\n\t\t\t\t\t// Allow the hook to modify the updates\n\t\t\t\t\tconst modifiedUpdates = response.data;\n\t\t\t\t\tconst updatedTeam = await adapter.updateTeam(\n\t\t\t\t\t\tteam.id,\n\t\t\t\t\t\tmodifiedUpdates,\n\t\t\t\t\t);\n\n\t\t\t\t\t// Run afterUpdateTeam hook\n\t\t\t\t\tif (options?.organizationHooks?.afterUpdateTeam) {\n\t\t\t\t\t\tawait options?.organizationHooks.afterUpdateTeam({\n\t\t\t\t\t\t\tteam: updatedTeam,\n\t\t\t\t\t\t\tuser: session.user,\n\t\t\t\t\t\t\torganization,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ctx.json(updatedTeam);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst updatedTeam = await adapter.updateTeam(team.id, updates);\n\n\t\t\t// Run afterUpdateTeam hook\n\t\t\tif (options?.organizationHooks?.afterUpdateTeam) {\n\t\t\t\tawait options?.organizationHooks.afterUpdateTeam({\n\t\t\t\t\tteam: updatedTeam,\n\t\t\t\t\tuser: session.user,\n\t\t\t\t\torganization,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn ctx.json(updatedTeam);\n\t\t},\n\t);\n};\n\nconst listOrganizationTeamsQuerySchema = z.optional(\n\tz.object({\n\t\torganizationId: z\n\t\t\t.string()\n\t\t\t.meta({\n\t\t\t\tdescription: `The organization ID which the teams are under to list. Defaults to the users active organization. Eg: \"organization-id\"`,\n\t\t\t})\n\t\t\t.optional(),\n\t}),\n);\n\nexport const listOrganizationTeams = <O extends OrganizationOptions>(\n\toptions: O,\n) =>\n\tcreateAuthEndpoint(\n\t\t\"/organization/list-teams\",\n\t\t{\n\t\t\tmethod: \"GET\",\n\t\t\tquery: listOrganizationTeamsQuerySchema,\n\t\t\tmetadata: {\n\t\t\t\topenapi: {\n\t\t\t\t\tdescription: \"List all teams in an organization\",\n\t\t\t\t\tresponses: {\n\t\t\t\t\t\t\"200\": {\n\t\t\t\t\t\t\tdescription: \"Teams retrieved successfully\",\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\"application/json\": {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Unique identifier of the team\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Name of the team\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\torganizationId: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"ID of the organization the team belongs to\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tcreatedAt: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tformat: \"date-time\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Timestamp when the team was created\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tupdatedAt: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tformat: \"date-time\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Timestamp when the team was last updated\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\trequired: [\n\t\t\t\t\t\t\t\t\t\t\t\t\"id\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"organizationId\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"createdAt\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"updatedAt\",\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\"Array of team objects within the organization\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\trequireHeaders: true,\n\t\t\tuse: [orgMiddleware, orgSessionMiddleware],\n\t\t},\n\t\tasync (ctx) => {\n\t\t\tconst session = ctx.context.session;\n\t\t\tconst organizationId =\n\t\t\t\tctx.query?.organizationId || session?.session.activeOrganizationId;\n\t\t\tif (!organizationId) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.NO_ACTIVE_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst adapter = getOrgAdapter<O>(ctx.context, options);\n\t\t\tconst member = await adapter.findMemberByOrgId({\n\t\t\t\tuserId: session.user.id,\n\t\t\t\torganizationId: organizationId || \"\",\n\t\t\t});\n\t\t\tif (!member) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"FORBIDDEN\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_ARE_NOT_ALLOWED_TO_ACCESS_THIS_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst teams = await adapter.listTeams(organizationId);\n\t\t\treturn ctx.json(teams);\n\t\t},\n\t);\n\nconst setActiveTeamBodySchema = z.object({\n\tteamId: z\n\t\t.string()\n\t\t.meta({\n\t\t\tdescription:\n\t\t\t\t\"The team id to set as active. It can be null to unset the active team\",\n\t\t})\n\t\t.nullable()\n\t\t.optional(),\n});\n\nexport const setActiveTeam = <O extends OrganizationOptions>(options: O) =>\n\tcreateAuthEndpoint(\n\t\t\"/organization/set-active-team\",\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\tbody: setActiveTeamBodySchema,\n\t\t\trequireHeaders: true,\n\t\t\tuse: [orgSessionMiddleware, orgMiddleware],\n\t\t\tmetadata: {\n\t\t\t\topenapi: {\n\t\t\t\t\tdescription: \"Set the active team\",\n\t\t\t\t\tresponses: {\n\t\t\t\t\t\t\"200\": {\n\t\t\t\t\t\t\tdescription: \"Success\",\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\"application/json\": {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\t\t\tdescription: \"The team\",\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/components/schemas/Team\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tasync (ctx) => {\n\t\t\tconst adapter = getOrgAdapter(ctx.context, ctx.context.orgOptions);\n\t\t\tconst session = ctx.context.session;\n\n\t\t\tif (ctx.body.teamId === null) {\n\t\t\t\tconst sessionTeamId = session.session.activeTeamId;\n\t\t\t\tif (!sessionTeamId) {\n\t\t\t\t\treturn ctx.json(null);\n\t\t\t\t}\n\n\t\t\t\tconst updatedSession = await adapter.setActiveTeam(\n\t\t\t\t\tsession.session.token,\n\t\t\t\t\tnull,\n\t\t\t\t\tctx,\n\t\t\t\t);\n\n\t\t\t\tawait setSessionCookie(ctx, {\n\t\t\t\t\tsession: updatedSession,\n\t\t\t\t\tuser: session.user,\n\t\t\t\t});\n\n\t\t\t\treturn ctx.json(null);\n\t\t\t}\n\n\t\t\tlet teamId: string;\n\n\t\t\tif (!ctx.body.teamId) {\n\t\t\t\tconst sessionTeamId = session.session.activeTeamId;\n\t\t\t\tif (!sessionTeamId) {\n\t\t\t\t\treturn ctx.json(null);\n\t\t\t\t} else {\n\t\t\t\t\tteamId = sessionTeamId;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tteamId = ctx.body.teamId;\n\t\t\t}\n\n\t\t\tconst team = await adapter.findTeamById({ teamId });\n\n\t\t\tif (!team) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.TEAM_NOT_FOUND,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst member = await adapter.findTeamMember({\n\t\t\t\tteamId,\n\t\t\t\tuserId: session.user.id,\n\t\t\t});\n\n\t\t\tif (!member) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"FORBIDDEN\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.USER_IS_NOT_A_MEMBER_OF_THE_TEAM,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst updatedSession = await adapter.setActiveTeam(\n\t\t\t\tsession.session.token,\n\t\t\t\tteam.id,\n\t\t\t\tctx,\n\t\t\t);\n\n\t\t\tawait setSessionCookie(ctx, {\n\t\t\t\tsession: updatedSession,\n\t\t\t\tuser: session.user,\n\t\t\t});\n\n\t\t\treturn ctx.json(team);\n\t\t},\n\t);\n\nexport const listUserTeams = <O extends OrganizationOptions>(options: O) =>\n\tcreateAuthEndpoint(\n\t\t\"/organization/list-user-teams\",\n\t\t{\n\t\t\tmethod: \"GET\",\n\t\t\tmetadata: {\n\t\t\t\topenapi: {\n\t\t\t\t\tdescription: \"List all teams that the current user is a part of.\",\n\t\t\t\t\tresponses: {\n\t\t\t\t\t\t\"200\": {\n\t\t\t\t\t\t\tdescription: \"Teams retrieved successfully\",\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\"application/json\": {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"The team\",\n\t\t\t\t\t\t\t\t\t\t\t$ref: \"#/components/schemas/Team\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\"Array of team objects within the organization\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\trequireHeaders: true,\n\t\t\tuse: [orgMiddleware, orgSessionMiddleware],\n\t\t},\n\t\tasync (ctx) => {\n\t\t\tconst session = ctx.context.session;\n\t\t\tconst adapter = getOrgAdapter(ctx.context, ctx.context.orgOptions);\n\t\t\tconst teams = await adapter.listTeamsByUser({\n\t\t\t\tuserId: session.user.id,\n\t\t\t});\n\n\t\t\treturn ctx.json(teams);\n\t\t},\n\t);\n\nconst listTeamMembersQuerySchema = z.optional(\n\tz.object({\n\t\tteamId: z.string().optional().meta({\n\t\t\tdescription:\n\t\t\t\t\"The team whose members we should return. If this is not provided the members of the current active team get returned.\",\n\t\t}),\n\t}),\n);\n\nexport const listTeamMembers = <O extends OrganizationOptions>(options: O) =>\n\tcreateAuthEndpoint(\n\t\t\"/organization/list-team-members\",\n\t\t{\n\t\t\tmethod: \"GET\",\n\t\t\tquery: listTeamMembersQuerySchema,\n\t\t\tmetadata: {\n\t\t\t\topenapi: {\n\t\t\t\t\tdescription: \"List the members of the given team.\",\n\t\t\t\t\tresponses: {\n\t\t\t\t\t\t\"200\": {\n\t\t\t\t\t\t\tdescription: \"Teams retrieved successfully\",\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\"application/json\": {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"The team member\",\n\t\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Unique identifier of the team member\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tuserId: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"The user ID of the team member\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tteamId: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"The team ID of the team the team member is in\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tcreatedAt: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tformat: \"date-time\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Timestamp when the team member was created\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\trequired: [\"id\", \"userId\", \"teamId\", \"createdAt\"],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tdescription: \"Array of team member objects within the team\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\trequireHeaders: true,\n\t\t\tuse: [orgMiddleware, orgSessionMiddleware],\n\t\t},\n\t\tasync (ctx) => {\n\t\t\tconst session = ctx.context.session;\n\t\t\tconst adapter = getOrgAdapter(ctx.context, ctx.context.orgOptions);\n\t\t\tconst teamId = ctx.query?.teamId || session?.session.activeTeamId;\n\t\t\tif (!teamId) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_DO_NOT_HAVE_AN_ACTIVE_TEAM,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst member = await adapter.findTeamMember({\n\t\t\t\tuserId: session.user.id,\n\t\t\t\tteamId,\n\t\t\t});\n\n\t\t\tif (!member) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.USER_IS_NOT_A_MEMBER_OF_THE_TEAM,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst members = await adapter.listTeamMembers({\n\t\t\t\tteamId,\n\t\t\t});\n\t\t\treturn ctx.json(members);\n\t\t},\n\t);\n\nconst addTeamMemberBodySchema = z.object({\n\tteamId: z.string().meta({\n\t\tdescription: \"The team the user should be a member of.\",\n\t}),\n\n\tuserId: z.coerce.string().meta({\n\t\tdescription:\n\t\t\t\"The user Id which represents the user to be added as a member.\",\n\t}),\n});\n\nexport const addTeamMember = <O extends OrganizationOptions>(options: O) =>\n\tcreateAuthEndpoint(\n\t\t\"/organization/add-team-member\",\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\tbody: addTeamMemberBodySchema,\n\t\t\tmetadata: {\n\t\t\t\topenapi: {\n\t\t\t\t\tdescription: \"The newly created member\",\n\t\t\t\t\tresponses: {\n\t\t\t\t\t\t\"200\": {\n\t\t\t\t\t\t\tdescription: \"Team member created successfully\",\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\"application/json\": {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\t\t\tdescription: \"The team member\",\n\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"Unique identifier of the team member\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tuserId: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"The user ID of the team member\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tteamId: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"The team ID of the team the team member is in\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tcreatedAt: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tformat: \"date-time\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"Timestamp when the team member was created\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\trequired: [\"id\", \"userId\", \"teamId\", \"createdAt\"],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\trequireHeaders: true,\n\t\t\tuse: [orgMiddleware, orgSessionMiddleware],\n\t\t},\n\t\tasync (ctx) => {\n\t\t\tconst session = ctx.context.session;\n\t\t\tconst adapter = getOrgAdapter(ctx.context, ctx.context.orgOptions);\n\n\t\t\tif (!session.session.activeOrganizationId) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.NO_ACTIVE_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst currentMember = await adapter.findMemberByOrgId({\n\t\t\t\tuserId: session.user.id,\n\t\t\t\torganizationId: session.session.activeOrganizationId,\n\t\t\t});\n\n\t\t\tif (!currentMember) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.USER_IS_NOT_A_MEMBER_OF_THE_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst canUpdateMember = await hasPermission(\n\t\t\t\t{\n\t\t\t\t\trole: currentMember.role,\n\t\t\t\t\toptions: ctx.context.orgOptions,\n\t\t\t\t\tpermissions: {\n\t\t\t\t\t\tmember: [\"update\"],\n\t\t\t\t\t},\n\t\t\t\t\torganizationId: session.session.activeOrganizationId,\n\t\t\t\t},\n\t\t\t\tctx,\n\t\t\t);\n\n\t\t\tif (!canUpdateMember) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"FORBIDDEN\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_TEAM_MEMBER,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst toBeAddedMember = await adapter.findMemberByOrgId({\n\t\t\t\tuserId: ctx.body.userId,\n\t\t\t\torganizationId: session.session.activeOrganizationId,\n\t\t\t});\n\n\t\t\tif (!toBeAddedMember) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.USER_IS_NOT_A_MEMBER_OF_THE_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst team = await adapter.findTeamById({\n\t\t\t\tteamId: ctx.body.teamId,\n\t\t\t\torganizationId: session.session.activeOrganizationId,\n\t\t\t});\n\n\t\t\tif (!team) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.TEAM_NOT_FOUND,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst organization = await adapter.findOrganizationById(\n\t\t\t\tsession.session.activeOrganizationId,\n\t\t\t);\n\t\t\tif (!organization) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.ORGANIZATION_NOT_FOUND,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst userBeingAdded = await ctx.context.internalAdapter.findUserById(\n\t\t\t\tctx.body.userId,\n\t\t\t);\n\t\t\tif (!userBeingAdded) {\n\t\t\t\tthrow APIError.fromStatus(\"BAD_REQUEST\", {\n\t\t\t\t\tmessage: \"User not found\",\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Run beforeAddTeamMember hook\n\t\t\tif (options?.organizationHooks?.beforeAddTeamMember) {\n\t\t\t\tconst response = await options?.organizationHooks.beforeAddTeamMember({\n\t\t\t\t\tteamMember: {\n\t\t\t\t\t\tteamId: ctx.body.teamId,\n\t\t\t\t\t\tuserId: ctx.body.userId,\n\t\t\t\t\t},\n\t\t\t\t\tteam,\n\t\t\t\t\tuser: userBeingAdded,\n\t\t\t\t\torganization,\n\t\t\t\t});\n\t\t\t\tif (response && typeof response === \"object\" && \"data\" in response) {\n\t\t\t\t\t// Allow the hook to modify the data\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst teamMember = await adapter.findOrCreateTeamMember({\n\t\t\t\tteamId: ctx.body.teamId,\n\t\t\t\tuserId: ctx.body.userId,\n\t\t\t});\n\n\t\t\t// Run afterAddTeamMember hook\n\t\t\tif (options?.organizationHooks?.afterAddTeamMember) {\n\t\t\t\tawait options?.organizationHooks.afterAddTeamMember({\n\t\t\t\t\tteamMember,\n\t\t\t\t\tteam,\n\t\t\t\t\tuser: userBeingAdded,\n\t\t\t\t\torganization,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn ctx.json(teamMember);\n\t\t},\n\t);\n\nconst removeTeamMemberBodySchema = z.object({\n\tteamId: z.string().meta({\n\t\tdescription: \"The team the user should be removed from.\",\n\t}),\n\n\tuserId: z.coerce.string().meta({\n\t\tdescription: \"The user which should be removed from the team.\",\n\t}),\n});\n\nexport const removeTeamMember = <O extends OrganizationOptions>(options: O) =>\n\tcreateAuthEndpoint(\n\t\t\"/organization/remove-team-member\",\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\tbody: removeTeamMemberBodySchema,\n\t\t\tmetadata: {\n\t\t\t\topenapi: {\n\t\t\t\t\tdescription: \"Remove a member from a team\",\n\t\t\t\t\tresponses: {\n\t\t\t\t\t\t\"200\": {\n\t\t\t\t\t\t\tdescription: \"Team member removed successfully\",\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\"application/json\": {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\tmessage: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"Confirmation message indicating successful removal\",\n\t\t\t\t\t\t\t\t\t\t\t\tenum: [\"Team member removed successfully.\"],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\trequired: [\"message\"],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\trequireHeaders: true,\n\t\t\tuse: [orgMiddleware, orgSessionMiddleware],\n\t\t},\n\t\tasync (ctx) => {\n\t\t\tconst session = ctx.context.session;\n\t\t\tconst adapter = getOrgAdapter(ctx.context, ctx.context.orgOptions);\n\n\t\t\tif (!session.session.activeOrganizationId) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.NO_ACTIVE_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst currentMember = await adapter.findMemberByOrgId({\n\t\t\t\tuserId: session.user.id,\n\t\t\t\torganizationId: session.session.activeOrganizationId,\n\t\t\t});\n\n\t\t\tif (!currentMember) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.USER_IS_NOT_A_MEMBER_OF_THE_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst canDeleteMember = await hasPermission(\n\t\t\t\t{\n\t\t\t\t\trole: currentMember.role,\n\t\t\t\t\toptions: ctx.context.orgOptions,\n\t\t\t\t\tpermissions: {\n\t\t\t\t\t\tmember: [\"delete\"],\n\t\t\t\t\t},\n\t\t\t\t\torganizationId: session.session.activeOrganizationId,\n\t\t\t\t},\n\t\t\t\tctx,\n\t\t\t);\n\n\t\t\tif (!canDeleteMember) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"FORBIDDEN\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.YOU_ARE_NOT_ALLOWED_TO_REMOVE_A_TEAM_MEMBER,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst toBeAddedMember = await adapter.findMemberByOrgId({\n\t\t\t\tuserId: ctx.body.userId,\n\t\t\t\torganizationId: session.session.activeOrganizationId,\n\t\t\t});\n\n\t\t\tif (!toBeAddedMember) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.USER_IS_NOT_A_MEMBER_OF_THE_ORGANIZATION,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst team = await adapter.findTeamById({\n\t\t\t\tteamId: ctx.body.teamId,\n\t\t\t\torganizationId: session.session.activeOrganizationId,\n\t\t\t});\n\n\t\t\tif (!team) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.TEAM_NOT_FOUND,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst organization = await adapter.findOrganizationById(\n\t\t\t\tsession.session.activeOrganizationId,\n\t\t\t);\n\t\t\tif (!organization) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.ORGANIZATION_NOT_FOUND,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst userBeingRemoved = await ctx.context.internalAdapter.findUserById(\n\t\t\t\tctx.body.userId,\n\t\t\t);\n\t\t\tif (!userBeingRemoved) {\n\t\t\t\tthrow APIError.fromStatus(\"BAD_REQUEST\", {\n\t\t\t\t\tmessage: \"User not found\",\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst teamMember = await adapter.findTeamMember({\n\t\t\t\tteamId: ctx.body.teamId,\n\t\t\t\tuserId: ctx.body.userId,\n\t\t\t});\n\n\t\t\tif (!teamMember) {\n\t\t\t\tthrow APIError.from(\n\t\t\t\t\t\"BAD_REQUEST\",\n\t\t\t\t\tORGANIZATION_ERROR_CODES.USER_IS_NOT_A_MEMBER_OF_THE_TEAM,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Run beforeRemoveTeamMember hook\n\t\t\tif (options?.organizationHooks?.beforeRemoveTeamMember) {\n\t\t\t\tawait options?.organizationHooks.beforeRemoveTeamMember({\n\t\t\t\t\tteamMember,\n\t\t\t\t\tteam,\n\t\t\t\t\tuser: userBeingRemoved,\n\t\t\t\t\torganization,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tawait adapter.removeTeamMember({\n\t\t\t\tteamId: ctx.body.teamId,\n\t\t\t\tuserId: ctx.body.userId,\n\t\t\t});\n\n\t\t\t// Run afterRemoveTeamMember hook\n\t\t\tif (options?.organizationHooks?.afterRemoveTeamMember) {\n\t\t\t\tawait options?.organizationHooks.afterRemoveTeamMember({\n\t\t\t\t\tteamMember,\n\t\t\t\t\tteam,\n\t\t\t\t\tuser: userBeingRemoved,\n\t\t\t\t\torganization,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn ctx.json({ message: \"Team member removed successfully.\" });\n\t\t},\n\t);\n"],"mappings":"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"}
@@ -0,0 +1,376 @@
1
+ import { FieldAttributeToObject, RemoveFieldsWithReturnedFalse } from "../../db/field.mjs";
2
+ import "../../db/index.mjs";
3
+ import { OrganizationOptions } from "./types.mjs";
4
+ import { BetterAuthPluginDBSchema, DBFieldAttribute } from "@better-auth/core/db";
5
+ import { Prettify } from "better-call";
6
+ import * as z from "zod";
7
+
8
+ //#region src/plugins/organization/schema.d.ts
9
+ type InferSchema<Schema extends BetterAuthPluginDBSchema, TableName extends string, DefaultFields> = {
10
+ modelName: Schema[TableName] extends {
11
+ modelName: infer M;
12
+ } ? M extends string ? M : string : string;
13
+ fields: { [K in keyof DefaultFields]: DefaultFields[K] } & (Schema[TableName] extends {
14
+ additionalFields: infer F;
15
+ } ? F : {});
16
+ };
17
+ interface OrganizationRoleDefaultFields {
18
+ organizationId: {
19
+ type: "string";
20
+ required: true;
21
+ references: {
22
+ model: "organization";
23
+ field: "id";
24
+ };
25
+ };
26
+ role: {
27
+ type: "string";
28
+ required: true;
29
+ };
30
+ permission: {
31
+ type: "string";
32
+ required: true;
33
+ };
34
+ createdAt: {
35
+ type: "date";
36
+ required: true;
37
+ defaultValue: Date;
38
+ };
39
+ updatedAt: {
40
+ type: "date";
41
+ required: false;
42
+ };
43
+ }
44
+ interface TeamDefaultFields {
45
+ name: {
46
+ type: "string";
47
+ required: true;
48
+ };
49
+ organizationId: {
50
+ type: "string";
51
+ required: true;
52
+ references: {
53
+ model: "organization";
54
+ field: "id";
55
+ };
56
+ };
57
+ createdAt: {
58
+ type: "date";
59
+ required: true;
60
+ };
61
+ updatedAt: {
62
+ type: "date";
63
+ required: false;
64
+ };
65
+ }
66
+ interface TeamMemberDefaultFields {
67
+ teamId: {
68
+ type: "string";
69
+ required: true;
70
+ references: {
71
+ model: "team";
72
+ field: "id";
73
+ };
74
+ };
75
+ userId: {
76
+ type: "string";
77
+ required: true;
78
+ references: {
79
+ model: "user";
80
+ field: "id";
81
+ };
82
+ };
83
+ createdAt: {
84
+ type: "date";
85
+ required: false;
86
+ };
87
+ }
88
+ interface OrganizationDefaultFields {
89
+ name: {
90
+ type: "string";
91
+ required: true;
92
+ sortable: true;
93
+ };
94
+ slug: {
95
+ type: "string";
96
+ required: true;
97
+ unique: true;
98
+ sortable: true;
99
+ };
100
+ logo: {
101
+ type: "string";
102
+ required: false;
103
+ };
104
+ createdAt: {
105
+ type: "date";
106
+ required: true;
107
+ };
108
+ updatedAt: {
109
+ type: "date";
110
+ required: false;
111
+ };
112
+ }
113
+ interface MemberDefaultFields {
114
+ organizationId: {
115
+ type: "string";
116
+ required: true;
117
+ references: {
118
+ model: "organization";
119
+ field: "id";
120
+ };
121
+ };
122
+ userId: {
123
+ type: "string";
124
+ required: true;
125
+ references: {
126
+ model: "user";
127
+ field: "id";
128
+ };
129
+ };
130
+ role: {
131
+ type: "string";
132
+ required: true;
133
+ defaultValue: "member";
134
+ };
135
+ createdAt: {
136
+ type: "date";
137
+ required: true;
138
+ };
139
+ }
140
+ interface InvitationDefaultFields {
141
+ organizationId: {
142
+ type: "string";
143
+ required: true;
144
+ references: {
145
+ model: "organization";
146
+ field: "id";
147
+ };
148
+ };
149
+ email: {
150
+ type: "string";
151
+ required: true;
152
+ sortable: true;
153
+ };
154
+ role: {
155
+ type: "string";
156
+ required: true;
157
+ sortable: true;
158
+ };
159
+ status: {
160
+ type: "string";
161
+ required: true;
162
+ sortable: true;
163
+ defaultValue: "pending";
164
+ };
165
+ expiresAt: {
166
+ type: "date";
167
+ required: false;
168
+ };
169
+ createdAt: {
170
+ type: "date";
171
+ required: true;
172
+ defaultValue: Date;
173
+ };
174
+ inviterId: {
175
+ type: "string";
176
+ required: true;
177
+ references: {
178
+ model: "user";
179
+ field: "id";
180
+ };
181
+ };
182
+ }
183
+ interface SessionDefaultFields {
184
+ activeOrganizationId: {
185
+ type: "string";
186
+ required: false;
187
+ };
188
+ }
189
+ type OrganizationSchema<O extends OrganizationOptions> = (O["dynamicAccessControl"] extends {
190
+ enabled: true;
191
+ } ? {
192
+ organizationRole: InferSchema<O["schema"] extends BetterAuthPluginDBSchema ? O["schema"] : {}, "organizationRole", OrganizationRoleDefaultFields>;
193
+ } & {
194
+ session: {
195
+ fields: InferSchema<O["schema"] extends BetterAuthPluginDBSchema ? O["schema"] : {}, "session", SessionDefaultFields>["fields"];
196
+ };
197
+ } : {}) & (O["teams"] extends {
198
+ enabled: true;
199
+ } ? {
200
+ team: InferSchema<O["schema"] extends BetterAuthPluginDBSchema ? O["schema"] : {}, "team", TeamDefaultFields>;
201
+ teamMember: InferSchema<O["schema"] extends BetterAuthPluginDBSchema ? O["schema"] : {}, "teamMember", TeamMemberDefaultFields>;
202
+ } : {}) & {
203
+ organization: InferSchema<O["schema"] extends BetterAuthPluginDBSchema ? O["schema"] : {}, "organization", OrganizationDefaultFields>;
204
+ member: InferSchema<O["schema"] extends BetterAuthPluginDBSchema ? O["schema"] : {}, "member", MemberDefaultFields>;
205
+ invitation: {
206
+ modelName: O["schema"] extends BetterAuthPluginDBSchema ? InferSchema<O["schema"], "invitation", InvitationDefaultFields>["modelName"] : string;
207
+ fields: InferSchema<O["schema"] extends BetterAuthPluginDBSchema ? O["schema"] : {}, "invitation", InvitationDefaultFields>["fields"] & (O extends {
208
+ teams: {
209
+ enabled: true;
210
+ };
211
+ } ? {
212
+ teamId: {
213
+ type: "string";
214
+ required: false;
215
+ sortable: true;
216
+ };
217
+ } : {});
218
+ };
219
+ session: {
220
+ fields: InferSchema<O["schema"] extends BetterAuthPluginDBSchema ? O["schema"] : {}, "session", SessionDefaultFields>["fields"] & (O["teams"] extends {
221
+ enabled: true;
222
+ } ? {
223
+ activeTeamId: {
224
+ type: "string";
225
+ required: false;
226
+ };
227
+ } : {});
228
+ };
229
+ };
230
+ declare const roleSchema: z.ZodString;
231
+ declare const invitationStatus: z.ZodDefault<z.ZodEnum<{
232
+ pending: "pending";
233
+ accepted: "accepted";
234
+ rejected: "rejected";
235
+ canceled: "canceled";
236
+ }>>;
237
+ declare const organizationSchema: z.ZodObject<{
238
+ id: z.ZodDefault<z.ZodString>;
239
+ name: z.ZodString;
240
+ slug: z.ZodString;
241
+ logo: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
242
+ metadata: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodPipe<z.ZodString, z.ZodTransform<any, string>>]>>;
243
+ createdAt: z.ZodDate;
244
+ }, z.core.$strip>;
245
+ declare const memberSchema: z.ZodObject<{
246
+ id: z.ZodDefault<z.ZodString>;
247
+ organizationId: z.ZodString;
248
+ userId: z.ZodCoercedString<unknown>;
249
+ role: z.ZodString;
250
+ createdAt: z.ZodDefault<z.ZodDate>;
251
+ }, z.core.$strip>;
252
+ declare const invitationSchema: z.ZodObject<{
253
+ id: z.ZodDefault<z.ZodString>;
254
+ organizationId: z.ZodString;
255
+ email: z.ZodString;
256
+ role: z.ZodString;
257
+ status: z.ZodDefault<z.ZodEnum<{
258
+ pending: "pending";
259
+ accepted: "accepted";
260
+ rejected: "rejected";
261
+ canceled: "canceled";
262
+ }>>;
263
+ teamId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
264
+ inviterId: z.ZodString;
265
+ expiresAt: z.ZodDate;
266
+ createdAt: z.ZodDefault<z.ZodDate>;
267
+ }, z.core.$strip>;
268
+ declare const teamSchema: z.ZodObject<{
269
+ id: z.ZodDefault<z.ZodString>;
270
+ name: z.ZodString;
271
+ organizationId: z.ZodString;
272
+ createdAt: z.ZodDate;
273
+ updatedAt: z.ZodOptional<z.ZodDate>;
274
+ }, z.core.$strip>;
275
+ declare const teamMemberSchema: z.ZodObject<{
276
+ id: z.ZodDefault<z.ZodString>;
277
+ teamId: z.ZodString;
278
+ userId: z.ZodString;
279
+ createdAt: z.ZodDefault<z.ZodDate>;
280
+ }, z.core.$strip>;
281
+ declare const organizationRoleSchema: z.ZodObject<{
282
+ id: z.ZodDefault<z.ZodString>;
283
+ organizationId: z.ZodString;
284
+ role: z.ZodString;
285
+ permission: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
286
+ createdAt: z.ZodDefault<z.ZodDate>;
287
+ updatedAt: z.ZodOptional<z.ZodDate>;
288
+ }, z.core.$strip>;
289
+ type Organization = z.infer<typeof organizationSchema>;
290
+ type Member = z.infer<typeof memberSchema>;
291
+ type TeamMember = z.infer<typeof teamMemberSchema>;
292
+ type Team = z.infer<typeof teamSchema>;
293
+ type Invitation = z.infer<typeof invitationSchema>;
294
+ type InvitationInput = z.input<typeof invitationSchema>;
295
+ type MemberInput = z.input<typeof memberSchema>;
296
+ type TeamMemberInput = z.input<typeof teamMemberSchema>;
297
+ type OrganizationInput = z.input<typeof organizationSchema>;
298
+ type TeamInput = z.infer<typeof teamSchema>;
299
+ type OrganizationRole = z.infer<typeof organizationRoleSchema>;
300
+ declare const defaultRolesSchema: z.ZodUnion<readonly [z.ZodEnum<{
301
+ admin: "admin";
302
+ member: "member";
303
+ owner: "owner";
304
+ }>, z.ZodArray<z.ZodEnum<{
305
+ admin: "admin";
306
+ member: "member";
307
+ owner: "owner";
308
+ }>>]>;
309
+ type CustomRolesSchema<O> = O extends {
310
+ roles: {
311
+ [key: string]: any;
312
+ };
313
+ } ? z.ZodType<keyof O["roles"] | Array<keyof O["roles"]>> : typeof defaultRolesSchema;
314
+ type InferOrganizationZodRolesFromOption<O extends OrganizationOptions | undefined> = CustomRolesSchema<O>;
315
+ type InferOrganizationRolesFromOption<O extends OrganizationOptions | undefined> = O extends {
316
+ roles: any;
317
+ } ? keyof O["roles"] extends infer K extends string ? K : "admin" | "member" | "owner" : "admin" | "member" | "owner";
318
+ type InvitationStatus = "pending" | "accepted" | "rejected" | "canceled";
319
+ type InferAdditionalFieldsOutput<SchemaName extends string, Options extends OrganizationOptions, isClientSide extends boolean> = Options["schema"] extends { [key in SchemaName]?: {
320
+ additionalFields: infer Field extends Record<string, DBFieldAttribute>;
321
+ } } ? isClientSide extends true ? FieldAttributeToObject<RemoveFieldsWithReturnedFalse<Field>> : FieldAttributeToObject<Field> : {};
322
+ type InferMember<O extends OrganizationOptions, isClientSide extends boolean = true> = Prettify<(O["teams"] extends {
323
+ enabled: true;
324
+ } ? {
325
+ id: string;
326
+ organizationId: string;
327
+ role: InferOrganizationRolesFromOption<O>;
328
+ createdAt: Date;
329
+ userId: string;
330
+ teamId?: string | undefined;
331
+ user: {
332
+ id: string;
333
+ email: string;
334
+ name: string;
335
+ image?: string | undefined;
336
+ };
337
+ } : {
338
+ id: string;
339
+ organizationId: string;
340
+ role: InferOrganizationRolesFromOption<O>;
341
+ createdAt: Date;
342
+ userId: string;
343
+ user: {
344
+ id: string;
345
+ email: string;
346
+ name: string;
347
+ image?: string | undefined;
348
+ };
349
+ }) & InferAdditionalFieldsOutput<"member", O, isClientSide>>;
350
+ type InferOrganization<O extends OrganizationOptions, isClientSide extends boolean = true> = Prettify<Organization & InferAdditionalFieldsOutput<"organization", O, isClientSide>>;
351
+ type InferTeam<O extends OrganizationOptions, isClientSide extends boolean = true> = Prettify<Team & InferAdditionalFieldsOutput<"team", O, isClientSide>>;
352
+ type InferInvitation<O extends OrganizationOptions, isClientSide extends boolean = true> = Prettify<(O["teams"] extends {
353
+ enabled: true;
354
+ } ? {
355
+ id: string;
356
+ organizationId: string;
357
+ email: string;
358
+ role: InferOrganizationRolesFromOption<O>;
359
+ status: InvitationStatus;
360
+ inviterId: string;
361
+ expiresAt: Date;
362
+ createdAt: Date;
363
+ teamId?: string | undefined;
364
+ } : {
365
+ id: string;
366
+ organizationId: string;
367
+ email: string;
368
+ role: InferOrganizationRolesFromOption<O>;
369
+ status: InvitationStatus;
370
+ inviterId: string;
371
+ expiresAt: Date;
372
+ createdAt: Date;
373
+ }) & InferAdditionalFieldsOutput<"invitation", O, isClientSide>>;
374
+ //#endregion
375
+ export { InferInvitation, InferMember, InferOrganization, InferOrganizationRolesFromOption, InferOrganizationZodRolesFromOption, InferTeam, Invitation, InvitationInput, InvitationStatus, Member, MemberInput, Organization, OrganizationInput, OrganizationRole, OrganizationSchema, Team, TeamInput, TeamMember, TeamMemberInput, defaultRolesSchema, invitationSchema, invitationStatus, memberSchema, organizationRoleSchema, organizationSchema, roleSchema, teamMemberSchema, teamSchema };
376
+ //# sourceMappingURL=schema.d.mts.map
@@ -0,0 +1,68 @@
1
+ import { generateId } from "@better-auth/core/utils/id";
2
+ import * as z from "zod";
3
+
4
+ //#region src/plugins/organization/schema.ts
5
+ const roleSchema = z.string();
6
+ const invitationStatus = z.enum([
7
+ "pending",
8
+ "accepted",
9
+ "rejected",
10
+ "canceled"
11
+ ]).default("pending");
12
+ const organizationSchema = z.object({
13
+ id: z.string().default(generateId),
14
+ name: z.string(),
15
+ slug: z.string(),
16
+ logo: z.string().nullish().optional(),
17
+ metadata: z.record(z.string(), z.unknown()).or(z.string().transform((v) => JSON.parse(v))).optional(),
18
+ createdAt: z.date()
19
+ });
20
+ const memberSchema = z.object({
21
+ id: z.string().default(generateId),
22
+ organizationId: z.string(),
23
+ userId: z.coerce.string(),
24
+ role: roleSchema,
25
+ createdAt: z.date().default(() => /* @__PURE__ */ new Date())
26
+ });
27
+ const invitationSchema = z.object({
28
+ id: z.string().default(generateId),
29
+ organizationId: z.string(),
30
+ email: z.string(),
31
+ role: roleSchema,
32
+ status: invitationStatus,
33
+ teamId: z.string().nullish(),
34
+ inviterId: z.string(),
35
+ expiresAt: z.date(),
36
+ createdAt: z.date().default(() => /* @__PURE__ */ new Date())
37
+ });
38
+ const teamSchema = z.object({
39
+ id: z.string().default(generateId),
40
+ name: z.string().min(1),
41
+ organizationId: z.string(),
42
+ createdAt: z.date(),
43
+ updatedAt: z.date().optional()
44
+ });
45
+ const teamMemberSchema = z.object({
46
+ id: z.string().default(generateId),
47
+ teamId: z.string(),
48
+ userId: z.string(),
49
+ createdAt: z.date().default(() => /* @__PURE__ */ new Date())
50
+ });
51
+ const organizationRoleSchema = z.object({
52
+ id: z.string().default(generateId),
53
+ organizationId: z.string(),
54
+ role: z.string(),
55
+ permission: z.record(z.string(), z.array(z.string())),
56
+ createdAt: z.date().default(() => /* @__PURE__ */ new Date()),
57
+ updatedAt: z.date().optional()
58
+ });
59
+ const defaultRoles = [
60
+ "admin",
61
+ "member",
62
+ "owner"
63
+ ];
64
+ const defaultRolesSchema = z.union([z.enum(defaultRoles), z.array(z.enum(defaultRoles))]);
65
+
66
+ //#endregion
67
+ export { teamSchema };
68
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.mjs","names":[],"sources":["../../../src/plugins/organization/schema.ts"],"sourcesContent":["import type { BetterAuthPluginDBSchema } from \"@better-auth/core/db\";\nimport { generateId } from \"@better-auth/core/utils/id\";\nimport type { Prettify } from \"better-call\";\nimport * as z from \"zod\";\nimport type {\n\tFieldAttributeToObject,\n\tRemoveFieldsWithReturnedFalse,\n} from \"../../db\";\nimport type { OrganizationOptions } from \"./types\";\n\ntype InferSchema<\n\tSchema extends BetterAuthPluginDBSchema,\n\tTableName extends string,\n\tDefaultFields,\n> = {\n\tmodelName: Schema[TableName] extends { modelName: infer M }\n\t\t? M extends string\n\t\t\t? M\n\t\t\t: string\n\t\t: string;\n\tfields: {\n\t\t[K in keyof DefaultFields]: DefaultFields[K];\n\t} & (Schema[TableName] extends { additionalFields: infer F } ? F : {});\n};\n\ninterface OrganizationRoleDefaultFields {\n\torganizationId: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\treferences: {\n\t\t\tmodel: \"organization\";\n\t\t\tfield: \"id\";\n\t\t};\n\t};\n\trole: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t};\n\tpermission: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t};\n\tcreatedAt: {\n\t\ttype: \"date\";\n\t\trequired: true;\n\t\tdefaultValue: Date;\n\t};\n\tupdatedAt: {\n\t\ttype: \"date\";\n\t\trequired: false;\n\t};\n}\n\ninterface TeamDefaultFields {\n\tname: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t};\n\torganizationId: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\treferences: {\n\t\t\tmodel: \"organization\";\n\t\t\tfield: \"id\";\n\t\t};\n\t};\n\tcreatedAt: {\n\t\ttype: \"date\";\n\t\trequired: true;\n\t};\n\tupdatedAt: {\n\t\ttype: \"date\";\n\t\trequired: false;\n\t};\n}\n\ninterface TeamMemberDefaultFields {\n\tteamId: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\treferences: {\n\t\t\tmodel: \"team\";\n\t\t\tfield: \"id\";\n\t\t};\n\t};\n\tuserId: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\treferences: {\n\t\t\tmodel: \"user\";\n\t\t\tfield: \"id\";\n\t\t};\n\t};\n\tcreatedAt: {\n\t\ttype: \"date\";\n\t\trequired: false;\n\t};\n}\n\ninterface OrganizationDefaultFields {\n\tname: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\tsortable: true;\n\t};\n\tslug: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\tunique: true;\n\t\tsortable: true;\n\t};\n\tlogo: {\n\t\ttype: \"string\";\n\t\trequired: false;\n\t};\n\tcreatedAt: {\n\t\ttype: \"date\";\n\t\trequired: true;\n\t};\n\tupdatedAt: {\n\t\ttype: \"date\";\n\t\trequired: false;\n\t};\n}\n\ninterface MemberDefaultFields {\n\torganizationId: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\treferences: {\n\t\t\tmodel: \"organization\";\n\t\t\tfield: \"id\";\n\t\t};\n\t};\n\tuserId: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\treferences: {\n\t\t\tmodel: \"user\";\n\t\t\tfield: \"id\";\n\t\t};\n\t};\n\trole: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\tdefaultValue: \"member\";\n\t};\n\tcreatedAt: {\n\t\ttype: \"date\";\n\t\trequired: true;\n\t};\n}\n\ninterface InvitationDefaultFields {\n\torganizationId: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\treferences: {\n\t\t\tmodel: \"organization\";\n\t\t\tfield: \"id\";\n\t\t};\n\t};\n\temail: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\tsortable: true;\n\t};\n\trole: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\tsortable: true;\n\t};\n\tstatus: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\tsortable: true;\n\t\tdefaultValue: \"pending\";\n\t};\n\texpiresAt: {\n\t\ttype: \"date\";\n\t\trequired: false;\n\t};\n\tcreatedAt: {\n\t\ttype: \"date\";\n\t\trequired: true;\n\t\tdefaultValue: Date;\n\t};\n\tinviterId: {\n\t\ttype: \"string\";\n\t\trequired: true;\n\t\treferences: {\n\t\t\tmodel: \"user\";\n\t\t\tfield: \"id\";\n\t\t};\n\t};\n}\n\ninterface SessionDefaultFields {\n\tactiveOrganizationId: {\n\t\ttype: \"string\";\n\t\trequired: false;\n\t};\n}\n\nexport type OrganizationSchema<O extends OrganizationOptions> =\n\t(O[\"dynamicAccessControl\"] extends { enabled: true }\n\t\t? {\n\t\t\t\torganizationRole: InferSchema<\n\t\t\t\t\tO[\"schema\"] extends BetterAuthPluginDBSchema ? O[\"schema\"] : {},\n\t\t\t\t\t\"organizationRole\",\n\t\t\t\t\tOrganizationRoleDefaultFields\n\t\t\t\t>;\n\t\t\t} & {\n\t\t\t\tsession: {\n\t\t\t\t\tfields: InferSchema<\n\t\t\t\t\t\tO[\"schema\"] extends BetterAuthPluginDBSchema ? O[\"schema\"] : {},\n\t\t\t\t\t\t\"session\",\n\t\t\t\t\t\tSessionDefaultFields\n\t\t\t\t\t>[\"fields\"];\n\t\t\t\t};\n\t\t\t}\n\t\t: {}) &\n\t\t(O[\"teams\"] extends { enabled: true }\n\t\t\t? {\n\t\t\t\t\tteam: InferSchema<\n\t\t\t\t\t\tO[\"schema\"] extends BetterAuthPluginDBSchema ? O[\"schema\"] : {},\n\t\t\t\t\t\t\"team\",\n\t\t\t\t\t\tTeamDefaultFields\n\t\t\t\t\t>;\n\t\t\t\t\tteamMember: InferSchema<\n\t\t\t\t\t\tO[\"schema\"] extends BetterAuthPluginDBSchema ? O[\"schema\"] : {},\n\t\t\t\t\t\t\"teamMember\",\n\t\t\t\t\t\tTeamMemberDefaultFields\n\t\t\t\t\t>;\n\t\t\t\t}\n\t\t\t: {}) & {\n\t\t\torganization: InferSchema<\n\t\t\t\tO[\"schema\"] extends BetterAuthPluginDBSchema ? O[\"schema\"] : {},\n\t\t\t\t\"organization\",\n\t\t\t\tOrganizationDefaultFields\n\t\t\t>;\n\t\t\tmember: InferSchema<\n\t\t\t\tO[\"schema\"] extends BetterAuthPluginDBSchema ? O[\"schema\"] : {},\n\t\t\t\t\"member\",\n\t\t\t\tMemberDefaultFields\n\t\t\t>;\n\t\t\tinvitation: {\n\t\t\t\tmodelName: O[\"schema\"] extends BetterAuthPluginDBSchema\n\t\t\t\t\t? InferSchema<\n\t\t\t\t\t\t\tO[\"schema\"],\n\t\t\t\t\t\t\t\"invitation\",\n\t\t\t\t\t\t\tInvitationDefaultFields\n\t\t\t\t\t\t>[\"modelName\"]\n\t\t\t\t\t: string;\n\t\t\t\tfields: InferSchema<\n\t\t\t\t\tO[\"schema\"] extends BetterAuthPluginDBSchema ? O[\"schema\"] : {},\n\t\t\t\t\t\"invitation\",\n\t\t\t\t\tInvitationDefaultFields\n\t\t\t\t>[\"fields\"] &\n\t\t\t\t\t(O extends { teams: { enabled: true } }\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tteamId: {\n\t\t\t\t\t\t\t\t\ttype: \"string\";\n\t\t\t\t\t\t\t\t\trequired: false;\n\t\t\t\t\t\t\t\t\tsortable: true;\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {});\n\t\t\t};\n\t\t\tsession: {\n\t\t\t\tfields: InferSchema<\n\t\t\t\t\tO[\"schema\"] extends BetterAuthPluginDBSchema ? O[\"schema\"] : {},\n\t\t\t\t\t\"session\",\n\t\t\t\t\tSessionDefaultFields\n\t\t\t\t>[\"fields\"] &\n\t\t\t\t\t(O[\"teams\"] extends { enabled: true }\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tactiveTeamId: {\n\t\t\t\t\t\t\t\t\ttype: \"string\";\n\t\t\t\t\t\t\t\t\trequired: false;\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {});\n\t\t\t};\n\t\t};\n\nexport const roleSchema = z.string();\nexport const invitationStatus = z\n\t.enum([\"pending\", \"accepted\", \"rejected\", \"canceled\"])\n\t.default(\"pending\");\n\nexport const organizationSchema = z.object({\n\tid: z.string().default(generateId),\n\tname: z.string(),\n\tslug: z.string(),\n\tlogo: z.string().nullish().optional(),\n\tmetadata: z\n\t\t.record(z.string(), z.unknown())\n\t\t.or(z.string().transform((v) => JSON.parse(v)))\n\t\t.optional(),\n\tcreatedAt: z.date(),\n});\n\nexport const memberSchema = z.object({\n\tid: z.string().default(generateId),\n\torganizationId: z.string(),\n\tuserId: z.coerce.string(),\n\trole: roleSchema,\n\tcreatedAt: z.date().default(() => new Date()),\n});\n\nexport const invitationSchema = z.object({\n\tid: z.string().default(generateId),\n\torganizationId: z.string(),\n\temail: z.string(),\n\trole: roleSchema,\n\tstatus: invitationStatus,\n\tteamId: z.string().nullish(),\n\tinviterId: z.string(),\n\texpiresAt: z.date(),\n\tcreatedAt: z.date().default(() => new Date()),\n});\n\nexport const teamSchema = z.object({\n\tid: z.string().default(generateId),\n\tname: z.string().min(1),\n\torganizationId: z.string(),\n\tcreatedAt: z.date(),\n\tupdatedAt: z.date().optional(),\n});\n\nexport const teamMemberSchema = z.object({\n\tid: z.string().default(generateId),\n\tteamId: z.string(),\n\tuserId: z.string(),\n\tcreatedAt: z.date().default(() => new Date()),\n});\n\nexport const organizationRoleSchema = z.object({\n\tid: z.string().default(generateId),\n\torganizationId: z.string(),\n\trole: z.string(),\n\tpermission: z.record(z.string(), z.array(z.string())),\n\tcreatedAt: z.date().default(() => new Date()),\n\tupdatedAt: z.date().optional(),\n});\n\nexport type Organization = z.infer<typeof organizationSchema>;\nexport type Member = z.infer<typeof memberSchema>;\nexport type TeamMember = z.infer<typeof teamMemberSchema>;\nexport type Team = z.infer<typeof teamSchema>;\nexport type Invitation = z.infer<typeof invitationSchema>;\nexport type InvitationInput = z.input<typeof invitationSchema>;\nexport type MemberInput = z.input<typeof memberSchema>;\nexport type TeamMemberInput = z.input<typeof teamMemberSchema>;\nexport type OrganizationInput = z.input<typeof organizationSchema>;\nexport type TeamInput = z.infer<typeof teamSchema>;\nexport type OrganizationRole = z.infer<typeof organizationRoleSchema>;\n\nconst defaultRoles = [\"admin\", \"member\", \"owner\"] as const;\nexport const defaultRolesSchema = z.union([\n\tz.enum(defaultRoles),\n\tz.array(z.enum(defaultRoles)),\n]);\n\ntype CustomRolesSchema<O> = O extends { roles: { [key: string]: any } }\n\t? z.ZodType<keyof O[\"roles\"] | Array<keyof O[\"roles\"]>>\n\t: typeof defaultRolesSchema;\n\nexport type InferOrganizationZodRolesFromOption<\n\tO extends OrganizationOptions | undefined,\n> = CustomRolesSchema<O>;\n\nexport type InferOrganizationRolesFromOption<\n\tO extends OrganizationOptions | undefined,\n> = O extends { roles: any }\n\t? keyof O[\"roles\"] extends infer K extends string\n\t\t? K\n\t\t: \"admin\" | \"member\" | \"owner\"\n\t: \"admin\" | \"member\" | \"owner\";\n\nexport type InvitationStatus = \"pending\" | \"accepted\" | \"rejected\" | \"canceled\";\n\nimport type { DBFieldAttribute } from \"@better-auth/core/db\";\n\ntype InferAdditionalFieldsOutput<\n\tSchemaName extends string,\n\tOptions extends OrganizationOptions,\n\tisClientSide extends boolean,\n> = Options[\"schema\"] extends {\n\t[key in SchemaName]?: {\n\t\tadditionalFields: infer Field extends Record<string, DBFieldAttribute>;\n\t};\n}\n\t? isClientSide extends true\n\t\t? FieldAttributeToObject<RemoveFieldsWithReturnedFalse<Field>>\n\t\t: FieldAttributeToObject<Field>\n\t: {};\n\nexport type InferMember<\n\tO extends OrganizationOptions,\n\tisClientSide extends boolean = true,\n> = Prettify<\n\t(O[\"teams\"] extends {\n\t\tenabled: true;\n\t}\n\t\t? {\n\t\t\t\tid: string;\n\t\t\t\torganizationId: string;\n\t\t\t\trole: InferOrganizationRolesFromOption<O>;\n\t\t\t\tcreatedAt: Date;\n\t\t\t\tuserId: string;\n\t\t\t\tteamId?: string | undefined;\n\t\t\t\tuser: {\n\t\t\t\t\tid: string;\n\t\t\t\t\temail: string;\n\t\t\t\t\tname: string;\n\t\t\t\t\timage?: string | undefined;\n\t\t\t\t};\n\t\t\t}\n\t\t: {\n\t\t\t\tid: string;\n\t\t\t\torganizationId: string;\n\t\t\t\trole: InferOrganizationRolesFromOption<O>;\n\t\t\t\tcreatedAt: Date;\n\t\t\t\tuserId: string;\n\t\t\t\tuser: {\n\t\t\t\t\tid: string;\n\t\t\t\t\temail: string;\n\t\t\t\t\tname: string;\n\t\t\t\t\timage?: string | undefined;\n\t\t\t\t};\n\t\t\t}) &\n\t\tInferAdditionalFieldsOutput<\"member\", O, isClientSide>\n>;\n\nexport type InferOrganization<\n\tO extends OrganizationOptions,\n\tisClientSide extends boolean = true,\n> = Prettify<\n\tOrganization & InferAdditionalFieldsOutput<\"organization\", O, isClientSide>\n>;\n\nexport type InferTeam<\n\tO extends OrganizationOptions,\n\tisClientSide extends boolean = true,\n> = Prettify<Team & InferAdditionalFieldsOutput<\"team\", O, isClientSide>>;\n\nexport type InferInvitation<\n\tO extends OrganizationOptions,\n\tisClientSide extends boolean = true,\n> = Prettify<\n\t(O[\"teams\"] extends {\n\t\tenabled: true;\n\t}\n\t\t? {\n\t\t\t\tid: string;\n\t\t\t\torganizationId: string;\n\t\t\t\temail: string;\n\t\t\t\trole: InferOrganizationRolesFromOption<O>;\n\t\t\t\tstatus: InvitationStatus;\n\t\t\t\tinviterId: string;\n\t\t\t\texpiresAt: Date;\n\t\t\t\tcreatedAt: Date;\n\t\t\t\tteamId?: string | undefined;\n\t\t\t}\n\t\t: {\n\t\t\t\tid: string;\n\t\t\t\torganizationId: string;\n\t\t\t\temail: string;\n\t\t\t\trole: InferOrganizationRolesFromOption<O>;\n\t\t\t\tstatus: InvitationStatus;\n\t\t\t\tinviterId: string;\n\t\t\t\texpiresAt: Date;\n\t\t\t\tcreatedAt: Date;\n\t\t\t}) &\n\t\tInferAdditionalFieldsOutput<\"invitation\", O, isClientSide>\n>;\n"],"mappings":";;;;AA8RA,MAAa,aAAa,EAAE,QAAQ;AACpC,MAAa,mBAAmB,EAC9B,KAAK;CAAC;CAAW;CAAY;CAAY;CAAW,CAAC,CACrD,QAAQ,UAAU;AAEpB,MAAa,qBAAqB,EAAE,OAAO;CAC1C,IAAI,EAAE,QAAQ,CAAC,QAAQ,WAAW;CAClC,MAAM,EAAE,QAAQ;CAChB,MAAM,EAAE,QAAQ;CAChB,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,UAAU;CACrC,UAAU,EACR,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,CAC/B,GAAG,EAAE,QAAQ,CAAC,WAAW,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC,CAC9C,UAAU;CACZ,WAAW,EAAE,MAAM;CACnB,CAAC;AAEF,MAAa,eAAe,EAAE,OAAO;CACpC,IAAI,EAAE,QAAQ,CAAC,QAAQ,WAAW;CAClC,gBAAgB,EAAE,QAAQ;CAC1B,QAAQ,EAAE,OAAO,QAAQ;CACzB,MAAM;CACN,WAAW,EAAE,MAAM,CAAC,8BAAc,IAAI,MAAM,CAAC;CAC7C,CAAC;AAEF,MAAa,mBAAmB,EAAE,OAAO;CACxC,IAAI,EAAE,QAAQ,CAAC,QAAQ,WAAW;CAClC,gBAAgB,EAAE,QAAQ;CAC1B,OAAO,EAAE,QAAQ;CACjB,MAAM;CACN,QAAQ;CACR,QAAQ,EAAE,QAAQ,CAAC,SAAS;CAC5B,WAAW,EAAE,QAAQ;CACrB,WAAW,EAAE,MAAM;CACnB,WAAW,EAAE,MAAM,CAAC,8BAAc,IAAI,MAAM,CAAC;CAC7C,CAAC;AAEF,MAAa,aAAa,EAAE,OAAO;CAClC,IAAI,EAAE,QAAQ,CAAC,QAAQ,WAAW;CAClC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;CACvB,gBAAgB,EAAE,QAAQ;CAC1B,WAAW,EAAE,MAAM;CACnB,WAAW,EAAE,MAAM,CAAC,UAAU;CAC9B,CAAC;AAEF,MAAa,mBAAmB,EAAE,OAAO;CACxC,IAAI,EAAE,QAAQ,CAAC,QAAQ,WAAW;CAClC,QAAQ,EAAE,QAAQ;CAClB,QAAQ,EAAE,QAAQ;CAClB,WAAW,EAAE,MAAM,CAAC,8BAAc,IAAI,MAAM,CAAC;CAC7C,CAAC;AAEF,MAAa,yBAAyB,EAAE,OAAO;CAC9C,IAAI,EAAE,QAAQ,CAAC,QAAQ,WAAW;CAClC,gBAAgB,EAAE,QAAQ;CAC1B,MAAM,EAAE,QAAQ;CAChB,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;CACrD,WAAW,EAAE,MAAM,CAAC,8BAAc,IAAI,MAAM,CAAC;CAC7C,WAAW,EAAE,MAAM,CAAC,UAAU;CAC9B,CAAC;AAcF,MAAM,eAAe;CAAC;CAAS;CAAU;CAAQ;AACjD,MAAa,qBAAqB,EAAE,MAAM,CACzC,EAAE,KAAK,aAAa,EACpB,EAAE,MAAM,EAAE,KAAK,aAAa,CAAC,CAC7B,CAAC"}