@alanszp/typeorm 20.4.2 → 20.4.4

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.
@@ -1,4 +1,4 @@
1
- import { EntityManager, EntityTarget, FindOptionsWhere } from "typeorm";
1
+ import { EntityManager, EntityTarget, FindManyOptions, FindOneOptions, FindOptionsWhere } from "typeorm";
2
2
  import { DbConnection } from "../DbConnection";
3
3
  import { GlobalRepoBaseEntity } from "./types";
4
4
  import { AbstractBaseRepository } from "./AbstractBaseRepository";
@@ -6,5 +6,9 @@ export declare abstract class GlobalBaseRepository<T extends GlobalRepoBaseEntit
6
6
  protected organizationReference: string | null;
7
7
  constructor(Entity: EntityTarget<T>, organizationReference: string | null, dbConnection: DbConnection, transactionalEntityManager?: EntityManager);
8
8
  protected getWhere(where?: FindOptionsWhere<T> | FindOptionsWhere<T>[]): FindOptionsWhere<T> | FindOptionsWhere<T>[];
9
+ private withOrgPrecedence;
10
+ findOne(opts: FindOneOptions<T>): Promise<T | null>;
11
+ findMany(opts?: FindManyOptions<T>): Promise<T[]>;
12
+ findManyAndCount(opts?: FindManyOptions<T>): Promise<[T[], number]>;
9
13
  protected getWhereExact(where?: FindOptionsWhere<T> | FindOptionsWhere<T>[]): FindOptionsWhere<T> | FindOptionsWhere<T>[];
10
14
  }
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.GlobalBaseRepository = void 0;
4
13
  const typeorm_1 = require("typeorm");
@@ -19,6 +28,41 @@ class GlobalBaseRepository extends AbstractBaseRepository_1.AbstractBaseReposito
19
28
  }
20
29
  return Object.assign(Object.assign({}, where), { organizationReference: orgCondition });
21
30
  }
