@bts-soft/core 2.1.1 → 2.1.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/package.json +2 -2
- package/dist/cache/src/index.d.ts +0 -8
- package/dist/cache/src/index.js +0 -25
- package/dist/cache/src/index.js.map +0 -1
- package/dist/cache/src/redis/config/redisConfig.service.d.ts +0 -4
- package/dist/cache/src/redis/config/redisConfig.service.js +0 -33
- package/dist/cache/src/redis/config/redisConfig.service.js.map +0 -1
- package/dist/cache/src/redis/constant/redis.constant.d.ts +0 -2
- package/dist/cache/src/redis/constant/redis.constant.js +0 -5
- package/dist/cache/src/redis/constant/redis.constant.js.map +0 -1
- package/dist/cache/src/redis/factory/redisClient.factory.d.ts +0 -2
- package/dist/cache/src/redis/factory/redisClient.factory.js +0 -47
- package/dist/cache/src/redis/factory/redisClient.factory.js.map +0 -1
- package/dist/cache/src/redis/interface/redis.interface.d.ts +0 -111
- package/dist/cache/src/redis/interface/redis.interface.js +0 -3
- package/dist/cache/src/redis/interface/redis.interface.js.map +0 -1
- package/dist/cache/src/redis/provider/redisService.provider.d.ts +0 -2
- package/dist/cache/src/redis/provider/redisService.provider.js +0 -12
- package/dist/cache/src/redis/provider/redisService.provider.js.map +0 -1
- package/dist/cache/src/redis/redis.health.d.ts +0 -7
- package/dist/cache/src/redis/redis.health.js +0 -38
- package/dist/cache/src/redis/redis.health.js.map +0 -1
- package/dist/cache/src/redis/redis.module.d.ts +0 -2
- package/dist/cache/src/redis/redis.module.js +0 -39
- package/dist/cache/src/redis/redis.module.js.map +0 -1
- package/dist/cache/src/redis/redis.service.d.ts +0 -119
- package/dist/cache/src/redis/redis.service.js +0 -571
- package/dist/cache/src/redis/redis.service.js.map +0 -1
- package/dist/core/src/index.d.ts +0 -5
- package/dist/core/src/index.js +0 -22
- package/dist/core/src/index.js.map +0 -1
- package/dist/mail-queue/src/email.module.d.ts +0 -2
- package/dist/mail-queue/src/email.module.js +0 -40
- package/dist/mail-queue/src/email.module.js.map +0 -1
- package/dist/mail-queue/src/index.d.ts +0 -8
- package/dist/mail-queue/src/index.js +0 -25
- package/dist/mail-queue/src/index.js.map +0 -1
- package/dist/mail-queue/src/interfaces/IemailStrategy.interface.d.ts +0 -3
- package/dist/mail-queue/src/interfaces/IemailStrategy.interface.js +0 -3
- package/dist/mail-queue/src/interfaces/IemailStrategy.interface.js.map +0 -1
- package/dist/mail-queue/src/interfaces/iEmailObserver.interface.d.ts +0 -4
- package/dist/mail-queue/src/interfaces/iEmailObserver.interface.js +0 -3
- package/dist/mail-queue/src/interfaces/iEmailObserver.interface.js.map +0 -1
- package/dist/mail-queue/src/observer/email.observer.d.ts +0 -5
- package/dist/mail-queue/src/observer/email.observer.js +0 -13
- package/dist/mail-queue/src/observer/email.observer.js.map +0 -1
- package/dist/mail-queue/src/processor/email.processing.d.ts +0 -8
- package/dist/mail-queue/src/processor/email.processing.js +0 -44
- package/dist/mail-queue/src/processor/email.processing.js.map +0 -1
- package/dist/mail-queue/src/provider/mailer.provider.d.ts +0 -5
- package/dist/mail-queue/src/provider/mailer.provider.js +0 -32
- package/dist/mail-queue/src/provider/mailer.provider.js.map +0 -1
- package/dist/mail-queue/src/sendemail.service.d.ts +0 -11
- package/dist/mail-queue/src/sendemail.service.js +0 -52
- package/dist/mail-queue/src/sendemail.service.js.map +0 -1
- package/dist/mail-queue/src/strategy/email.strategy.d.ts +0 -6
- package/dist/mail-queue/src/strategy/email.strategy.js +0 -18
- package/dist/mail-queue/src/strategy/email.strategy.js.map +0 -1
- package/dist/upload/src/index.d.ts +0 -19
- package/dist/upload/src/index.js +0 -36
- package/dist/upload/src/index.js.map +0 -1
- package/dist/upload/src/upload/commands/deleteImage.command.d.ts +0 -8
- package/dist/upload/src/upload/commands/deleteImage.command.js +0 -14
- package/dist/upload/src/upload/commands/deleteImage.command.js.map +0 -1
- package/dist/upload/src/upload/commands/deleteVideo.command.d.ts +0 -9
- package/dist/upload/src/upload/commands/deleteVideo.command.js +0 -15
- package/dist/upload/src/upload/commands/deleteVideo.command.js.map +0 -1
- package/dist/upload/src/upload/commands/uploadImage.command.d.ts +0 -9
- package/dist/upload/src/upload/commands/uploadImage.command.js +0 -15
- package/dist/upload/src/upload/commands/uploadImage.command.js.map +0 -1
- package/dist/upload/src/upload/commands/uploadVideo.command.d.ts +0 -9
- package/dist/upload/src/upload/commands/uploadVideo.command.js +0 -15
- package/dist/upload/src/upload/commands/uploadVideo.command.js.map +0 -1
- package/dist/upload/src/upload/config/cloudinary.d.ts +0 -6
- package/dist/upload/src/upload/config/cloudinary.js +0 -19
- package/dist/upload/src/upload/config/cloudinary.js.map +0 -1
- package/dist/upload/src/upload/dtos/createImage.dto.d.ts +0 -6
- package/dist/upload/src/upload/dtos/createImage.dto.js +0 -41
- package/dist/upload/src/upload/dtos/createImage.dto.js.map +0 -1
- package/dist/upload/src/upload/dtos/createVideo.dto.d.ts +0 -6
- package/dist/upload/src/upload/dtos/createVideo.dto.js +0 -40
- package/dist/upload/src/upload/dtos/createVideo.dto.js.map +0 -1
- package/dist/upload/src/upload/dtos/fileUpload.d.ts +0 -7
- package/dist/upload/src/upload/dtos/fileUpload.js +0 -3
- package/dist/upload/src/upload/dtos/fileUpload.js.map +0 -1
- package/dist/upload/src/upload/factories/upload.factory.d.ts +0 -4
- package/dist/upload/src/upload/factories/upload.factory.js +0 -11
- package/dist/upload/src/upload/factories/upload.factory.js.map +0 -1
- package/dist/upload/src/upload/graphql/main.graphql.d.ts +0 -2
- package/dist/upload/src/upload/graphql/main.graphql.js +0 -8
- package/dist/upload/src/upload/graphql/main.graphql.js.map +0 -1
- package/dist/upload/src/upload/interfaces/IDaeleteStrategy.interface.d.ts +0 -3
- package/dist/upload/src/upload/interfaces/IDaeleteStrategy.interface.js +0 -3
- package/dist/upload/src/upload/interfaces/IDaeleteStrategy.interface.js.map +0 -1
- package/dist/upload/src/upload/interfaces/IUpload.interface.d.ts +0 -3
- package/dist/upload/src/upload/interfaces/IUpload.interface.js +0 -3
- package/dist/upload/src/upload/interfaces/IUpload.interface.js.map +0 -1
- package/dist/upload/src/upload/interfaces/IUploadCommand.interface.d.ts +0 -3
- package/dist/upload/src/upload/interfaces/IUploadCommand.interface.js +0 -3
- package/dist/upload/src/upload/interfaces/IUploadCommand.interface.js.map +0 -1
- package/dist/upload/src/upload/interfaces/IUploadObserver.interface.d.ts +0 -6
- package/dist/upload/src/upload/interfaces/IUploadObserver.interface.js +0 -3
- package/dist/upload/src/upload/interfaces/IUploadObserver.interface.js.map +0 -1
- package/dist/upload/src/upload/observer/upload.observer.d.ts +0 -7
- package/dist/upload/src/upload/observer/upload.observer.js +0 -19
- package/dist/upload/src/upload/observer/upload.observer.js.map +0 -1
- package/dist/upload/src/upload/rest.controller.d.ts +0 -13
- package/dist/upload/src/upload/rest.controller.js +0 -94
- package/dist/upload/src/upload/rest.controller.js.map +0 -1
- package/dist/upload/src/upload/strategies/delete.strategy.d.ts +0 -6
- package/dist/upload/src/upload/strategies/delete.strategy.js +0 -15
- package/dist/upload/src/upload/strategies/delete.strategy.js.map +0 -1
- package/dist/upload/src/upload/strategies/upload.strategy.d.ts +0 -6
- package/dist/upload/src/upload/strategies/upload.strategy.js +0 -21
- package/dist/upload/src/upload/strategies/upload.strategy.js.map +0 -1
- package/dist/upload/src/upload/upload.module.d.ts +0 -2
- package/dist/upload/src/upload/upload.module.js +0 -21
- package/dist/upload/src/upload/upload.module.js.map +0 -1
- package/dist/upload/src/upload/upload.service.d.ts +0 -27
- package/dist/upload/src/upload/upload.service.js +0 -161
- package/dist/upload/src/upload/upload.service.js.map +0 -1
- package/dist/validation/src/decorators/CapitalField.decorator.d.ts +0 -1
- package/dist/validation/src/decorators/CapitalField.decorator.js +0 -23
- package/dist/validation/src/decorators/CapitalField.decorator.js.map +0 -1
- package/dist/validation/src/decorators/EmailField.decorator.d.ts +0 -1
- package/dist/validation/src/decorators/EmailField.decorator.js +0 -17
- package/dist/validation/src/decorators/EmailField.decorator.js.map +0 -1
- package/dist/validation/src/decorators/IdValidate.decorator.d.ts +0 -1
- package/dist/validation/src/decorators/IdValidate.decorator.js +0 -19
- package/dist/validation/src/decorators/IdValidate.decorator.js.map +0 -1
- package/dist/validation/src/decorators/PasswordField.decorator.d.ts +0 -2
- package/dist/validation/src/decorators/PasswordField.decorator.js +0 -20
- package/dist/validation/src/decorators/PasswordField.decorator.js.map +0 -1
- package/dist/validation/src/decorators/PhoneField.decorator.d.ts +0 -3
- package/dist/validation/src/decorators/PhoneField.decorator.js +0 -21
- package/dist/validation/src/decorators/PhoneField.decorator.js.map +0 -1
- package/dist/validation/src/decorators/TextField.decorator.d.ts +0 -1
- package/dist/validation/src/decorators/TextField.decorator.js +0 -23
- package/dist/validation/src/decorators/TextField.decorator.js.map +0 -1
- package/dist/validation/src/decorators/nationalId.decorator.d.ts +0 -2
- package/dist/validation/src/decorators/nationalId.decorator.js +0 -24
- package/dist/validation/src/decorators/nationalId.decorator.js.map +0 -1
- package/dist/validation/src/index.d.ts +0 -10
- package/dist/validation/src/index.js +0 -27
- package/dist/validation/src/index.js.map +0 -1
- package/dist/validation/src/regex/SQL_INJECTION_REGEX.d.ts +0 -1
- package/dist/validation/src/regex/SQL_INJECTION_REGEX.js +0 -5
- package/dist/validation/src/regex/SQL_INJECTION_REGEX.js.map +0 -1
- package/dist/validation/src/utility/WordsTransform.decorator.d.ts +0 -2
- package/dist/validation/src/utility/WordsTransform.decorator.js +0 -19
- package/dist/validation/src/utility/WordsTransform.decorator.js.map +0 -1
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CapitalTextField = CapitalTextField;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
6
|
-
const class_validator_1 = require("class-validator");
|
|
7
|
-
const class_transformer_1 = require("class-transformer");
|
|
8
|
-
const WordsTransform_decorator_1 = require("../utility/WordsTransform.decorator");
|
|
9
|
-
const SQL_INJECTION_REGEX_1 = require("../regex/SQL_INJECTION_REGEX");
|
|
10
|
-
function CapitalTextField(text, min = 1, max = 255, nullable = false, isGraphql = true) {
|
|
11
|
-
const message = `${text} must be between ${min} and ${max} characters`;
|
|
12
|
-
const graphQLDecorators = isGraphql
|
|
13
|
-
? [(0, graphql_1.Field)(() => String, { nullable })]
|
|
14
|
-
: [];
|
|
15
|
-
return (0, common_1.applyDecorators)(...graphQLDecorators, (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)({ message }), (0, class_validator_1.Matches)(/^[A-Za-z\s]+$/, {
|
|
16
|
-
message: `${text} must contain only letters (no numbers or symbols)`,
|
|
17
|
-
}), (0, class_validator_1.Length)(min, max, {
|
|
18
|
-
message,
|
|
19
|
-
}), (0, class_validator_1.Matches)(SQL_INJECTION_REGEX_1.SQL_INJECTION_REGEX, {
|
|
20
|
-
message: `${text} contains forbidden SQL keywords or patterns`,
|
|
21
|
-
}), (0, class_transformer_1.Transform)(({ value }) => (0, WordsTransform_decorator_1.CapitalizeWords)(value)));
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=CapitalField.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CapitalField.decorator.js","sourceRoot":"","sources":["../../../../../validation/src/decorators/CapitalField.decorator.ts"],"names":[],"mappings":";;AAoBA,4CAoCC;AAxDD,2CAAiD;AACjD,6CAAwC;AACxC,qDAAwE;AACxE,yDAA8C;AAE9C,kFAAsE;AACtE,sEAAmE;AAcnE,SAAgB,gBAAgB,CAC9B,IAAY,EACZ,GAAG,GAAG,CAAC,EACP,GAAG,GAAG,GAAG,EACT,WAAoB,KAAK,EACzB,YAAqB,IAAI;IAEzB,MAAM,OAAO,GAAG,GAAG,IAAI,oBAAoB,GAAG,QAAQ,GAAG,aAAa,CAAC;IAGvE,MAAM,iBAAiB,GAAG,SAAS;QACjC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,IAAA,wBAAe,EAEpB,GAAG,iBAAiB,EAGpB,IAAA,4BAAU,GAAE,EACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,EACrB,IAAA,yBAAO,EAAC,eAAe,EAAE;QACvB,OAAO,EAAE,GAAG,IAAI,oDAAoD;KACrE,CAAC,EACF,IAAA,wBAAM,EAAC,GAAG,EAAE,GAAG,EAAE;QACf,OAAO;KACR,CAAC,EACF,IAAA,yBAAO,EACL,yCAAmB,EACnB;QACE,OAAO,EAAE,GAAG,IAAI,8CAA8C;KAC/D,CACF,EAED,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAA,0CAAe,EAAC,KAAK,CAAC,CAAC,CACjD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function EmailField(nullable?: boolean, isGraphql?: boolean): PropertyDecorator;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EmailField = EmailField;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
6
|
-
const class_transformer_1 = require("class-transformer");
|
|
7
|
-
const class_validator_1 = require("class-validator");
|
|
8
|
-
const SQL_INJECTION_REGEX_1 = require("../regex/SQL_INJECTION_REGEX");
|
|
9
|
-
function EmailField(nullable = false, isGraphql = true) {
|
|
10
|
-
const graphQLDecorators = isGraphql
|
|
11
|
-
? [(0, graphql_1.Field)(() => String, { nullable })]
|
|
12
|
-
: [];
|
|
13
|
-
return (0, common_1.applyDecorators)(...graphQLDecorators, (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsEmail)({}, { message: 'Must be a valid email address' }), (0, class_validator_1.Matches)(SQL_INJECTION_REGEX_1.SQL_INJECTION_REGEX, {
|
|
14
|
-
message: 'Email contains forbidden SQL keywords or patterns',
|
|
15
|
-
}), (0, class_transformer_1.Transform)(({ value }) => value?.toLowerCase()));
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=EmailField.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmailField.decorator.js","sourceRoot":"","sources":["../../../../../validation/src/decorators/EmailField.decorator.ts"],"names":[],"mappings":";;AAmBA,gCA8BC;AAjDD,2CAAiD;AACjD,6CAAwC;AACxC,yDAA8C;AAC9C,qDAIyB;AACzB,sEAAmE;AAWnE,SAAgB,UAAU,CACxB,WAAoB,KAAK,EACzB,YAAqB,IAAI;IAIzB,MAAM,iBAAiB,GAAG,SAAS;QACjC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,IAAA,wBAAe,EAEpB,GAAG,iBAAiB,EAGpB,IAAA,4BAAU,GAAE,EAEZ,IAAA,yBAAO,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,EAGzD,IAAA,yBAAO,EACL,yCAAmB,EACnB;QACE,OAAO,EAAE,mDAAmD;KAC7D,CACF,EAGD,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function IdField(id: string, length?: number, nullable?: boolean, isGraphql?: boolean): PropertyDecorator;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IdField = IdField;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
6
|
-
const class_validator_1 = require("class-validator");
|
|
7
|
-
const SQL_INJECTION_REGEX_1 = require("../regex/SQL_INJECTION_REGEX");
|
|
8
|
-
function IdField(id, length = 26, nullable = false, isGraphql = true) {
|
|
9
|
-
const message = `${id} ID must be exactly ${length} characters`;
|
|
10
|
-
const graphQLDecorators = isGraphql
|
|
11
|
-
? [(0, graphql_1.Field)(() => String, { nullable })]
|
|
12
|
-
: [];
|
|
13
|
-
return (0, common_1.applyDecorators)(...graphQLDecorators, (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)({ message }), (0, class_validator_1.Length)(length, length, {
|
|
14
|
-
message,
|
|
15
|
-
}), (0, class_validator_1.Matches)(SQL_INJECTION_REGEX_1.SQL_INJECTION_REGEX, {
|
|
16
|
-
message: `${id} Id contains forbidden SQL keywords or patterns`,
|
|
17
|
-
}));
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=IdValidate.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IdValidate.decorator.js","sourceRoot":"","sources":["../../../../../validation/src/decorators/IdValidate.decorator.ts"],"names":[],"mappings":";;AAcA,0BAmCC;AAjDD,2CAAiD;AACjD,6CAAwC;AACxC,qDAAwE;AACxE,sEAAmE;AAWnE,SAAgB,OAAO,CACrB,EAAU,EACV,SAAiB,EAAE,EACnB,WAAoB,KAAK,EACzB,YAAqB,IAAI;IAEzB,MAAM,OAAO,GAAG,GAAG,EAAE,uBAAuB,MAAM,aAAa,CAAC;IAGhE,MAAM,iBAAiB,GAAG,SAAS;QACjC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IAGP,OAAO,IAAA,wBAAe,EAEpB,GAAG,iBAAiB,EAGpB,IAAA,4BAAU,GAAE,EACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,EAGrB,IAAA,wBAAM,EAAC,MAAM,EAAE,MAAM,EAAE;QACrB,OAAO;KACR,CAAC,EAGF,IAAA,yBAAO,EACL,yCAAmB,EACnB;QACE,OAAO,EAAE,GAAG,EAAE,iDAAiD;KAChE,CACF,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.password = password;
|
|
4
|
-
exports.PasswordField = PasswordField;
|
|
5
|
-
const class_validator_1 = require("class-validator");
|
|
6
|
-
const common_1 = require("@nestjs/common");
|
|
7
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
8
|
-
const SQL_INJECTION_REGEX_1 = require("../regex/SQL_INJECTION_REGEX");
|
|
9
|
-
function password(message = 'Password must contain uppercase, lowercase, number and special character') {
|
|
10
|
-
return (0, class_validator_1.Matches)(/(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_])/, { message });
|
|
11
|
-
}
|
|
12
|
-
function PasswordField(min = 8, max = 16, nullable = false, isGraphql = true) {
|
|
13
|
-
const graphQLDecorators = isGraphql
|
|
14
|
-
? [(0, graphql_1.Field)(() => String, { nullable })]
|
|
15
|
-
: [];
|
|
16
|
-
return (0, common_1.applyDecorators)(...graphQLDecorators, (0, class_validator_1.IsString)(), (0, class_validator_1.Length)(min, max, { message: `Password must be between ${min} and ${max} characters` }), password(), (0, class_validator_1.Matches)(SQL_INJECTION_REGEX_1.SQL_INJECTION_REGEX, {
|
|
17
|
-
message: 'Password contains forbidden SQL keywords or patterns',
|
|
18
|
-
}));
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=PasswordField.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordField.decorator.js","sourceRoot":"","sources":["../../../../../validation/src/decorators/PasswordField.decorator.ts"],"names":[],"mappings":";;AAWA,4BAKC;AAWD,sCA4BC;AAvDD,qDAA4D;AAC5D,2CAAiD;AACjD,6CAAwC;AACxC,sEAAmE;AAQnE,SAAgB,QAAQ,CACtB,OAAO,GAAG,0EAA0E;IAGpF,OAAO,IAAA,yBAAO,EAAC,2CAA2C,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3E,CAAC;AAWD,SAAgB,aAAa,CACzB,GAAG,GAAG,CAAC,EACP,GAAG,GAAG,EAAE,EACR,WAAoB,KAAK,EACzB,YAAqB,IAAI;IAI3B,MAAM,iBAAiB,GAAG,SAAS;QACjC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,IAAA,wBAAe,EAEpB,GAAG,iBAAiB,EAGpB,IAAA,0BAAQ,GAAE,EACV,IAAA,wBAAM,EAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,4BAA4B,GAAG,QAAQ,GAAG,aAAa,EAAE,CAAC,EACtF,QAAQ,EAAE,EAEV,IAAA,yBAAO,EACH,yCAAmB,EACnB;QACK,OAAO,EAAE,sDAAsD;KACnE,CACJ,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidatePhoneNumber = ValidatePhoneNumber;
|
|
4
|
-
exports.PhoneField = PhoneField;
|
|
5
|
-
const common_1 = require("@nestjs/common");
|
|
6
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
7
|
-
const class_validator_1 = require("class-validator");
|
|
8
|
-
const class_transformer_1 = require("class-transformer");
|
|
9
|
-
const SQL_INJECTION_REGEX_1 = require("../regex/SQL_INJECTION_REGEX");
|
|
10
|
-
function ValidatePhoneNumber() {
|
|
11
|
-
return (0, class_transformer_1.Transform)(({ value }) => typeof value === 'string' ? value.replace(/[^\d+]/g, '') : value);
|
|
12
|
-
}
|
|
13
|
-
function PhoneField(format = 'EG', nullable = false, isGraphql = true) {
|
|
14
|
-
const graphQLDecorators = isGraphql ? [(0, graphql_1.Field)(() => String, { nullable })] : [];
|
|
15
|
-
return (0, common_1.applyDecorators)(...graphQLDecorators, (0, class_validator_1.IsOptional)(), (0, class_transformer_1.Transform)(({ value }) => typeof value === 'string' ? value.replace(/[^\d+]/g, '') : value), (0, class_validator_1.Matches)(SQL_INJECTION_REGEX_1.SQL_INJECTION_REGEX, {
|
|
16
|
-
message: 'Phone contains forbidden SQL keywords or patterns',
|
|
17
|
-
}), (0, class_validator_1.IsPhoneNumber)(format, {
|
|
18
|
-
message: `Phone number must be a valid ${format} number`,
|
|
19
|
-
}));
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=PhoneField.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneField.decorator.js","sourceRoot":"","sources":["../../../../../validation/src/decorators/PhoneField.decorator.ts"],"names":[],"mappings":";;AAUA,kDAIC;AAWD,gCAwBC;AAjDD,2CAAiD;AACjD,6CAAwC;AACxC,qDAAqE;AACrE,yDAA8C;AAC9C,sEAAmE;AAMnE,SAAgB,mBAAmB;IACjC,OAAO,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7B,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CACjE,CAAC;AACJ,CAAC;AAWD,SAAgB,UAAU,CACxB,SAAsB,IAAI,EAC1B,WAAoB,KAAK,EACzB,YAAqB,IAAI;IAEzB,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/E,OAAO,IAAA,wBAAe,EACpB,GAAG,iBAAiB,EAEpB,IAAA,4BAAU,GAAE,EAEZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACtB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CACjE,EAED,IAAA,yBAAO,EAAC,yCAAmB,EAAE;QAC3B,OAAO,EAAE,mDAAmD;KAC7D,CAAC,EAEF,IAAA,+BAAa,EAAC,MAAM,EAAE;QACpB,OAAO,EAAE,gCAAgC,MAAM,SAAS;KACzD,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function TextField(text: string, min?: number, max?: number, nullable?: boolean, isGraphql?: boolean): PropertyDecorator;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TextField = TextField;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
6
|
-
const class_validator_1 = require("class-validator");
|
|
7
|
-
const class_transformer_1 = require("class-transformer");
|
|
8
|
-
const WordsTransform_decorator_1 = require("../utility/WordsTransform.decorator");
|
|
9
|
-
const SQL_INJECTION_REGEX_1 = require("../regex/SQL_INJECTION_REGEX");
|
|
10
|
-
function TextField(text, min = 1, max = 255, nullable = false, isGraphql = true) {
|
|
11
|
-
const message = `${text} must be between ${min} and ${max} characters`;
|
|
12
|
-
const graphQLDecorators = isGraphql
|
|
13
|
-
? [(0, graphql_1.Field)(() => String, { nullable })]
|
|
14
|
-
: [];
|
|
15
|
-
return (0, common_1.applyDecorators)(...graphQLDecorators, (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)({ message }), (0, class_validator_1.Matches)(/^[A-Za-z0-9\s.,-]+$/, {
|
|
16
|
-
message: `${text} must contain only letters, numbers, spaces, or basic symbols (.,-)`,
|
|
17
|
-
}), (0, class_validator_1.Length)(min, max, {
|
|
18
|
-
message,
|
|
19
|
-
}), (0, class_validator_1.Matches)(SQL_INJECTION_REGEX_1.SQL_INJECTION_REGEX, {
|
|
20
|
-
message: `${text} contains forbidden SQL keywords or patterns`,
|
|
21
|
-
}), (0, class_transformer_1.Transform)(({ value }) => (0, WordsTransform_decorator_1.LowwerWords)(value)));
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=TextField.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.decorator.js","sourceRoot":"","sources":["../../../../../validation/src/decorators/TextField.decorator.ts"],"names":[],"mappings":";;AAkBA,8BAoCC;AAtDD,2CAAiD;AACjD,6CAAwC;AACxC,qDAAwE;AACxE,yDAA8C;AAE9C,kFAAkE;AAClE,sEAAmE;AAYnE,SAAgB,SAAS,CACvB,IAAY,EACZ,GAAG,GAAG,CAAC,EACP,GAAG,GAAG,GAAG,EACT,WAAoB,KAAK,EACzB,YAAqB,IAAI;IAEzB,MAAM,OAAO,GAAG,GAAG,IAAI,oBAAoB,GAAG,QAAQ,GAAG,aAAa,CAAC;IAGvE,MAAM,iBAAiB,GAAG,SAAS;QACjC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,IAAA,wBAAe,EAEpB,GAAG,iBAAiB,EAGpB,IAAA,4BAAU,GAAE,EACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,EACrB,IAAA,yBAAO,EAAC,qBAAqB,EAAE;QAC7B,OAAO,EAAE,GAAG,IAAI,qEAAqE;KACtF,CAAC,EACF,IAAA,wBAAM,EAAC,GAAG,EAAE,GAAG,EAAE;QACf,OAAO;KACR,CAAC,EACF,IAAA,yBAAO,EACL,yCAAmB,EACnB;QACE,OAAO,EAAE,GAAG,IAAI,8CAA8C;KAC/D,CACF,EAED,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAA,sCAAW,EAAC,KAAK,CAAC,CAAC,CAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidateNationalId = ValidateNationalId;
|
|
4
|
-
exports.NationalIdField = NationalIdField;
|
|
5
|
-
const common_1 = require("@nestjs/common");
|
|
6
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
7
|
-
const class_validator_1 = require("class-validator");
|
|
8
|
-
const class_transformer_1 = require("class-transformer");
|
|
9
|
-
function ValidateNationalId() {
|
|
10
|
-
return (0, class_transformer_1.Transform)(({ value }) => typeof value === 'string' ? value.replace(/\D/g, '') : value);
|
|
11
|
-
}
|
|
12
|
-
function NationalIdField(nullable = false, isGraphql = true) {
|
|
13
|
-
const graphQLDecorators = isGraphql
|
|
14
|
-
? [(0, graphql_1.Field)(() => String, { nullable })]
|
|
15
|
-
: [];
|
|
16
|
-
return (0, common_1.applyDecorators)(...graphQLDecorators, (0, class_validator_1.IsOptional)(), (0, class_transformer_1.Transform)(({ value }) => typeof value === 'string' ? value.replace(/\D/g, '') : value), (0, class_validator_1.Matches)(/^\d{14}$/, {
|
|
17
|
-
message: 'National ID must contain exactly 14 digits',
|
|
18
|
-
}), (0, class_validator_1.Matches)(/^[23]\d{13}$/, {
|
|
19
|
-
message: 'National ID must start with 2 or 3',
|
|
20
|
-
}), (0, class_validator_1.Length)(14, 14, {
|
|
21
|
-
message: 'National ID must be exactly 14 digits',
|
|
22
|
-
}));
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=nationalId.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nationalId.decorator.js","sourceRoot":"","sources":["../../../../../validation/src/decorators/nationalId.decorator.ts"],"names":[],"mappings":";;AAQA,gDAIC;AASD,0CAgCC;AArDD,2CAAiD;AACjD,6CAAwC;AACxC,qDAA8D;AAC9D,yDAA8C;AAK9C,SAAgB,kBAAkB;IAChC,OAAO,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7B,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAC7D,CAAC;AACJ,CAAC;AASD,SAAgB,eAAe,CAC3B,WAAoB,KAAK,EACzB,YAAqB,IAAI;IAI3B,MAAM,iBAAiB,GAAG,SAAS;QACjC,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,IAAA,wBAAe,EAEpB,GAAG,iBAAiB,EAGpB,IAAA,4BAAU,GAAE,EAEZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAGtF,IAAA,yBAAO,EAAC,UAAU,EAAE;QAClB,OAAO,EAAE,4CAA4C;KACtD,CAAC,EAEF,IAAA,yBAAO,EAAC,cAAc,EAAE;QACtB,OAAO,EAAE,oCAAoC;KAC9C,CAAC,EAEF,IAAA,wBAAM,EAAC,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE,uCAAuC;KACjD,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from './decorators/IdValidate.decorator';
|
|
2
|
-
export * from './decorators/TextField.decorator';
|
|
3
|
-
export * from './decorators/CapitalField.decorator';
|
|
4
|
-
export * from './decorators/EmailField.decorator';
|
|
5
|
-
export * from './decorators/PasswordField.decorator';
|
|
6
|
-
export * from './decorators/PhoneField.decorator';
|
|
7
|
-
export * from './decorators/nationalId.decorator';
|
|
8
|
-
export * from './utility/WordsTransform.decorator';
|
|
9
|
-
export * from './decorators/nationalId.decorator';
|
|
10
|
-
export * from './decorators/PhoneField.decorator';
|
|
@@ -1,27 +0,0 @@
|
|
|
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("./decorators/IdValidate.decorator"), exports);
|
|
18
|
-
__exportStar(require("./decorators/TextField.decorator"), exports);
|
|
19
|
-
__exportStar(require("./decorators/CapitalField.decorator"), exports);
|
|
20
|
-
__exportStar(require("./decorators/EmailField.decorator"), exports);
|
|
21
|
-
__exportStar(require("./decorators/PasswordField.decorator"), exports);
|
|
22
|
-
__exportStar(require("./decorators/PhoneField.decorator"), exports);
|
|
23
|
-
__exportStar(require("./decorators/nationalId.decorator"), exports);
|
|
24
|
-
__exportStar(require("./utility/WordsTransform.decorator"), exports);
|
|
25
|
-
__exportStar(require("./decorators/nationalId.decorator"), exports);
|
|
26
|
-
__exportStar(require("./decorators/PhoneField.decorator"), exports);
|
|
27
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../validation/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,oEAAkD;AAClD,mEAAiD;AACjD,sEAAoD;AACpD,oEAAkD;AAClD,uEAAqD;AACrD,oEAAkD;AAClD,oEAAkD;AAIlD,qEAAmD;AAGnD,oEAAkD;AAClD,oEAAkD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const SQL_INJECTION_REGEX: RegExp;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SQL_INJECTION_REGEX = void 0;
|
|
4
|
-
exports.SQL_INJECTION_REGEX = /^(?!.*(\b(SELECT|INSERT|DELETE|UPDATE|DROP|UNION|EXEC|TRUNCATE|ALTER|CREATE)\b|--|;)).*$/i;
|
|
5
|
-
//# sourceMappingURL=SQL_INJECTION_REGEX.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SQL_INJECTION_REGEX.js","sourceRoot":"","sources":["../../../../../validation/src/regex/SQL_INJECTION_REGEX.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,2FAA2F,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LowwerWords = LowwerWords;
|
|
4
|
-
exports.CapitalizeWords = CapitalizeWords;
|
|
5
|
-
function LowwerWords(value) {
|
|
6
|
-
if (!value || typeof value !== 'string')
|
|
7
|
-
return value;
|
|
8
|
-
return value.toLowerCase();
|
|
9
|
-
}
|
|
10
|
-
function CapitalizeWords(value) {
|
|
11
|
-
if (!value || typeof value !== 'string')
|
|
12
|
-
return value;
|
|
13
|
-
return value
|
|
14
|
-
.toLowerCase()
|
|
15
|
-
.split(' ')
|
|
16
|
-
.map((word) => word.length > 0 ? word.charAt(0).toUpperCase() + word.slice(1) : '')
|
|
17
|
-
.join(' ');
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=WordsTransform.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WordsTransform.decorator.js","sourceRoot":"","sources":["../../../../../validation/src/utility/WordsTransform.decorator.ts"],"names":[],"mappings":";;AAKA,kCAIC;AAOD,0CAUC;AArBD,SAAgB,WAAW,CAAC,KAAa;IACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEtD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC;AAOD,SAAgB,eAAe,CAAC,KAAa;IAC3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEtD,OAAO,KAAK;SACT,WAAW,EAAE;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CACpE;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
|