faire-auth 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/dist/{adapter-factory-lKIOf2OR.mjs → adapter-factory-qPVW8x9-.mjs} +34 -36
  2. package/dist/{adapter-factory-D1I7joki.cjs → adapter-factory-u8r3oTez.cjs} +66 -68
  3. package/dist/adapters/drizzle-adapter/index.cjs +34 -40
  4. package/dist/adapters/drizzle-adapter/index.d.cts +4 -9
  5. package/dist/adapters/drizzle-adapter/index.d.mts +4 -9
  6. package/dist/adapters/drizzle-adapter/index.mjs +20 -26
  7. package/dist/adapters/index.cjs +11 -16
  8. package/dist/adapters/index.d.cts +11 -37
  9. package/dist/adapters/index.d.mts +11 -37
  10. package/dist/adapters/index.mjs +4 -13
  11. package/dist/adapters/kysely-adapter/index.cjs +270 -11
  12. package/dist/adapters/kysely-adapter/index.d.cts +9 -19
  13. package/dist/adapters/kysely-adapter/index.d.mts +9 -19
  14. package/dist/adapters/kysely-adapter/index.mjs +267 -9
  15. package/dist/adapters/memory-adapter/index.cjs +146 -9
  16. package/dist/adapters/memory-adapter/index.d.cts +4 -10
  17. package/dist/adapters/memory-adapter/index.d.mts +4 -10
  18. package/dist/adapters/memory-adapter/index.mjs +145 -9
  19. package/dist/adapters/mongodb-adapter/index.cjs +13 -21
  20. package/dist/adapters/mongodb-adapter/index.d.cts +3 -8
  21. package/dist/adapters/mongodb-adapter/index.d.mts +4 -9
  22. package/dist/adapters/mongodb-adapter/index.mjs +12 -20
  23. package/dist/adapters/prisma-adapter/index.cjs +12 -20
  24. package/dist/adapters/prisma-adapter/index.d.cts +4 -8
  25. package/dist/adapters/prisma-adapter/index.d.mts +4 -8
  26. package/dist/adapters/prisma-adapter/index.mjs +5 -13
  27. package/dist/adapters/test.cjs +86 -69
  28. package/dist/adapters/test.d.cts +7 -11
  29. package/dist/adapters/test.d.mts +7 -11
  30. package/dist/adapters/test.mjs +83 -66
  31. package/dist/api/index.cjs +3 -20
  32. package/dist/api/index.d.cts +2 -3
  33. package/dist/api/index.d.mts +2 -3
  34. package/dist/api/index.mjs +1 -20
  35. package/dist/api/middleware/index.cjs +4 -11
  36. package/dist/api/middleware/index.d.cts +3 -9
  37. package/dist/api/middleware/index.d.mts +3 -9
  38. package/dist/api/middleware/index.mjs +3 -11
  39. package/dist/{api-B4RDwBty.mjs → api-0f-F-Fi2.mjs} +292 -189
  40. package/dist/{api-CaRC1Gio.cjs → api-LjfH6hQi.cjs} +557 -452
  41. package/dist/{test-utils/bun-sqlite-dialect-BZBvHchL.cjs → bun-sqlite-dialect-BHkarnxN.cjs} +5 -9
  42. package/dist/{test-utils/bun-sqlite-dialect-BSWhhKNs.mjs → bun-sqlite-dialect-BiZBuEF6.mjs} +6 -9
  43. package/dist/client/index.cjs +8 -15
  44. package/dist/client/index.d.cts +9 -14
  45. package/dist/client/index.d.mts +9 -14
  46. package/dist/client/index.mjs +7 -15
  47. package/dist/client/lynx/index.cjs +10 -18
  48. package/dist/client/lynx/index.d.cts +402 -71
  49. package/dist/client/lynx/index.d.mts +402 -71
  50. package/dist/client/lynx/index.mjs +5 -13
  51. package/dist/client/plugins/index.cjs +3 -5
  52. package/dist/client/plugins/index.d.cts +5 -10
  53. package/dist/client/plugins/index.d.mts +5 -10
  54. package/dist/client/plugins/index.mjs +2 -4
  55. package/dist/client/react/index.cjs +6 -14
  56. package/dist/client/react/index.d.cts +402 -71
  57. package/dist/client/react/index.d.mts +402 -71
  58. package/dist/client/react/index.mjs +5 -13
  59. package/dist/client/solid/index.cjs +6 -14
  60. package/dist/client/solid/index.d.cts +393 -57
  61. package/dist/client/solid/index.d.mts +393 -57
  62. package/dist/client/solid/index.mjs +5 -13
  63. package/dist/client/svelte/index.cjs +5 -10
  64. package/dist/client/svelte/index.d.cts +400 -67
  65. package/dist/client/svelte/index.d.mts +400 -67
  66. package/dist/client/svelte/index.mjs +4 -10
  67. package/dist/client/vue/index.cjs +6 -14
  68. package/dist/client/vue/index.d.cts +401 -68
  69. package/dist/client/vue/index.d.mts +401 -68
  70. package/dist/client/vue/index.mjs +5 -13
  71. package/dist/{cookies-BTs1o992.mjs → cookies-D9aY_gJh.mjs} +25 -21
  72. package/dist/{cookies-BTl72THv.cjs → cookies-DQ52rcOy.cjs} +119 -115
  73. package/dist/crypto/index.cjs +10 -8
  74. package/dist/crypto/index.d.cts +5 -13
  75. package/dist/crypto/index.d.mts +5 -13
  76. package/dist/crypto/index.mjs +2 -5
  77. package/dist/{crypto-DH2Aa7jN.mjs → crypto-BH-hD0lJ.mjs} +7 -10
  78. package/dist/{crypto-DpSCnrTp.cjs → crypto-BITfWVwD.cjs} +24 -27
  79. package/dist/db/index.cjs +1135 -29
  80. package/dist/db/index.d.cts +1 -2
  81. package/dist/db/index.d.mts +1 -2
  82. package/dist/db/index.mjs +1115 -16
  83. package/dist/defu-D2h4S3X-.mjs +87 -0
  84. package/dist/defu-DWS5RPWt.cjs +134 -0
  85. package/dist/{email-verification-DI_0H4JC.cjs → email-verification-DOPnSgbI.cjs} +65 -71
  86. package/dist/{email-verification-C_lBu_JY.mjs → email-verification-YSR5n5lb.mjs} +23 -29
  87. package/dist/{hono-CO-zsqI-.mjs → hono-BAV2wQkK.mjs} +16 -33
  88. package/dist/hono-SVQuc5Ru.mjs +4 -0
  89. package/dist/hono-pgK4H_U1.cjs +9 -0
  90. package/dist/{hono-DnW5crl1.cjs → hono-tyFFJFdS.cjs} +42 -60
  91. package/dist/index-B86Cy0dE.d.cts +2 -0
  92. package/dist/index-B86Cy0dE.d.mts +2 -0
  93. package/dist/index.cjs +115 -150
  94. package/dist/index.d.cts +4 -5
  95. package/dist/index.d.mts +4 -5
  96. package/dist/index.mjs +46 -81
  97. package/dist/integrations/next-js.cjs +5 -9
  98. package/dist/integrations/next-js.d.cts +6 -14
  99. package/dist/integrations/next-js.d.mts +6 -14
  100. package/dist/integrations/next-js.mjs +4 -9
  101. package/dist/integrations/node.cjs +16 -14
  102. package/dist/integrations/node.d.cts +6 -14
  103. package/dist/integrations/node.d.mts +6 -14
  104. package/dist/integrations/node.mjs +15 -13
  105. package/dist/integrations/react-start.cjs +7 -11
  106. package/dist/integrations/react-start.d.cts +5 -13
  107. package/dist/integrations/react-start.d.mts +5 -13
  108. package/dist/integrations/react-start.mjs +6 -11
  109. package/dist/integrations/solid-start.cjs +3 -5
  110. package/dist/integrations/solid-start.d.cts +2 -5
  111. package/dist/integrations/solid-start.d.mts +2 -5
  112. package/dist/integrations/solid-start.mjs +2 -4
  113. package/dist/integrations/svelte-kit.cjs +6 -10
  114. package/dist/integrations/svelte-kit.d.cts +11 -23
  115. package/dist/integrations/svelte-kit.d.mts +11 -23
  116. package/dist/integrations/svelte-kit.mjs +5 -10
  117. package/dist/{ip-BjNYspCH.mjs → ip-6Lv2o42m.mjs} +4 -9
  118. package/dist/{ip-C17Qdq-G.cjs → ip-DPydExzV.cjs} +21 -27
  119. package/dist/{json--tl7Grvs.cjs → json-D3aq-nH2.cjs} +9 -13
  120. package/dist/{json-B1v2qRTQ.mjs → json-DooGMtnJ.mjs} +2 -5
  121. package/dist/{logged-CyGfp8_H.mjs → logged-B83SzMnJ.mjs} +6 -10
  122. package/dist/{logged-Dv3st5qc.cjs → logged-BIpCpnVY.cjs} +13 -18
  123. package/dist/{middleware-CE6OhDkq.mjs → middleware-Cakg4e1D.mjs} +2 -4
  124. package/dist/{middleware-CWvRH4EW.cjs → middleware-Cd-VkNxB.cjs} +17 -20
  125. package/dist/{node-sqlite-dialect-w4DAg0PH.mjs → node-sqlite-dialect-BMVOjEMh.mjs} +6 -9
  126. package/dist/{test-utils/node-sqlite-dialect-BgJqjBOu.cjs → node-sqlite-dialect-D3QPFROH.cjs} +5 -9
  127. package/dist/oauth2/index.cjs +166 -22
  128. package/dist/oauth2/index.d.cts +5 -17
  129. package/dist/oauth2/index.d.mts +5 -17
  130. package/dist/oauth2/index.mjs +156 -16
  131. package/dist/{origin-check-DjLTuZQ8.cjs → origin-check-BflGhEEN.cjs} +34 -38
  132. package/dist/{origin-check-8Gajklvh.mjs → origin-check-CRgs1M7k.mjs} +13 -16
  133. package/dist/{parser-B25ylT5u.mjs → parser-CqwvpF6l.cjs} +12 -10
  134. package/dist/{parser-B_wxvaAr.cjs → parser-DcKDjjHO.mjs} +7 -22
  135. package/dist/plugins/access/index.cjs +38 -4
  136. package/dist/plugins/access/index.d.cts +36 -2
  137. package/dist/plugins/access/index.d.mts +36 -2
  138. package/dist/plugins/access/index.mjs +36 -3
  139. package/dist/plugins/bearer/index.cjs +52 -7
  140. package/dist/plugins/bearer/index.d.cts +27 -4
  141. package/dist/plugins/bearer/index.d.mts +27 -4
  142. package/dist/plugins/bearer/index.mjs +51 -7
  143. package/dist/plugins/index.cjs +1385 -842
  144. package/dist/plugins/index.d.cts +489 -7566
  145. package/dist/plugins/index.d.mts +489 -7566
  146. package/dist/plugins/index.mjs +1118 -576
  147. package/dist/plugins/passkey/index.cjs +551 -15
  148. package/dist/plugins/passkey/index.d.cts +123 -4
  149. package/dist/plugins/passkey/index.d.mts +123 -4
  150. package/dist/plugins/passkey/index.mjs +547 -15
  151. package/dist/{chunk-BFnQceUY.mjs → rolldown-runtime-BKpuH2hG.mjs} +6 -7
  152. package/dist/{chunk-fPmz2rbM.cjs → rolldown-runtime-C_Pgydhf.cjs} +22 -24
  153. package/dist/{schema-DTIwLLmf.mjs → schema-CFCpv0tK.mjs} +3 -6
  154. package/dist/{schema-CirKflVs.cjs → schema-b-lKhMkG.cjs} +51 -55
  155. package/dist/{session-CM3rmOYF.mjs → session-BGjJgihS.mjs} +51 -74
  156. package/dist/{session-Cwrj4GfV.cjs → session-CzZSMmQC.cjs} +197 -219
  157. package/dist/shared.d.cts +1581 -0
  158. package/dist/shared.d.mts +1581 -0
  159. package/dist/social-providers/index.cjs +9 -9
  160. package/dist/social-providers/index.d.cts +1 -1
  161. package/dist/social-providers/index.d.mts +1 -1
  162. package/dist/social-providers/index.mjs +3 -5
  163. package/dist/social-providers-CjPww-qf.mjs +6 -0
  164. package/dist/social-providers-D7w_7Ym8.cjs +10 -0
  165. package/dist/{state-CvSihlVT.cjs → state-2OrNjOO-.cjs} +24 -24
  166. package/dist/{state-CQghgH9I.mjs → state-Dooeisfq.mjs} +17 -17
  167. package/dist/{bun-sqlite-dialect-DPgTzc0w.cjs → test-utils/bun-sqlite-dialect-BHkarnxN.cjs} +5 -9
  168. package/dist/{bun-sqlite-dialect-6NqeV3px.mjs → test-utils/bun-sqlite-dialect-BiZBuEF6.mjs} +6 -9
  169. package/dist/test-utils/index.cjs +8831 -7941
  170. package/dist/test-utils/index.d.cts +310 -12440
  171. package/dist/test-utils/index.d.mts +313 -12440
  172. package/dist/test-utils/index.mjs +8591 -7701
  173. package/dist/test-utils/{node-sqlite-dialect-DAQXiobH.mjs → node-sqlite-dialect-BMVOjEMh.mjs} +6 -9
  174. package/dist/{node-sqlite-dialect-DP11CB0y.cjs → test-utils/node-sqlite-dialect-D3QPFROH.cjs} +5 -9
  175. package/dist/types/index.d.cts +2 -3
  176. package/dist/types/index.d.mts +2 -3
  177. package/dist/types/index.mjs +1 -1
  178. package/dist/{url-BoUuoIwZ.mjs → url-CJtdrrUu.mjs} +12 -13
  179. package/dist/{url-Ce7CVaQD.cjs → url-DjCmCUHS.cjs} +42 -44
  180. package/dist/utils/cookies.cjs +29 -30
  181. package/dist/utils/cookies.d.cts +21 -25
  182. package/dist/utils/cookies.d.mts +20 -24
  183. package/dist/utils/cookies.mjs +2 -7
  184. package/dist/utils-C7OHyfHa.mjs +4 -0
  185. package/dist/utils-iX0Vy_UL.cjs +3 -0
  186. package/package.json +40 -30
  187. package/dist/access-BZ7-AbTM.cjs +0 -51
  188. package/dist/access-D0DRqUKC.mjs +0 -39
  189. package/dist/bearer-DDzrp5M7.cjs +0 -60
  190. package/dist/bearer-WZcs7gxL.mjs +0 -54
  191. package/dist/db-4tUsQJXd.mjs +0 -1119
  192. package/dist/db-ChMbb_U-.cjs +0 -1180
  193. package/dist/defu-BmOYq4PU.cjs +0 -34
  194. package/dist/defu-D9ZTXqlo.mjs +0 -28
  195. package/dist/hono-C14rpOEa.cjs +0 -13
  196. package/dist/hono-CoKYWnXA.mjs +0 -7
  197. package/dist/hono-D0VqxVy1.d.mts +0 -18
  198. package/dist/hono-DOM31WQz.d.cts +0 -18
  199. package/dist/index-BCTFWP_o.d.mts +0 -992
  200. package/dist/index-BDhhaE6Y.d.cts +0 -3
  201. package/dist/index-BVRfQy6L.d.mts +0 -992
  202. package/dist/index-Baarsq5J.d.mts +0 -33
  203. package/dist/index-By364WbF.d.cts +0 -992
  204. package/dist/index-BzWwMgxr.d.cts +0 -992
  205. package/dist/index-CF9iq55a.d.mts +0 -3
  206. package/dist/index-CJD2yB-W.d.cts +0 -33
  207. package/dist/index-CRt_fppq.d.mts +0 -41
  208. package/dist/index-CdLyn7qP.d.cts +0 -41
  209. package/dist/index-CsWF3f7U.d.cts +0 -13350
  210. package/dist/index-CzidsAyA.d.mts +0 -13350
  211. package/dist/index-DvW-GCcI.d.cts +0 -33
  212. package/dist/index-f-5OJ9yV.d.cts +0 -13350
  213. package/dist/index-rFv8Hxld.d.mts +0 -13350
  214. package/dist/index-ztVZPQdV.d.mts +0 -33
  215. package/dist/kysely-adapter-CtIdoHa8.mjs +0 -270
  216. package/dist/kysely-adapter-QZTx077T.cjs +0 -288
  217. package/dist/memory-adapter-17RZd5df.cjs +0 -154
  218. package/dist/memory-adapter-Dp4XdCZK.mjs +0 -148
  219. package/dist/oauth2-5RL4cVNS.cjs +0 -177
  220. package/dist/oauth2-C56wz-n9.mjs +0 -159
  221. package/dist/passkey-BTT-v5c-.cjs +0 -512
  222. package/dist/passkey-CzY_W2us.mjs +0 -505
  223. package/dist/request-1NL_1lyJ.mjs +0 -58
  224. package/dist/request-CPNlp-DK.cjs +0 -100
  225. package/dist/social-providers-B8RK5yqI.mjs +0 -9
  226. package/dist/social-providers-BmFOIIPk.cjs +0 -13
  227. package/dist/utils-44aDDP8f.cjs +0 -2
  228. package/dist/utils-D4vZd1-9.mjs +0 -4
