nicot 1.4.0 → 1.4.2
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/README-CN.md +40 -0
- package/README.md +41 -0
- package/dist/index.cjs +196 -54
- package/dist/index.cjs.map +4 -4
- package/dist/index.mjs +146 -9
- package/dist/index.mjs.map +4 -4
- package/dist/src/decorators/property.d.ts +10 -0
- package/dist/src/decorators/query.d.ts +10 -0
- package/dist/src/restful.d.ts +3 -3
- package/dist/src/utility/base64-binary.d.ts +23 -0
- package/dist/src/utility/get-api-property.d.ts +3 -0
- package/dist/src/utility/index.d.ts +1 -0
- package/dist/src/utility/patch-column-in-get.d.ts +1 -1
- package/dist/src/utility/swagger-decorators.d.ts +23 -0
- package/package.json +3 -2
package/dist/index.cjs
CHANGED
|
@@ -572,6 +572,8 @@ var require_typeorm = __commonJS({
|
|
|
572
572
|
// index.ts
|
|
573
573
|
var index_exports = {};
|
|
574
574
|
__export(index_exports, {
|
|
575
|
+
Base64BinaryColumn: () => Base64BinaryColumn,
|
|
576
|
+
Base64BinaryTransformer: () => Base64BinaryTransformer,
|
|
575
577
|
BindingColumn: () => BindingColumn,
|
|
576
578
|
BindingValue: () => BindingValue,
|
|
577
579
|
BlankCursorPaginationReturnMessageDto: () => BlankCursorPaginationReturnMessageDto,
|
|
@@ -604,6 +606,7 @@ __export(index_exports, {
|
|
|
604
606
|
Inner: () => Inner,
|
|
605
607
|
IntColumn: () => IntColumn,
|
|
606
608
|
InternalColumn: () => InternalColumn,
|
|
609
|
+
IsBase64OrBinary: () => IsBase64OrBinary,
|
|
607
610
|
JsonColumn: () => JsonColumn,
|
|
608
611
|
NotChangeable: () => NotChangeable,
|
|
609
612
|
NotColumn: () => NotColumn,
|
|
@@ -617,6 +620,8 @@ __export(index_exports, {
|
|
|
617
620
|
PageSettingsDto: () => PageSettingsDto,
|
|
618
621
|
PickPipe: () => PickPipe,
|
|
619
622
|
QueryAnd: () => QueryAnd,
|
|
623
|
+
QueryBase64Equal: () => QueryBase64Equal,
|
|
624
|
+
QueryBase64NotEqual: () => QueryBase64NotEqual,
|
|
620
625
|
QueryColumn: () => QueryColumn,
|
|
621
626
|
QueryCondition: () => QueryCondition,
|
|
622
627
|
QueryEqual: () => QueryEqual,
|
|
@@ -660,8 +665,10 @@ __export(index_exports, {
|
|
|
660
665
|
applyQueryPropertyLike: () => applyQueryPropertyLike,
|
|
661
666
|
applyQueryPropertySearch: () => applyQueryPropertySearch,
|
|
662
667
|
applyQueryPropertyZeroNullable: () => applyQueryPropertyZeroNullable,
|
|
668
|
+
binaryToBuffer: () => binaryToBuffer,
|
|
663
669
|
createGetMutator: () => createGetMutator,
|
|
664
670
|
createQueryArrayify: () => createQueryArrayify,
|
|
671
|
+
createQueryBase64Operator: () => createQueryBase64Operator,
|
|
665
672
|
createQueryCondition: () => createQueryCondition,
|
|
666
673
|
createQueryOperator: () => createQueryOperator,
|
|
667
674
|
createQueryOperatorArrayify: () => createQueryOperatorArrayify,
|
|
@@ -669,7 +676,8 @@ __export(index_exports, {
|
|
|
669
676
|
getTransactionalEntityManagerProvider: () => getTransactionalEntityManagerProvider,
|
|
670
677
|
getTransactionalEntityManagerToken: () => getTransactionalEntityManagerToken,
|
|
671
678
|
getTransactionalRepositoryProvider: () => getTransactionalRepositoryProvider,
|
|
672
|
-
getTransactionalRepositoryToken: () => getTransactionalRepositoryToken
|
|
679
|
+
getTransactionalRepositoryToken: () => getTransactionalRepositoryToken,
|
|
680
|
+
isBinaryLike: () => isBinaryLike
|
|
673
681
|
});
|
|
674
682
|
module.exports = __toCommonJS(index_exports);
|
|
675
683
|
var import_reflect_metadata = require("reflect-metadata");
|
|
@@ -914,6 +922,40 @@ var GetMutatorJson = createGetMutator((s) => JSON.parse(s), {
|
|
|
914
922
|
example: `{"key1":"value1","key2":2,"key3":[1,2,3]}`
|
|
915
923
|
});
|
|
916
924
|
|
|
925
|
+
// src/utility/base64-binary.ts
|
|
926
|
+
function isBinaryLike(value) {
|
|
927
|
+
return Buffer.isBuffer(value) || value instanceof Uint8Array || value instanceof ArrayBuffer;
|
|
928
|
+
}
|
|
929
|
+
function binaryToBuffer(value) {
|
|
930
|
+
if (Buffer.isBuffer(value)) {
|
|
931
|
+
return value;
|
|
932
|
+
}
|
|
933
|
+
if (value instanceof Uint8Array) {
|
|
934
|
+
return Buffer.from(value.buffer, value.byteOffset, value.byteLength);
|
|
935
|
+
}
|
|
936
|
+
return Buffer.from(new Uint8Array(value));
|
|
937
|
+
}
|
|
938
|
+
var Base64BinaryTransformer = class {
|
|
939
|
+
to(entValue) {
|
|
940
|
+
if (entValue == null) {
|
|
941
|
+
return entValue;
|
|
942
|
+
}
|
|
943
|
+
if (isBinaryLike(entValue)) {
|
|
944
|
+
return binaryToBuffer(entValue);
|
|
945
|
+
}
|
|
946
|
+
return Buffer.from(String(entValue), "base64");
|
|
947
|
+
}
|
|
948
|
+
from(dbValue) {
|
|
949
|
+
if (dbValue == null) {
|
|
950
|
+
return dbValue;
|
|
951
|
+
}
|
|
952
|
+
if (isBinaryLike(dbValue)) {
|
|
953
|
+
return binaryToBuffer(dbValue).toString("base64");
|
|
954
|
+
}
|
|
955
|
+
return Buffer.from(String(dbValue)).toString("base64");
|
|
956
|
+
}
|
|
957
|
+
};
|
|
958
|
+
|
|
917
959
|
// src/decorators/property.ts
|
|
918
960
|
var NotRequiredButHasDefaultDec = () => Metadata.set(
|
|
919
961
|
"notRequiredButHasDefault",
|
|
@@ -1136,6 +1178,29 @@ var StringJsonColumn = createJsonColumnDef(
|
|
|
1136
1178
|
"text",
|
|
1137
1179
|
TypeTransformerString
|
|
1138
1180
|
);
|
|
1181
|
+
var IsBase64OrBinary = (validationOptions) => (0, import_class_validator3.ValidateBy)(
|
|
1182
|
+
{
|
|
1183
|
+
name: "isBase64OrBinary",
|
|
1184
|
+
validator: {
|
|
1185
|
+
validate: (value) => isBinaryLike(value) || typeof value === "string" && (0, import_class_validator3.isBase64)(value),
|
|
1186
|
+
defaultMessage: (0, import_class_validator3.buildMessage)(
|
|
1187
|
+
(eachPrefix) => `${eachPrefix}$property must be a base64 string or binary data (Buffer / Uint8Array / ArrayBuffer)`,
|
|
1188
|
+
validationOptions
|
|
1189
|
+
)
|
|
1190
|
+
}
|
|
1191
|
+
},
|
|
1192
|
+
validationOptions
|
|
1193
|
+
);
|
|
1194
|
+
var Base64BinaryColumn = (options = {}) => (0, import_nesties4.MergePropertyDecorators)([
|
|
1195
|
+
(0, import_typeorm.Column)(options.columnType || "bytea", {
|
|
1196
|
+
...columnDecoratorOptions(options),
|
|
1197
|
+
default: void 0,
|
|
1198
|
+
transformer: new Base64BinaryTransformer()
|
|
1199
|
+
}),
|
|
1200
|
+
IsBase64OrBinary(),
|
|
1201
|
+
validatorDecorator(options),
|
|
1202
|
+
swaggerDecorator(options, { type: String, format: "byte" })
|
|
1203
|
+
]);
|
|
1139
1204
|
var NotColumn = (options = {}, specials = {}) => (0, import_nesties4.MergePropertyDecorators)([
|
|
1140
1205
|
(0, import_class_transformer2.Exclude)(),
|
|
1141
1206
|
swaggerDecorator({
|
|
@@ -1359,6 +1424,21 @@ var createQueryOperatorArrayify = (operator, singleFallback) => createQueryArray
|
|
|
1359
1424
|
);
|
|
1360
1425
|
var QueryIn = createQueryOperatorArrayify("IN", "=");
|
|
1361
1426
|
var QueryNotIn = createQueryOperatorArrayify("NOT IN", "!=");
|
|
1427
|
+
var toBase64QueryBuffer = (value) => {
|
|
1428
|
+
if (value == null) {
|
|
1429
|
+
return value;
|
|
1430
|
+
}
|
|
1431
|
+
if (isBinaryLike(value)) {
|
|
1432
|
+
return binaryToBuffer(value);
|
|
1433
|
+
}
|
|
1434
|
+
return Buffer.from(String(value), "base64");
|
|
1435
|
+
};
|
|
1436
|
+
var createQueryBase64Operator = (operator) => (field) => QueryWrap((entityExpr, varExpr, info) => {
|
|
1437
|
+
info.mutateValue(toBase64QueryBuffer(info.value));
|
|
1438
|
+
return `${entityExpr} ${operator} ${varExpr}`;
|
|
1439
|
+
}, field);
|
|
1440
|
+
var QueryBase64Equal = createQueryBase64Operator("=");
|
|
1441
|
+
var QueryBase64NotEqual = createQueryBase64Operator("!=");
|
|
1362
1442
|
var QueryFullText = (options = {}) => {
|
|
1363
1443
|
const configurationName = options.parser ? `nicot_parser_${options.parser}` : options.configuration || "english";
|
|
1364
1444
|
const tsQueryFunction = options.tsQueryFunction || "websearch_to_tsquery";
|
|
@@ -2987,10 +3067,9 @@ function CrudService(entityClass, crudOptions = {}) {
|
|
|
2987
3067
|
|
|
2988
3068
|
// src/restful.ts
|
|
2989
3069
|
var import_common3 = require("@nestjs/common");
|
|
2990
|
-
var
|
|
3070
|
+
var import_nesties12 = require("nesties");
|
|
2991
3071
|
var import_swagger6 = require("@nestjs/swagger");
|
|
2992
3072
|
var import_lodash6 = __toESM(require("lodash"));
|
|
2993
|
-
var import_nesties14 = require("nesties");
|
|
2994
3073
|
|
|
2995
3074
|
// src/bases/base-restful-controller.ts
|
|
2996
3075
|
var RestfulMethods = [
|
|
@@ -3056,9 +3135,64 @@ var OmitTypeExclude = (cl, keys) => {
|
|
|
3056
3135
|
};
|
|
3057
3136
|
|
|
3058
3137
|
// src/utility/patch-column-in-get.ts
|
|
3059
|
-
var import_nesties12 = require("nesties");
|
|
3060
3138
|
var import_lodash5 = __toESM(require("lodash"));
|
|
3061
|
-
|
|
3139
|
+
|
|
3140
|
+
// src/utility/swagger-decorators.ts
|
|
3141
|
+
var DECORATORS_PREFIX = "swagger";
|
|
3142
|
+
var FALLBACK_DECORATORS = {
|
|
3143
|
+
API_OPERATION: `${DECORATORS_PREFIX}/apiOperation`,
|
|
3144
|
+
API_RESPONSE: `${DECORATORS_PREFIX}/apiResponse`,
|
|
3145
|
+
API_PRODUCES: `${DECORATORS_PREFIX}/apiProduces`,
|
|
3146
|
+
API_CONSUMES: `${DECORATORS_PREFIX}/apiConsumes`,
|
|
3147
|
+
API_TAGS: `${DECORATORS_PREFIX}/apiUseTags`,
|
|
3148
|
+
API_WEBHOOK: `${DECORATORS_PREFIX}/apiWebhook`,
|
|
3149
|
+
API_CALLBACKS: `${DECORATORS_PREFIX}/apiCallbacks`,
|
|
3150
|
+
API_PARAMETERS: `${DECORATORS_PREFIX}/apiParameters`,
|
|
3151
|
+
API_HEADERS: `${DECORATORS_PREFIX}/apiHeaders`,
|
|
3152
|
+
API_MODEL_PROPERTIES: `${DECORATORS_PREFIX}/apiModelProperties`,
|
|
3153
|
+
API_MODEL_PROPERTIES_ARRAY: `${DECORATORS_PREFIX}/apiModelPropertiesArray`,
|
|
3154
|
+
API_SECURITY: `${DECORATORS_PREFIX}/apiSecurity`,
|
|
3155
|
+
API_EXCLUDE_ENDPOINT: `${DECORATORS_PREFIX}/apiExcludeEndpoint`,
|
|
3156
|
+
API_INCLUDE_ENDPOINT: `${DECORATORS_PREFIX}/apiIncludeEndpoint`,
|
|
3157
|
+
API_EXCLUDE_CONTROLLER: `${DECORATORS_PREFIX}/apiExcludeController`,
|
|
3158
|
+
API_EXTRA_MODELS: `${DECORATORS_PREFIX}/apiExtraModels`,
|
|
3159
|
+
API_EXTENSION: `${DECORATORS_PREFIX}/apiExtension`,
|
|
3160
|
+
API_SCHEMA: `${DECORATORS_PREFIX}/apiSchema`,
|
|
3161
|
+
API_DEFAULT_GETTER: `${DECORATORS_PREFIX}/apiDefaultGetter`,
|
|
3162
|
+
API_LINK: `${DECORATORS_PREFIX}/apiLink`
|
|
3163
|
+
};
|
|
3164
|
+
function loadSwaggerDecorators() {
|
|
3165
|
+
try {
|
|
3166
|
+
const req = typeof require === "function" ? require : void 0;
|
|
3167
|
+
const decorators = req?.("@nestjs/swagger/dist/constants")?.DECORATORS;
|
|
3168
|
+
if (decorators) {
|
|
3169
|
+
return {
|
|
3170
|
+
...FALLBACK_DECORATORS,
|
|
3171
|
+
...decorators
|
|
3172
|
+
};
|
|
3173
|
+
}
|
|
3174
|
+
} catch {
|
|
3175
|
+
}
|
|
3176
|
+
return FALLBACK_DECORATORS;
|
|
3177
|
+
}
|
|
3178
|
+
var DECORATORS = loadSwaggerDecorators();
|
|
3179
|
+
|
|
3180
|
+
// src/utility/get-api-property.ts
|
|
3181
|
+
var getApiProperty = (cls, key) => {
|
|
3182
|
+
let proto = cls.prototype;
|
|
3183
|
+
while (proto && proto !== Object.prototype) {
|
|
3184
|
+
const meta = Reflect.getMetadata(
|
|
3185
|
+
DECORATORS.API_MODEL_PROPERTIES,
|
|
3186
|
+
proto,
|
|
3187
|
+
key
|
|
3188
|
+
);
|
|
3189
|
+
if (meta) return meta;
|
|
3190
|
+
proto = Object.getPrototypeOf(proto);
|
|
3191
|
+
}
|
|
3192
|
+
return {};
|
|
3193
|
+
};
|
|
3194
|
+
|
|
3195
|
+
// src/utility/patch-column-in-get.ts
|
|
3062
3196
|
var PatchColumnsInGet = (cl, originalCl = cl, fieldsToOmit = []) => {
|
|
3063
3197
|
const omit2 = new Set(fieldsToOmit);
|
|
3064
3198
|
const useCl = originalCl || cl;
|
|
@@ -3066,10 +3200,10 @@ var PatchColumnsInGet = (cl, originalCl = cl, fieldsToOmit = []) => {
|
|
|
3066
3200
|
(f) => !omit2.has(f)
|
|
3067
3201
|
);
|
|
3068
3202
|
for (const field of mutateFields) {
|
|
3069
|
-
const originalApiProp =
|
|
3203
|
+
const originalApiProp = getApiProperty(originalCl, field);
|
|
3070
3204
|
const info = reflector.get("getMutator", useCl, field);
|
|
3071
3205
|
Reflect.defineMetadata(
|
|
3072
|
-
|
|
3206
|
+
DECORATORS.API_MODEL_PROPERTIES,
|
|
3073
3207
|
{
|
|
3074
3208
|
...originalApiProp,
|
|
3075
3209
|
type: String,
|
|
@@ -3088,9 +3222,9 @@ var PatchColumnsInGet = (cl, originalCl = cl, fieldsToOmit = []) => {
|
|
|
3088
3222
|
mutateFields
|
|
3089
3223
|
);
|
|
3090
3224
|
for (const field of queryableFieldsRemaining) {
|
|
3091
|
-
const originalApiProp =
|
|
3225
|
+
const originalApiProp = getApiProperty(originalCl, field);
|
|
3092
3226
|
Reflect.defineMetadata(
|
|
3093
|
-
|
|
3227
|
+
DECORATORS.API_MODEL_PROPERTIES,
|
|
3094
3228
|
{
|
|
3095
3229
|
...originalApiProp,
|
|
3096
3230
|
default: void 0
|
|
@@ -3299,7 +3433,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3299
3433
|
]);
|
|
3300
3434
|
}
|
|
3301
3435
|
get createDto() {
|
|
3302
|
-
return (0,
|
|
3436
|
+
return (0, import_nesties12.RenameClass)(
|
|
3303
3437
|
OmitTypeExclude(this.entityClass, this.fieldsInCreateToOmit),
|
|
3304
3438
|
`Create${this.entityClassName}Dto`
|
|
3305
3439
|
);
|
|
@@ -3314,7 +3448,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3314
3448
|
]);
|
|
3315
3449
|
}
|
|
3316
3450
|
get updateDto() {
|
|
3317
|
-
return (0,
|
|
3451
|
+
return (0, import_nesties12.RenameClass)(
|
|
3318
3452
|
(0, import_swagger6.PartialType)(OmitTypeExclude(this.entityClass, this.fieldsInUpdateToOmit)),
|
|
3319
3453
|
`Update${this.entityClassName}Dto`
|
|
3320
3454
|
);
|
|
@@ -3329,7 +3463,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3329
3463
|
]);
|
|
3330
3464
|
}
|
|
3331
3465
|
get upsertDto() {
|
|
3332
|
-
return (0,
|
|
3466
|
+
return (0, import_nesties12.RenameClass)(
|
|
3333
3467
|
OmitTypeExclude(this.entityClass, this.fieldsInUpsertToOmit),
|
|
3334
3468
|
`Upsert${this.entityClassName}Dto`
|
|
3335
3469
|
);
|
|
@@ -3375,10 +3509,10 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3375
3509
|
if (this.options.skipNonQueryableFields) {
|
|
3376
3510
|
cl = (0, import_swagger6.PickType)(cl, this.queryableFields);
|
|
3377
3511
|
}
|
|
3378
|
-
return (0,
|
|
3512
|
+
return (0, import_nesties12.RenameClass)(cl, `Find${this.entityClassName}Dto`);
|
|
3379
3513
|
}
|
|
3380
3514
|
get findAllCursorPaginatedDto() {
|
|
3381
|
-
return (0,
|
|
3515
|
+
return (0, import_nesties12.RenameClass)(
|
|
3382
3516
|
(0, import_swagger6.IntersectionType)(
|
|
3383
3517
|
OmitTypeExclude(this.findAllDto, ["pageCount"]),
|
|
3384
3518
|
CursorPaginationDto
|
|
@@ -3406,7 +3540,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3406
3540
|
if (outputFieldsToOmit.has(relation.propertyName)) continue;
|
|
3407
3541
|
if (nonTransformableTypes.has(relation.propertyClass)) continue;
|
|
3408
3542
|
const replace = (useClass) => {
|
|
3409
|
-
const oldApiProperty =
|
|
3543
|
+
const oldApiProperty = getApiProperty(
|
|
3410
3544
|
this.entityClass,
|
|
3411
3545
|
relation.propertyName
|
|
3412
3546
|
);
|
|
@@ -3449,13 +3583,13 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3449
3583
|
"notRequiredButHasDefault"
|
|
3450
3584
|
).filter((f) => !outputFieldsToOmit.has(f));
|
|
3451
3585
|
for (const field of notRequiredButHasDefaultFields) {
|
|
3452
|
-
const oldApiProperty =
|
|
3586
|
+
const oldApiProperty = getApiProperty(resultDto, field);
|
|
3453
3587
|
(0, import_swagger6.ApiProperty)({
|
|
3454
3588
|
...oldApiProperty,
|
|
3455
3589
|
required: true
|
|
3456
3590
|
})(resultDto.prototype, field);
|
|
3457
3591
|
}
|
|
3458
|
-
const res = (0,
|
|
3592
|
+
const res = (0, import_nesties12.RenameClass)(
|
|
3459
3593
|
resultDto,
|
|
3460
3594
|
`${this.entityClassName}ResultDto`
|
|
3461
3595
|
);
|
|
@@ -3466,7 +3600,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3466
3600
|
return res;
|
|
3467
3601
|
}
|
|
3468
3602
|
get entityCreateResultDto() {
|
|
3469
|
-
return (0,
|
|
3603
|
+
return (0, import_nesties12.RenameClass)(
|
|
3470
3604
|
(0, import_swagger6.OmitType)(this.entityResultDto, [
|
|
3471
3605
|
...getTypeormRelations(this.entityClass).map(
|
|
3472
3606
|
(r) => r.propertyName
|
|
@@ -3481,7 +3615,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3481
3615
|
);
|
|
3482
3616
|
}
|
|
3483
3617
|
get entityUpsertResultDto() {
|
|
3484
|
-
return (0,
|
|
3618
|
+
return (0, import_nesties12.RenameClass)(
|
|
3485
3619
|
(0, import_swagger6.OmitType)(this.entityResultDto, [
|
|
3486
3620
|
...this.options.upsertIncludeRelations ? [] : getTypeormRelations(this.entityClass).map(
|
|
3487
3621
|
(r) => r.propertyName
|
|
@@ -3496,19 +3630,19 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3496
3630
|
);
|
|
3497
3631
|
}
|
|
3498
3632
|
get entityReturnMessageDto() {
|
|
3499
|
-
return (0,
|
|
3633
|
+
return (0, import_nesties12.ReturnMessageDto)(this.entityResultDto);
|
|
3500
3634
|
}
|
|
3501
3635
|
get entityCreateReturnMessageDto() {
|
|
3502
|
-
return (0,
|
|
3636
|
+
return (0, import_nesties12.ReturnMessageDto)(this.entityCreateResultDto);
|
|
3503
3637
|
}
|
|
3504
3638
|
get entityArrayReturnMessageDto() {
|
|
3505
|
-
return (0,
|
|
3639
|
+
return (0, import_nesties12.PaginatedReturnMessageDto)(this.entityResultDto);
|
|
3506
3640
|
}
|
|
3507
3641
|
get entityCursorPaginationReturnMessageDto() {
|
|
3508
3642
|
return CursorPaginationReturnMessageDto(this.entityResultDto);
|
|
3509
3643
|
}
|
|
3510
3644
|
get importReturnMessageDto() {
|
|
3511
|
-
return (0,
|
|
3645
|
+
return (0, import_nesties12.ReturnMessageDto)([ImportEntryDto(this.entityCreateResultDto)]);
|
|
3512
3646
|
}
|
|
3513
3647
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
3514
3648
|
get idType() {
|
|
@@ -3525,7 +3659,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3525
3659
|
}
|
|
3526
3660
|
}
|
|
3527
3661
|
create(extras = {}) {
|
|
3528
|
-
return (0,
|
|
3662
|
+
return (0, import_nesties12.MergeMethodDecorators)([
|
|
3529
3663
|
this.usePrefix(import_common3.Post, extras.prefix),
|
|
3530
3664
|
(0, import_common3.HttpCode)(200),
|
|
3531
3665
|
(0, import_swagger6.ApiOperation)({
|
|
@@ -3534,11 +3668,11 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3534
3668
|
}),
|
|
3535
3669
|
(0, import_swagger6.ApiBody)({ type: this.createDto }),
|
|
3536
3670
|
(0, import_swagger6.ApiOkResponse)({ type: this.entityCreateReturnMessageDto }),
|
|
3537
|
-
(0,
|
|
3671
|
+
(0, import_nesties12.ApiError)(400, `The ${this.entityClassName} is not valid`)
|
|
3538
3672
|
]);
|
|
3539
3673
|
}
|
|
3540
3674
|
createParam() {
|
|
3541
|
-
return (0, import_common3.Body)((0,
|
|
3675
|
+
return (0, import_common3.Body)((0, import_nesties12.DataPipe)(), OmitPipe(this.fieldsInCreateToOmit));
|
|
3542
3676
|
}
|
|
3543
3677
|
isUpsertable() {
|
|
3544
3678
|
return !!reflector.get("upsertableEntity", this.entityClass);
|
|
@@ -3549,7 +3683,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3549
3683
|
`Entity ${this.entityClass.name} is not upsertable. Please define at least one UpsertColumn or BindingColumn, and set @UpsertableEntity() decorator.`
|
|
3550
3684
|
);
|
|
3551
3685
|
}
|
|
3552
|
-
return (0,
|
|
3686
|
+
return (0, import_nesties12.MergeMethodDecorators)([
|
|
3553
3687
|
this.usePrefix(import_common3.Put, extras.prefix),
|
|
3554
3688
|
(0, import_common3.HttpCode)(200),
|
|
3555
3689
|
(0, import_swagger6.ApiOperation)({
|
|
@@ -3558,14 +3692,14 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3558
3692
|
}),
|
|
3559
3693
|
(0, import_swagger6.ApiBody)({ type: this.upsertDto }),
|
|
3560
3694
|
(0, import_swagger6.ApiOkResponse)({ type: this.entityUpsertResultDto }),
|
|
3561
|
-
(0,
|
|
3695
|
+
(0, import_nesties12.ApiError)(400, `The ${this.entityClassName} is not valid`)
|
|
3562
3696
|
]);
|
|
3563
3697
|
}
|
|
3564
3698
|
upsertParam() {
|
|
3565
|
-
return (0, import_common3.Body)((0,
|
|
3699
|
+
return (0, import_common3.Body)((0, import_nesties12.DataPipe)(), OmitPipe(this.fieldsInUpsertToOmit));
|
|
3566
3700
|
}
|
|
3567
3701
|
findOne(extras = {}) {
|
|
3568
|
-
return (0,
|
|
3702
|
+
return (0, import_nesties12.MergeMethodDecorators)([
|
|
3569
3703
|
this.usePrefix(import_common3.Get, extras.prefix, ":id"),
|
|
3570
3704
|
(0, import_swagger6.ApiOperation)({
|
|
3571
3705
|
summary: `Find a ${this.entityClassName} by id`,
|
|
@@ -3573,7 +3707,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3573
3707
|
}),
|
|
3574
3708
|
(0, import_swagger6.ApiParam)({ name: "id", type: this.idType, required: true }),
|
|
3575
3709
|
(0, import_swagger6.ApiOkResponse)({ type: this.entityReturnMessageDto }),
|
|
3576
|
-
(0,
|
|
3710
|
+
(0, import_nesties12.ApiError)(
|
|
3577
3711
|
404,
|
|
3578
3712
|
`The ${this.entityClassName} with the given id was not found`
|
|
3579
3713
|
)
|
|
@@ -3587,7 +3721,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3587
3721
|
}
|
|
3588
3722
|
}
|
|
3589
3723
|
findAll(extras = {}) {
|
|
3590
|
-
return (0,
|
|
3724
|
+
return (0, import_nesties12.MergeMethodDecorators)([
|
|
3591
3725
|
this.usePrefix(import_common3.Get, extras.prefix),
|
|
3592
3726
|
(0, import_swagger6.ApiOperation)({
|
|
3593
3727
|
summary: `Find all ${this.entityClassName}`,
|
|
@@ -3597,7 +3731,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3597
3731
|
]);
|
|
3598
3732
|
}
|
|
3599
3733
|
findAllCursorPaginated(extras = {}) {
|
|
3600
|
-
return (0,
|
|
3734
|
+
return (0, import_nesties12.MergeMethodDecorators)([
|
|
3601
3735
|
this.usePrefix(import_common3.Get, extras.prefix),
|
|
3602
3736
|
(0, import_swagger6.ApiOperation)({
|
|
3603
3737
|
summary: `Find all ${this.entityClassName}`,
|
|
@@ -3623,7 +3757,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3623
3757
|
}
|
|
3624
3758
|
}
|
|
3625
3759
|
update(extras = {}) {
|
|
3626
|
-
return (0,
|
|
3760
|
+
return (0, import_nesties12.MergeMethodDecorators)([
|
|
3627
3761
|
this.usePrefix(import_common3.Patch, extras.prefix, ":id"),
|
|
3628
3762
|
(0, import_common3.HttpCode)(200),
|
|
3629
3763
|
(0, import_swagger6.ApiOperation)({
|
|
@@ -3632,20 +3766,20 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3632
3766
|
}),
|
|
3633
3767
|
(0, import_swagger6.ApiParam)({ name: "id", type: this.idType, required: true }),
|
|
3634
3768
|
(0, import_swagger6.ApiBody)({ type: this.updateDto }),
|
|
3635
|
-
(0,
|
|
3636
|
-
(0,
|
|
3769
|
+
(0, import_nesties12.ApiBlankResponse)(),
|
|
3770
|
+
(0, import_nesties12.ApiError)(
|
|
3637
3771
|
404,
|
|
3638
3772
|
`The ${this.entityClassName} with the given id was not found`
|
|
3639
3773
|
),
|
|
3640
|
-
(0,
|
|
3641
|
-
(0,
|
|
3774
|
+
(0, import_nesties12.ApiError)(400, `The ${this.entityClassName} is not valid`),
|
|
3775
|
+
(0, import_nesties12.ApiError)(500, "Internal error")
|
|
3642
3776
|
]);
|
|
3643
3777
|
}
|
|
3644
3778
|
updateParam() {
|
|
3645
3779
|
return (0, import_common3.Body)(OptionalDataPipe(), OmitPipe(this.fieldsInUpdateToOmit));
|
|
3646
3780
|
}
|
|
3647
3781
|
delete(extras = {}) {
|
|
3648
|
-
return (0,
|
|
3782
|
+
return (0, import_nesties12.MergeMethodDecorators)([
|
|
3649
3783
|
this.usePrefix(import_common3.Delete, extras.prefix, ":id"),
|
|
3650
3784
|
(0, import_common3.HttpCode)(200),
|
|
3651
3785
|
(0, import_swagger6.ApiOperation)({
|
|
@@ -3653,16 +3787,16 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3653
3787
|
...import_lodash6.default.omit(extras, "prefix")
|
|
3654
3788
|
}),
|
|
3655
3789
|
(0, import_swagger6.ApiParam)({ name: "id", type: this.idType, required: true }),
|
|
3656
|
-
(0,
|
|
3657
|
-
(0,
|
|
3790
|
+
(0, import_nesties12.ApiBlankResponse)(),
|
|
3791
|
+
(0, import_nesties12.ApiError)(
|
|
3658
3792
|
404,
|
|
3659
3793
|
`The ${this.entityClassName} with the given id was not found`
|
|
3660
3794
|
),
|
|
3661
|
-
(0,
|
|
3795
|
+
(0, import_nesties12.ApiError)(500, "Internal error")
|
|
3662
3796
|
]);
|
|
3663
3797
|
}
|
|
3664
3798
|
import(extras = {}) {
|
|
3665
|
-
return (0,
|
|
3799
|
+
return (0, import_nesties12.MergeMethodDecorators)([
|
|
3666
3800
|
this.usePrefix(import_common3.Post, extras.prefix, "import"),
|
|
3667
3801
|
(0, import_common3.HttpCode)(200),
|
|
3668
3802
|
(0, import_swagger6.ApiOperation)({
|
|
@@ -3671,19 +3805,19 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3671
3805
|
}),
|
|
3672
3806
|
(0, import_swagger6.ApiBody)({ type: this.importDto }),
|
|
3673
3807
|
(0, import_swagger6.ApiOkResponse)({ type: this.importReturnMessageDto }),
|
|
3674
|
-
(0,
|
|
3808
|
+
(0, import_nesties12.ApiError)(500, "Internal error")
|
|
3675
3809
|
]);
|
|
3676
3810
|
}
|
|
3677
3811
|
operation(operationName, options = {}) {
|
|
3678
|
-
return (0,
|
|
3812
|
+
return (0, import_nesties12.MergeMethodDecorators)([
|
|
3679
3813
|
this.usePrefix(import_common3.Post, options.prefix, ":id", operationName),
|
|
3680
3814
|
(0, import_common3.HttpCode)(200),
|
|
3681
3815
|
(0, import_swagger6.ApiOperation)({
|
|
3682
3816
|
summary: `${(0, import_lodash6.upperFirst)(operationName)} a ${this.entityClassName} by id`,
|
|
3683
3817
|
...import_lodash6.default.omit(options, "prefix", "returnType")
|
|
3684
3818
|
}),
|
|
3685
|
-
options.returnType ? (0,
|
|
3686
|
-
(0,
|
|
3819
|
+
options.returnType ? (0, import_nesties12.ApiTypeResponse)(options.returnType) : (0, import_nesties12.ApiBlankResponse)(),
|
|
3820
|
+
(0, import_nesties12.ApiError)(
|
|
3687
3821
|
404,
|
|
3688
3822
|
`The ${this.entityClassName} with the given id pessimistic_write`
|
|
3689
3823
|
)
|
|
@@ -3808,7 +3942,7 @@ var _RestfulFactory = class _RestfulFactory {
|
|
|
3808
3942
|
Object.defineProperty(cl.prototype, method, descriptor);
|
|
3809
3943
|
});
|
|
3810
3944
|
}
|
|
3811
|
-
return (0,
|
|
3945
|
+
return (0, import_nesties12.RenameClass)(cl, `${this.entityClassName}Controller`);
|
|
3812
3946
|
}
|
|
3813
3947
|
crudService(options = {}) {
|
|
3814
3948
|
const keysToMigrate = [
|
|
@@ -3889,7 +4023,7 @@ __decorateClass([
|
|
|
3889
4023
|
var RestfulFactory = _RestfulFactory;
|
|
3890
4024
|
|
|
3891
4025
|
// src/utility/query.ts
|
|
3892
|
-
var
|
|
4026
|
+
var import_nesties13 = require("nesties");
|
|
3893
4027
|
function createQueryCondition(cond) {
|
|
3894
4028
|
return (obj, qb, entityName, ...fields) => {
|
|
3895
4029
|
for (const field of fields) {
|
|
@@ -3933,7 +4067,7 @@ var applyQueryPropertyZeroNullable = createQueryCondition(
|
|
|
3933
4067
|
);
|
|
3934
4068
|
var applyQueryMatchBoolean = createQueryCondition(
|
|
3935
4069
|
(obj, qb, entityName, field) => {
|
|
3936
|
-
const value = (0,
|
|
4070
|
+
const value = (0, import_nesties13.parseBool)(obj[field]);
|
|
3937
4071
|
if (value === true) {
|
|
3938
4072
|
qb.andWhere(`${entityName}.${field} = TRUE`);
|
|
3939
4073
|
}
|
|
@@ -3944,7 +4078,7 @@ var applyQueryMatchBoolean = createQueryCondition(
|
|
|
3944
4078
|
);
|
|
3945
4079
|
var applyQueryMatchBooleanMySQL = createQueryCondition(
|
|
3946
4080
|
(obj, qb, entityName, field) => {
|
|
3947
|
-
const value = (0,
|
|
4081
|
+
const value = (0, import_nesties13.parseBool)(obj[field]);
|
|
3948
4082
|
if (value === true) {
|
|
3949
4083
|
qb.andWhere(`${entityName}.${field} = 1`);
|
|
3950
4084
|
}
|
|
@@ -3958,7 +4092,7 @@ var applyQueryMatchBooleanMySQL = createQueryCondition(
|
|
|
3958
4092
|
var import_typeorm9 = __toESM(require_typeorm());
|
|
3959
4093
|
var import_typeorm10 = require("typeorm");
|
|
3960
4094
|
var import_common5 = require("@nestjs/common");
|
|
3961
|
-
var
|
|
4095
|
+
var import_nesties14 = require("nesties");
|
|
3962
4096
|
var import_core = require("@nestjs/core");
|
|
3963
4097
|
|
|
3964
4098
|
// src/utility/create-dynamic-fetcher-proxy.ts
|
|
@@ -4070,7 +4204,7 @@ var TransactionalTypeOrmInterceptor = (dataSource) => {
|
|
|
4070
4204
|
return interceptorClass;
|
|
4071
4205
|
};
|
|
4072
4206
|
var getTransactionalEntityManagerToken = (dataSource) => `Transactional${normalizeDataSourceToken((0, import_typeorm9.getEntityManagerToken)(dataSource))}`;
|
|
4073
|
-
var getTransactionalEntityManagerProvider = (dataSource) => (0,
|
|
4207
|
+
var getTransactionalEntityManagerProvider = (dataSource) => (0, import_nesties14.createProvider)(
|
|
4074
4208
|
{
|
|
4075
4209
|
provide: getTransactionalEntityManagerToken(dataSource),
|
|
4076
4210
|
inject: [(0, import_typeorm9.getEntityManagerToken)(dataSource), import_core.REQUEST],
|
|
@@ -4092,7 +4226,7 @@ var InjectTransactionalEntityManager = createInjectFromTokenFactory(
|
|
|
4092
4226
|
var getTransactionalRepositoryToken = (entity, dataSource) => `Transactional${normalizeDataSourceToken(
|
|
4093
4227
|
(0, import_typeorm9.getEntityManagerToken)(dataSource)
|
|
4094
4228
|
)}Repository_${entity.name || entity.toString()}`;
|
|
4095
|
-
var getTransactionalRepositoryProvider = (entity, dataSource) => (0,
|
|
4229
|
+
var getTransactionalRepositoryProvider = (entity, dataSource) => (0, import_nesties14.createProvider)(
|
|
4096
4230
|
{
|
|
4097
4231
|
provide: getTransactionalRepositoryToken(entity, dataSource),
|
|
4098
4232
|
inject: [(0, import_typeorm9.getEntityManagerToken)(dataSource), import_core.REQUEST],
|
|
@@ -4139,6 +4273,8 @@ TransactionalTypeOrmModule = __decorateClass([
|
|
|
4139
4273
|
], TransactionalTypeOrmModule);
|
|
4140
4274
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4141
4275
|
0 && (module.exports = {
|
|
4276
|
+
Base64BinaryColumn,
|
|
4277
|
+
Base64BinaryTransformer,
|
|
4142
4278
|
BindingColumn,
|
|
4143
4279
|
BindingValue,
|
|
4144
4280
|
BlankCursorPaginationReturnMessageDto,
|
|
@@ -4171,6 +4307,7 @@ TransactionalTypeOrmModule = __decorateClass([
|
|
|
4171
4307
|
Inner,
|
|
4172
4308
|
IntColumn,
|
|
4173
4309
|
InternalColumn,
|
|
4310
|
+
IsBase64OrBinary,
|
|
4174
4311
|
JsonColumn,
|
|
4175
4312
|
NotChangeable,
|
|
4176
4313
|
NotColumn,
|
|
@@ -4184,6 +4321,8 @@ TransactionalTypeOrmModule = __decorateClass([
|
|
|
4184
4321
|
PageSettingsDto,
|
|
4185
4322
|
PickPipe,
|
|
4186
4323
|
QueryAnd,
|
|
4324
|
+
QueryBase64Equal,
|
|
4325
|
+
QueryBase64NotEqual,
|
|
4187
4326
|
QueryColumn,
|
|
4188
4327
|
QueryCondition,
|
|
4189
4328
|
QueryEqual,
|
|
@@ -4227,8 +4366,10 @@ TransactionalTypeOrmModule = __decorateClass([
|
|
|
4227
4366
|
applyQueryPropertyLike,
|
|
4228
4367
|
applyQueryPropertySearch,
|
|
4229
4368
|
applyQueryPropertyZeroNullable,
|
|
4369
|
+
binaryToBuffer,
|
|
4230
4370
|
createGetMutator,
|
|
4231
4371
|
createQueryArrayify,
|
|
4372
|
+
createQueryBase64Operator,
|
|
4232
4373
|
createQueryCondition,
|
|
4233
4374
|
createQueryOperator,
|
|
4234
4375
|
createQueryOperatorArrayify,
|
|
@@ -4237,6 +4378,7 @@ TransactionalTypeOrmModule = __decorateClass([
|
|
|
4237
4378
|
getTransactionalEntityManagerToken,
|
|
4238
4379
|
getTransactionalRepositoryProvider,
|
|
4239
4380
|
getTransactionalRepositoryToken,
|
|
4381
|
+
isBinaryLike,
|
|
4240
4382
|
...require("nesties")
|
|
4241
4383
|
});
|
|
4242
4384
|
//# sourceMappingURL=index.cjs.map
|