31
+ // Org-scoped rows shadow homonym globals. When a query could match both,
32
+ // append a deterministic tiebreaker so the org's own row wins over the
33
+ // global one. Respects any explicit `order` the caller already set.
34
+ withOrgPrecedence(opts) {
35
+ var _a;
36
+ if (this.organizationReference === null)
37
+ return opts;
38
+ if (opts.order && "organizationReference" in opts.order)
39
+ return opts;
40
+ return Object.assign(Object.assign({}, opts), { order: Object.assign(Object.assign({}, ((_a = opts.order) !== null && _a !== void 0 ? _a : {})), { organizationReference: { direction: "ASC", nulls: "LAST" } }) });
41
+ }
42
+ findOne(opts) {
43
+ const _super = Object.create(null, {
44
+ findOne: { get: () => super.findOne }
45
+ });
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ return _super.findOne.call(this, this.withOrgPrecedence(opts));
48
+ });
49
+ }
50
+ findMany() {
51
+ const _super = Object.create(null, {
52
+ findMany: { get: () => super.findMany }
53
+ });
54
+ return __awaiter(this, arguments, void 0, function* (opts = {}) {
55
+ return _super.findMany.call(this, this.withOrgPrecedence(opts));
56
+ });
57
+ }
58
+ findManyAndCount() {
59
+ const _super = Object.create(null, {
60
+ findManyAndCount: { get: () => super.findManyAndCount }
61
+ });
62
+ return __awaiter(this, arguments, void 0, function* (opts = {}) {
63
+ return _super.findManyAndCount.call(this, this.withOrgPrecedence(opts));
64
+ });
65
+ }
22
66
  getWhereExact(where) {
23
67
  if (this.organizationReference === null) {
24
68
  return where !== null && where !== void 0 ? where : {};
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalBaseRepository.js","sourceRoot":"","sources":["../../src/repository/GlobalBaseRepository.ts"],"names":[],"mappings":";;;AAAA,qCAOiB;AACjB,mCAAiC;AAGjC,qEAAkE;AAElE,MAAsB,oBAEpB,SAAQ,+CAAyB;IAGjC,YACE,MAAuB,EACvB,qBAAoC,EACpC,YAA0B,EAC1B,0BAA0C;QAE1C,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,0BAA0B,CAAC,CAAC;QACxD,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACrD,CAAC;IAES,QAAQ,CAChB,KAAmD;QAEnD,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAK,EAA0B,CAAC;QAC9C,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,YAAE,EACrB,IAAA,eAAK,EAAC,IAAI,CAAC,qBAAqB,CAAC,EACjC,IAAA,gBAAM,GAAE,CACT,CAAC;QAEF,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACnB,CAAC,KACJ,qBAAqB,EAAE,YAAY,IACnC,CAAC,CAAC;QACN,CAAC;QACD,OAAO,gCACF,KAAK,KACR,qBAAqB,EAAE,YAAY,GACb,CAAC;IAC3B,CAAC;IAES,aAAa,CACrB,KAAmD;QAEnD,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAK,EAA0B,CAAC;QAC9C,CAAC;QACD,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACnB,CAAC,KACJ,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,IACjD,CAAC,CAAC;QACN,CAAC;QACD,OAAO,gCACF,KAAK,KACR,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,GAC3B,CAAC;IAC3B,CAAC;CACF;AAxDD,oDAwDC"}
1
+ {"version":3,"file":"GlobalBaseRepository.js","sourceRoot":"","sources":["../../src/repository/GlobalBaseRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAUiB;AACjB,mCAAiC;AAGjC,qEAAkE;AAElE,MAAsB,oBAEpB,SAAQ,+CAAyB;IAGjC,YACE,MAAuB,EACvB,qBAAoC,EACpC,YAA0B,EAC1B,0BAA0C;QAE1C,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,0BAA0B,CAAC,CAAC;QACxD,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACrD,CAAC;IAES,QAAQ,CAChB,KAAmD;QAEnD,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAK,EAA0B,CAAC;QAC9C,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,YAAE,EACrB,IAAA,eAAK,EAAC,IAAI,CAAC,qBAAqB,CAAC,EACjC,IAAA,gBAAM,GAAE,CACT,CAAC;QAEF,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACnB,CAAC,KACJ,qBAAqB,EAAE,YAAY,IACnC,CAAC,CAAC;QACN,CAAC;QACD,OAAO,gCACF,KAAK,KACR,qBAAqB,EAAE,YAAY,GACb,CAAC;IAC3B,CAAC;IAED,yEAAyE;IACzE,uEAAuE;IACvE,oEAAoE;IAC5D,iBAAiB,CAEvB,IAAO;;QACP,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,IAAI,uBAAuB,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACrE,uCACK,IAAI,KACP,KAAK,EAAE,gCACF,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,KACrB,qBAAqB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GACpC,IACxB;IACJ,CAAC;IAEK,OAAO,CAAC,IAAuB;;;;;YACnC,OAAO,OAAM,OAAO,YAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;QACrD,CAAC;KAAA;IAEK,QAAQ;;;;6DAAC,OAA2B,EAAE;YAC1C,OAAO,OAAM,QAAQ,YAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;QACtD,CAAC;KAAA;IAEK,gBAAgB;;;;6DACpB,OAA2B,EAAE;YAE7B,OAAO,OAAM,gBAAgB,YAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;QAC9D,CAAC;KAAA;IAES,aAAa,CACrB,KAAmD;QAEnD,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAK,EAA0B,CAAC;QAC9C,CAAC;QACD,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACnB,CAAC,KACJ,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,IACjD,CAAC,CAAC;QACN,CAAC;QACD,OAAO,gCACF,KAAK,KACR,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,GAC3B,CAAC;IAC3B,CAAC;CACF;AAvFD,oDAuFC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alanszp/typeorm",
3
- "version": "20.4.2",
3
+ "version": "20.4.4",
4
4
  "description": "Alan's typeorm utils.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -16,7 +16,7 @@
16
16
  "yalc-publish": "pnpm run yalc publish"
17
17
  },
18
18
  "devDependencies": {
19
- "@alanszp/logger": "^20.4.2",
19
+ "@alanszp/logger": "^20.4.4",
20
20
  "@types/lodash": "^4.17.24",
21
21
  "@types/node": "^24.0.0",
22
22
  "class-validator": "^0.15.1",
@@ -33,8 +33,8 @@
33
33
  "typeorm": "^0.3.28"
34
34
  },
35
35
  "dependencies": {
36
- "@alanszp/validations": "^20.4.2",
36
+ "@alanszp/validations": "^20.4.4",
37
37
  "lodash": "^4.17.23"
38
38
  },
39
- "gitHead": "aa492dbff96a37aa46e6e9fc36525fc34f75ad63"
39
+ "gitHead": "113b57dc0fa86390b1b9ea9bdd9bc219825544f4"
40
40
  }