@russ-b/nestjs-common-tools 1.1.25 → 1.3.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/grpc/grpc.module.js +4 -12
- package/dist/grpc/grpc.module.js.map +1 -1
- package/dist/grpc/interceptors/field-mask.interceptor.d.ts +5 -0
- package/dist/grpc/interceptors/field-mask.interceptor.js +31 -0
- package/dist/grpc/interceptors/field-mask.interceptor.js.map +1 -0
- package/dist/grpc/interceptors/struct.interceptor.d.ts +2 -2
- package/dist/grpc/interceptors/struct.interceptor.js +15 -6
- package/dist/grpc/interceptors/struct.interceptor.js.map +1 -1
- package/dist/grpc/providers/grpc-options.provider.d.ts +2 -2
- package/dist/grpc/providers/grpc-options.provider.js +4 -3
- package/dist/grpc/providers/grpc-options.provider.js.map +1 -1
- package/dist/grpc/proxies/base-client-grpc.proxy.d.ts +2 -2
- package/dist/grpc/proxies/base-client-grpc.proxy.js +6 -4
- package/dist/grpc/proxies/base-client-grpc.proxy.js.map +1 -1
- package/dist/grpc/services/package-definition/index.d.ts +2 -0
- package/dist/grpc/services/package-definition/index.js +19 -0
- package/dist/grpc/services/package-definition/index.js.map +1 -0
- package/dist/grpc/services/package-definition/package-definition-manager.d.ts +15 -0
- package/dist/grpc/services/package-definition/package-definition-manager.js +62 -0
- package/dist/grpc/services/package-definition/package-definition-manager.js.map +1 -0
- package/dist/grpc/services/package-definition/package-definition.constants.d.ts +2 -0
- package/dist/grpc/services/package-definition/package-definition.constants.js +6 -0
- package/dist/grpc/services/package-definition/package-definition.constants.js.map +1 -0
- package/dist/grpc/services/package-definition/package-definition.service.d.ts +8 -0
- package/dist/grpc/services/package-definition/package-definition.service.js +27 -0
- package/dist/grpc/services/package-definition/package-definition.service.js.map +1 -0
- package/dist/grpc/services/proto/constants/proto.constants.d.ts +2 -0
- package/dist/grpc/services/proto/constants/proto.constants.js +6 -0
- package/dist/grpc/services/proto/constants/proto.constants.js.map +1 -0
- package/dist/grpc/services/proto/field.selector.d.ts +9 -0
- package/dist/grpc/services/proto/field.selector.js +34 -0
- package/dist/grpc/services/proto/field.selector.js.map +1 -0
- package/dist/grpc/services/proto/interfaces/field-selector.interface.d.ts +4 -0
- package/dist/grpc/services/proto/interfaces/field-selector.interface.js +3 -0
- package/dist/grpc/services/proto/interfaces/field-selector.interface.js.map +1 -0
- package/dist/grpc/services/proto/interfaces/index.d.ts +3 -0
- package/dist/grpc/services/proto/interfaces/index.js +20 -0
- package/dist/grpc/services/proto/interfaces/index.js.map +1 -0
- package/dist/grpc/services/proto/interfaces/package-definition.interface.d.ts +3 -0
- package/dist/grpc/services/proto/interfaces/package-definition.interface.js +3 -0
- package/dist/grpc/services/proto/interfaces/package-definition.interface.js.map +1 -0
- package/dist/grpc/services/proto/interfaces/proto-descriptors.interface.d.ts +49 -0
- package/dist/grpc/services/proto/interfaces/proto-descriptors.interface.js +31 -0
- package/dist/grpc/services/proto/interfaces/proto-descriptors.interface.js.map +1 -0
- package/dist/grpc/services/proto/readers/client-definition.reader.d.ts +23 -0
- package/dist/grpc/services/proto/readers/client-definition.reader.js +51 -0
- package/dist/grpc/services/proto/readers/client-definition.reader.js.map +1 -0
- package/dist/grpc/services/proto/readers/field-definition.reader.d.ts +3 -0
- package/dist/grpc/services/proto/readers/field-definition.reader.js +8 -0
- package/dist/grpc/services/proto/readers/field-definition.reader.js.map +1 -0
- package/dist/grpc/services/proto/readers/field.selector.d.ts +7 -0
- package/dist/grpc/services/proto/readers/field.selector.js +29 -0
- package/dist/grpc/services/proto/readers/field.selector.js.map +1 -0
- package/dist/grpc/services/proto/readers/interfaces/client-definition.interface.d.ts +24 -0
- package/dist/grpc/services/proto/readers/interfaces/client-definition.interface.js +3 -0
- package/dist/grpc/services/proto/readers/interfaces/client-definition.interface.js.map +1 -0
- package/dist/grpc/services/proto/readers/interfaces/field.interface.d.ts +16 -0
- package/dist/grpc/services/proto/readers/interfaces/field.interface.js +3 -0
- package/dist/grpc/services/proto/readers/interfaces/field.interface.js.map +1 -0
- package/dist/grpc/services/proto/readers/interfaces/index.d.ts +1 -0
- package/dist/grpc/services/proto/readers/interfaces/index.js +18 -0
- package/dist/grpc/services/proto/readers/interfaces/index.js.map +1 -0
- package/dist/grpc/services/proto/readers/interfaces/package-definition.interface.d.ts +9 -0
- package/dist/grpc/services/proto/readers/interfaces/package-definition.interface.js +3 -0
- package/dist/grpc/services/proto/readers/interfaces/package-definition.interface.js.map +1 -0
- package/dist/grpc/services/proto/readers/package-definition.reader.d.ts +17 -0
- package/dist/grpc/services/proto/readers/package-definition.reader.js +61 -0
- package/dist/grpc/services/proto/readers/package-definition.reader.js.map +1 -0
- package/dist/grpc/transformers/field-transformer.d.ts +7 -0
- package/dist/grpc/transformers/field-transformer.js +26 -0
- package/dist/grpc/transformers/field-transformer.js.map +1 -0
- package/dist/grpc/transformers/index.d.ts +1 -0
- package/dist/grpc/transformers/index.js +1 -0
- package/dist/grpc/transformers/index.js.map +1 -1
- package/dist/logger/logger.d.ts +4 -0
- package/dist/logger/logger.interface.d.ts +1 -0
- package/dist/logger/logger.interface.js +3 -0
- package/dist/logger/logger.interface.js.map +1 -0
- package/dist/logger/logger.js +23 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/transports/json-format.transport.d.ts +4 -0
- package/dist/logger/transports/json-format.transport.js +14 -0
- package/dist/logger/transports/json-format.transport.js.map +1 -0
- package/dist/logger/transports/nest-format.transport.d.ts +4 -0
- package/dist/logger/transports/nest-format.transport.js +18 -0
- package/dist/logger/transports/nest-format.transport.js.map +1 -0
- package/dist/services/base-entity.service.d.ts +2 -3
- package/dist/services/base-entity.service.js +7 -14
- package/dist/services/base-entity.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/validators/unique/index.d.ts +4 -0
- package/dist/validators/unique/index.js +21 -0
- package/dist/validators/unique/index.js.map +1 -0
- package/dist/validators/unique/unique.constant.d.ts +1 -0
- package/dist/validators/unique/unique.constant.js +5 -0
- package/dist/validators/unique/unique.constant.js.map +1 -0
- package/dist/validators/unique/unique.constraint.d.ts +9 -0
- package/dist/validators/unique/unique.constraint.js +74 -0
- package/dist/validators/unique/unique.constraint.js.map +1 -0
- package/dist/validators/unique/unique.decorator.d.ts +3 -0
- package/dist/validators/unique/unique.decorator.js +20 -0
- package/dist/validators/unique/unique.decorator.js.map +1 -0
- package/dist/validators/unique/unique.interface.d.ts +5 -0
- package/dist/validators/unique/unique.interface.js +3 -0
- package/dist/validators/unique/unique.interface.js.map +1 -0
- package/package.json +12 -14
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FieldType = exports.FieldLabel = void 0;
|
|
4
|
+
var FieldLabel;
|
|
5
|
+
(function (FieldLabel) {
|
|
6
|
+
FieldLabel["OPTIONAL"] = "LABEL_OPTIONAL";
|
|
7
|
+
FieldLabel["REQUIRED"] = "LABEL_REQUIRED";
|
|
8
|
+
FieldLabel["REPEATED"] = "LABEL_REPEATED";
|
|
9
|
+
})(FieldLabel || (exports.FieldLabel = FieldLabel = {}));
|
|
10
|
+
var FieldType;
|
|
11
|
+
(function (FieldType) {
|
|
12
|
+
FieldType["DOUBLE"] = "TYPE_DOUBLE";
|
|
13
|
+
FieldType["FLOAT"] = "TYPE_FLOAT";
|
|
14
|
+
FieldType["INT32"] = "TYPE_INT32";
|
|
15
|
+
FieldType["UINT32"] = "TYPE_UINT32";
|
|
16
|
+
FieldType["INT64"] = "TYPE_INT64";
|
|
17
|
+
FieldType["UINT64"] = "TYPE_UINT64";
|
|
18
|
+
FieldType["FIXED64"] = "TYPE_FIXED64";
|
|
19
|
+
FieldType["FIXED32"] = "TYPE_FIXED32";
|
|
20
|
+
FieldType["BOOL"] = "TYPE_BOOL";
|
|
21
|
+
FieldType["STRING"] = "TYPE_STRING";
|
|
22
|
+
FieldType["GROUP"] = "TYPE_GROUP";
|
|
23
|
+
FieldType["MESSAGE"] = "TYPE_MESSAGE";
|
|
24
|
+
FieldType["BYTES"] = "TYPE_BYTES";
|
|
25
|
+
FieldType["ENUM"] = "TYPE_ENUM";
|
|
26
|
+
FieldType["SFIXED32"] = "TYPE_SFIXED32";
|
|
27
|
+
FieldType["SFIXED64"] = "TYPE_SFIXED64";
|
|
28
|
+
FieldType["SINT32"] = "TYPE_SINT32";
|
|
29
|
+
FieldType["SINT64"] = "TYPE_SINT64";
|
|
30
|
+
})(FieldType || (exports.FieldType = FieldType = {}));
|
|
31
|
+
//# sourceMappingURL=proto-descriptors.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proto-descriptors.interface.js","sourceRoot":"","sources":["../../../../../src/grpc/services/proto/interfaces/proto-descriptors.interface.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;AAC7B,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,SAmBX;AAnBD,WAAY,SAAS;IACnB,mCAAsB,CAAA;IACtB,iCAAoB,CAAA;IACpB,iCAAoB,CAAA;IACpB,mCAAsB,CAAA;IACtB,iCAAoB,CAAA;IACpB,mCAAsB,CAAA;IACtB,qCAAwB,CAAA;IACxB,qCAAwB,CAAA;IACxB,+BAAkB,CAAA;IAClB,mCAAsB,CAAA;IACtB,iCAAoB,CAAA;IACpB,qCAAwB,CAAA;IACxB,iCAAoB,CAAA;IACpB,+BAAkB,CAAA;IAClB,uCAA0B,CAAA;IAC1B,uCAA0B,CAAA;IAC1B,mCAAsB,CAAA;IACtB,mCAAsB,CAAA;AACxB,CAAC,EAnBW,SAAS,yBAAT,SAAS,QAmBpB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ClientDefinition, IMessageDescriptor, IServiceMethodDescriptor, ServiceMethods } from './interfaces';
|
|
2
|
+
import { IFieldDescriptor, MessageDefinitionMap } from '../interfaces';
|
|
3
|
+
declare class ClientMethodDefinition {
|
|
4
|
+
private readonly def;
|
|
5
|
+
constructor(def: IServiceMethodDescriptor);
|
|
6
|
+
getRequestFields(): IFieldDescriptor[];
|
|
7
|
+
getResponseFields(): IFieldDescriptor[];
|
|
8
|
+
}
|
|
9
|
+
declare class ClientServiceDefinition {
|
|
10
|
+
private readonly def;
|
|
11
|
+
constructor(def: ServiceMethods);
|
|
12
|
+
getMethod(name: string): ClientMethodDefinition | undefined;
|
|
13
|
+
}
|
|
14
|
+
export declare class ClientDefinitionReader {
|
|
15
|
+
private readonly def;
|
|
16
|
+
private readonly messageTypes;
|
|
17
|
+
constructor(def: ClientDefinition);
|
|
18
|
+
private loadMessageTypes;
|
|
19
|
+
getServiceMethods(name: string): ClientServiceDefinition | undefined;
|
|
20
|
+
getMessage(name: string): IMessageDescriptor | undefined;
|
|
21
|
+
getMessageTypes(): MessageDefinitionMap;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientDefinitionReader = void 0;
|
|
4
|
+
class ClientMethodDefinition {
|
|
5
|
+
constructor(def) {
|
|
6
|
+
this.def = def;
|
|
7
|
+
}
|
|
8
|
+
getRequestFields() {
|
|
9
|
+
return this.def.requestType.type.field;
|
|
10
|
+
}
|
|
11
|
+
getResponseFields() {
|
|
12
|
+
return this.def.responseType.type.field;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
class ClientServiceDefinition {
|
|
16
|
+
constructor(def) {
|
|
17
|
+
this.def = def;
|
|
18
|
+
}
|
|
19
|
+
getMethod(name) {
|
|
20
|
+
const method = this.def[name];
|
|
21
|
+
return method ? new ClientMethodDefinition(method) : undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
class ClientDefinitionReader {
|
|
25
|
+
constructor(def) {
|
|
26
|
+
this.def = def;
|
|
27
|
+
this.messageTypes = this.loadMessageTypes();
|
|
28
|
+
}
|
|
29
|
+
loadMessageTypes() {
|
|
30
|
+
const map = new Map();
|
|
31
|
+
for (const [key, value] of Object.entries(this.def)) {
|
|
32
|
+
if (typeof value === 'object' && value?.type?.field) {
|
|
33
|
+
map.set(key, value.type.field);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return map;
|
|
37
|
+
}
|
|
38
|
+
getServiceMethods(name) {
|
|
39
|
+
return this.def[name]?.service
|
|
40
|
+
? new ClientServiceDefinition(this.def[name].service)
|
|
41
|
+
: undefined;
|
|
42
|
+
}
|
|
43
|
+
getMessage(name) {
|
|
44
|
+
return this.def[name];
|
|
45
|
+
}
|
|
46
|
+
getMessageTypes() {
|
|
47
|
+
return this.messageTypes;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.ClientDefinitionReader = ClientDefinitionReader;
|
|
51
|
+
//# sourceMappingURL=client-definition.reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-definition.reader.js","sourceRoot":"","sources":["../../../../../src/grpc/services/proto/readers/client-definition.reader.ts"],"names":[],"mappings":";;;AAQA,MAAM,sBAAsB;IAC1B,YAA6B,GAA6B;QAA7B,QAAG,GAAH,GAAG,CAA0B;IAAG,CAAC;IAE9D,gBAAgB;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;IACzC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,uBAAuB;IAC3B,YAA6B,GAAmB;QAAnB,QAAG,GAAH,GAAG,CAAgB;IAAG,CAAC;IAEpD,SAAS,CAAC,IAAY;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE9B,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;CACF;AAED,MAAa,sBAAsB;IAGjC,YAA6B,GAAqB;QAArB,QAAG,GAAH,GAAG,CAAkB;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC;IAEO,gBAAgB;QACtB,MAAM,GAAG,GAAG,IAAI,GAAG,EAA8B,CAAC;QAElD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACpD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO;YAC5B,CAAC,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAmC,CAAC;IAC1D,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAhCD,wDAgCC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FieldDefinitionReader = void 0;
|
|
4
|
+
class FieldDefinitionReader {
|
|
5
|
+
findByType() { }
|
|
6
|
+
}
|
|
7
|
+
exports.FieldDefinitionReader = FieldDefinitionReader;
|
|
8
|
+
//# sourceMappingURL=field-definition.reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-definition.reader.js","sourceRoot":"","sources":["../../../../../src/grpc/services/proto/readers/field-definition.reader.ts"],"names":[],"mappings":";;;AAAA,MAAa,qBAAqB;IAChC,UAAU,KAAI,CAAC;CAChB;AAFD,sDAEC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IFieldDescriptor, MessageTypeMap, IFoundField } from './interfaces';
|
|
2
|
+
export declare class FieldSelector {
|
|
3
|
+
private readonly fields;
|
|
4
|
+
private readonly messageTypes;
|
|
5
|
+
constructor(fields: IFieldDescriptor[], messageTypes: MessageTypeMap);
|
|
6
|
+
findFieldsByType(typeName: string, fields?: readonly IFieldDescriptor[]): IFoundField[];
|
|
7
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FieldSelector = void 0;
|
|
4
|
+
class FieldSelector {
|
|
5
|
+
constructor(fields, messageTypes) {
|
|
6
|
+
this.fields = fields;
|
|
7
|
+
this.messageTypes = messageTypes;
|
|
8
|
+
}
|
|
9
|
+
findFieldsByType(typeName, fields) {
|
|
10
|
+
return (fields ? fields : this.fields)
|
|
11
|
+
.filter((f) => f.type === 'TYPE_MESSAGE')
|
|
12
|
+
.map((f) => {
|
|
13
|
+
if (f.typeName === typeName) {
|
|
14
|
+
return { name: f.name };
|
|
15
|
+
}
|
|
16
|
+
const fieldDescriptor = this.messageTypes.get(f.typeName);
|
|
17
|
+
if (!fieldDescriptor) {
|
|
18
|
+
throw new Error('Could not find field definition for type ' + f.typeName);
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
name: f.name,
|
|
22
|
+
fields: this.findFieldsByType(typeName, fieldDescriptor),
|
|
23
|
+
};
|
|
24
|
+
})
|
|
25
|
+
.filter((f) => f.fields === undefined || f.fields.length > 0);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.FieldSelector = FieldSelector;
|
|
29
|
+
//# sourceMappingURL=field.selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.selector.js","sourceRoot":"","sources":["../../../../../src/grpc/services/proto/readers/field.selector.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACxB,YACmB,MAA0B,EAC1B,YAA4B;QAD5B,WAAM,GAAN,MAAM,CAAoB;QAC1B,iBAAY,GAAZ,YAAY,CAAgB;IAC5C,CAAC;IAEJ,gBAAgB,CACd,QAAgB,EAChB,MAAoC;QAEpC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE1D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,2CAA2C,GAAG,CAAC,CAAC,QAAQ,CACzD,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC;aACzD,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;CACF;AAhCD,sCAgCC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IMessageDescriptor } from '../../interfaces';
|
|
2
|
+
type ClientDefinitionValue = IServiceDescriptor & IMessageDescriptor;
|
|
3
|
+
export type ClientDefinition = Record<string, ClientDefinitionValue>;
|
|
4
|
+
export type ServiceMethods = Record<string, IServiceMethodDescriptor>;
|
|
5
|
+
export interface IServiceDescriptor {
|
|
6
|
+
service: ServiceMethods;
|
|
7
|
+
serviceName: string;
|
|
8
|
+
length: number;
|
|
9
|
+
name: string;
|
|
10
|
+
}
|
|
11
|
+
export interface IServiceMethodDescriptor {
|
|
12
|
+
path: string;
|
|
13
|
+
requestStream: boolean;
|
|
14
|
+
responseStream: boolean;
|
|
15
|
+
originalName: string;
|
|
16
|
+
requestType: IMessageDescriptor;
|
|
17
|
+
responseType: IMessageDescriptor;
|
|
18
|
+
options: IServiceMethodDescriptorOptions;
|
|
19
|
+
}
|
|
20
|
+
interface IServiceMethodDescriptorOptions {
|
|
21
|
+
deprecated: boolean;
|
|
22
|
+
idempotency_level: string;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-definition.interface.js","sourceRoot":"","sources":["../../../../../../src/grpc/services/proto/readers/interfaces/client-definition.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface IFieldDescriptor {
|
|
2
|
+
name: string;
|
|
3
|
+
extendee: string;
|
|
4
|
+
number: number;
|
|
5
|
+
label: string;
|
|
6
|
+
type: string;
|
|
7
|
+
typeName: string;
|
|
8
|
+
defaultValue: string;
|
|
9
|
+
options: any;
|
|
10
|
+
oneofIndex: number;
|
|
11
|
+
jsonName: string;
|
|
12
|
+
}
|
|
13
|
+
export interface IFoundField {
|
|
14
|
+
name: string;
|
|
15
|
+
fields?: IFoundField[];
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.interface.js","sourceRoot":"","sources":["../../../../../../src/grpc/services/proto/readers/interfaces/field.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './package-definition.interface';
|
|
@@ -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("./package-definition.interface"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/grpc/services/proto/readers/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IMessageDescriptor } from '../../interfaces';
|
|
2
|
+
import { MethodDefinition } from '@grpc/proto-loader';
|
|
3
|
+
interface IServiceDescriptor {
|
|
4
|
+
[index: string]: MethodDefinition<object, object>;
|
|
5
|
+
}
|
|
6
|
+
export interface IPackageDefinition {
|
|
7
|
+
[key: string]: IServiceDescriptor & IMessageDescriptor;
|
|
8
|
+
}
|
|
9
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-definition.interface.js","sourceRoot":"","sources":["../../../../../../src/grpc/services/proto/readers/interfaces/package-definition.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MethodDefinition, PackageDefinition, ServiceDefinition } from '@grpc/proto-loader';
|
|
2
|
+
import { IFieldDescriptor, IMessageDescriptor, MessageDefinitionMap } from '../interfaces';
|
|
3
|
+
export declare class PackageDefinitionReader {
|
|
4
|
+
private readonly packageName;
|
|
5
|
+
private readonly def;
|
|
6
|
+
private readonly messageTypes;
|
|
7
|
+
constructor(packageName: string, def: PackageDefinition);
|
|
8
|
+
getPackageName(): string;
|
|
9
|
+
getServiceDefinition(serviceName: string): ServiceDefinition | undefined;
|
|
10
|
+
getMessageDescriptor(messageName: string): IMessageDescriptor;
|
|
11
|
+
getMethodDefinition(serviceName: string, rpc: string): MethodDefinition<any, any> | undefined;
|
|
12
|
+
getRequestFields(serviceName: string, rpc: string): IFieldDescriptor[];
|
|
13
|
+
getResponseFields(serviceName: string, rpc: string): IFieldDescriptor[];
|
|
14
|
+
private getFields;
|
|
15
|
+
private loadMessageTypes;
|
|
16
|
+
getMessageTypes(): MessageDefinitionMap;
|
|
17
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PackageDefinitionReader = void 0;
|
|
4
|
+
class PackageDefinitionReader {
|
|
5
|
+
constructor(packageName, def) {
|
|
6
|
+
this.packageName = packageName;
|
|
7
|
+
this.def = def;
|
|
8
|
+
this.messageTypes = this.loadMessageTypes();
|
|
9
|
+
}
|
|
10
|
+
getPackageName() {
|
|
11
|
+
return this.packageName;
|
|
12
|
+
}
|
|
13
|
+
getServiceDefinition(serviceName) {
|
|
14
|
+
const serviceDefinition = this.def[`${serviceName}`];
|
|
15
|
+
if (!serviceDefinition) {
|
|
16
|
+
return this.def[`${this.packageName}.${serviceName}`];
|
|
17
|
+
}
|
|
18
|
+
return serviceDefinition;
|
|
19
|
+
}
|
|
20
|
+
getMessageDescriptor(messageName) {
|
|
21
|
+
const message = this.def[messageName];
|
|
22
|
+
if (!message) {
|
|
23
|
+
return this.def[`${this.getPackageName()}.${messageName}`];
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return message;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
getMethodDefinition(serviceName, rpc) {
|
|
30
|
+
const serviceDefinition = this.getServiceDefinition(serviceName);
|
|
31
|
+
if (!serviceDefinition) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
return serviceDefinition[rpc];
|
|
35
|
+
}
|
|
36
|
+
getRequestFields(serviceName, rpc) {
|
|
37
|
+
const messageTypeDefinition = this.getMethodDefinition(serviceName, rpc)?.requestType;
|
|
38
|
+
return this.getFields(messageTypeDefinition);
|
|
39
|
+
}
|
|
40
|
+
getResponseFields(serviceName, rpc) {
|
|
41
|
+
const messageTypeDefinition = this.getMethodDefinition(serviceName, rpc)?.responseType;
|
|
42
|
+
return this.getFields(messageTypeDefinition);
|
|
43
|
+
}
|
|
44
|
+
getFields(definition) {
|
|
45
|
+
return definition?.type?.field || [];
|
|
46
|
+
}
|
|
47
|
+
loadMessageTypes() {
|
|
48
|
+
const map = new Map();
|
|
49
|
+
for (const [key, value] of Object.entries(this.def)) {
|
|
50
|
+
if (typeof value === 'object' && value?.type?.field) {
|
|
51
|
+
map.set(key, value.type.field);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return map;
|
|
55
|
+
}
|
|
56
|
+
getMessageTypes() {
|
|
57
|
+
return this.messageTypes;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.PackageDefinitionReader = PackageDefinitionReader;
|
|
61
|
+
//# sourceMappingURL=package-definition.reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-definition.reader.js","sourceRoot":"","sources":["../../../../../src/grpc/services/proto/readers/package-definition.reader.ts"],"names":[],"mappings":";;;AAYA,MAAa,uBAAuB;IAGlC,YACmB,WAAmB,EACnB,GAAsB;QADtB,gBAAW,GAAX,WAAW,CAAQ;QACnB,QAAG,GAAH,GAAG,CAAmB;QAEvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,oBAAoB,CAAC,WAAmB;QACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,CAAsB,CAAC;QAE1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,EAAE,CAChB,CAAC;QACzB,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAAC,WAAmB;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,WAAW,EAAE,CACpB,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,OAA6B,CAAC;QACvC,CAAC;IACH,CAAC;IAED,mBAAmB,CACjB,WAAmB,EACnB,GAAW;QAEX,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAEjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,gBAAgB,CAAC,WAAmB,EAAE,GAAW;QAC/C,MAAM,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CACpD,WAAW,EACX,GAAG,CACJ,EAAE,WAAW,CAAC;QAEf,OAAO,IAAI,CAAC,SAAS,CAAC,qBAA2C,CAAC,CAAC;IACrE,CAAC;IAED,iBAAiB,CAAC,WAAmB,EAAE,GAAW;QAChD,MAAM,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CACpD,WAAW,EACX,GAAG,CACJ,EAAE,YAAY,CAAC;QAEhB,OAAO,IAAI,CAAC,SAAS,CAAC,qBAA2C,CAAC,CAAC;IACrE,CAAC;IAEO,SAAS,CAAC,UAA+B;QAC/C,OAAO,UAAU,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;IACvC,CAAC;IAEO,gBAAgB;QACtB,MAAM,GAAG,GAAG,IAAI,GAAG,EAA8B,CAAC;QAElD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAyB,CAAC,EAAE,CAAC;YAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACpD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAxFD,0DAwFC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FieldTransformer = void 0;
|
|
4
|
+
class FieldTransformer {
|
|
5
|
+
static traverseAndTransform(obj, fields, transformer) {
|
|
6
|
+
if (!obj) {
|
|
7
|
+
return obj;
|
|
8
|
+
}
|
|
9
|
+
if (Array.isArray(obj)) {
|
|
10
|
+
return obj.map((item) => this.traverseAndTransform(item, fields, transformer));
|
|
11
|
+
}
|
|
12
|
+
const result = { ...obj };
|
|
13
|
+
fields.forEach((f) => {
|
|
14
|
+
const key = f.name;
|
|
15
|
+
if (f.fields?.length) {
|
|
16
|
+
result[key] = this.traverseAndTransform(result[key], f.fields, transformer);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
result[key] = transformer(result[key]);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.FieldTransformer = FieldTransformer;
|
|
26
|
+
//# sourceMappingURL=field-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-transformer.js","sourceRoot":"","sources":["../../../src/grpc/transformers/field-transformer.ts"],"names":[],"mappings":";;;AAKA,MAAa,gBAAgB;IAS3B,MAAM,CAAC,oBAAoB,CACzB,GAAM,EACN,MAA0B,EAC1B,WAAgC;QAEhC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAChD,CAAC;QACT,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;QAE1B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAe,CAAC;YAE9B,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CACrC,MAAM,CAAC,GAAG,CAAC,EACX,CAAC,CAAC,MAAM,EACR,WAAW,CACZ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA1CD,4CA0CC"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./struct"), exports);
|
|
18
|
+
__exportStar(require("./field-transformer"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/grpc/transformers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/grpc/transformers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,sDAAoC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type TransportFormat = 'json' | 'nest';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.interface.js","sourceRoot":"","sources":["../../src/logger/logger.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Logger = void 0;
|
|
4
|
+
const nest_winston_1 = require("nest-winston");
|
|
5
|
+
const json_format_transport_1 = require("./transports/json-format.transport");
|
|
6
|
+
const nest_format_transport_1 = require("./transports/nest-format.transport");
|
|
7
|
+
class Logger {
|
|
8
|
+
static create(appName, level, format) {
|
|
9
|
+
const transports = [];
|
|
10
|
+
if (format === 'json') {
|
|
11
|
+
transports.push(json_format_transport_1.JsonFormatTransport.transport(level));
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
transports.push(nest_format_transport_1.NestFormatTransport.transport(level, appName));
|
|
15
|
+
}
|
|
16
|
+
return nest_winston_1.WinstonModule.createLogger({
|
|
17
|
+
level: level,
|
|
18
|
+
transports,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.Logger = Logger;
|
|
23
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAG7C,8EAAyE;AACzE,8EAAyE;AAEzE,MAAa,MAAM;IACjB,MAAM,CAAC,MAAM,CAAC,OAAe,EAAE,KAAa,EAAE,MAAwB;QACpE,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,2CAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,2CAAmB,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,4BAAa,CAAC,YAAY,CAAC;YAChC,KAAK,EAAE,KAAK;YACZ,UAAU;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAdD,wBAcC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonFormatTransport = void 0;
|
|
4
|
+
const winston_1 = require("winston");
|
|
5
|
+
class JsonFormatTransport {
|
|
6
|
+
static transport(level) {
|
|
7
|
+
return new winston_1.transports.Console({
|
|
8
|
+
level,
|
|
9
|
+
format: winston_1.format.combine(winston_1.format.timestamp(), winston_1.format.ms(), winston_1.format.json()),
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.JsonFormatTransport = JsonFormatTransport;
|
|
14
|
+
//# sourceMappingURL=json-format.transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-format.transport.js","sourceRoot":"","sources":["../../../src/logger/transports/json-format.transport.ts"],"names":[],"mappings":";;;AAAA,qCAA6C;AAG7C,MAAa,mBAAmB;IAC9B,MAAM,CAAC,SAAS,CAAC,KAAa;QAC5B,OAAO,IAAI,oBAAU,CAAC,OAAO,CAAC;YAC5B,KAAK;YACL,MAAM,EAAE,gBAAM,CAAC,OAAO,CAAC,gBAAM,CAAC,SAAS,EAAE,EAAE,gBAAM,CAAC,EAAE,EAAE,EAAE,gBAAM,CAAC,IAAI,EAAE,CAAC;SACvE,CAAC,CAAC;IACL,CAAC;CACF;AAPD,kDAOC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NestFormatTransport = void 0;
|
|
4
|
+
const winston_1 = require("winston");
|
|
5
|
+
const nest_winston_1 = require("nest-winston");
|
|
6
|
+
class NestFormatTransport {
|
|
7
|
+
static transport(level, appName = 'app') {
|
|
8
|
+
return new winston_1.transports.Console({
|
|
9
|
+
level,
|
|
10
|
+
format: winston_1.format.combine(winston_1.format.timestamp(), winston_1.format.ms(), nest_winston_1.utilities.format.nestLike(appName, {
|
|
11
|
+
colors: true,
|
|
12
|
+
prettyPrint: true,
|
|
13
|
+
})),
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.NestFormatTransport = NestFormatTransport;
|
|
18
|
+
//# sourceMappingURL=nest-format.transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest-format.transport.js","sourceRoot":"","sources":["../../../src/logger/transports/nest-format.transport.ts"],"names":[],"mappings":";;;AAAA,qCAA6C;AAC7C,+CAAyC;AAEzC,MAAa,mBAAmB;IAC9B,MAAM,CAAC,SAAS,CAAC,KAAa,EAAE,OAAO,GAAG,KAAK;QAC7C,OAAO,IAAI,oBAAU,CAAC,OAAO,CAAC;YAC5B,KAAK;YACL,MAAM,EAAE,gBAAM,CAAC,OAAO,CACpB,gBAAM,CAAC,SAAS,EAAE,EAClB,gBAAM,CAAC,EAAE,EAAE,EACX,wBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACjC,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;aAClB,CAAC,CACH;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAdD,kDAcC"}
|
|
@@ -6,8 +6,8 @@ export declare abstract class BaseEntityService<T extends ObjectLiteral> {
|
|
|
6
6
|
protected readonly repository: Repository<T>;
|
|
7
7
|
protected logger: Logger;
|
|
8
8
|
protected constructor(repository: Repository<T>);
|
|
9
|
-
create(entity: T | DeepPartial<T>):
|
|
10
|
-
save(
|
|
9
|
+
create(entity: T | DeepPartial<T>): T;
|
|
10
|
+
save(entityOrEntities: T | DeepPartial<T> | T[] | DeepPartial<T>[], options?: SaveOptions): Promise<T[] | T>;
|
|
11
11
|
update(id: number | number[] | string | string[] | FindOptionsWhere<T>, entity: T | DeepPartial<T>, options?: FindOneOptions<T>): Promise<T>;
|
|
12
12
|
findOne(options: FindOneOptions<T>): Promise<T | null>;
|
|
13
13
|
findOneBy(where: FindOptionsWhere<T>): Promise<T | null>;
|
|
@@ -19,5 +19,4 @@ export declare abstract class BaseEntityService<T extends ObjectLiteral> {
|
|
|
19
19
|
softDelete(id: number | string): Promise<void>;
|
|
20
20
|
toKeyValue(result: T[], key: keyof T, value: keyof T): Map<string, T[keyof T]>;
|
|
21
21
|
upsert(entityOrEntities: QueryDeepPartialEntity<T> | QueryDeepPartialEntity<T>[], conflictPathsOrOptions: string[] | UpsertOptions<T>): Promise<InsertResult>;
|
|
22
|
-
createOrUpdate(entity: T | DeepPartial<T>, onUpdate: T | DeepPartial<T>, options: FindOneOptions<T>): Promise<[T, boolean]>;
|
|
23
22
|
}
|
|
@@ -7,11 +7,14 @@ class BaseEntityService {
|
|
|
7
7
|
this.repository = repository;
|
|
8
8
|
this.logger = new common_1.Logger(this.constructor.name);
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
return
|
|
10
|
+
create(entity) {
|
|
11
|
+
return this.repository.create(entity);
|
|
12
12
|
}
|
|
13
|
-
async save(
|
|
14
|
-
|
|
13
|
+
async save(entityOrEntities, options) {
|
|
14
|
+
if (Array.isArray(entityOrEntities)) {
|
|
15
|
+
return (await this.repository.save(entityOrEntities, options));
|
|
16
|
+
}
|
|
17
|
+
return (await this.repository.save(entityOrEntities, options));
|
|
15
18
|
}
|
|
16
19
|
async update(id, entity, options) {
|
|
17
20
|
if (!options || !options.where) {
|
|
@@ -56,16 +59,6 @@ class BaseEntityService {
|
|
|
56
59
|
async upsert(entityOrEntities, conflictPathsOrOptions) {
|
|
57
60
|
return await this.repository.upsert(entityOrEntities, conflictPathsOrOptions);
|
|
58
61
|
}
|
|
59
|
-
async createOrUpdate(entity, onUpdate, options) {
|
|
60
|
-
const found = await this.findOne(options);
|
|
61
|
-
if (found) {
|
|
62
|
-
await this.save({ ...found, ...onUpdate });
|
|
63
|
-
return [found, false];
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
return [await this.create(entity), true];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
62
|
}
|
|
70
63
|
exports.BaseEntityService = BaseEntityService;
|
|
71
64
|
//# sourceMappingURL=base-entity.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-entity.service.js","sourceRoot":"","sources":["../../src/services/base-entity.service.ts"],"names":[],"mappings":";;;AAWA,2CAAwC;AAGxC,MAAsB,iBAAiB;IAGrC,YAAyC,UAAyB;QAAzB,eAAU,GAAV,UAAU,CAAe;QAFxD,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEgB,CAAC;IAEtE,
|
|
1
|
+
{"version":3,"file":"base-entity.service.js","sourceRoot":"","sources":["../../src/services/base-entity.service.ts"],"names":[],"mappings":"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"}
|