@@ -1,12 +1,9 @@
1
- import { I as FaireAuthOptions } from "../../index-rFv8Hxld.mjs";
2
- import "../../hono-D0VqxVy1.mjs";
1
+ import { gt as FaireAuthOptions } from "../../shared.mjs";
3
2
  import { DBAdapter, DBAdapterDebugLogOption } from "@faire-auth/core/db/adapter";
4
-
5
- //#region src/adapters/drizzle-adapter/drizzle-adapter.d.ts
6
- interface DB {
3
+ export interface DB {
7
4
  [key: string]: any;
8
5
  }
9
- interface DrizzleAdapterConfig {
6
+ export interface DrizzleAdapterConfig {
10
7
  /**
11
8
  * The schema object that defines the tables and fields
12
9
  */
@@ -43,6 +40,4 @@ interface DrizzleAdapterConfig {
43
40
  */
44
41
  transaction?: boolean;
45
42
  }
46
- declare const drizzleAdapter: (db: DB, config: DrizzleAdapterConfig) => (options: FaireAuthOptions) => DBAdapter<FaireAuthOptions>;
47
- //#endregion
48
- export { DB, DrizzleAdapterConfig, drizzleAdapter };
43
+ export declare const drizzleAdapter: (db: DB, config: DrizzleAdapterConfig) => (options: FaireAuthOptions) => DBAdapter<FaireAuthOptions>;
@@ -1,18 +1,12 @@
1
- import "../../crypto-DH2Aa7jN.mjs";
2
- import "../../json-B1v2qRTQ.mjs";
3
- import "../../state-CQghgH9I.mjs";
4
- import "../../request-1NL_1lyJ.mjs";
5
- import "../../utils-D4vZd1-9.mjs";
6
- import { t as createAdapterFactory } from "../../adapter-factory-lKIOf2OR.mjs";
1
+ import { t as createAdapterFactory } from "../../adapter-factory-qPVW8x9-.mjs";
7
2
  import { FaireAuthError } from "@faire-auth/core/error";
8
3
  import { and, asc, count, desc, eq, gt, gte, inArray, like, lt, lte, ne, notInArray, or, sql } from "drizzle-orm";
9
-
10
- //#region src/adapters/drizzle-adapter/drizzle-adapter.ts
4
+ // src/adapters/drizzle-adapter/drizzle-adapter.ts
11
5
  const drizzleAdapter = (db, config) => {
12
6
  let lazyOptions = null;
13
- const createCustomAdapter = (db$1) => ({ getFieldName, debugLog }) => {
7
+ const createCustomAdapter = (db) => ({ getFieldName, debugLog }) => {
14
8
  function getSchema(model) {
15
- const schema = config.schema || db$1._.fullSchema;
9
+ const schema = config.schema || db._.fullSchema;
16
10
  if (!schema) throw new FaireAuthError("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");
17
11
  const schemaModel = schema[model];
18
12
  if (!schemaModel) throw new FaireAuthError(`[# Drizzle Adapter]: The model "${model}" was not found in the schema object. Please pass the schema directly to the adapter options.`);
@@ -31,15 +25,15 @@ const drizzleAdapter = (db, config) => {
31
25
  };
32
26
  return w;
33
27
  }), model);
34
- return (await db$1.select().from(schemaModel).where(...clause))[0];
28
+ return (await db.select().from(schemaModel).where(...clause))[0];
35
29
  } else if (builderVal && builderVal[0]?.id?.value) {
36
30
  let tId = builderVal[0]?.id?.value;
37
- if (!tId) tId = (await db$1.select({ id: sql`LAST_INSERT_ID()` }).from(schemaModel).orderBy(desc(schemaModel.id)).limit(1))[0].id;
38
- return (await db$1.select().from(schemaModel).where(eq(schemaModel.id, tId)).limit(1).execute())[0];
39
- } else if (data.id) return (await db$1.select().from(schemaModel).where(eq(schemaModel.id, data.id)).limit(1).execute())[0];
31
+ if (!tId) tId = (await db.select({ id: sql`LAST_INSERT_ID()` }).from(schemaModel).orderBy(desc(schemaModel.id)).limit(1))[0].id;
32
+ return (await db.select().from(schemaModel).where(eq(schemaModel.id, tId)).limit(1).execute())[0];
33
+ } else if (data.id) return (await db.select().from(schemaModel).where(eq(schemaModel.id, data.id)).limit(1).execute())[0];
40
34
  else {
41
35
  if (!("id" in schemaModel)) throw new FaireAuthError(`The model "${model}" does not have an "id" field. Please use the "id" field as your primary key.`);
42
- return (await db$1.select().from(schemaModel).orderBy(desc(schemaModel.id)).limit(1).execute())[0];
36
+ return (await db.select().from(schemaModel).orderBy(desc(schemaModel.id)).limit(1).execute())[0];
43
37
  }
44
38
  };
45
39
  function convertWhereClause(where, model) {
@@ -132,12 +126,13 @@ const drizzleAdapter = (db, config) => {
132
126
  async create({ model, data: values }) {
133
127
  const schemaModel = getSchema(model);
134
128
  checkMissingFields(schemaModel, model, values);
135
- return await withReturning(model, db$1.insert(schemaModel).values(values), values);
129
+ const builder = db.insert(schemaModel).values(values);
130
+ return await withReturning(model, builder, values);
136
131
  },
137
132
  async findOne({ model, where }) {
138
133
  const schemaModel = getSchema(model);
139
134
  const clause = convertWhereClause(where, model);
140
- const res = await db$1.select().from(schemaModel).where(...clause);
135
+ const res = await db.select().from(schemaModel).where(...clause);
141
136
  if (!res.length) return null;
142
137
  return res[0];
143
138
  },
@@ -145,7 +140,7 @@ const drizzleAdapter = (db, config) => {
145
140
  const schemaModel = getSchema(model);
146
141
  const clause = where ? convertWhereClause(where, model) : [];
147
142
  const sortFn = sortBy?.direction === "desc" ? desc : asc;
148
- const builder = db$1.select().from(schemaModel).limit(limit || 100).offset(offset || 0);
143
+ const builder = db.select().from(schemaModel).limit(limit || 100).offset(offset || 0);
149
144
  if (sortBy?.field) builder.orderBy(sortFn(schemaModel[getFieldName({
150
145
  model,
151
146
  field: sortBy?.field
@@ -155,27 +150,28 @@ const drizzleAdapter = (db, config) => {
155
150
  async count({ model, where }) {
156
151
  const schemaModel = getSchema(model);
157
152
  const clause = where ? convertWhereClause(where, model) : [];
158
- return (await db$1.select({ count: count() }).from(schemaModel).where(...clause))[0].count;
153
+ return (await db.select({ count: count() }).from(schemaModel).where(...clause))[0].count;
159
154
  },
160
155
  async update({ model, where, update: values }) {
161
156
  const schemaModel = getSchema(model);
162
157
  const clause = convertWhereClause(where, model);
163
- return await withReturning(model, db$1.update(schemaModel).set(values).where(...clause), values, where);
158
+ const builder = db.update(schemaModel).set(values).where(...clause);
159
+ return await withReturning(model, builder, values, where);
164
160
  },
165
161
  async updateMany({ model, where, update: values }) {
166
162
  const schemaModel = getSchema(model);
167
163
  const clause = convertWhereClause(where, model);
168
- return await db$1.update(schemaModel).set(values).where(...clause);
164
+ return await db.update(schemaModel).set(values).where(...clause);
169
165
  },
170
166
  async delete({ model, where }) {
171
167
  const schemaModel = getSchema(model);
172
168
  const clause = convertWhereClause(where, model);
173
- return await db$1.delete(schemaModel).where(...clause);
169
+ return await db.delete(schemaModel).where(...clause);
174
170
  },
175
171
  async deleteMany({ model, where }) {
176
172
  const schemaModel = getSchema(model);
177
173
  const clause = convertWhereClause(where, model);
178
- return await db$1.delete(schemaModel).where(...clause);
174
+ return await db.delete(schemaModel).where(...clause);
179
175
  },
180
176
  options: config
181
177
  };
@@ -202,6 +198,4 @@ const drizzleAdapter = (db, config) => {
202
198
  return adapter(options);
203
199
  };
204
200
  };
205
-
206
- //#endregion
207
- export { drizzleAdapter };
201
+ export { drizzleAdapter };
@@ -1,23 +1,18 @@
1
- require('../crypto-DpSCnrTp.cjs');
2
- require('../json--tl7Grvs.cjs');
3
- require('../state-CvSihlVT.cjs');
4
- require('../request-CPNlp-DK.cjs');
5
- require('../utils-44aDDP8f.cjs');
6
- const require_adapter_factory = require('../adapter-factory-D1I7joki.cjs');
7
-
8
- //#region src/adapters/index.ts
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_adapter_factory = require("../adapter-factory-u8r3oTez.cjs");
3
+ // src/adapters/index.ts
9
4
  /**
10
5
  * @deprecated Use `createAdapterFactory` instead. This export will be removed in the next major version.
11
6
  */
12
7
  const createAdapter = require_adapter_factory.createAdapterFactory;
13
-
14
- //#endregion
15
8
  exports.createAdapter = createAdapter;
16
9
  exports.createAdapterFactory = require_adapter_factory.createAdapterFactory;
17
- var __faire_auth_core_db_adapter = require("@faire-auth/core/db/adapter");
18
- Object.keys(__faire_auth_core_db_adapter).forEach(function (k) {
19
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
20
- enumerable: true,
21
- get: function () { return __faire_auth_core_db_adapter[k]; }
22
- });
10
+ var _faire_auth_core_db_adapter = require("@faire-auth/core/db/adapter");
11
+ Object.keys(_faire_auth_core_db_adapter).forEach(function(k) {
12
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
13
+ enumerable: true,
14
+ get: function() {
15
+ return _faire_auth_core_db_adapter[k];
16
+ }
17
+ });
23
18
  });
@@ -1,11 +1,8 @@
1
- import { I as FaireAuthOptions$1, gn as Where$1, hn as TransactionAdapter, un as AdapterSchemaCreation } from "../index-CsWF3f7U.cjs";
2
- import "../hono-DOM31WQz.cjs";
1
+ import { _n as TransactionAdapter, fn as AdapterSchemaCreation, ht as FaireAuthOptions$1, vn as Where$1 } from "../shared.cjs";
3
2
  import { CustomAdapter as CustomAdapter$1, DBAdapter, DBAdapterFactoryConfig } from "@faire-auth/core/db/adapter";
4
3
  import { Prettify } from "@faire-auth/core/types";
5
4
  import { DBFieldAttribute, FaireAuthDBSchema } from "@faire-auth/core/db";
6
5
  export * from "@faire-auth/core/db/adapter";
7
-
8
- //#region src/adapters/adapter-factory/types.d.ts
9
6
  type AdapterFactoryOptions = {
10
7
  config: AdapterFactoryConfig;
11
8
  adapter: AdapterFactoryCustomizeAdapterCreator;
@@ -42,10 +39,7 @@ type AdapterFactoryCustomizeAdapterCreator = (config: {
42
39
  /**
43
40
  * Get the field name which is expected to be saved in the database based on the user's schema.
44
41
  */
45
- getFieldName: ({
46
- model,
47
- field
48
- }: {
42
+ getFieldName: ({ model, field }: {
49
43
  model: string;
50
44
  field: string;
51
45
  }) => string;
@@ -73,10 +67,7 @@ type AdapterFactoryCustomizeAdapterCreator = (config: {
73
67
  * 2. When using a custom fieldName, doing something like `schema[model].fields[field]` will not work.
74
68
  *
75
69
  */
76
- getDefaultFieldName: ({
77
- model,
78
- field
79
- }: {
70
+ getDefaultFieldName: ({ model, field }: {
80
71
  model: string;
81
72
  field: string;
82
73
  }) => string;
@@ -85,19 +76,13 @@ type AdapterFactoryCustomizeAdapterCreator = (config: {
85
76
  *
86
77
  * Note: any model name or field name is allowed, whether default to schema or not.
87
78
  */
88
- getFieldAttributes: ({
89
- model,
90
- field
91
- }: {
79
+ getFieldAttributes: ({ model, field }: {
92
80
  model: string;
93
81
  field: string;
94
82
  }) => DBFieldAttribute;
95
83
  transformInput: (data: Record<string, any>, defaultModelName: string, action: "create" | "update", forceAllowId?: boolean) => Promise<Record<string, any>>;
96
84
  transformOutput: (data: Record<string, any>, defaultModelName: string, select?: string[]) => Promise<Record<string, any>>;
97
- transformWhereClause: <W extends Where$1[] | undefined>({
98
- model,
99
- where
100
- }: {
85
+ transformWhereClause: <W extends Where$1[] | undefined>({ model, where }: {
101
86
  where: W;
102
87
  model: string;
103
88
  }) => W extends undefined ? undefined : CleanedWhere[];
@@ -125,33 +110,22 @@ type AdapterTestDebugLogs = {
125
110
  resetDebugLogs: () => void;
126
111
  printDebugLogs: () => void;
127
112
  };
128
- //#endregion
129
- //#region src/adapters/adapter-factory/index.d.ts
130
113
  type AdapterFactory = <O extends FaireAuthOptions$1>(options: O) => DBAdapter<O>;
131
- declare const createAdapterFactory: ({
132
- adapter: customAdapter,
133
- config: cfg
134
- }: AdapterFactoryOptions) => AdapterFactory;
135
- //#endregion
136
- //#region src/adapters/index.d.ts
114
+ export declare const createAdapterFactory: ({ adapter: customAdapter, config: cfg }: AdapterFactoryOptions) => AdapterFactory;
137
115
  /**
138
116
  * @deprecated Use `createAdapterFactory` instead. This export will be removed in the next major version.
139
117
  */
140
- declare const createAdapter: ({
141
- adapter: customAdapter,
142
- config: cfg
143
- }: AdapterFactoryOptions) => AdapterFactory;
118
+ export declare const createAdapter: typeof createAdapterFactory;
144
119
  /**
145
120
  * @deprecated Use `AdapterFactoryOptions` instead. This export will be removed in the next major version.
146
121
  */
147
- type CreateAdapterOptions = AdapterFactoryOptions;
122
+ export type CreateAdapterOptions = AdapterFactoryOptions;
148
123
  /**
149
124
  * @deprecated Use `AdapterFactoryConfig` instead. This export will be removed in the next major version.
150
125
  */
151
- type AdapterConfig = AdapterFactoryConfig;
126
+ export type AdapterConfig = AdapterFactoryConfig;
152
127
  /**
153
128
  * @deprecated Use `AdapterFactoryCustomizeAdapterCreator` instead. This export will be removed in the next major version.
154
129
  */
155
- type CreateCustomAdapter = AdapterFactoryCustomizeAdapterCreator;
156
- //#endregion
157
- export { AdapterConfig, type AdapterFactory, type AdapterFactoryConfig, type AdapterFactoryCustomizeAdapterCreator, type AdapterFactoryOptions, type AdapterTestDebugLogs, CreateAdapterOptions, CreateCustomAdapter, type CustomAdapter, createAdapter, createAdapterFactory };
130
+ export type CreateCustomAdapter = AdapterFactoryCustomizeAdapterCreator;
131
+ export type { AdapterFactory, AdapterFactoryConfig, AdapterFactoryCustomizeAdapterCreator, AdapterFactoryOptions, AdapterTestDebugLogs, CustomAdapter };
@@ -1,11 +1,8 @@
1
- import { I as FaireAuthOptions$1, gn as Where$1, hn as TransactionAdapter, un as AdapterSchemaCreation } from "../index-rFv8Hxld.mjs";
2
- import "../hono-D0VqxVy1.mjs";
1
+ import { gt as FaireAuthOptions$1, pn as AdapterSchemaCreation, vn as TransactionAdapter, yn as Where$1 } from "../shared.mjs";
3
2
  import { DBFieldAttribute, FaireAuthDBSchema } from "@faire-auth/core/db";
4
3
  import { CustomAdapter as CustomAdapter$1, DBAdapter, DBAdapterFactoryConfig } from "@faire-auth/core/db/adapter";
5
4
  import { Prettify } from "@faire-auth/core/types";
6
5
  export * from "@faire-auth/core/db/adapter";
7
-
8
- //#region src/adapters/adapter-factory/types.d.ts
9
6
  type AdapterFactoryOptions = {
10
7
  config: AdapterFactoryConfig;
11
8
  adapter: AdapterFactoryCustomizeAdapterCreator;
@@ -42,10 +39,7 @@ type AdapterFactoryCustomizeAdapterCreator = (config: {
42
39
  /**
43
40
  * Get the field name which is expected to be saved in the database based on the user's schema.
44
41
  */
45
- getFieldName: ({
46
- model,
47
- field
48
- }: {
42
+ getFieldName: ({ model, field }: {
49
43
  model: string;
50
44
  field: string;
51
45
  }) => string;
@@ -73,10 +67,7 @@ type AdapterFactoryCustomizeAdapterCreator = (config: {
73
67
  * 2. When using a custom fieldName, doing something like `schema[model].fields[field]` will not work.
74
68
  *
75
69
  */
76
- getDefaultFieldName: ({
77
- model,
78
- field
79
- }: {
70
+ getDefaultFieldName: ({ model, field }: {
80
71
  model: string;
81
72
  field: string;
82
73
  }) => string;
@@ -85,19 +76,13 @@ type AdapterFactoryCustomizeAdapterCreator = (config: {
85
76
  *
86
77
  * Note: any model name or field name is allowed, whether default to schema or not.
87
78
  */
88
- getFieldAttributes: ({
89
- model,
90
- field
91
- }: {
79
+ getFieldAttributes: ({ model, field }: {
92
80
  model: string;
93
81
  field: string;
94
82
  }) => DBFieldAttribute;
95
83
  transformInput: (data: Record<string, any>, defaultModelName: string, action: "create" | "update", forceAllowId?: boolean) => Promise<Record<string, any>>;
96
84
  transformOutput: (data: Record<string, any>, defaultModelName: string, select?: string[]) => Promise<Record<string, any>>;
97
- transformWhereClause: <W extends Where$1[] | undefined>({
98
- model,
99
- where
100
- }: {
85
+ transformWhereClause: <W extends Where$1[] | undefined>({ model, where }: {
101
86
  where: W;
102
87
  model: string;
103
88
  }) => W extends undefined ? undefined : CleanedWhere[];
@@ -125,33 +110,22 @@ type AdapterTestDebugLogs = {
125
110
  resetDebugLogs: () => void;
126
111
  printDebugLogs: () => void;
127
112
  };
128
- //#endregion
129
- //#region src/adapters/adapter-factory/index.d.ts
130
113
  type AdapterFactory = <O extends FaireAuthOptions$1>(options: O) => DBAdapter<O>;
131
- declare const createAdapterFactory: ({
132
- adapter: customAdapter,
133
- config: cfg
134
- }: AdapterFactoryOptions) => AdapterFactory;
135
- //#endregion
136
- //#region src/adapters/index.d.ts
114
+ export declare const createAdapterFactory: ({ adapter: customAdapter, config: cfg }: AdapterFactoryOptions) => AdapterFactory;
137
115
  /**
138
116
  * @deprecated Use `createAdapterFactory` instead. This export will be removed in the next major version.
139
117
  */
140
- declare const createAdapter: ({
141
- adapter: customAdapter,
142
- config: cfg
143
- }: AdapterFactoryOptions) => AdapterFactory;
118
+ export declare const createAdapter: typeof createAdapterFactory;
144
119
  /**
145
120
  * @deprecated Use `AdapterFactoryOptions` instead. This export will be removed in the next major version.
146
121
  */
147
- type CreateAdapterOptions = AdapterFactoryOptions;
122
+ export type CreateAdapterOptions = AdapterFactoryOptions;
148
123
  /**
149
124
  * @deprecated Use `AdapterFactoryConfig` instead. This export will be removed in the next major version.
150
125
  */
151
- type AdapterConfig = AdapterFactoryConfig;
126
+ export type AdapterConfig = AdapterFactoryConfig;
152
127
  /**
153
128
  * @deprecated Use `AdapterFactoryCustomizeAdapterCreator` instead. This export will be removed in the next major version.
154
129
  */
155
- type CreateCustomAdapter = AdapterFactoryCustomizeAdapterCreator;
156
- //#endregion
157
- export { AdapterConfig, type AdapterFactory, type AdapterFactoryConfig, type AdapterFactoryCustomizeAdapterCreator, type AdapterFactoryOptions, type AdapterTestDebugLogs, CreateAdapterOptions, CreateCustomAdapter, type CustomAdapter, createAdapter, createAdapterFactory };
130
+ export type CreateCustomAdapter = AdapterFactoryCustomizeAdapterCreator;
131
+ export type { AdapterFactory, AdapterFactoryConfig, AdapterFactoryCustomizeAdapterCreator, AdapterFactoryOptions, AdapterTestDebugLogs, CustomAdapter };
@@ -1,17 +1,8 @@
1
- import "../crypto-DH2Aa7jN.mjs";
2
- import "../json-B1v2qRTQ.mjs";
3
- import "../state-CQghgH9I.mjs";
4
- import "../request-1NL_1lyJ.mjs";
5
- import "../utils-D4vZd1-9.mjs";
6
- import { t as createAdapterFactory } from "../adapter-factory-lKIOf2OR.mjs";
7
-
8
- export * from "@faire-auth/core/db/adapter"
9
-
10
- //#region src/adapters/index.ts
1
+ import { t as createAdapterFactory } from "../adapter-factory-qPVW8x9-.mjs";
2
+ export * from "@faire-auth/core/db/adapter";
3
+ // src/adapters/index.ts
11
4
  /**
12
5
  * @deprecated Use `createAdapterFactory` instead. This export will be removed in the next major version.
13
6
  */
14
7
  const createAdapter = createAdapterFactory;
15
-
16
- //#endregion
17
- export { createAdapter, createAdapterFactory };
8
+ export { createAdapter, createAdapterFactory };
@@ -1,11 +1,270 @@
1
- require('../../crypto-DpSCnrTp.cjs');
2
- require('../../json--tl7Grvs.cjs');
3
- require('../../state-CvSihlVT.cjs');
4
- require('../../request-CPNlp-DK.cjs');
5
- require('../../utils-44aDDP8f.cjs');
6
- const require_kysely_adapter = require('../../kysely-adapter-QZTx077T.cjs');
7
- require('../../adapter-factory-D1I7joki.cjs');
8
-
9
- exports.createKyselyAdapter = require_kysely_adapter.createKyselyAdapter;
10
- exports.getKyselyDatabaseType = require_kysely_adapter.getKyselyDatabaseType;
11
- exports.kyselyAdapter = require_kysely_adapter.kyselyAdapter;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_adapter_factory = require("../../adapter-factory-u8r3oTez.cjs");
3
+ let _faire_auth_core_static = require("@faire-auth/core/static");
4
+ let kysely = require("kysely");
5
+ // src/adapters/kysely-adapter/dialect.ts
6
+ function getKyselyDatabaseType(db) {
7
+ if (!db) return null;
8
+ if ("dialect" in db) return getKyselyDatabaseType(db.dialect);
9
+ if ("createDriver" in db) {
10
+ if (db instanceof kysely.SqliteDialect) return "sqlite";
11
+ if (db instanceof kysely.MysqlDialect) return "mysql";
12
+ if (db instanceof kysely.PostgresDialect) return "postgres";
13
+ if (db instanceof kysely.MssqlDialect) return "mssql";
14
+ }
15
+ if ("aggregate" in db) return "sqlite";
16
+ if ("getConnection" in db) return "mysql";
17
+ if ("connect" in db) return "postgres";
18
+ if ("fileControl" in db) return "sqlite";
19
+ if ("open" in db && "close" in db && "prepare" in db) return "sqlite";
20
+ return null;
21
+ }
22
+ const createKyselyAdapter = (config) => {
23
+ const db = config.database;
24
+ if (!db) return {
25
+ kysely: null,
26
+ databaseType: null,
27
+ transaction: void 0
28
+ };
29
+ if ("db" in db) return {
30
+ kysely: db.db,
31
+ databaseType: db.type,
32
+ transaction: db.transaction
33
+ };
34
+ if ("dialect" in db) return {
35
+ kysely: new kysely.Kysely({ dialect: db.dialect }),
36
+ databaseType: db.type,
37
+ transaction: db.transaction
38
+ };
39
+ let dialect = void 0;
40
+ const databaseType = getKyselyDatabaseType(db);
41
+ if ("createDriver" in db) dialect = db;
42
+ if ("aggregate" in db && !("createSession" in db)) dialect = new kysely.SqliteDialect({ database: db });
43
+ if ("getConnection" in db) dialect = new kysely.MysqlDialect(db);
44
+ if ("connect" in db) dialect = new kysely.PostgresDialect({ pool: db });
45
+ const toReturn = {
46
+ kysely: dialect ? new kysely.Kysely({ dialect }) : null,
47
+ databaseType,
48
+ transaction: void 0,
49
+ async initialize() {
50
+ if (toReturn.kysely == null) {
51
+ if ("fileControl" in db) {
52
+ console.log("found file control");
53
+ const { BunSqliteDialect } = await Promise.resolve().then(() => require("../../bun-sqlite-dialect-BHkarnxN.cjs"));
54
+ dialect = new BunSqliteDialect({ database: db });
55
+ }
56
+ if ("createSession" in db && typeof window === "undefined") {
57
+ console.log("found create session");
58
+ let DatabaseSync = void 0;
59
+ try {
60
+ let nodeSqlite = "node:sqlite";
61
+ ({DatabaseSync} = await import(
62
+ /* @vite-ignore */
63
+ /* webpackIgnore: true */
64
+ nodeSqlite
65
+ ));
66
+ } catch (error) {
67
+ console.log("caught");
68
+ if (error !== null && typeof error === "object" && "code" in error && error.code !== "ERR_UNKNOWN_BUILTIN_MODULE") throw error;
69
+ }
70
+ console.log("import dialect");
71
+ if (DatabaseSync && db instanceof DatabaseSync) {
72
+ const { NodeSqliteDialect } = await Promise.resolve().then(() => require("../../node-sqlite-dialect-D3QPFROH.cjs"));
73
+ dialect = new NodeSqliteDialect({ database: db });
74
+ }
75
+ }
76
+ if (dialect) toReturn.kysely = new kysely.Kysely({ dialect });
77
+ }
78
+ }
79
+ };
80
+ return toReturn;
81
+ };
82
+ // src/adapters/kysely-adapter/kysely-adapter.ts
83
+ const withDbInit = (db, work) => async (fn) => {
84
+ const rdb = (0, _faire_auth_core_static.isPromise)(db) ? await db : db;
85
+ if (work) work(rdb);
86
+ return fn(rdb);
87
+ };
88
+ const kyselyAdapter = (db, config) => {
89
+ let lazyOptions = null;
90
+ const withDb = withDbInit(db);
91
+ const createCustomAdapter = (db) => {
92
+ return ({ getFieldName }) => {
93
+ const withReturningInit = (db) => async (values, builder, model, where) => {
94
+ let res;
95
+ if (config?.type === "mysql") {
96
+ await builder.execute();
97
+ const field = values.id ? "id" : where.length > 0 && where[0]?.field ? where[0].field : "id";
98
+ if (!values.id && where.length === 0) {
99
+ res = await db.selectFrom(model).selectAll().orderBy(getFieldName({
100
+ model,
101
+ field
102
+ }), "desc").limit(1).executeTakeFirst();
103
+ return res;
104
+ }
105
+ const value = values[field] || where[0]?.value;
106
+ res = await db.selectFrom(model).selectAll().orderBy(getFieldName({
107
+ model,
108
+ field
109
+ }), "desc").where(getFieldName({
110
+ model,
111
+ field
112
+ }), "=", value).limit(1).executeTakeFirst();
113
+ return res;
114
+ }
115
+ if (config?.type === "mssql") {
116
+ res = await builder.outputAll("inserted").executeTakeFirst();
117
+ return res;
118
+ }
119
+ res = await builder.returningAll().executeTakeFirst();
120
+ return res;
121
+ };
122
+ let withReturning;
123
+ const withDb = withDbInit(db, (db) => withReturning ??= withReturningInit(db));
124
+ function convertWhereClause(model, w) {
125
+ if (!w) return {
126
+ and: null,
127
+ or: null
128
+ };
129
+ const conditions = {
130
+ and: [],
131
+ or: []
132
+ };
133
+ w.forEach((condition) => {
134
+ let { field: _field, value: _value, operator = "=", connector = "AND" } = condition;
135
+ let value = _value;
136
+ let field = getFieldName({
137
+ model,
138
+ field: _field
139
+ });
140
+ const expr = (eb) => {
141
+ if (operator.toLowerCase() === "in") return eb(field, "in", Array.isArray(value) ? value : [value]);
142
+ if (operator.toLowerCase() === "not_in") return eb(field, "not in", Array.isArray(value) ? value : [value]);
143
+ if (operator === "contains") return eb(field, "like", `%${value}%`);
144
+ if (operator === "starts_with") return eb(field, "like", `${value}%`);
145
+ if (operator === "ends_with") return eb(field, "like", `%${value}`);
146
+ if (operator === "eq") return eb(field, "=", value);
147
+ if (operator === "ne") return eb(field, "<>", value);
148
+ if (operator === "gt") return eb(field, ">", value);
149
+ if (operator === "gte") return eb(field, ">=", value);
150
+ if (operator === "lt") return eb(field, "<", value);
151
+ if (operator === "lte") return eb(field, "<=", value);
152
+ return eb(field, operator, value);
153
+ };
154
+ if (connector === "OR") conditions.or.push(expr);
155
+ else conditions.and.push(expr);
156
+ });
157
+ return {
158
+ and: conditions.and.length ? conditions.and : null,
159
+ or: conditions.or.length ? conditions.or : null
160
+ };
161
+ }
162
+ return {
163
+ create: ({ data, model }) => withDb(async (db) => {
164
+ const builder = db.insertInto(model).values(data);
165
+ return await withReturning(data, builder, model, []);
166
+ }),
167
+ findOne: ({ model, where, select }) => withDb(async (db) => {
168
+ const { and, or } = convertWhereClause(model, where);
169
+ let query = db.selectFrom(model).selectAll();
170
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
171
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
172
+ const res = await query.executeTakeFirst();
173
+ if (!res) return null;
174
+ return res;
175
+ }),
176
+ findMany: ({ model, where, limit, offset, sortBy }) => withDb(async (db) => {
177
+ const { and, or } = convertWhereClause(model, where);
178
+ let query = db.selectFrom(model);
179
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
180
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
181
+ if (config?.type === "mssql") {
182
+ if (!offset) query = query.top(limit || 100);
183
+ } else query = query.limit(limit || 100);
184
+ if (sortBy) query = query.orderBy(getFieldName({
185
+ model,
186
+ field: sortBy.field
187
+ }), sortBy.direction);
188
+ if (offset) {
189
+ if (config?.type === "mssql") {
190
+ if (!sortBy) query = query.orderBy(getFieldName({
191
+ model,
192
+ field: "id"
193
+ }));
194
+ query = query.offset(offset).fetch(limit || 100);
195
+ } else query = query.offset(offset);
196
+ }
197
+ const res = await query.selectAll().execute();
198
+ if (!res) return [];
199
+ return res;
200
+ }),
201
+ update: ({ model, where, update: values }) => withDb(async (db) => {
202
+ const { and, or } = convertWhereClause(model, where);
203
+ let query = db.updateTable(model).set(values);
204
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
205
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
206
+ return await withReturning(values, query, model, where);
207
+ }),
208
+ updateMany: ({ model, where, update: values }) => withDb(async (db) => {
209
+ const { and, or } = convertWhereClause(model, where);
210
+ let query = db.updateTable(model).set(values);
211
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
212
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
213
+ return (await query.execute()).length;
214
+ }),
215
+ count: ({ model, where }) => withDb(async (db) => {
216
+ const { and, or } = convertWhereClause(model, where);
217
+ let query = db.selectFrom(model).select(db.fn.count("id").as("count"));
218
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
219
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
220
+ const res = await query.execute();
221
+ if (typeof res[0].count === "number") return res[0].count;
222
+ if (typeof res[0].count === "bigint") return Number(res[0].count);
223
+ return parseInt(res[0].count);
224
+ }),
225
+ delete: ({ model, where }) => withDb(async (db) => {
226
+ const { and, or } = convertWhereClause(model, where);
227
+ let query = db.deleteFrom(model);
228
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
229
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
230
+ await query.execute();
231
+ }),
232
+ deleteMany: ({ model, where }) => withDb(async (db) => {
233
+ const { and, or } = convertWhereClause(model, where);
234
+ let query = db.deleteFrom(model);
235
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
236
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
237
+ return (await query.execute()).length;
238
+ }),
239
+ options: config
240
+ };
241
+ };
242
+ };
243
+ let adapterOptions = null;
244
+ adapterOptions = {
245
+ config: {
246
+ adapterId: "kysely",
247
+ adapterName: "Kysely Adapter",
248
+ usePlural: config?.usePlural,
249
+ debugLogs: config?.debugLogs,
250
+ supportsBooleans: config?.type === "sqlite" || config?.type === "mssql" || config?.type === "mysql" || !config?.type ? false : true,
251
+ supportsDates: config?.type === "sqlite" || config?.type === "mssql" || !config?.type ? false : true,
252
+ supportsJSON: false,
253
+ transaction: config?.transaction ?? false ? (cb) => withDb((db) => db.transaction().execute(((trx) => {
254
+ return cb(require_adapter_factory.createAdapterFactory({
255
+ config: adapterOptions.config,
256
+ adapter: createCustomAdapter(trx)
257
+ })(lazyOptions));
258
+ }))) : false
259
+ },
260
+ adapter: createCustomAdapter(db)
261
+ };
262
+ const adapter = require_adapter_factory.createAdapterFactory(adapterOptions);
263
+ return (options) => {
264
+ lazyOptions = options;
265
+ return adapter(options);
266
+ };
267
+ };
268
+ exports.createKyselyAdapter = createKyselyAdapter;
269
+ exports.getKyselyDatabaseType = getKyselyDatabaseType;
270
+ exports.kyselyAdapter = kyselyAdapter;