@minimaltech/node-infra 0.3.21 → 0.3.22
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/base/repositories/base.repository.d.ts +11 -1
- package/dist/base/repositories/base.repository.js +25 -3
- package/dist/base/repositories/base.repository.js.map +1 -1
- package/dist/base/repositories/index.d.ts +1 -0
- package/dist/base/repositories/index.js +1 -0
- package/dist/base/repositories/index.js.map +1 -1
- package/dist/base/repositories/relations/has-many-polymorphic/decorator.d.ts +11 -0
- package/dist/base/repositories/relations/has-many-polymorphic/decorator.js +21 -0
- package/dist/base/repositories/relations/has-many-polymorphic/decorator.js.map +1 -0
- package/dist/base/repositories/relations/has-many-polymorphic/factory.d.ts +33 -0
- package/dist/base/repositories/relations/has-many-polymorphic/factory.js +107 -0
- package/dist/base/repositories/relations/has-many-polymorphic/factory.js.map +1 -0
- package/dist/base/repositories/relations/has-many-polymorphic/index.d.ts +3 -0
- package/dist/base/repositories/relations/has-many-polymorphic/index.js +20 -0
- package/dist/base/repositories/relations/has-many-polymorphic/index.js.map +1 -0
- package/dist/base/repositories/relations/has-many-polymorphic/types.d.ts +10 -0
- package/dist/base/repositories/relations/has-many-polymorphic/types.js +3 -0
- package/dist/base/repositories/relations/has-many-polymorphic/types.js.map +1 -0
- package/dist/base/repositories/relations/index.d.ts +1 -0
- package/dist/base/repositories/relations/index.js +18 -0
- package/dist/base/repositories/relations/index.js.map +1 -0
- package/dist/common/constants.d.ts +1 -0
- package/dist/common/constants.js +2 -0
- package/dist/common/constants.js.map +1 -1
- package/dist/common/types.d.ts +2 -0
- package/dist/components/grpc/helpers/grpc-server.js +17 -7
- package/dist/components/grpc/helpers/grpc-server.js.map +1 -1
- package/dist/helpers/crypto/algorithms/rsa.algorithm.d.ts +2 -2
- package/package.json +35 -35
@@ -1,12 +1,22 @@
|
|
1
1
|
import { AnyType, EntityClassType, EntityRelationType, IdType, ITzRepository } from '../../common/types';
|
2
2
|
import { ApplicationLogger } from '../../helpers';
|
3
|
-
import { AnyObject, WhereBuilder as BaseWhereBuilder, Command, Count, DataObject, DefaultCrudRepository, DefaultKeyValueRepository, IsolationLevel, juggler, NamedParameters, Options, PositionalParameters, Transaction, TransactionalEntityRepository, Where } from '@loopback/repository';
|
3
|
+
import { AnyObject, WhereBuilder as BaseWhereBuilder, Command, Count, DataObject, DefaultCrudRepository as _DefaultCrudRepository, DefaultKeyValueRepository, IsolationLevel, juggler, NamedParameters, Options, PositionalParameters, Transaction, TransactionalEntityRepository, Where, HasManyRepositoryFactory, Getter, EntityCrudRepository } from '@loopback/repository';
|
4
4
|
import { BaseEntity, BaseKVEntity, BaseTzEntity } from '../base.model';
|
5
5
|
export declare class WhereBuilder<E extends object = AnyObject> extends BaseWhereBuilder {
|
6
6
|
constructor(opts?: Where<E>);
|
7
7
|
newInstance(opts?: Where<E>): WhereBuilder<E>;
|
8
8
|
clone(): WhereBuilder;
|
9
9
|
}
|
10
|
+
export declare class DefaultCrudRepository<E extends BaseEntity, ID, Relations extends object = {}> extends _DefaultCrudRepository<E, ID, Relations> {
|
11
|
+
/**
|
12
|
+
* @experimental
|
13
|
+
*/
|
14
|
+
createHasManyPolymorphicRepositoryFactoryFor<Target extends BaseEntity, TargetId extends IdType, ForeignKeyType extends IdType>(opts: {
|
15
|
+
relationName: string;
|
16
|
+
principalType: string;
|
17
|
+
targetRepositoryGetter: Getter<EntityCrudRepository<Target, TargetId>>;
|
18
|
+
}): HasManyRepositoryFactory<Target, ForeignKeyType>;
|
19
|
+
}
|
10
20
|
export declare abstract class AbstractTzRepository<E extends BaseTzEntity, R extends EntityRelationType = AnyType> extends DefaultCrudRepository<E, IdType, R> implements ITzRepository<E>, TransactionalEntityRepository<E, IdType, R> {
|
11
21
|
protected logger: ApplicationLogger;
|
12
22
|
constructor(entityClass: EntityClassType<E>, dataSource: juggler.DataSource, scope?: string);
|
@@ -14,12 +14,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.ViewRepository = exports.KVRepository = exports.AbstractKVRepository = exports.AbstractTzRepository = exports.WhereBuilder = void 0;
|
17
|
+
exports.ViewRepository = exports.KVRepository = exports.AbstractKVRepository = exports.AbstractTzRepository = exports.DefaultCrudRepository = exports.WhereBuilder = void 0;
|
18
18
|
const helpers_1 = require("../../helpers");
|
19
19
|
const utilities_1 = require("../../utilities");
|
20
20
|
const repository_1 = require("@loopback/repository");
|
21
21
|
const cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
|
22
22
|
const get_1 = __importDefault(require("lodash/get"));
|
23
|
+
const factory_1 = require("./relations/has-many-polymorphic/factory");
|
23
24
|
// ----------------------------------------------------------------------------------------------------------------------------------------
|
24
25
|
class WhereBuilder extends repository_1.WhereBuilder {
|
25
26
|
constructor(opts) {
|
@@ -34,7 +35,28 @@ class WhereBuilder extends repository_1.WhereBuilder {
|
|
34
35
|
}
|
35
36
|
exports.WhereBuilder = WhereBuilder;
|
36
37
|
// ----------------------------------------------------------------------------------------------------------------------------------------
|
37
|
-
class
|
38
|
+
class DefaultCrudRepository extends repository_1.DefaultCrudRepository {
|
39
|
+
/**
|
40
|
+
* @experimental
|
41
|
+
*/
|
42
|
+
createHasManyPolymorphicRepositoryFactoryFor(opts) {
|
43
|
+
const { relationName, principalType, targetRepositoryGetter } = opts;
|
44
|
+
const relationMetadata = this.entityClass.definition.relations[relationName];
|
45
|
+
if (!relationMetadata.polymorphic) {
|
46
|
+
throw (0, utilities_1.getError)({
|
47
|
+
message: '[createHasManyPolymorphicRepositoryFactoryFor] polymorphic missing in relation definition!',
|
48
|
+
});
|
49
|
+
}
|
50
|
+
return (0, factory_1.createHasManyPolymorphicRepositoryFactoryFor)({
|
51
|
+
relationMetadata,
|
52
|
+
principalType,
|
53
|
+
targetRepositoryGetter,
|
54
|
+
});
|
55
|
+
}
|
56
|
+
}
|
57
|
+
exports.DefaultCrudRepository = DefaultCrudRepository;
|
58
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
59
|
+
class AbstractTzRepository extends DefaultCrudRepository {
|
38
60
|
constructor(entityClass, dataSource, scope) {
|
39
61
|
super(entityClass, dataSource);
|
40
62
|
this.logger = helpers_1.LoggerFactory.getLogger([scope !== null && scope !== void 0 ? scope : '']);
|
@@ -78,7 +100,7 @@ class KVRepository extends AbstractKVRepository {
|
|
78
100
|
}
|
79
101
|
exports.KVRepository = KVRepository;
|
80
102
|
// ----------------------------------------------------------------------------------------------------------------------------------------
|
81
|
-
class ViewRepository extends
|
103
|
+
class ViewRepository extends DefaultCrudRepository {
|
82
104
|
constructor(entityClass, dataSource) {
|
83
105
|
super(entityClass, dataSource);
|
84
106
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../../src/base/repositories/base.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAOA,uCAA6D;AAC7D,2CAAuC;AACvC,
|
1
|
+
{"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../../src/base/repositories/base.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAOA,uCAA6D;AAC7D,2CAAuC;AACvC,qDAmB8B;AAG9B,iEAAyC;AACzC,qDAA6B;AAC7B,sEAAwG;AAGxG,2IAA2I;AAC3I,MAAa,YAA2C,SAAQ,yBAAgB;IAC9E,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,WAAW,CAAC,IAAe;QACzB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,YAAY,CAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;CACF;AAZD,oCAYC;AAED,2IAA2I;AAC3I,MAAa,qBAIX,SAAQ,kCAAwC;IAChD;;OAEG;IACH,4CAA4C,CAI1C,IAID;QACC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;QACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAC5D,YAAY,CACoB,CAAC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,IAAA,oBAAQ,EAAC;gBACb,OAAO,EACL,4FAA4F;aAC/F,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAA,sDAA4C,EAAmC;YACpF,gBAAgB;YAChB,aAAa;YACb,sBAAsB;SACvB,CAAC,CAAC;IACL,CAAC;CACF;AAnCD,sDAmCC;AAED,2IAA2I;AAC3I,MAAsB,oBAIpB,SAAQ,qBAAmC;IAK3C,YAAY,WAA+B,EAAE,UAA8B,EAAE,KAAc;QACzF,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,SAAS,CAAC,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,gBAAgB,CAAC,OAAkC;QACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,UAAU;iBACZ,gBAAgB,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;iBAC/B,IAAI,CAAC,EAAE,CAAC,EAAE;gBACT,OAAO,CAAC,EAAiB,CAAC,CAAC;YAC7B,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CACR,OAAgB,EAChB,UAAkD,EAClD,OAAiB;QAEjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAe,CAAC;IAClE,CAAC;IAES,YAAY,CAAC,IAA2B;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAA,aAAG,EAAC,IAAI,CAAC,UAAU,EAAE,cAAc,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAES,eAAe,CAAC,IAGzB;QACC,MAAM,EAAE,SAAS,KAAc,IAAI,EAAb,IAAI,UAAK,IAAI,EAA7B,aAAsB,CAAO,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACnD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,iCAAM,IAAI,CAAC,UAAU,GAAK,IAAI,EAAG,CAAC,CAAC;IAC3E,CAAC;CAeF;AA5DD,oDA4DC;AAED,2IAA2I;AAC3I,MAAsB,oBAEpB,SAAQ,sCAA4B;IACpC,YAAY,WAA+B,EAAE,UAA8B;QACzE,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;CACF;AAND,oDAMC;AAED,2IAA2I;AAC3I,MAAsB,YAAqC,SAAQ,oBAAuB;IACxF,YAAY,WAA+B,EAAE,UAA8B;QACzE,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;CACF;AAJD,oCAIC;AAED,2IAA2I;AAC3I,MAAsB,cAGpB,SAAQ,qBAAmC;IAC3C,YAAY,WAA+B,EAAE,UAA8B;QACzE,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,UAAU,CAAC,KAAgB,EAAE,OAAiB;QAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;iBAC7B,IAAI,CAAC,EAAE,CAAC,EAAE;gBACT,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC;YAC3C,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAoB,EAAE,QAAkB;QAC7C,MAAM,IAAA,oBAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,MAAuB,EAAE,QAAkB;QACnD,MAAM,IAAA,oBAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAU,EAAE,QAAkB;QACjC,MAAM,IAAA,oBAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAAU,EAAE,QAAkB;QACnC,MAAM,IAAA,oBAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAAU,EAAE,QAAkB;QACnC,MAAM,IAAA,oBAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,KAAoB,EAAE,MAAiB,EAAE,QAAkB;QACnE,MAAM,IAAA,oBAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,KAAoB,EAAE,QAAkB;QAC9D,MAAM,IAAA,oBAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,KAAoB,EAAE,QAAkB;QAC/D,MAAM,IAAA,oBAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,MAAiB,EAAE,QAAkB;QAC7C,MAAM,IAAA,oBAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,QAAkB;QACxC,MAAM,IAAA,oBAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CAAC;IACL,CAAC;CACF;AAvFD,wCAuFC"}
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./relations"), exports);
|
17
18
|
__exportStar(require("./base.repository"), exports);
|
18
19
|
__exportStar(require("./tz-crud.repository"), exports);
|
19
20
|
__exportStar(require("./searchable-tz-crud.repository"), exports);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/repositories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,uDAAqC;AACrC,kEAAgD"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/repositories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAE5B,oDAAkC;AAClC,uDAAqC;AACrC,kEAAgD"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { IHasManyPolymorphicDefinition } from './types';
|
2
|
+
import { ValueOptionalExcept } from '../../../../common';
|
3
|
+
/**
|
4
|
+
* Custom decorator to define a polymorphic `@hasMany` relationship
|
5
|
+
*
|
6
|
+
* @param targetModelGetter - A function to return the target model constructor
|
7
|
+
* @param definition - Additional relation metadata
|
8
|
+
*
|
9
|
+
* @experimental
|
10
|
+
*/
|
11
|
+
export declare function hasManyPolymorphic(definition: ValueOptionalExcept<IHasManyPolymorphicDefinition, 'target'>): (decoratedTarget: Object, key: string) => void;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.hasManyPolymorphic = hasManyPolymorphic;
|
4
|
+
const repository_1 = require("@loopback/repository");
|
5
|
+
/**
|
6
|
+
* Custom decorator to define a polymorphic `@hasMany` relationship
|
7
|
+
*
|
8
|
+
* @param targetModelGetter - A function to return the target model constructor
|
9
|
+
* @param definition - Additional relation metadata
|
10
|
+
*
|
11
|
+
* @experimental
|
12
|
+
*/
|
13
|
+
function hasManyPolymorphic(definition) {
|
14
|
+
return (decoratedTarget, key) => {
|
15
|
+
const meta = Object.assign({ name: key, type: repository_1.RelationType.hasMany, targetsMany: true, source: decoratedTarget.constructor, keyFrom: 'id', keyTo: 'principalId', polymorphic: {
|
16
|
+
discriminator: 'principal',
|
17
|
+
} }, definition);
|
18
|
+
(0, repository_1.relation)(meta)(decoratedTarget, key);
|
19
|
+
};
|
20
|
+
}
|
21
|
+
//# sourceMappingURL=decorator.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../../src/base/repositories/relations/has-many-polymorphic/decorator.ts"],"names":[],"mappings":";;AAYA,gDAmBC;AA/BD,qDAAsE;AAItE;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,UAAwE;IAExE,OAAO,CAAC,eAAuB,EAAE,GAAW,EAAE,EAAE;QAC9C,MAAM,IAAI,mBACR,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,yBAAY,CAAC,OAAO,EAC1B,WAAW,EAAE,IAAI,EACjB,MAAM,EAAE,eAAe,CAAC,WAA4B,EACpD,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE;gBACX,aAAa,EAAE,WAAW;aAC3B,IACE,UAAU,CACd,CAAC;QAEF,IAAA,qBAAQ,EAAC,IAAI,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { BaseEntity } from '../../../../base/base.model';
|
2
|
+
import { IdType } from '../../../../common';
|
3
|
+
import { Getter } from '@loopback/core';
|
4
|
+
import { DefaultHasManyRepository, Entity, EntityCrudRepository, HasManyRepositoryFactory, InclusionResolver } from '@loopback/repository';
|
5
|
+
import { IHasManyPolymorphicDefinition, TPolymorphic } from './types';
|
6
|
+
/**
|
7
|
+
* @experimental
|
8
|
+
*/
|
9
|
+
export declare const createHasManyPolymorphicInclusionResolver: <Target extends BaseEntity, TargetId extends IdType, TargetRelations extends object>(opts: {
|
10
|
+
principalType: string;
|
11
|
+
relationMetadata: IHasManyPolymorphicDefinition;
|
12
|
+
targetRepositoryGetter: Getter<EntityCrudRepository<Target, TargetId, TargetRelations>>;
|
13
|
+
}) => InclusionResolver<Entity, Target>;
|
14
|
+
/**
|
15
|
+
* @experimental
|
16
|
+
*/
|
17
|
+
export declare const createHasManyPolymorphicRepositoryFactoryFor: <Target extends BaseEntity, TargetId extends IdType, SourceId extends IdType>(opts: {
|
18
|
+
principalType: string;
|
19
|
+
relationMetadata: IHasManyPolymorphicDefinition;
|
20
|
+
targetRepositoryGetter: Getter<EntityCrudRepository<Target, TargetId>>;
|
21
|
+
}) => HasManyRepositoryFactory<Target, SourceId>;
|
22
|
+
/**
|
23
|
+
* @experimental
|
24
|
+
*/
|
25
|
+
export declare class DefaultHasManyPolymorphicRepository<Target extends BaseEntity, TargetId extends IdType, TargetRepository extends EntityCrudRepository<Target, TargetId>, SourceId> extends DefaultHasManyRepository<Target, TargetId, TargetRepository> {
|
26
|
+
constructor(opts: {
|
27
|
+
targetRepositoryGetter: Getter<TargetRepository>;
|
28
|
+
polymorphic: TPolymorphic & {
|
29
|
+
typeValue: string;
|
30
|
+
idValue: SourceId;
|
31
|
+
};
|
32
|
+
});
|
33
|
+
}
|
@@ -0,0 +1,107 @@
|
|
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
|
+
};
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
exports.DefaultHasManyPolymorphicRepository = exports.createHasManyPolymorphicRepositoryFactoryFor = exports.createHasManyPolymorphicInclusionResolver = void 0;
|
16
|
+
const utilities_1 = require("../../../../utilities");
|
17
|
+
const repository_1 = require("@loopback/repository");
|
18
|
+
const get_1 = __importDefault(require("lodash/get"));
|
19
|
+
const base_repository_1 = require("../../base.repository");
|
20
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
21
|
+
/**
|
22
|
+
* @experimental
|
23
|
+
*/
|
24
|
+
const createHasManyPolymorphicInclusionResolver = (opts) => {
|
25
|
+
const { principalType, relationMetadata, targetRepositoryGetter } = opts;
|
26
|
+
return (entities, inclusion, options) => __awaiter(void 0, void 0, void 0, function* () {
|
27
|
+
var _a;
|
28
|
+
if (!entities.length) {
|
29
|
+
return [];
|
30
|
+
}
|
31
|
+
const sourceKey = relationMetadata.keyFrom;
|
32
|
+
if (!sourceKey) {
|
33
|
+
throw (0, utilities_1.getError)({
|
34
|
+
message: `[createHasManyPolymorphicInclusionResolver] Invalid sourceKey | relationMetadata: ${JSON.stringify(relationMetadata)}`,
|
35
|
+
});
|
36
|
+
}
|
37
|
+
const polymorphicFields = getPolymorphicFields(relationMetadata.polymorphic);
|
38
|
+
const sourceIds = entities.map(e => (0, get_1.default)(e, sourceKey));
|
39
|
+
const targetKey = polymorphicFields.idField;
|
40
|
+
const scope = typeof inclusion === 'string' ? {} : inclusion.scope;
|
41
|
+
const targetRepository = yield targetRepositoryGetter();
|
42
|
+
const filter = Object.assign(Object.assign({}, scope), { where: new base_repository_1.WhereBuilder(Object.assign({}, ((_a = scope === null || scope === void 0 ? void 0 : scope.where) !== null && _a !== void 0 ? _a : {})))
|
43
|
+
.inq(polymorphicFields.idField, sourceIds)
|
44
|
+
.eq(polymorphicFields.typeField, principalType)
|
45
|
+
.build() });
|
46
|
+
const targets = yield targetRepository.find(filter, options);
|
47
|
+
return (0, repository_1.flattenTargetsOfOneToManyRelation)(sourceIds, targets, targetKey);
|
48
|
+
});
|
49
|
+
};
|
50
|
+
exports.createHasManyPolymorphicInclusionResolver = createHasManyPolymorphicInclusionResolver;
|
51
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
52
|
+
/**
|
53
|
+
* @experimental
|
54
|
+
*/
|
55
|
+
const createHasManyPolymorphicRepositoryFactoryFor = (opts) => {
|
56
|
+
const { principalType, relationMetadata, targetRepositoryGetter } = opts;
|
57
|
+
const rs = (sourceId) => {
|
58
|
+
return new DefaultHasManyPolymorphicRepository({
|
59
|
+
targetRepositoryGetter,
|
60
|
+
polymorphic: Object.assign(Object.assign({}, relationMetadata.polymorphic), { typeValue: principalType, idValue: sourceId }),
|
61
|
+
});
|
62
|
+
};
|
63
|
+
rs.inclusionResolver = (0, exports.createHasManyPolymorphicInclusionResolver)(opts);
|
64
|
+
return rs;
|
65
|
+
};
|
66
|
+
exports.createHasManyPolymorphicRepositoryFactoryFor = createHasManyPolymorphicRepositoryFactoryFor;
|
67
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
68
|
+
const getPolymorphicFields = (opts) => {
|
69
|
+
const { discriminator } = opts;
|
70
|
+
let typeField = null;
|
71
|
+
let idField = null;
|
72
|
+
switch (typeof discriminator) {
|
73
|
+
case 'string': {
|
74
|
+
typeField = `${discriminator}Type`;
|
75
|
+
idField = `${discriminator}Id`;
|
76
|
+
break;
|
77
|
+
}
|
78
|
+
case 'object': {
|
79
|
+
typeField = discriminator.typeField;
|
80
|
+
idField = discriminator.idField;
|
81
|
+
break;
|
82
|
+
}
|
83
|
+
default: {
|
84
|
+
throw (0, utilities_1.getError)({
|
85
|
+
statusCode: 500,
|
86
|
+
message: `[getFields] discriminator: ${typeof discriminator} | Invalid discriminator type!`,
|
87
|
+
});
|
88
|
+
}
|
89
|
+
}
|
90
|
+
return { typeField, idField };
|
91
|
+
};
|
92
|
+
// ----------------------------------------------------------------------------------------------------------------------------------------
|
93
|
+
/**
|
94
|
+
* @experimental
|
95
|
+
*/
|
96
|
+
class DefaultHasManyPolymorphicRepository extends repository_1.DefaultHasManyRepository {
|
97
|
+
constructor(opts) {
|
98
|
+
const { targetRepositoryGetter, polymorphic } = opts;
|
99
|
+
const { typeField, idField } = getPolymorphicFields(polymorphic);
|
100
|
+
super(targetRepositoryGetter, {
|
101
|
+
[typeField]: polymorphic.typeValue,
|
102
|
+
[idField]: polymorphic.idValue,
|
103
|
+
});
|
104
|
+
}
|
105
|
+
}
|
106
|
+
exports.DefaultHasManyPolymorphicRepository = DefaultHasManyPolymorphicRepository;
|
107
|
+
//# sourceMappingURL=factory.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/base/repositories/relations/has-many-polymorphic/factory.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
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("./types"), exports);
|
18
|
+
__exportStar(require("./factory"), exports);
|
19
|
+
__exportStar(require("./decorator"), exports);
|
20
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/base/repositories/relations/has-many-polymorphic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { HasManyDefinition } from '@loopback/repository';
|
2
|
+
export type TPolymorphic = {
|
3
|
+
discriminator: string | {
|
4
|
+
typeField: string;
|
5
|
+
idField: string;
|
6
|
+
};
|
7
|
+
};
|
8
|
+
export interface IHasManyPolymorphicDefinition extends Omit<HasManyDefinition, 'through'> {
|
9
|
+
polymorphic: TPolymorphic;
|
10
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/base/repositories/relations/has-many-polymorphic/types.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './has-many-polymorphic';
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
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("./has-many-polymorphic"), exports);
|
18
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/repositories/relations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
|
@@ -36,6 +36,7 @@ export declare class EntityRelations {
|
|
36
36
|
static readonly HAS_ONE = "hasOne";
|
37
37
|
static readonly HAS_MANY = "hasMany";
|
38
38
|
static readonly HAS_MANY_THROUGH = "hasManyThrough";
|
39
|
+
static readonly HAS_MANY_POLYMORPHIC = "hasManyPolymorphic";
|
39
40
|
static readonly TYPE_SET: Set<string>;
|
40
41
|
static isValid(type: string): boolean;
|
41
42
|
}
|
package/dist/common/constants.js
CHANGED
@@ -53,11 +53,13 @@ EntityRelations.BELONGS_TO = 'belongsTo';
|
|
53
53
|
EntityRelations.HAS_ONE = 'hasOne';
|
54
54
|
EntityRelations.HAS_MANY = 'hasMany';
|
55
55
|
EntityRelations.HAS_MANY_THROUGH = 'hasManyThrough';
|
56
|
+
EntityRelations.HAS_MANY_POLYMORPHIC = 'hasManyPolymorphic';
|
56
57
|
EntityRelations.TYPE_SET = new Set([
|
57
58
|
_c.BELONGS_TO,
|
58
59
|
_c.HAS_ONE,
|
59
60
|
_c.HAS_MANY,
|
60
61
|
_c.HAS_MANY_THROUGH,
|
62
|
+
_c.HAS_MANY_POLYMORPHIC,
|
61
63
|
]);
|
62
64
|
class ConfigurationDataType {
|
63
65
|
static isValid(orgType) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";;;;;AAAA,MAAa,GAAG;;AAAhB,kBASC;AARiB,oBAAgB,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,mCAAI,KAAK,CAAC;AACjE,sBAAkB,GAChC,MAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,mCAAI,oBAAoB,CAAC;AAEjD,kBAAc,GAAG,UAAU,CAAC;AAC5B,yBAAqB,GAAG,WAAW,CAAC;AAEpC,uBAAmB,GAAG,EAAE,CAAC;AAG3C,MAAa,UAAU;;AAAvB,gCAWC;AAViB,oBAAS,GAAG,qBAAqB,CAAC;AAClC,sBAAW,GAAG,gBAAgB,CAAC;AAE/B,iBAAM,GAAG,YAAY,CAAC;AACtB,iBAAM,GAAG,UAAU,CAAC;AAEpB,iBAAM,GAAG,UAAU,CAAC;AACpB,iBAAM,GAAG,WAAW,CAAC;AAErB,kBAAO,GAAG,QAAQ,CAAC;AAGrC,MAAa,gBAAgB;;AAA7B,4CAEC;AADiB,oBAAG,GAAG,KAAK,CAAC;AAG9B,MAAa,WAAW;;AAAxB,kCAIC;AAHiB,mBAAO,GAAG,CAAC,CAAC;AACZ,sBAAU,GAAG,CAAC,CAAC;AACf,4BAAgB,GAAG,CAAC,GAAG,CAAC;AAG1C,MAAa,KAAK;;AAAlB,sBAGC;AAFiB,UAAI,GAAG,MAAM,CAAC;AACd,SAAG,GAAG,KAAK,CAAC;AAG9B,MAAa,mBAAmB;;AAAhC,kDAIC;AAHiB,iCAAa,GAAG,SAAS,CAAC;AAC1B,gCAAY,GAAG,SAAS,CAAC;AACzB,6BAAS,GAAG,MAAM,CAAC;AAGrC,MAAa,eAAe;
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";;;;;AAAA,MAAa,GAAG;;AAAhB,kBASC;AARiB,oBAAgB,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,mCAAI,KAAK,CAAC;AACjE,sBAAkB,GAChC,MAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,mCAAI,oBAAoB,CAAC;AAEjD,kBAAc,GAAG,UAAU,CAAC;AAC5B,yBAAqB,GAAG,WAAW,CAAC;AAEpC,uBAAmB,GAAG,EAAE,CAAC;AAG3C,MAAa,UAAU;;AAAvB,gCAWC;AAViB,oBAAS,GAAG,qBAAqB,CAAC;AAClC,sBAAW,GAAG,gBAAgB,CAAC;AAE/B,iBAAM,GAAG,YAAY,CAAC;AACtB,iBAAM,GAAG,UAAU,CAAC;AAEpB,iBAAM,GAAG,UAAU,CAAC;AACpB,iBAAM,GAAG,WAAW,CAAC;AAErB,kBAAO,GAAG,QAAQ,CAAC;AAGrC,MAAa,gBAAgB;;AAA7B,4CAEC;AADiB,oBAAG,GAAG,KAAK,CAAC;AAG9B,MAAa,WAAW;;AAAxB,kCAIC;AAHiB,mBAAO,GAAG,CAAC,CAAC;AACZ,sBAAU,GAAG,CAAC,CAAC;AACf,4BAAgB,GAAG,CAAC,GAAG,CAAC;AAG1C,MAAa,KAAK;;AAAlB,sBAGC;AAFiB,UAAI,GAAG,MAAM,CAAC;AACd,SAAG,GAAG,KAAK,CAAC;AAG9B,MAAa,mBAAmB;;AAAhC,kDAIC;AAHiB,iCAAa,GAAG,SAAS,CAAC;AAC1B,gCAAY,GAAG,SAAS,CAAC;AACzB,6BAAS,GAAG,MAAM,CAAC;AAGrC,MAAa,eAAe;IAc1B,MAAM,CAAC,OAAO,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;;AAhBH,0CAiBC;;AAhBiB,0BAAU,GAAG,WAAW,AAAd,CAAe;AACzB,uBAAO,GAAG,QAAQ,AAAX,CAAY;AACnB,wBAAQ,GAAG,SAAS,AAAZ,CAAa;AACrB,gCAAgB,GAAG,gBAAgB,AAAnB,CAAoB;AACpC,oCAAoB,GAAG,oBAAoB,AAAvB,CAAwB;AAC5C,wBAAQ,GAAG,IAAI,GAAG,CAAC;IACjC,EAAI,CAAC,UAAU;IACf,EAAI,CAAC,OAAO;IACZ,EAAI,CAAC,QAAQ;IACb,EAAI,CAAC,gBAAgB;IACrB,EAAI,CAAC,oBAAoB;CAC1B,CAAC,AANsB,CAMrB;AAOL,MAAa,qBAAqB;IAShC,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;;AAXH,sDAYC;;AAXiB,4BAAM,GAAG,QAAQ,AAAX,CAAY;AAClB,0BAAI,GAAG,MAAM,AAAT,CAAU;AACd,0BAAI,GAAG,MAAM,AAAT,CAAU;AACd,0BAAI,GAAG,MAAM,AAAT,CAAU;AACd,6BAAO,GAAG,SAAS,AAAZ,CAAa;AAEpB,8BAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,EAAI,CAAC,MAAM,EAAE,EAAI,CAAC,IAAI,EAAE,EAAI,CAAC,IAAI,EAAE,EAAI,CAAC,IAAI,EAAE,EAAI,CAAC,OAAO,CAAC,CAAC,AAAxE,CAAyE;AAOnG,MAAa,SAAS;IAKpB,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;;AAPH,8BAQC;;AAPiB,gBAAM,GAAG,QAAQ,AAAX,CAAY;AAClB,gBAAM,GAAG,QAAQ,AAAX,CAAY;AAClB,kBAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,EAAI,CAAC,MAAM,EAAE,EAAI,CAAC,MAAM,CAAC,CAAC,AAAtC,CAAuC;AAOjE,MAAa,SAAS;;AAAtB,8BAKC;AAJiB,iBAAO,GAAG,SAAS,CAAC;AACpB,eAAK,GAAG,OAAO,CAAC;AAChB,eAAK,GAAG,OAAO,CAAC;AAChB,cAAI,GAAG,MAAM,CAAC"}
|
package/dist/common/types.d.ts
CHANGED
@@ -11,6 +11,8 @@ export type AnyType = any;
|
|
11
11
|
export type AnyObject = Record<string | symbol | number, any>;
|
12
12
|
export type ValueOrPromise<T> = T | Promise<T>;
|
13
13
|
export type ValueOf<T> = T[keyof T];
|
14
|
+
export type ValueOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
15
|
+
export type ValueOptionalExcept<T, K extends keyof T> = Pick<T, K> & Partial<Omit<T, K>>;
|
14
16
|
/**
|
15
17
|
* Alias for {@link ValueOf<T>}
|
16
18
|
*/
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
15
15
|
}) : function(o, v) {
|
16
16
|
o["default"] = v;
|
17
17
|
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
};
|
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
|
+
})();
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
37
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"grpc-server.js","sourceRoot":"","sources":["../../../../src/components/grpc/helpers/grpc-server.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"grpc-server.js","sourceRoot":"","sources":["../../../../src/components/grpc/helpers/grpc-server.ts"],"names":[],"mappings":"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"}
|
@@ -17,8 +17,8 @@ export declare class RSA extends BaseCryptoAlgorithm<RSAAlgorithmType, IO> {
|
|
17
17
|
generateDERKeyPair(opts?: {
|
18
18
|
modulus: number;
|
19
19
|
}): {
|
20
|
-
publicKey: Buffer
|
21
|
-
privateKey: Buffer
|
20
|
+
publicKey: Buffer<ArrayBufferLike>;
|
21
|
+
privateKey: Buffer<ArrayBufferLike>;
|
22
22
|
};
|
23
23
|
encrypt(message: string, pubKey: string, opts?: IO): string;
|
24
24
|
decrypt(message: string, privKey: string, opts?: IO): string;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@minimaltech/node-infra",
|
3
|
-
"version": "0.3.
|
3
|
+
"version": "0.3.22",
|
4
4
|
"description": "Minimal Technology NodeJS Infrastructure - Loopback 4 Framework",
|
5
5
|
"keywords": [
|
6
6
|
"web",
|
@@ -108,29 +108,29 @@
|
|
108
108
|
"access": "public"
|
109
109
|
},
|
110
110
|
"dependencies": {
|
111
|
-
"@grpc/grpc-js": "^1.
|
111
|
+
"@grpc/grpc-js": "^1.12.3",
|
112
112
|
"@grpc/proto-loader": "^0.7.13",
|
113
|
-
"@loopback/authentication": "^11.0.
|
114
|
-
"@loopback/authentication-jwt": "^0.15.
|
115
|
-
"@loopback/authentication-passport": "^7.0.
|
116
|
-
"@loopback/authorization": "^0.15.
|
117
|
-
"@loopback/boot": "^7.0.
|
118
|
-
"@loopback/core": "^6.1.
|
119
|
-
"@loopback/http-server": "^6.0.
|
120
|
-
"@loopback/metadata": "^7.0.
|
121
|
-
"@loopback/repository": "^7.0.
|
122
|
-
"@loopback/rest": "^14.0.
|
123
|
-
"@loopback/rest-crud": "^0.18.
|
124
|
-
"@loopback/rest-explorer": "^7.0.
|
125
|
-
"@loopback/security": "^0.11.
|
126
|
-
"@loopback/service-proxy": "^7.0.
|
113
|
+
"@loopback/authentication": "^11.0.8",
|
114
|
+
"@loopback/authentication-jwt": "^0.15.8",
|
115
|
+
"@loopback/authentication-passport": "^7.0.8",
|
116
|
+
"@loopback/authorization": "^0.15.8",
|
117
|
+
"@loopback/boot": "^7.0.8",
|
118
|
+
"@loopback/core": "^6.1.5",
|
119
|
+
"@loopback/http-server": "^6.0.8",
|
120
|
+
"@loopback/metadata": "^7.0.8",
|
121
|
+
"@loopback/repository": "^7.0.8",
|
122
|
+
"@loopback/rest": "^14.0.8",
|
123
|
+
"@loopback/rest-crud": "^0.18.8",
|
124
|
+
"@loopback/rest-explorer": "^7.0.8",
|
125
|
+
"@loopback/security": "^0.11.8",
|
126
|
+
"@loopback/service-proxy": "^7.0.8",
|
127
127
|
"@node-oauth/oauth2-server": "^5.2.0",
|
128
128
|
"@socket.io/redis-adapter": "^8.3.0",
|
129
129
|
"@socket.io/redis-emitter": "^5.1.0",
|
130
|
-
"axios": "^1.7.
|
131
|
-
"bullmq": "^5.
|
132
|
-
"casbin": "^5.
|
133
|
-
"cron": "^3.1
|
130
|
+
"axios": "^1.7.8",
|
131
|
+
"bullmq": "^5.31.0",
|
132
|
+
"casbin": "^5.36.0",
|
133
|
+
"cron": "^3.2.1",
|
134
134
|
"dayjs": "^1.11.13",
|
135
135
|
"dotenv-flow": "4.1.0",
|
136
136
|
"ejs": "^3.1.10",
|
@@ -138,34 +138,34 @@
|
|
138
138
|
"jsonwebtoken": "^9.0.2",
|
139
139
|
"knex": "^3.1.0",
|
140
140
|
"lodash": "^4.17.21",
|
141
|
-
"minio": "^8.0.
|
142
|
-
"mocha": "^
|
143
|
-
"mqtt": "^5.10.
|
141
|
+
"minio": "^8.0.2",
|
142
|
+
"mocha": "^11.0.1",
|
143
|
+
"mqtt": "^5.10.3",
|
144
144
|
"multer": "1.4.5-lts.1",
|
145
145
|
"rxjs": "^7.8.1",
|
146
|
-
"socket.io": "^4.8.
|
147
|
-
"socket.io-client": "^4.8.
|
148
|
-
"winston": "^3.
|
146
|
+
"socket.io": "^4.8.1",
|
147
|
+
"socket.io-client": "^4.8.1",
|
148
|
+
"winston": "^3.17.0",
|
149
149
|
"winston-daily-rotate-file": "^5.0.0"
|
150
150
|
},
|
151
151
|
"devDependencies": {
|
152
|
-
"@loopback/build": "^11.0.
|
153
|
-
"@loopback/testlab": "^7.0.
|
152
|
+
"@loopback/build": "^11.0.7",
|
153
|
+
"@loopback/testlab": "^7.0.7",
|
154
154
|
"@minimaltech/eslint-node": "^0.1.15",
|
155
|
-
"@types/express": "
|
155
|
+
"@types/express": "4.17.21",
|
156
156
|
"@types/jsonwebtoken": "^9.0.7",
|
157
|
-
"@types/lodash": "^4.17.
|
158
|
-
"@types/mocha": "^10.0.
|
157
|
+
"@types/lodash": "^4.17.13",
|
158
|
+
"@types/mocha": "^10.0.10",
|
159
159
|
"@types/multer": "^1.4.12",
|
160
|
-
"@types/node": "^20.
|
160
|
+
"@types/node": "^20.17.9",
|
161
161
|
"eslint": "^8.57.1",
|
162
|
-
"husky": "^9.1.
|
163
|
-
"prettier": "^3.
|
162
|
+
"husky": "^9.1.7",
|
163
|
+
"prettier": "^3.4.1",
|
164
164
|
"source-map-support": "^0.5.21",
|
165
165
|
"ts-node": "^10.9.2",
|
166
166
|
"tsc-alias": "^1.8.10",
|
167
167
|
"tsconfig-paths": "^4.2.0",
|
168
|
-
"typescript": "^5.
|
168
|
+
"typescript": "^5.7.2"
|
169
169
|
},
|
170
170
|
"scripts": {
|
171
171
|
"build": "sh ./scripts/build.sh",
|