@nest-boot/mikro-orm 7.6.0 → 8.0.0-beta.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.
- package/dist/index.d.ts +7 -7
- package/dist/index.js +7 -25
- package/dist/index.js.map +1 -1
- package/dist/interfaces/id-entity.interface.js +1 -2
- package/dist/interfaces/index.d.ts +2 -2
- package/dist/interfaces/index.js +2 -18
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/mikro-orm-module-options.interface.js +1 -2
- package/dist/mikro-orm.module-definition.d.ts +1 -1
- package/dist/mikro-orm.module-definition.js +4 -8
- package/dist/mikro-orm.module-definition.js.map +1 -1
- package/dist/mikro-orm.module.d.ts +1 -1
- package/dist/mikro-orm.module.js +28 -30
- package/dist/mikro-orm.module.js.map +1 -1
- package/dist/property-types/index.d.ts +1 -1
- package/dist/property-types/index.js +1 -17
- package/dist/property-types/index.js.map +1 -1
- package/dist/property-types/vector.type.js +3 -6
- package/dist/property-types/vector.type.js.map +1 -1
- package/dist/services/entity.service.d.ts +4 -5
- package/dist/services/entity.service.js +111 -119
- package/dist/services/entity.service.js.map +1 -1
- package/dist/types/chunk-by-id-options.type.js +1 -2
- package/dist/types/id-or-entity.type.d.ts +1 -1
- package/dist/types/id-or-entity.type.js +1 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +2 -18
- package/dist/types/index.js.map +1 -1
- package/dist/utils/load-config-from-env.util.d.ts +1 -1
- package/dist/utils/load-config-from-env.util.js +7 -43
- package/dist/utils/load-config-from-env.util.js.map +1 -1
- package/package.json +32 -32
- package/dist/property-types/vector.type.spec.d.ts +0 -1
- package/dist/property-types/vector.type.spec.js +0 -34
- package/dist/property-types/vector.type.spec.js.map +0 -1
- package/dist/services/entity.service.spec.d.ts +0 -1
- package/dist/services/entity.service.spec.js +0 -212
- package/dist/services/entity.service.spec.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/utils/load-config-from-env.util.spec.d.ts +0 -1
- package/dist/utils/load-config-from-env.util.spec.js +0 -75
- package/dist/utils/load-config-from-env.util.spec.js.map +0 -1
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
-
};
|
|
7
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
-
};
|
|
10
|
-
var _EntityService_instances, _EntityService_getDataLoader_get, _EntityService_createDataLoader_get, _EntityService_updateDataLoader_get, _EntityService_removeDataLoader_get;
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.EntityService = void 0;
|
|
13
|
-
const core_1 = require("@mikro-orm/core");
|
|
14
|
-
const common_1 = require("@nestjs/common");
|
|
15
|
-
const dataloader_1 = __importDefault(require("dataloader"));
|
|
16
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
1
|
+
import { QueryOrder, } from "@mikro-orm/core";
|
|
2
|
+
import { NotFoundException } from "@nestjs/common";
|
|
3
|
+
import DataLoader from "dataloader";
|
|
4
|
+
import _ from "lodash";
|
|
17
5
|
/**
|
|
18
6
|
* Generic CRUD service for MikroORM entities with DataLoader batching.
|
|
19
7
|
*
|
|
@@ -24,7 +12,10 @@ const lodash_1 = __importDefault(require("lodash"));
|
|
|
24
12
|
*
|
|
25
13
|
* @typeParam Entity - The entity type, which must have an `id` property
|
|
26
14
|
*/
|
|
27
|
-
class EntityService {
|
|
15
|
+
export class EntityService {
|
|
16
|
+
entityClass;
|
|
17
|
+
em;
|
|
18
|
+
options;
|
|
28
19
|
/**
|
|
29
20
|
* Creates a new EntityService instance.
|
|
30
21
|
* @param entityClass - The entity class to manage
|
|
@@ -32,18 +23,113 @@ class EntityService {
|
|
|
32
23
|
* @param options - Optional service configuration (e.g. soft-delete key)
|
|
33
24
|
*/
|
|
34
25
|
constructor(entityClass, em, options) {
|
|
35
|
-
_EntityService_instances.add(this);
|
|
36
26
|
this.entityClass = entityClass;
|
|
37
27
|
this.em = em;
|
|
38
28
|
this.options = options;
|
|
39
29
|
}
|
|
30
|
+
get #getDataLoader() {
|
|
31
|
+
return new DataLoader(async (items) => {
|
|
32
|
+
const uow = this.em.getUnitOfWork();
|
|
33
|
+
// Get all IDs
|
|
34
|
+
const ids = items.map(({ idOrEntity }) => typeof idOrEntity === "object" ? idOrEntity.id : idOrEntity);
|
|
35
|
+
// First try to get already loaded entities from UnitOfWork
|
|
36
|
+
const entitiesFromUow = [];
|
|
37
|
+
const idsToFetch = [];
|
|
38
|
+
for (const id of ids) {
|
|
39
|
+
// Try to get entity from UnitOfWork's identity map
|
|
40
|
+
const entity = uow.getById(this.entityClass, id);
|
|
41
|
+
if (entity) {
|
|
42
|
+
entitiesFromUow.push(entity);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
idsToFetch.push(id);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// If there are IDs that need to be fetched from the database, execute the query
|
|
49
|
+
let entitiesFromDb = [];
|
|
50
|
+
if (idsToFetch.length > 0) {
|
|
51
|
+
entitiesFromDb = await this.em.find(this.entityClass, {
|
|
52
|
+
id: { $in: idsToFetch },
|
|
53
|
+
}, { limit: idsToFetch.length });
|
|
54
|
+
}
|
|
55
|
+
// Merge results from UnitOfWork and database query
|
|
56
|
+
const allEntities = [...entitiesFromUow, ...entitiesFromDb];
|
|
57
|
+
// Return results in the original order
|
|
58
|
+
return ids.map((id) => {
|
|
59
|
+
return allEntities.find((entity) => entity.id === id) ?? null;
|
|
60
|
+
});
|
|
61
|
+
}, { cache: false });
|
|
62
|
+
}
|
|
63
|
+
get #createDataLoader() {
|
|
64
|
+
return new DataLoader(async (data) => {
|
|
65
|
+
const entities = data.map((item) => {
|
|
66
|
+
return this.em.create(this.entityClass, item, {
|
|
67
|
+
persist: true,
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
await this.em.flush();
|
|
71
|
+
return entities;
|
|
72
|
+
}, { cache: false });
|
|
73
|
+
}
|
|
74
|
+
get #updateDataLoader() {
|
|
75
|
+
return new DataLoader(async (items) => {
|
|
76
|
+
const entitiesOrErrors = (await Promise.all(items.map(({ idOrEntity }) => this.findOne(idOrEntity)))).map((entity) => {
|
|
77
|
+
if (entity === null) {
|
|
78
|
+
return new NotFoundException(`${this.entityClass.name.toLowerCase()}.not_found`);
|
|
79
|
+
}
|
|
80
|
+
return entity;
|
|
81
|
+
});
|
|
82
|
+
entitiesOrErrors.forEach((entityOrError, index) => {
|
|
83
|
+
if (entityOrError instanceof Error) {
|
|
84
|
+
return entityOrError;
|
|
85
|
+
}
|
|
86
|
+
const { data, options } = items[index];
|
|
87
|
+
// Filter out undefined values
|
|
88
|
+
const filteredData = Object.fromEntries(Object.entries(data).filter(([, value]) => value !== undefined));
|
|
89
|
+
this.em.assign(entityOrError, filteredData, options);
|
|
90
|
+
});
|
|
91
|
+
await this.em.flush();
|
|
92
|
+
return entitiesOrErrors;
|
|
93
|
+
}, { cache: false });
|
|
94
|
+
}
|
|
95
|
+
get #removeDataLoader() {
|
|
96
|
+
return new DataLoader(async (items) => {
|
|
97
|
+
const entitiesOrErrors = (await Promise.all(items.map(({ idOrEntity }) => this.findOne(idOrEntity)))).map((entity) => {
|
|
98
|
+
if (entity === null) {
|
|
99
|
+
return new NotFoundException(`${this.entityClass.name.toLowerCase()}.not_found`);
|
|
100
|
+
}
|
|
101
|
+
return entity;
|
|
102
|
+
});
|
|
103
|
+
const removeHandler = async () => {
|
|
104
|
+
entitiesOrErrors.forEach((entityOrError, index) => {
|
|
105
|
+
if (entityOrError instanceof Error) {
|
|
106
|
+
return entityOrError;
|
|
107
|
+
}
|
|
108
|
+
const { softDelete } = items[index];
|
|
109
|
+
const softDeleteKey = this.options?.softDeleteKey ?? "deletedAt";
|
|
110
|
+
if (softDelete && softDeleteKey in entityOrError) {
|
|
111
|
+
entityOrError[softDeleteKey] = new Date();
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this.em.remove(entityOrError);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
await this.em.flush();
|
|
118
|
+
return entitiesOrErrors;
|
|
119
|
+
};
|
|
120
|
+
if (this.em.isInTransaction()) {
|
|
121
|
+
return await removeHandler();
|
|
122
|
+
}
|
|
123
|
+
return await this.em.transactional(removeHandler);
|
|
124
|
+
}, { cache: false });
|
|
125
|
+
}
|
|
40
126
|
/**
|
|
41
127
|
* Creates a new entity and persists it.
|
|
42
128
|
* @param data - The entity data to create
|
|
43
129
|
* @returns The created entity
|
|
44
130
|
*/
|
|
45
131
|
create(data) {
|
|
46
|
-
return
|
|
132
|
+
return this.#createDataLoader.load(data);
|
|
47
133
|
}
|
|
48
134
|
/**
|
|
49
135
|
* Finds a single entity by ID, entity reference, or filter query.
|
|
@@ -51,11 +137,11 @@ class EntityService {
|
|
|
51
137
|
* @returns The found entity or null
|
|
52
138
|
*/
|
|
53
139
|
async findOne(idOrEntityOrWhere) {
|
|
54
|
-
if (
|
|
140
|
+
if (_.isPlainObject(idOrEntityOrWhere)) {
|
|
55
141
|
return await this.em.findOne(this.entityClass, idOrEntityOrWhere);
|
|
56
142
|
}
|
|
57
143
|
else {
|
|
58
|
-
return (await
|
|
144
|
+
return (await this.#getDataLoader.load({
|
|
59
145
|
idOrEntity: idOrEntityOrWhere,
|
|
60
146
|
}));
|
|
61
147
|
}
|
|
@@ -69,7 +155,7 @@ class EntityService {
|
|
|
69
155
|
async findOneOrFail(idOrEntityOrWhere) {
|
|
70
156
|
const entity = await this.findOne(idOrEntityOrWhere);
|
|
71
157
|
if (entity === null) {
|
|
72
|
-
throw new
|
|
158
|
+
throw new NotFoundException(`${_.capitalize(this.entityClass.name)} not found`);
|
|
73
159
|
}
|
|
74
160
|
return entity;
|
|
75
161
|
}
|
|
@@ -100,7 +186,7 @@ class EntityService {
|
|
|
100
186
|
* @throws NotFoundException if the entity is not found
|
|
101
187
|
*/
|
|
102
188
|
async update(idOrEntity, data, options) {
|
|
103
|
-
const entity = await
|
|
189
|
+
const entity = await this.#updateDataLoader.load({
|
|
104
190
|
idOrEntity,
|
|
105
191
|
data,
|
|
106
192
|
options,
|
|
@@ -118,7 +204,7 @@ class EntityService {
|
|
|
118
204
|
* @throws NotFoundException if the entity is not found
|
|
119
205
|
*/
|
|
120
206
|
async remove(idOrEntity, softDelete = true) {
|
|
121
|
-
const entity = await
|
|
207
|
+
const entity = await this.#removeDataLoader.load({
|
|
122
208
|
idOrEntity,
|
|
123
209
|
softDelete,
|
|
124
210
|
});
|
|
@@ -145,7 +231,7 @@ class EntityService {
|
|
|
145
231
|
],
|
|
146
232
|
}, {
|
|
147
233
|
...options,
|
|
148
|
-
orderBy: { id:
|
|
234
|
+
orderBy: { id: QueryOrder.ASC },
|
|
149
235
|
});
|
|
150
236
|
count = entities.length;
|
|
151
237
|
if (count > 0) {
|
|
@@ -159,98 +245,4 @@ class EntityService {
|
|
|
159
245
|
return this;
|
|
160
246
|
}
|
|
161
247
|
}
|
|
162
|
-
exports.EntityService = EntityService;
|
|
163
|
-
_EntityService_instances = new WeakSet(), _EntityService_getDataLoader_get = function _EntityService_getDataLoader_get() {
|
|
164
|
-
return new dataloader_1.default(async (items) => {
|
|
165
|
-
const uow = this.em.getUnitOfWork();
|
|
166
|
-
// Get all IDs
|
|
167
|
-
const ids = items.map(({ idOrEntity }) => typeof idOrEntity === "object" ? idOrEntity.id : idOrEntity);
|
|
168
|
-
// First try to get already loaded entities from UnitOfWork
|
|
169
|
-
const entitiesFromUow = [];
|
|
170
|
-
const idsToFetch = [];
|
|
171
|
-
for (const id of ids) {
|
|
172
|
-
// Try to get entity from UnitOfWork's identity map
|
|
173
|
-
const entity = uow.getById(core_1.Utils.className(this.entityClass), id);
|
|
174
|
-
if (entity) {
|
|
175
|
-
entitiesFromUow.push(entity);
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
idsToFetch.push(id);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
// If there are IDs that need to be fetched from the database, execute the query
|
|
182
|
-
let entitiesFromDb = [];
|
|
183
|
-
if (idsToFetch.length > 0) {
|
|
184
|
-
entitiesFromDb = await this.em.find(this.entityClass, {
|
|
185
|
-
id: { $in: idsToFetch },
|
|
186
|
-
}, { limit: idsToFetch.length });
|
|
187
|
-
}
|
|
188
|
-
// Merge results from UnitOfWork and database query
|
|
189
|
-
const allEntities = [...entitiesFromUow, ...entitiesFromDb];
|
|
190
|
-
// Return results in the original order
|
|
191
|
-
return ids.map((id) => {
|
|
192
|
-
return allEntities.find((entity) => entity.id === id) ?? null;
|
|
193
|
-
});
|
|
194
|
-
}, { cache: false });
|
|
195
|
-
}, _EntityService_createDataLoader_get = function _EntityService_createDataLoader_get() {
|
|
196
|
-
return new dataloader_1.default(async (data) => {
|
|
197
|
-
const entities = data.map((item) => {
|
|
198
|
-
return this.em.create(this.entityClass, item, {
|
|
199
|
-
persist: true,
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
await this.em.flush();
|
|
203
|
-
return entities;
|
|
204
|
-
}, { cache: false });
|
|
205
|
-
}, _EntityService_updateDataLoader_get = function _EntityService_updateDataLoader_get() {
|
|
206
|
-
return new dataloader_1.default(async (items) => {
|
|
207
|
-
const entitiesOrErrors = (await Promise.all(items.map(({ idOrEntity }) => this.findOne(idOrEntity)))).map((entity) => {
|
|
208
|
-
if (entity === null) {
|
|
209
|
-
return new common_1.NotFoundException(`${this.entityClass.name.toLowerCase()}.not_found`);
|
|
210
|
-
}
|
|
211
|
-
return entity;
|
|
212
|
-
});
|
|
213
|
-
entitiesOrErrors.forEach((entityOrError, index) => {
|
|
214
|
-
if (entityOrError instanceof Error) {
|
|
215
|
-
return entityOrError;
|
|
216
|
-
}
|
|
217
|
-
const { data, options } = items[index];
|
|
218
|
-
// Filter out undefined values
|
|
219
|
-
const filteredData = Object.fromEntries(Object.entries(data).filter(([, value]) => value !== undefined));
|
|
220
|
-
this.em.assign(entityOrError, filteredData, options);
|
|
221
|
-
});
|
|
222
|
-
await this.em.flush();
|
|
223
|
-
return entitiesOrErrors;
|
|
224
|
-
}, { cache: false });
|
|
225
|
-
}, _EntityService_removeDataLoader_get = function _EntityService_removeDataLoader_get() {
|
|
226
|
-
return new dataloader_1.default(async (items) => {
|
|
227
|
-
const entitiesOrErrors = (await Promise.all(items.map(({ idOrEntity }) => this.findOne(idOrEntity)))).map((entity) => {
|
|
228
|
-
if (entity === null) {
|
|
229
|
-
return new common_1.NotFoundException(`${this.entityClass.name.toLowerCase()}.not_found`);
|
|
230
|
-
}
|
|
231
|
-
return entity;
|
|
232
|
-
});
|
|
233
|
-
const removeHandler = async () => {
|
|
234
|
-
entitiesOrErrors.forEach((entityOrError, index) => {
|
|
235
|
-
if (entityOrError instanceof Error) {
|
|
236
|
-
return entityOrError;
|
|
237
|
-
}
|
|
238
|
-
const { softDelete } = items[index];
|
|
239
|
-
const softDeleteKey = this.options?.softDeleteKey ?? "deletedAt";
|
|
240
|
-
if (softDelete && softDeleteKey in entityOrError) {
|
|
241
|
-
entityOrError[softDeleteKey] = new Date();
|
|
242
|
-
}
|
|
243
|
-
else {
|
|
244
|
-
this.em.remove(entityOrError);
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
await this.em.flush();
|
|
248
|
-
return entitiesOrErrors;
|
|
249
|
-
};
|
|
250
|
-
if (this.em.isInTransaction()) {
|
|
251
|
-
return await removeHandler();
|
|
252
|
-
}
|
|
253
|
-
return await this.em.transactional(removeHandler);
|
|
254
|
-
}, { cache: false });
|
|
255
|
-
};
|
|
256
248
|
//# sourceMappingURL=entity.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.service.js","sourceRoot":"","sources":["../../src/services/entity.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entity.service.js","sourceRoot":"","sources":["../../src/services/entity.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { IdEntity } from "../interfaces/id-entity.interface";
|
|
1
|
+
import type { IdEntity } from "../interfaces/id-entity.interface.js";
|
|
2
2
|
/** Accepts either an entity's ID value or the entity instance itself. */
|
|
3
3
|
export type IdOrEntity<Entity extends IdEntity> = Entity["id"] | Entity;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./chunk-by-id-options.type";
|
|
2
|
-
export * from "./id-or-entity.type";
|
|
1
|
+
export * from "./chunk-by-id-options.type.js";
|
|
2
|
+
export * from "./id-or-entity.type.js";
|
package/dist/types/index.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./chunk-by-id-options.type"), exports);
|
|
18
|
-
__exportStar(require("./id-or-entity.type"), exports);
|
|
1
|
+
export * from "./chunk-by-id-options.type.js";
|
|
2
|
+
export * from "./id-or-entity.type.js";
|
|
19
3
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Configuration, IDatabaseDriver } from "@mikro-orm/core";
|
|
1
|
+
import { Configuration, type IDatabaseDriver } from "@mikro-orm/core";
|
|
2
2
|
/** Constructor type for a MikroORM database driver. */
|
|
3
3
|
export type DatabaseDriverConstructor = new (config: Configuration) => IDatabaseDriver;
|
|
4
4
|
/** Database driver configuration for MikroORM. */
|
|
@@ -1,48 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.loadConfigFromEnv = loadConfigFromEnv;
|
|
37
|
-
const core_1 = require("@mikro-orm/core");
|
|
38
|
-
const reflection_1 = require("@mikro-orm/reflection");
|
|
1
|
+
import { DataloaderType, } from "@mikro-orm/core";
|
|
2
|
+
import { TsMorphMetadataProvider } from "@mikro-orm/reflection";
|
|
39
3
|
async function getDriver(type) {
|
|
40
4
|
switch (type) {
|
|
41
5
|
case "mysql":
|
|
42
|
-
return (await
|
|
6
|
+
return (await import("@mikro-orm/mysql")).MySqlDriver;
|
|
43
7
|
case "postgres":
|
|
44
8
|
case "postgresql":
|
|
45
|
-
return (await
|
|
9
|
+
return (await import("@mikro-orm/postgresql")).PostgreSqlDriver;
|
|
46
10
|
}
|
|
47
11
|
}
|
|
48
12
|
/**
|
|
@@ -55,13 +19,13 @@ async function getDriver(type) {
|
|
|
55
19
|
*
|
|
56
20
|
* @returns MikroORM options derived from environment variables
|
|
57
21
|
*/
|
|
58
|
-
async function loadConfigFromEnv() {
|
|
22
|
+
export async function loadConfigFromEnv() {
|
|
59
23
|
const baseConfig = {
|
|
60
24
|
colors: false,
|
|
61
25
|
debug: !!(process.env.DB_DEBUG ?? process.env.DATABASE_DEBUG),
|
|
62
|
-
dataloader:
|
|
26
|
+
dataloader: DataloaderType.ALL,
|
|
63
27
|
timezone: "UTC",
|
|
64
|
-
metadataProvider:
|
|
28
|
+
metadataProvider: TsMorphMetadataProvider,
|
|
65
29
|
entities: ["dist/**/*.entity.js"],
|
|
66
30
|
entitiesTs: ["src/**/*.entity.ts"],
|
|
67
31
|
migrations: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-config-from-env.util.js","sourceRoot":"","sources":["../../src/utils/load-config-from-env.util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-config-from-env.util.js","sourceRoot":"","sources":["../../src/utils/load-config-from-env.util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nest-boot/mikro-orm",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0-beta.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/nest-boot/nest-boot.git",
|
|
@@ -23,45 +23,47 @@
|
|
|
23
23
|
"dist"
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
|
+
"dataloader": "^2.2.3",
|
|
26
27
|
"lodash": "^4.17.21",
|
|
27
28
|
"pgvector": "^0.2.1",
|
|
28
29
|
"prettier": "^3.6.2",
|
|
29
30
|
"sql-formatter": "^15.6.9"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
|
-
"@mikro-orm/core": "
|
|
33
|
-
"@mikro-orm/
|
|
34
|
-
"@mikro-orm/
|
|
35
|
-
"@mikro-orm/
|
|
36
|
-
"@mikro-orm/
|
|
37
|
-
"@
|
|
38
|
-
"@nestjs/
|
|
39
|
-
"@nestjs/
|
|
40
|
-
"@
|
|
33
|
+
"@mikro-orm/core": "7.1.4",
|
|
34
|
+
"@mikro-orm/decorators": "7.1.4",
|
|
35
|
+
"@mikro-orm/mysql": "7.1.4",
|
|
36
|
+
"@mikro-orm/nestjs": "^7.0.2",
|
|
37
|
+
"@mikro-orm/postgresql": "7.1.4",
|
|
38
|
+
"@mikro-orm/reflection": "7.1.4",
|
|
39
|
+
"@nestjs/common": "next",
|
|
40
|
+
"@nestjs/core": "next",
|
|
41
|
+
"@nestjs/testing": "next",
|
|
41
42
|
"@types/lodash": "^4.17.20",
|
|
42
|
-
"@types/node": "^
|
|
43
|
+
"@types/node": "^26.0.0",
|
|
44
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
43
45
|
"dataloader": "^2.2.3",
|
|
44
46
|
"dotenv": "^17.2.3",
|
|
45
47
|
"eslint": "^9.39.3",
|
|
46
|
-
"jest": "^29.7.0",
|
|
47
48
|
"reflect-metadata": "^0.2.2",
|
|
48
49
|
"rxjs": "^7.8.2",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"@nest-boot/eslint-
|
|
52
|
-
"@nest-boot/eslint-
|
|
53
|
-
"@nest-boot/request-context": "^
|
|
54
|
-
"@nest-boot/tsconfig": "^
|
|
50
|
+
"typescript": "^6.0.3",
|
|
51
|
+
"vitest": "^4.1.2",
|
|
52
|
+
"@nest-boot/eslint-config": "^8.0.0-beta.0",
|
|
53
|
+
"@nest-boot/eslint-plugin": "^8.0.0-beta.0",
|
|
54
|
+
"@nest-boot/request-context": "^8.0.0-beta.0",
|
|
55
|
+
"@nest-boot/tsconfig": "^8.0.0-beta.0"
|
|
55
56
|
},
|
|
56
57
|
"peerDependencies": {
|
|
57
|
-
"@mikro-orm/core": "^
|
|
58
|
-
"@mikro-orm/
|
|
59
|
-
"@mikro-orm/
|
|
60
|
-
"@
|
|
61
|
-
"@nestjs/common": "^
|
|
62
|
-
"@nestjs/core": "^
|
|
58
|
+
"@mikro-orm/core": "^7.0.0",
|
|
59
|
+
"@mikro-orm/decorators": "^7.0.0",
|
|
60
|
+
"@mikro-orm/nestjs": "^7.0.0",
|
|
61
|
+
"@mikro-orm/reflection": "^7.0.0",
|
|
62
|
+
"@nestjs/common": "^12.0.0-alpha.5",
|
|
63
|
+
"@nestjs/core": "^12.0.0-alpha.5",
|
|
63
64
|
"reflect-metadata": "^0.2.2",
|
|
64
|
-
"rxjs": "^7.0.0"
|
|
65
|
+
"rxjs": "^7.0.0",
|
|
66
|
+
"@nest-boot/request-context": "^8.0.0-beta.0"
|
|
65
67
|
},
|
|
66
68
|
"publishConfig": {
|
|
67
69
|
"access": "public"
|
|
@@ -72,18 +74,16 @@
|
|
|
72
74
|
"eslint --fix"
|
|
73
75
|
]
|
|
74
76
|
},
|
|
75
|
-
"
|
|
76
|
-
"extends": "../../package.json"
|
|
77
|
-
},
|
|
77
|
+
"type": "module",
|
|
78
78
|
"scripts": {
|
|
79
79
|
"build": "tsc -p tsconfig.build.json",
|
|
80
80
|
"clean": "rm -rf .nx && rm -rf node_modules && rm -rf dist",
|
|
81
81
|
"dev": "tsc -w -p tsconfig.build.json",
|
|
82
82
|
"lint": "eslint \"{src,test}/**/*.ts\"",
|
|
83
83
|
"lint:fix": "eslint \"{src,test}/**/*.ts\" --fix",
|
|
84
|
-
"test": "
|
|
85
|
-
"test:cov": "
|
|
86
|
-
"test:watch": "
|
|
87
|
-
"test:debug": "
|
|
84
|
+
"test": "vitest run",
|
|
85
|
+
"test:cov": "vitest run --coverage",
|
|
86
|
+
"test:watch": "vitest",
|
|
87
|
+
"test:debug": "vitest --inspect-brk --no-file-parallelism"
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const mikro_orm_1 = require("pgvector/mikro-orm");
|
|
4
|
-
const vector_type_1 = require("./vector.type");
|
|
5
|
-
describe("VectorType", () => {
|
|
6
|
-
afterEach(() => {
|
|
7
|
-
jest.restoreAllMocks();
|
|
8
|
-
});
|
|
9
|
-
it("should pass configured dimensions to the base vector type", () => {
|
|
10
|
-
const getColumnType = jest
|
|
11
|
-
.spyOn(mikro_orm_1.VectorType.prototype, "getColumnType")
|
|
12
|
-
.mockReturnValue("vector(1536)");
|
|
13
|
-
const platform = {};
|
|
14
|
-
expect(new vector_type_1.VectorType(1536).getColumnType({
|
|
15
|
-
fieldNames: ["embedding"],
|
|
16
|
-
}, platform)).toBe("vector(1536)");
|
|
17
|
-
expect(getColumnType).toHaveBeenCalledWith({
|
|
18
|
-
dimensions: 1536,
|
|
19
|
-
fieldNames: ["embedding"],
|
|
20
|
-
}, platform);
|
|
21
|
-
});
|
|
22
|
-
it("should allow property dimensions to be used when no dimensions are configured", () => {
|
|
23
|
-
const getColumnType = jest
|
|
24
|
-
.spyOn(mikro_orm_1.VectorType.prototype, "getColumnType")
|
|
25
|
-
.mockReturnValue("vector(768)");
|
|
26
|
-
expect(new vector_type_1.VectorType().getColumnType({
|
|
27
|
-
dimensions: 768,
|
|
28
|
-
}, {})).toBe("vector(768)");
|
|
29
|
-
expect(getColumnType).toHaveBeenCalledWith({
|
|
30
|
-
dimensions: 768,
|
|
31
|
-
}, {});
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
//# sourceMappingURL=vector.type.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vector.type.spec.js","sourceRoot":"","sources":["../../src/property-types/vector.type.spec.ts"],"names":[],"mappings":";;AAAA,kDAAkE;AAElE,+CAA2C;AAE3C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,aAAa,GAAG,IAAI;aACvB,KAAK,CAAC,sBAAc,CAAC,SAAS,EAAE,eAAe,CAAC;aAChD,eAAe,CAAC,cAAc,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,EAAW,CAAC;QAE7B,MAAM,CACJ,IAAI,wBAAU,CAAC,IAAI,CAAC,CAAC,aAAa,CAChC;YACE,UAAU,EAAE,CAAC,WAAW,CAAC;SACjB,EACV,QAAQ,CACT,CACF,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEvB,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC;YACE,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,CAAC,WAAW,CAAC;SAC1B,EACD,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,aAAa,GAAG,IAAI;aACvB,KAAK,CAAC,sBAAc,CAAC,SAAS,EAAE,eAAe,CAAC;aAChD,eAAe,CAAC,aAAa,CAAC,CAAC;QAElC,MAAM,CACJ,IAAI,wBAAU,EAAE,CAAC,aAAa,CAC5B;YACE,UAAU,EAAE,GAAG;SACP,EACV,EAAW,CACZ,CACF,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtB,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC;YACE,UAAU,EAAE,GAAG;SAChB,EACD,EAAE,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|