@punks/backend-entity-manager 0.0.95 → 0.0.97
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/cjs/index.js +81 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/__test__/entity/foo.d.ts +1 -1
- package/dist/cjs/types/__test__/providers/typeorm/converter/foo.d.ts +9 -0
- package/dist/cjs/types/__test__/providers/typeorm/entity/foo.d.ts +1 -83
- package/dist/cjs/types/__test__/providers/typeorm/init/foo.d.ts +6 -0
- package/dist/cjs/types/__test__/providers/typeorm/manager/foo.d.ts +4 -0
- package/dist/cjs/types/__test__/providers/typeorm/models/foo.d.ts +56 -0
- package/dist/cjs/types/__test__/providers/typeorm/queries/foo.d.ts +12 -0
- package/dist/cjs/types/__test__/providers/typeorm/repository/foo.d.ts +6 -0
- package/dist/cjs/types/__test__/providers/typeorm/serializer/foo.d.ts +6 -0
- package/dist/cjs/types/integrations/repository/typeorm/clause.d.ts +32 -0
- package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +2 -0
- package/dist/cjs/types/integrations/repository/typeorm/queryClauseBuilder.d.ts +8 -0
- package/dist/esm/index.js +82 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/__test__/entity/foo.d.ts +1 -1
- package/dist/esm/types/__test__/providers/typeorm/converter/foo.d.ts +9 -0
- package/dist/esm/types/__test__/providers/typeorm/entity/foo.d.ts +1 -83
- package/dist/esm/types/__test__/providers/typeorm/init/foo.d.ts +6 -0
- package/dist/esm/types/__test__/providers/typeorm/manager/foo.d.ts +4 -0
- package/dist/esm/types/__test__/providers/typeorm/models/foo.d.ts +56 -0
- package/dist/esm/types/__test__/providers/typeorm/queries/foo.d.ts +12 -0
- package/dist/esm/types/__test__/providers/typeorm/repository/foo.d.ts +6 -0
- package/dist/esm/types/__test__/providers/typeorm/serializer/foo.d.ts +6 -0
- package/dist/esm/types/integrations/repository/typeorm/clause.d.ts +32 -0
- package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +2 -0
- package/dist/esm/types/integrations/repository/typeorm/queryClauseBuilder.d.ts +8 -0
- package/dist/index.d.ts +42 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -153,7 +153,7 @@ class EntitySerializer {
|
|
|
153
153
|
}
|
|
154
154
|
convertSheetRecord(record) {
|
|
155
155
|
if (!record._type || record._type !== this.entityName) {
|
|
156
|
-
throw new Error(`Invalid record type ${record._type}`);
|
|
156
|
+
throw new Error(`Invalid record type ${record._type} -> record: \n${JSON.stringify(record)}`);
|
|
157
157
|
}
|
|
158
158
|
const definition = this.getDefinition();
|
|
159
159
|
const entity = {};
|
|
@@ -21442,10 +21442,90 @@ class QueryBuilderBase {
|
|
|
21442
21442
|
}
|
|
21443
21443
|
}
|
|
21444
21444
|
|
|
21445
|
+
class QueryClauseBuilder {
|
|
21446
|
+
stringFilter(filter) {
|
|
21447
|
+
const clauses = [];
|
|
21448
|
+
if (!!filter?.gte) {
|
|
21449
|
+
clauses.push(typeorm.MoreThanOrEqual(filter.gte));
|
|
21450
|
+
}
|
|
21451
|
+
if (!!filter?.gt) {
|
|
21452
|
+
clauses.push(typeorm.MoreThan(filter.gt));
|
|
21453
|
+
}
|
|
21454
|
+
if (!!filter?.lte) {
|
|
21455
|
+
clauses.push(typeorm.LessThanOrEqual(filter.lte));
|
|
21456
|
+
}
|
|
21457
|
+
if (!!filter?.lt) {
|
|
21458
|
+
clauses.push(typeorm.LessThan(filter.lt));
|
|
21459
|
+
}
|
|
21460
|
+
if (!!filter?.in) {
|
|
21461
|
+
clauses.push(typeorm.In(filter.in));
|
|
21462
|
+
}
|
|
21463
|
+
if (!!filter?.eq) {
|
|
21464
|
+
clauses.push(typeorm.Equal(filter.eq));
|
|
21465
|
+
}
|
|
21466
|
+
if (!!filter?.like) {
|
|
21467
|
+
clauses.push(typeorm.Like(filter.like.replaceAll("*", "%")));
|
|
21468
|
+
}
|
|
21469
|
+
if (!!filter?.ne) {
|
|
21470
|
+
clauses.push(typeorm.Not(typeorm.Equal(filter.ne)));
|
|
21471
|
+
}
|
|
21472
|
+
if (!!filter?.notIn) {
|
|
21473
|
+
clauses.push(typeorm.Not(typeorm.In(filter.notIn)));
|
|
21474
|
+
}
|
|
21475
|
+
if (!!filter?.notLike) {
|
|
21476
|
+
clauses.push(typeorm.Not(typeorm.Like(filter.notLike.replaceAll("*", "%"))));
|
|
21477
|
+
}
|
|
21478
|
+
return typeorm.And(...clauses);
|
|
21479
|
+
}
|
|
21480
|
+
numericFilter(filter) {
|
|
21481
|
+
const clauses = [];
|
|
21482
|
+
if (!!filter?.gte) {
|
|
21483
|
+
clauses.push(typeorm.MoreThanOrEqual(filter.gte));
|
|
21484
|
+
}
|
|
21485
|
+
if (!!filter?.gt) {
|
|
21486
|
+
clauses.push(typeorm.MoreThan(filter.gt));
|
|
21487
|
+
}
|
|
21488
|
+
if (!!filter?.lte) {
|
|
21489
|
+
clauses.push(typeorm.LessThanOrEqual(filter.lte));
|
|
21490
|
+
}
|
|
21491
|
+
if (!!filter?.lt) {
|
|
21492
|
+
clauses.push(typeorm.LessThan(filter.lt));
|
|
21493
|
+
}
|
|
21494
|
+
return typeorm.And(...clauses);
|
|
21495
|
+
}
|
|
21496
|
+
dateFilter(filter) {
|
|
21497
|
+
const clauses = [];
|
|
21498
|
+
if (!!filter?.gte) {
|
|
21499
|
+
clauses.push(typeorm.MoreThanOrEqual(filter.gte));
|
|
21500
|
+
}
|
|
21501
|
+
if (!!filter?.gt) {
|
|
21502
|
+
clauses.push(typeorm.MoreThan(filter.gt));
|
|
21503
|
+
}
|
|
21504
|
+
if (!!filter?.lte) {
|
|
21505
|
+
clauses.push(typeorm.LessThanOrEqual(filter.lte));
|
|
21506
|
+
}
|
|
21507
|
+
if (!!filter?.lt) {
|
|
21508
|
+
clauses.push(typeorm.LessThan(filter.lt));
|
|
21509
|
+
}
|
|
21510
|
+
return typeorm.And(...clauses);
|
|
21511
|
+
}
|
|
21512
|
+
boolFilter(filter) {
|
|
21513
|
+
const clauses = [];
|
|
21514
|
+
if (!backendCore.isNullOrUndefined(filter?.eq)) {
|
|
21515
|
+
clauses.push(typeorm.Equal(filter.eq));
|
|
21516
|
+
}
|
|
21517
|
+
if (!backendCore.isNullOrUndefined(filter?.ne)) {
|
|
21518
|
+
clauses.push(typeorm.Not(typeorm.Equal(filter.ne)));
|
|
21519
|
+
}
|
|
21520
|
+
return typeorm.And(...clauses);
|
|
21521
|
+
}
|
|
21522
|
+
}
|
|
21523
|
+
|
|
21445
21524
|
class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
21446
21525
|
constructor(services) {
|
|
21447
21526
|
super();
|
|
21448
21527
|
this.services = services;
|
|
21528
|
+
this.clause = new QueryClauseBuilder();
|
|
21449
21529
|
}
|
|
21450
21530
|
async exists(filters, context) {
|
|
21451
21531
|
return (await this.count(filters, context)) > 0;
|