@forklaunch/better-auth-mikro-orm-fork 0.4.104 → 0.4.106

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.
package/lib/adapter.cjs CHANGED
@@ -25,6 +25,7 @@ __export(src_exports, {
25
25
  module.exports = __toCommonJS(src_exports);
26
26
 
27
27
  // src/adapter.ts
28
+ var import_core2 = require("@mikro-orm/core");
28
29
  var import_adapters = require("better-auth/adapters");
29
30
  var import_dset2 = require("dset");
30
31
 
@@ -33,7 +34,7 @@ var import_core = require("@mikro-orm/core");
33
34
  var import_dset = require("dset");
34
35
 
35
36
  // src/utils/createAdapterError.ts
36
- var import_better_auth = require("@forklaunch/better-auth");
37
+ var import_better_auth = require("better-auth");
37
38
  function createAdapterError(message) {
38
39
  throw new import_better_auth.BetterAuthError(`[Mikro ORM Adapter] ${message}`);
39
40
  }
@@ -124,10 +125,12 @@ function createAdapterUtils(orm) {
124
125
  const fields = {};
125
126
  Object.entries(input).forEach(([key, value]) => {
126
127
  if (typeof value === "object" && value.$in) {
127
- (0, import_dset.dset)(fields, key, value.$in);
128
+ const property = getPropertyMetadata(metadata2, key);
129
+ (0, import_dset.dset)(fields, [property.name], value.$in);
128
130
  } else {
129
- const path = getFieldPath(metadata2, key);
130
- (0, import_dset.dset)(fields, path, value);
131
+ const property = getPropertyMetadata(metadata2, key);
132
+ const normalizedValue = normalizePropertyValue(property, value);
133
+ (0, import_dset.dset)(fields, [property.name], normalizedValue);
131
134
  }
132
135
  });
133
136
  return fields;
@@ -169,6 +172,8 @@ function createAdapterUtils(orm) {
169
172
  switch (w.operator) {
170
173
  case "in":
171
174
  return createWhereInClause(w.field, path, w.value);
175
+ case "not_in":
176
+ return createWhereClause(path, w.value, "$nin");
172
177
  case "contains":
173
178
  return createWhereClause(path, `%${w.value}%`, "$like");
174
179
  case "starts_with":
@@ -195,7 +200,7 @@ function createAdapterUtils(orm) {
195
200
  return createWhereClause(path, value, "eq", result);
196
201
  });
197
202
  where.filter(({ connector }) => connector === "OR").forEach(({ field, value }, index) => {
198
- const path = ["$and", index].concat(getFieldPath(metadata2, field, true));
203
+ const path = ["$or", index].concat(getFieldPath(metadata2, field, true));
199
204
  return createWhereClause(path, value, "eq", result);
200
205
  });
201
206
  return result;
@@ -211,119 +216,135 @@ function createAdapterUtils(orm) {
211
216
  }
212
217
 
213
218
  // src/adapter.ts
214
- var mikroOrmAdapter = (orm, { debugLogs, supportsJSON = true } = {}) => (0, import_adapters.createAdapter)({
219
+ var adapter = (orm) => ({ options }) => {
220
+ const {
221
+ getEntityMetadata,
222
+ getFieldPath,
223
+ normalizeInput,
224
+ normalizeOutput,
225
+ normalizeWhereClauses
226
+ } = createAdapterUtils(orm);
227
+ return {
228
+ async create({ model, data, select }) {
229
+ const metadata = getEntityMetadata(model);
230
+ const input = normalizeInput(metadata, data);
231
+ if (options.advanced?.generateId === false && !options.advanced?.database || options.advanced?.database?.generateId === false) {
232
+ Reflect.deleteProperty(input, "id");
233
+ }
234
+ const entity = orm.em.create(metadata.class, input);
235
+ try {
236
+ await orm.em.persistAndFlush(entity);
237
+ } catch (error) {
238
+ await orm.em.removeAndFlush(entity);
239
+ throw error;
240
+ }
241
+ return normalizeOutput(metadata, entity, select);
242
+ },
243
+ async count({ model, where }) {
244
+ const metadata = getEntityMetadata(model);
245
+ return orm.em.count(
246
+ metadata.class,
247
+ normalizeWhereClauses(metadata, where)
248
+ );
249
+ },
250
+ async findOne({ model, where, select }) {
251
+ const metadata = getEntityMetadata(model);
252
+ const entity = await orm.em.findOne(
253
+ metadata.class,
254
+ normalizeWhereClauses(metadata, where)
255
+ );
256
+ if (!entity) {
257
+ return null;
258
+ }
259
+ return normalizeOutput(metadata, entity, select);
260
+ },
261
+ async findMany({ model, where, limit, offset, sortBy }) {
262
+ const metadata = getEntityMetadata(model);
263
+ const options2 = {
264
+ limit,
265
+ offset
266
+ };
267
+ if (sortBy) {
268
+ const path = getFieldPath(metadata, sortBy.field);
269
+ (0, import_dset2.dset)(options2, ["orderBy", ...path], sortBy.direction);
270
+ }
271
+ const rows = await orm.em.find(
272
+ metadata.class,
273
+ normalizeWhereClauses(metadata, where),
274
+ options2
275
+ );
276
+ return rows.map((row) => normalizeOutput(metadata, row));
277
+ },
278
+ async update({ model, where, update }) {
279
+ const metadata = getEntityMetadata(model);
280
+ const entity = await orm.em.findOne(
281
+ metadata.class,
282
+ normalizeWhereClauses(metadata, where)
283
+ );
284
+ if (!entity) {
285
+ return null;
286
+ }
287
+ orm.em.assign(entity, normalizeInput(metadata, update));
288
+ try {
289
+ await orm.em.flush();
290
+ } catch (error) {
291
+ await orm.em.removeAndFlush(entity);
292
+ throw error;
293
+ }
294
+ return normalizeOutput(metadata, entity);
295
+ },
296
+ async updateMany({ model, where, update }) {
297
+ const metadata = getEntityMetadata(model);
298
+ return orm.em.nativeUpdate(
299
+ metadata.class,
300
+ normalizeWhereClauses(metadata, where),
301
+ normalizeInput(metadata, update)
302
+ );
303
+ },
304
+ async delete({ model, where }) {
305
+ const metadata = getEntityMetadata(model);
306
+ const entity = await orm.em.findOne(
307
+ metadata.class,
308
+ normalizeWhereClauses(metadata, where),
309
+ {
310
+ fields: ["id"]
311
+ }
312
+ );
313
+ if (entity) {
314
+ await orm.em.removeAndFlush(entity);
315
+ }
316
+ },
317
+ async deleteMany({ model, where }) {
318
+ const metadata = getEntityMetadata(model);
319
+ return orm.em.nativeDelete(
320
+ metadata.class,
321
+ normalizeWhereClauses(metadata, where)
322
+ );
323
+ }
324
+ };
325
+ };
326
+ var mikroOrmAdapter = (orm, { debugLogs, supportsJSON = true, options } = {}) => (0, import_adapters.createAdapterFactory)({
327
+ adapter: adapter(orm),
215
328
  config: {
216
329
  debugLogs,
217
330
  supportsJSON,
218
331
  adapterId: "mikro-orm-adapter",
219
- adapterName: "Mikro ORM Adapter"
220
- },
221
- adapter({ options }) {
222
- const {
223
- getEntityMetadata,
224
- getFieldPath,
225
- normalizeInput,
226
- normalizeOutput,
227
- normalizeWhereClauses
228
- } = createAdapterUtils(orm);
229
- return {
230
- async create({ model, data, select }) {
231
- const metadata = getEntityMetadata(model);
232
- const input = normalizeInput(metadata, data);
233
- if (options.advanced?.generateId === false && !options.advanced?.database || options.advanced?.database?.generateId === false) {
234
- Reflect.deleteProperty(input, "id");
235
- }
236
- const entity = orm.em.create(metadata.class, input);
237
- try {
238
- await orm.em.persistAndFlush(entity);
239
- } catch (error) {
240
- await orm.em.removeAndFlush(entity);
241
- throw error;
242
- }
243
- return normalizeOutput(metadata, entity, select);
244
- },
245
- async count({ model, where }) {
246
- const metadata = getEntityMetadata(model);
247
- return orm.em.count(
248
- metadata.class,
249
- normalizeWhereClauses(metadata, where)
250
- );
251
- },
252
- async findOne({ model, where, select }) {
253
- const metadata = getEntityMetadata(model);
254
- const entity = await orm.em.findOne(
255
- metadata.class,
256
- normalizeWhereClauses(metadata, where)
257
- );
258
- if (!entity) {
259
- return null;
260
- }
261
- return normalizeOutput(metadata, entity, select);
262
- },
263
- async findMany({ model, where, limit, offset, sortBy }) {
264
- const metadata = getEntityMetadata(model);
265
- const options2 = {
266
- limit,
267
- offset
268
- };
269
- if (sortBy) {
270
- const path = getFieldPath(metadata, sortBy.field);
271
- (0, import_dset2.dset)(options2, ["orderBy", ...path], sortBy.direction);
272
- }
273
- const rows = await orm.em.find(
274
- metadata.class,
275
- normalizeWhereClauses(metadata, where),
276
- options2
277
- );
278
- return rows.map((row) => normalizeOutput(metadata, row));
279
- },
280
- async update({ model, where, update }) {
281
- const metadata = getEntityMetadata(model);
282
- const entity = await orm.em.findOne(
283
- metadata.class,
284
- normalizeWhereClauses(metadata, where)
285
- );
286
- if (!entity) {
287
- return null;
288
- }
289
- orm.em.assign(entity, normalizeInput(metadata, update));
290
- try {
291
- await orm.em.flush();
292
- } catch (error) {
293
- await orm.em.removeAndFlush(entity);
294
- throw error;
295
- }
296
- return normalizeOutput(metadata, entity);
297
- },
298
- async updateMany({ model, where, update }) {
299
- const metadata = getEntityMetadata(model);
300
- return orm.em.nativeUpdate(
301
- metadata.class,
302
- normalizeWhereClauses(metadata, where),
303
- normalizeInput(metadata, update)
332
+ adapterName: "Mikro ORM Adapter",
333
+ transaction: async (cb) => {
334
+ return orm.em.transactional(async () => {
335
+ return cb(
336
+ (0, import_adapters.createAdapterFactory)({
337
+ adapter: adapter(orm),
338
+ config: {
339
+ debugLogs,
340
+ supportsJSON,
341
+ adapterId: "mikro-orm-adapter-transaction",
342
+ adapterName: "Mikro ORM Adapter Transaction"
343
+ }
344
+ })(options ?? {})
304
345
  );
305
- },
306
- async delete({ model, where }) {
307
- const metadata = getEntityMetadata(model);
308
- const entity = await orm.em.findOne(
309
- metadata.class,
310
- normalizeWhereClauses(metadata, where),
311
- {
312
- fields: ["id"]
313
- }
314
- );
315
- if (entity) {
316
- await orm.em.removeAndFlush(entity);
317
- }
318
- },
319
- async deleteMany({ model, where }) {
320
- const metadata = getEntityMetadata(model);
321
- return orm.em.nativeDelete(
322
- metadata.class,
323
- normalizeWhereClauses(metadata, where)
324
- );
325
- }
326
- };
346
+ });
347
+ }
327
348
  }
328
349
  });
329
350
  // Annotate the CommonJS export names for ESM import in node:
package/lib/adapter.d.cts CHANGED
@@ -1,6 +1,7 @@
1
- import * as better_auth from 'better-auth';
2
- import { MikroORM } from '@mikro-orm/core';
1
+ import * as better_auth_adapters from 'better-auth/adapters';
3
2
  import { AdapterDebugLogs } from 'better-auth/adapters';
3
+ import { MikroORM } from '@mikro-orm/core';
4
+ import { BetterAuthOptions } from 'better-auth/types';
4
5
 
5
6
  interface MikroOrmAdapterConfig {
6
7
  /**
@@ -20,6 +21,10 @@ interface MikroOrmAdapterConfig {
20
21
  * @default true
21
22
  */
22
23
  supportsJSON?: boolean;
24
+ /**
25
+ * Options for the Better Auth adapter.
26
+ */
27
+ options?: BetterAuthOptions;
23
28
  }
24
29
  /**
25
30
  * Creates Mikro ORM adapter for Better Auth.
@@ -32,6 +37,6 @@ interface MikroOrmAdapterConfig {
32
37
  * @param orm - Instance of Mikro ORM returned from `MikroORM.init` or `MikroORM.initSync` methods
33
38
  * @param config - Additional configuration for Mikro ORM adapter
34
39
  */
35
- declare const mikroOrmAdapter: (orm: MikroORM, { debugLogs, supportsJSON }?: MikroOrmAdapterConfig) => (options: better_auth.BetterAuthOptions) => better_auth.Adapter;
40
+ declare const mikroOrmAdapter: (orm: MikroORM, { debugLogs, supportsJSON, options }?: MikroOrmAdapterConfig) => better_auth_adapters.AdapterFactory;
36
41
 
37
42
  export { type MikroOrmAdapterConfig, mikroOrmAdapter };
package/lib/adapter.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import * as better_auth from 'better-auth';
2
- import { MikroORM } from '@mikro-orm/core';
1
+ import * as better_auth_adapters from 'better-auth/adapters';
3
2
  import { AdapterDebugLogs } from 'better-auth/adapters';
3
+ import { MikroORM } from '@mikro-orm/core';
4
+ import { BetterAuthOptions } from 'better-auth/types';
4
5
 
5
6
  interface MikroOrmAdapterConfig {
6
7
  /**
@@ -20,6 +21,10 @@ interface MikroOrmAdapterConfig {
20
21
  * @default true
21
22
  */
22
23
  supportsJSON?: boolean;
24
+ /**
25
+ * Options for the Better Auth adapter.
26
+ */
27
+ options?: BetterAuthOptions;
23
28
  }
24
29
  /**
25
30
  * Creates Mikro ORM adapter for Better Auth.
@@ -32,6 +37,6 @@ interface MikroOrmAdapterConfig {
32
37
  * @param orm - Instance of Mikro ORM returned from `MikroORM.init` or `MikroORM.initSync` methods
33
38
  * @param config - Additional configuration for Mikro ORM adapter
34
39
  */
35
- declare const mikroOrmAdapter: (orm: MikroORM, { debugLogs, supportsJSON }?: MikroOrmAdapterConfig) => (options: better_auth.BetterAuthOptions) => better_auth.Adapter;
40
+ declare const mikroOrmAdapter: (orm: MikroORM, { debugLogs, supportsJSON, options }?: MikroOrmAdapterConfig) => better_auth_adapters.AdapterFactory;
36
41
 
37
42
  export { type MikroOrmAdapterConfig, mikroOrmAdapter };
package/lib/adapter.js CHANGED
@@ -1,5 +1,8 @@
1
1
  // src/adapter.ts
2
- import { createAdapter } from "better-auth/adapters";
2
+ import "@mikro-orm/core";
3
+ import {
4
+ createAdapterFactory
5
+ } from "better-auth/adapters";
3
6
  import { dset as dset2 } from "dset";
4
7
 
5
8
  // src/utils/adapterUtils.ts
@@ -7,7 +10,7 @@ import { ReferenceKind, serialize } from "@mikro-orm/core";
7
10
  import { dset } from "dset";
8
11
 
9
12
  // src/utils/createAdapterError.ts
10
- import { BetterAuthError } from "@forklaunch/better-auth";
13
+ import { BetterAuthError } from "better-auth";
11
14
  function createAdapterError(message) {
12
15
  throw new BetterAuthError(`[Mikro ORM Adapter] ${message}`);
13
16
  }
@@ -98,10 +101,12 @@ function createAdapterUtils(orm) {
98
101
  const fields = {};
99
102
  Object.entries(input).forEach(([key, value]) => {
100
103
  if (typeof value === "object" && value.$in) {
101
- dset(fields, key, value.$in);
104
+ const property = getPropertyMetadata(metadata2, key);
105
+ dset(fields, [property.name], value.$in);
102
106
  } else {
103
- const path = getFieldPath(metadata2, key);
104
- dset(fields, path, value);
107
+ const property = getPropertyMetadata(metadata2, key);
108
+ const normalizedValue = normalizePropertyValue(property, value);
109
+ dset(fields, [property.name], normalizedValue);
105
110
  }
106
111
  });
107
112
  return fields;
@@ -143,6 +148,8 @@ function createAdapterUtils(orm) {
143
148
  switch (w.operator) {
144
149
  case "in":
145
150
  return createWhereInClause(w.field, path, w.value);
151
+ case "not_in":
152
+ return createWhereClause(path, w.value, "$nin");
146
153
  case "contains":
147
154
  return createWhereClause(path, `%${w.value}%`, "$like");
148
155
  case "starts_with":
@@ -169,7 +176,7 @@ function createAdapterUtils(orm) {
169
176
  return createWhereClause(path, value, "eq", result);
170
177
  });
171
178
  where.filter(({ connector }) => connector === "OR").forEach(({ field, value }, index) => {
172
- const path = ["$and", index].concat(getFieldPath(metadata2, field, true));
179
+ const path = ["$or", index].concat(getFieldPath(metadata2, field, true));
173
180
  return createWhereClause(path, value, "eq", result);
174
181
  });
175
182
  return result;
@@ -185,119 +192,135 @@ function createAdapterUtils(orm) {
185
192
  }
186
193
 
187
194
  // src/adapter.ts
188
- var mikroOrmAdapter = (orm, { debugLogs, supportsJSON = true } = {}) => createAdapter({
195
+ var adapter = (orm) => ({ options }) => {
196
+ const {
197
+ getEntityMetadata,
198
+ getFieldPath,
199
+ normalizeInput,
200
+ normalizeOutput,
201
+ normalizeWhereClauses
202
+ } = createAdapterUtils(orm);
203
+ return {
204
+ async create({ model, data, select }) {
205
+ const metadata = getEntityMetadata(model);
206
+ const input = normalizeInput(metadata, data);
207
+ if (options.advanced?.generateId === false && !options.advanced?.database || options.advanced?.database?.generateId === false) {
208
+ Reflect.deleteProperty(input, "id");
209
+ }
210
+ const entity = orm.em.create(metadata.class, input);
211
+ try {
212
+ await orm.em.persistAndFlush(entity);
213
+ } catch (error) {
214
+ await orm.em.removeAndFlush(entity);
215
+ throw error;
216
+ }
217
+ return normalizeOutput(metadata, entity, select);
218
+ },
219
+ async count({ model, where }) {
220
+ const metadata = getEntityMetadata(model);
221
+ return orm.em.count(
222
+ metadata.class,
223
+ normalizeWhereClauses(metadata, where)
224
+ );
225
+ },
226
+ async findOne({ model, where, select }) {
227
+ const metadata = getEntityMetadata(model);
228
+ const entity = await orm.em.findOne(
229
+ metadata.class,
230
+ normalizeWhereClauses(metadata, where)
231
+ );
232
+ if (!entity) {
233
+ return null;
234
+ }
235
+ return normalizeOutput(metadata, entity, select);
236
+ },
237
+ async findMany({ model, where, limit, offset, sortBy }) {
238
+ const metadata = getEntityMetadata(model);
239
+ const options2 = {
240
+ limit,
241
+ offset
242
+ };
243
+ if (sortBy) {
244
+ const path = getFieldPath(metadata, sortBy.field);
245
+ dset2(options2, ["orderBy", ...path], sortBy.direction);
246
+ }
247
+ const rows = await orm.em.find(
248
+ metadata.class,
249
+ normalizeWhereClauses(metadata, where),
250
+ options2
251
+ );
252
+ return rows.map((row) => normalizeOutput(metadata, row));
253
+ },
254
+ async update({ model, where, update }) {
255
+ const metadata = getEntityMetadata(model);
256
+ const entity = await orm.em.findOne(
257
+ metadata.class,
258
+ normalizeWhereClauses(metadata, where)
259
+ );
260
+ if (!entity) {
261
+ return null;
262
+ }
263
+ orm.em.assign(entity, normalizeInput(metadata, update));
264
+ try {
265
+ await orm.em.flush();
266
+ } catch (error) {
267
+ await orm.em.removeAndFlush(entity);
268
+ throw error;
269
+ }
270
+ return normalizeOutput(metadata, entity);
271
+ },
272
+ async updateMany({ model, where, update }) {
273
+ const metadata = getEntityMetadata(model);
274
+ return orm.em.nativeUpdate(
275
+ metadata.class,
276
+ normalizeWhereClauses(metadata, where),
277
+ normalizeInput(metadata, update)
278
+ );
279
+ },
280
+ async delete({ model, where }) {
281
+ const metadata = getEntityMetadata(model);
282
+ const entity = await orm.em.findOne(
283
+ metadata.class,
284
+ normalizeWhereClauses(metadata, where),
285
+ {
286
+ fields: ["id"]
287
+ }
288
+ );
289
+ if (entity) {
290
+ await orm.em.removeAndFlush(entity);
291
+ }
292
+ },
293
+ async deleteMany({ model, where }) {
294
+ const metadata = getEntityMetadata(model);
295
+ return orm.em.nativeDelete(
296
+ metadata.class,
297
+ normalizeWhereClauses(metadata, where)
298
+ );
299
+ }
300
+ };
301
+ };
302
+ var mikroOrmAdapter = (orm, { debugLogs, supportsJSON = true, options } = {}) => createAdapterFactory({
303
+ adapter: adapter(orm),
189
304
  config: {
190
305
  debugLogs,
191
306
  supportsJSON,
192
307
  adapterId: "mikro-orm-adapter",
193
- adapterName: "Mikro ORM Adapter"
194
- },
195
- adapter({ options }) {
196
- const {
197
- getEntityMetadata,
198
- getFieldPath,
199
- normalizeInput,
200
- normalizeOutput,
201
- normalizeWhereClauses
202
- } = createAdapterUtils(orm);
203
- return {
204
- async create({ model, data, select }) {
205
- const metadata = getEntityMetadata(model);
206
- const input = normalizeInput(metadata, data);
207
- if (options.advanced?.generateId === false && !options.advanced?.database || options.advanced?.database?.generateId === false) {
208
- Reflect.deleteProperty(input, "id");
209
- }
210
- const entity = orm.em.create(metadata.class, input);
211
- try {
212
- await orm.em.persistAndFlush(entity);
213
- } catch (error) {
214
- await orm.em.removeAndFlush(entity);
215
- throw error;
216
- }
217
- return normalizeOutput(metadata, entity, select);
218
- },
219
- async count({ model, where }) {
220
- const metadata = getEntityMetadata(model);
221
- return orm.em.count(
222
- metadata.class,
223
- normalizeWhereClauses(metadata, where)
224
- );
225
- },
226
- async findOne({ model, where, select }) {
227
- const metadata = getEntityMetadata(model);
228
- const entity = await orm.em.findOne(
229
- metadata.class,
230
- normalizeWhereClauses(metadata, where)
231
- );
232
- if (!entity) {
233
- return null;
234
- }
235
- return normalizeOutput(metadata, entity, select);
236
- },
237
- async findMany({ model, where, limit, offset, sortBy }) {
238
- const metadata = getEntityMetadata(model);
239
- const options2 = {
240
- limit,
241
- offset
242
- };
243
- if (sortBy) {
244
- const path = getFieldPath(metadata, sortBy.field);
245
- dset2(options2, ["orderBy", ...path], sortBy.direction);
246
- }
247
- const rows = await orm.em.find(
248
- metadata.class,
249
- normalizeWhereClauses(metadata, where),
250
- options2
251
- );
252
- return rows.map((row) => normalizeOutput(metadata, row));
253
- },
254
- async update({ model, where, update }) {
255
- const metadata = getEntityMetadata(model);
256
- const entity = await orm.em.findOne(
257
- metadata.class,
258
- normalizeWhereClauses(metadata, where)
259
- );
260
- if (!entity) {
261
- return null;
262
- }
263
- orm.em.assign(entity, normalizeInput(metadata, update));
264
- try {
265
- await orm.em.flush();
266
- } catch (error) {
267
- await orm.em.removeAndFlush(entity);
268
- throw error;
269
- }
270
- return normalizeOutput(metadata, entity);
271
- },
272
- async updateMany({ model, where, update }) {
273
- const metadata = getEntityMetadata(model);
274
- return orm.em.nativeUpdate(
275
- metadata.class,
276
- normalizeWhereClauses(metadata, where),
277
- normalizeInput(metadata, update)
308
+ adapterName: "Mikro ORM Adapter",
309
+ transaction: async (cb) => {
310
+ return orm.em.transactional(async () => {
311
+ return cb(
312
+ createAdapterFactory({
313
+ adapter: adapter(orm),
314
+ config: {
315
+ debugLogs,
316
+ supportsJSON,
317
+ adapterId: "mikro-orm-adapter-transaction",
318
+ adapterName: "Mikro ORM Adapter Transaction"
319
+ }
320
+ })(options ?? {})
278
321
  );
279
- },
280
- async delete({ model, where }) {
281
- const metadata = getEntityMetadata(model);
282
- const entity = await orm.em.findOne(
283
- metadata.class,
284
- normalizeWhereClauses(metadata, where),
285
- {
286
- fields: ["id"]
287
- }
288
- );
289
- if (entity) {
290
- await orm.em.removeAndFlush(entity);
291
- }
292
- },
293
- async deleteMany({ model, where }) {
294
- const metadata = getEntityMetadata(model);
295
- return orm.em.nativeDelete(
296
- metadata.class,
297
- normalizeWhereClauses(metadata, where)
298
- );
299
- }
300
- };
322
+ });
323
+ }
301
324
  }
302
325
  });
303
326
  export {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "type": "module",
4
4
  "name": "@forklaunch/better-auth-mikro-orm-fork",
5
- "version": "0.4.104",
5
+ "version": "0.4.106",
6
6
  "description": "Mikro ORM Adapter for Better Auth",
7
7
  "keywords": [
8
8
  "auth",
@@ -59,7 +59,7 @@
59
59
  "@types/uuid": "10.0.0",
60
60
  "@vitest/coverage-v8": "3.1.1",
61
61
  "@vitest/ui": "3.1.1",
62
- "better-auth": "1.2.9",
62
+ "better-auth": "1.3.11",
63
63
  "del-cli": "6.0.0",
64
64
  "es-toolkit": "1.39.7",
65
65
  "husky": "9.1.7",
package/readme.md CHANGED
@@ -32,8 +32,8 @@ pnpm add better-auth-mikro-orm
32
32
  2. When you're finished with the schema definitions, you can simply pass the result of the `mikroOrmAdapter` call to the `database` option like this:
33
33
 
34
34
  ```ts
35
- import { mikroOrmAdapter } from "@forklaunch/better-auth-mikro-orm";
36
- import { betterAuth } from "@forklaunch/better-auth";
35
+ import { mikroOrmAdapter } from "better-auth-mikro-orm";
36
+ import { betterAuth } from "better-auth";
37
37
 
38
38
  import { orm } from "./orm.js"; // Your Mikro ORM instance
39
39