@cv-tec/validations 0.0.8 → 0.0.10

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.
Files changed (73) hide show
  1. package/dist/custom-class-validators/cross-validation.d.ts +2 -0
  2. package/dist/custom-class-validators/cross-validation.js +23 -0
  3. package/dist/custom-class-validators/cross-validation.js.map +1 -0
  4. package/dist/custom-class-validators/is-valid-email-domain/black-list.json +184906 -0
  5. package/dist/custom-class-validators/is-valid-email-domain/disposable-mail-validation.d.ts +12 -0
  6. package/dist/custom-class-validators/is-valid-email-domain/disposable-mail-validation.js +66 -0
  7. package/dist/custom-class-validators/is-valid-email-domain/disposable-mail-validation.js.map +1 -0
  8. package/dist/custom-class-validators/is-valid-email-domain/index.d.ts +6 -0
  9. package/dist/custom-class-validators/{is-validate-email-domain.js → is-valid-email-domain/index.js} +18 -15
  10. package/dist/custom-class-validators/is-valid-email-domain/index.js.map +1 -0
  11. package/dist/custom-class-validators/validate-single-property-sync.d.ts +1 -0
  12. package/dist/custom-class-validators/validate-single-property-sync.js +12 -0
  13. package/dist/custom-class-validators/validate-single-property-sync.js.map +1 -0
  14. package/dist/dto/auth.d.ts +17 -0
  15. package/dist/dto/auth.js +71 -0
  16. package/dist/dto/auth.js.map +1 -0
  17. package/dist/entities/cv-info/coordinates.d.ts +15 -0
  18. package/dist/entities/cv-info/coordinates.js +70 -0
  19. package/dist/entities/cv-info/coordinates.js.map +1 -0
  20. package/dist/entities/cv-info/cv-info.d.ts +45 -0
  21. package/dist/entities/cv-info/cv-info.js +128 -0
  22. package/dist/entities/cv-info/cv-info.js.map +1 -0
  23. package/dist/entities/cv-info/cv-info.mocks.d.ts +24 -0
  24. package/dist/entities/cv-info/cv-info.mocks.js +171 -0
  25. package/dist/entities/cv-info/cv-info.mocks.js.map +1 -0
  26. package/dist/entities/cv-info/experience.d.ts +17 -0
  27. package/dist/entities/cv-info/experience.js +94 -0
  28. package/dist/entities/cv-info/experience.js.map +1 -0
  29. package/dist/entities/cv-info/formation.d.ts +13 -0
  30. package/dist/entities/cv-info/formation.js +60 -0
  31. package/dist/entities/cv-info/formation.js.map +1 -0
  32. package/dist/entities/cv-info/hobby.d.ts +8 -0
  33. package/dist/entities/cv-info/hobby.js +36 -0
  34. package/dist/entities/cv-info/hobby.js.map +1 -0
  35. package/dist/entities/cv-info/index.d.ts +1 -0
  36. package/dist/entities/cv-info/index.js +6 -0
  37. package/dist/entities/cv-info/index.js.map +1 -0
  38. package/dist/entities/cv-info/language.d.ts +6 -0
  39. package/dist/entities/cv-info/language.js +31 -0
  40. package/dist/entities/cv-info/language.js.map +1 -0
  41. package/dist/entities/cv-info/mission.d.ts +13 -0
  42. package/dist/entities/cv-info/mission.js +76 -0
  43. package/dist/entities/cv-info/mission.js.map +1 -0
  44. package/dist/entities/cv-info/profile.d.ts +11 -0
  45. package/dist/entities/cv-info/profile.js +51 -0
  46. package/dist/entities/cv-info/profile.js.map +1 -0
  47. package/dist/entities/cv-info/reference.d.ts +11 -0
  48. package/dist/entities/cv-info/reference.js +51 -0
  49. package/dist/entities/cv-info/reference.js.map +1 -0
  50. package/dist/entities/cv-info/skills.d.ts +46 -0
  51. package/dist/entities/cv-info/skills.js +102 -0
  52. package/dist/entities/cv-info/skills.js.map +1 -0
  53. package/dist/entities/cv-tec-user.d.ts +3 -8
  54. package/dist/entities/cv-tec-user.js +7 -8
  55. package/dist/entities/cv-tec-user.js.map +1 -1
  56. package/dist/index.d.ts +7 -1
  57. package/dist/index.js +12 -3
  58. package/dist/index.js.map +1 -1
  59. package/dist/root-class-validation.d.ts +19 -0
  60. package/dist/root-class-validation.js +51 -0
  61. package/dist/root-class-validation.js.map +1 -0
  62. package/dist/utils/types.d.ts +1 -0
  63. package/dist/utils/types.js +3 -0
  64. package/dist/utils/types.js.map +1 -0
  65. package/dist/validation-messages.d.ts +0 -0
  66. package/dist/validation-messages.js +2 -0
  67. package/dist/validation-messages.js.map +1 -0
  68. package/package.json +7 -3
  69. package/dist/custom-class-validators/is-validate-email-domain.d.ts +0 -5
  70. package/dist/custom-class-validators/is-validate-email-domain.js.map +0 -1
  71. package/dist/entities/entity.d.ts +0 -4
  72. package/dist/entities/entity.js +0 -14
  73. package/dist/entities/entity.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ export declare class ExternalSourceError extends Error {
2
+ constructor(message?: string);
3
+ }
4
+ interface LoadFromSource {
5
+ github?: boolean;
6
+ url?: string;
7
+ }
8
+ interface Options {
9
+ loadFromSource?: LoadFromSource;
10
+ }
11
+ export default function disposableEmailDetector(email: string, options?: Options): Promise<boolean>;
12
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ExternalSourceError = void 0;
7
+ exports.default = disposableEmailDetector;
8
+ const black_list_json_1 = __importDefault(require("./black-list.json"));
9
+ let cachedDomains = undefined;
10
+ const loadDomains = async () => {
11
+ if (cachedDomains)
12
+ return cachedDomains;
13
+ cachedDomains = black_list_json_1.default;
14
+ return black_list_json_1.default;
15
+ };
16
+ class ExternalSourceError extends Error {
17
+ constructor(message = 'URL must be provided when loading from external source') {
18
+ super(message);
19
+ this.name = 'ExternalSourceError';
20
+ Object.setPrototypeOf(this, ExternalSourceError.prototype);
21
+ }
22
+ }
23
+ exports.ExternalSourceError = ExternalSourceError;
24
+ const loadDomainsFromExternalSource = async ({ github, url }) => {
25
+ if (cachedDomains)
26
+ return cachedDomains;
27
+ const URL = github
28
+ ? 'https://raw.githubusercontent.com/IntegerAlex/disposable-email-detector/refs/heads/main/index.json'
29
+ : url;
30
+ if (!URL)
31
+ throw new ExternalSourceError();
32
+ try {
33
+ const response = await fetch(URL);
34
+ const disposableDomains = await response.json();
35
+ cachedDomains = disposableDomains;
36
+ return disposableDomains;
37
+ }
38
+ catch (_a) {
39
+ throw new ExternalSourceError('Failed to load disposable domains from the provided URL');
40
+ }
41
+ };
42
+ // Function to detect disposable email addresses
43
+ async function disposableEmailDetector(email, options) {
44
+ try {
45
+ const disposableDomains = (options === null || options === void 0 ? void 0 : options.loadFromSource)
46
+ ? await loadDomainsFromExternalSource(options.loadFromSource)
47
+ : await loadDomains();
48
+ // Extract the domain from the email address
49
+ const domain = email.split('@')[1].toLowerCase(); // Get the domain part of the email address and convert it to lowercase
50
+ // Check if the domain is in the list of disposable domains
51
+ return disposableDomains.includes(domain);
52
+ }
53
+ catch /*(error)*/ (_a) {
54
+ // if (error.code === 'ENOENT') {
55
+ // console.error('index.json not found. Please create it with disposable domains.')
56
+ // } else if (error instanceof SyntaxError) {
57
+ // console.error('Invalid JSON format in index.json. Please correct the file.')
58
+ // } else if (error instanceof ExternalSourceError) {
59
+ // console.error(error.message)
60
+ // } else {
61
+ // console.error('Unexpected error:', error)
62
+ // }
63
+ return false;
64
+ }
65
+ }
66
+ //# sourceMappingURL=disposable-mail-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable-mail-validation.js","sourceRoot":"","sources":["../../../src/custom-class-validators/is-valid-email-domain/disposable-mail-validation.ts"],"names":[],"mappings":";;;;;;AA8CA,0CA0BC;AAxED,wEAAiD;AAEjD,IAAI,aAAa,GAAyB,SAAS,CAAA;AAEnD,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IAC7B,IAAI,aAAa;QAAE,OAAO,aAAa,CAAA;IACvC,aAAa,GAAG,yBAA6B,CAAA;IAC7C,OAAO,yBAAiB,CAAA;AAC1B,CAAC,CAAA;AAED,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAO,GAAG,wDAAwD;QAC5E,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;QACjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC;CACF;AAND,kDAMC;AAED,MAAM,6BAA6B,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAkB,EAAE,EAAE;IAC9E,IAAI,aAAa;QAAE,OAAO,aAAa,CAAA;IACvC,MAAM,GAAG,GAAG,MAAM;QAChB,CAAC,CAAC,oGAAoG;QACtG,CAAC,CAAC,GAAG,CAAA;IACP,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,mBAAmB,EAAE,CAAA;IACzC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC/C,aAAa,GAAG,iBAAiB,CAAA;QACjC,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,IAAI,mBAAmB,CAC3B,yDAAyD,CAC1D,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAWD,gDAAgD;AACjC,KAAK,UAAU,uBAAuB,CACnD,KAAa,EACb,OAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc;YAC/C,CAAC,CAAC,MAAM,6BAA6B,CAAC,OAAO,CAAC,cAAc,CAAC;YAC7D,CAAC,CAAC,MAAM,WAAW,EAAE,CAAA;QAEvB,4CAA4C;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA,CAAC,uEAAuE;QAExH,2DAA2D;QAC3D,OAAO,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAAC,MAAM,WAAW,MAAC,CAAC;QACnB,iCAAiC;QACjC,qFAAqF;QACrF,6CAA6C;QAC7C,iFAAiF;QACjF,qDAAqD;QACrD,iCAAiC;QACjC,WAAW;QACX,8CAA8C;QAC9C,IAAI;QACJ,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ValidatorConstraintInterface, ValidationArguments, ValidationOptions } from 'class-validator';
2
+ export declare class IsValidEmailDomainContrain implements ValidatorConstraintInterface {
3
+ validate(text: string, args: ValidationArguments): Promise<boolean>;
4
+ defaultMessage(args: ValidationArguments): string;
5
+ }
6
+ export declare function IsValidEmailDomain(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
@@ -5,14 +5,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
8
11
  Object.defineProperty(exports, "__esModule", { value: true });
9
12
  exports.IsValidEmailDomainContrain = void 0;
13
+ exports.IsValidEmailDomain = IsValidEmailDomain;
10
14
  const class_validator_1 = require("class-validator");
11
- //import disposableEmailDetector from 'disposable-email-detector'
15
+ const disposable_mail_validation_1 = __importDefault(require("./disposable-mail-validation"));
12
16
  let IsValidEmailDomainContrain = class IsValidEmailDomainContrain {
13
17
  async validate(text, args) {
14
- //return (await disposableEmailDetector(text)) === false
15
- return true;
18
+ return (await (0, disposable_mail_validation_1.default)(text)) === false;
16
19
  }
17
20
  defaultMessage(args) {
18
21
  // here you can provide default error message if validation failed
@@ -23,15 +26,15 @@ exports.IsValidEmailDomainContrain = IsValidEmailDomainContrain;
23
26
  exports.IsValidEmailDomainContrain = IsValidEmailDomainContrain = __decorate([
24
27
  (0, class_validator_1.ValidatorConstraint)({ name: 'IS_VALID_EMAIL_DOMAIN', async: true })
25
28
  ], IsValidEmailDomainContrain);
26
- // export function IsValidEmailDomain(validationOptions?: ValidationOptions) {
27
- // return function (object: object, propertyName: string) {
28
- // registerDecorator({
29
- // target: object.constructor,
30
- // propertyName: propertyName,
31
- // options: validationOptions,
32
- // constraints: [],
33
- // validator: IsValidEmailDomainContrain,
34
- // })
35
- // }
36
- // }
37
- //# sourceMappingURL=is-validate-email-domain.js.map
29
+ function IsValidEmailDomain(validationOptions) {
30
+ return function (object, propertyName) {
31
+ (0, class_validator_1.registerDecorator)({
32
+ target: object.constructor,
33
+ propertyName: propertyName,
34
+ options: validationOptions,
35
+ constraints: [],
36
+ validator: IsValidEmailDomainContrain,
37
+ });
38
+ };
39
+ }
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/custom-class-validators/is-valid-email-domain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAqBA,gDAUC;AA/BD,qDAMwB;AACxB,8FAAkE;AAG3D,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrC,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAyB;QACpD,OAAO,CAAC,MAAM,IAAA,oCAAuB,EAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAA;IACxD,CAAC;IAED,cAAc,CAAC,IAAyB;QACtC,kEAAkE;QAClE,OAAO,eAAe,CAAA;IACxB,CAAC;CACF,CAAA;AATY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,qCAAmB,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;GACvD,0BAA0B,CAStC;AAED,SAAgB,kBAAkB,CAAC,iBAAqC;IACtE,OAAO,UAAU,MAAc,EAAE,YAAoB;QACnD,IAAA,mCAAiB,EAAC;YAChB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,0BAA0B;SACtC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function validateSingleProperty<T extends object>(object: T, propertyName: keyof T): Promise<import("class-validator").ValidationError[]>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateSingleProperty = validateSingleProperty;
4
+ const class_transformer_1 = require("class-transformer");
5
+ const class_validator_1 = require("class-validator");
6
+ async function validateSingleProperty(object, propertyName) {
7
+ const partial = (0, class_transformer_1.plainToInstance)(object.constructor, {
8
+ [propertyName]: object[propertyName] || null,
9
+ });
10
+ return await (0, class_validator_1.validate)(partial, { skipUndefinedProperties: true });
11
+ }
12
+ //# sourceMappingURL=validate-single-property-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-single-property-sync.js","sourceRoot":"","sources":["../../src/custom-class-validators/validate-single-property-sync.ts"],"names":[],"mappings":";;AAGA,wDASC;AAZD,yDAAqE;AACrE,qDAA0C;AAEnC,KAAK,UAAU,sBAAsB,CAC1C,MAAS,EACT,YAAqB;IAErB,MAAM,OAAO,GAAG,IAAA,mCAAe,EAAC,MAAM,CAAC,WAAkC,EAAE;QACzE,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI;KAC7C,CAAC,CAAA;IAEF,OAAO,MAAM,IAAA,0BAAQ,EAAC,OAAO,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAA;AACnE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { RootClassValidation } from '../root-class-validation';
2
+ export type ISignInDto = Omit<SignInDto, keyof RootClassValidation>;
3
+ export declare class SignInDto extends RootClassValidation {
4
+ constructor(param?: ISignInDto);
5
+ email: string;
6
+ password: string;
7
+ }
8
+ export type ISignUpDto = Omit<SignUpDto, keyof RootClassValidation>;
9
+ export declare class SignUpDto extends RootClassValidation {
10
+ constructor(param?: ISignUpDto);
11
+ firstname: string;
12
+ lastname: string;
13
+ email: string;
14
+ emailConfirm: string;
15
+ password: string;
16
+ passwordConfirm: string;
17
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SignUpDto = exports.SignInDto = void 0;
13
+ const cross_validation_1 = require("../custom-class-validators/cross-validation");
14
+ const is_valid_email_domain_1 = require("../custom-class-validators/is-valid-email-domain");
15
+ const root_class_validation_1 = require("../root-class-validation");
16
+ const class_validator_1 = require("class-validator");
17
+ class SignInDto extends root_class_validation_1.RootClassValidation {
18
+ constructor(param) {
19
+ super(param);
20
+ }
21
+ }
22
+ exports.SignInDto = SignInDto;
23
+ __decorate([
24
+ (0, class_validator_1.IsEmail)({ allow_ip_domain: false }),
25
+ (0, is_valid_email_domain_1.IsValidEmailDomain)(),
26
+ __metadata("design:type", String)
27
+ ], SignInDto.prototype, "email", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.MinLength)(8),
30
+ (0, class_validator_1.MaxLength)(50),
31
+ __metadata("design:type", String)
32
+ ], SignInDto.prototype, "password", void 0);
33
+ class SignUpDto extends root_class_validation_1.RootClassValidation {
34
+ constructor(param) {
35
+ super(param);
36
+ }
37
+ }
38
+ exports.SignUpDto = SignUpDto;
39
+ __decorate([
40
+ (0, class_validator_1.MinLength)(2),
41
+ (0, class_validator_1.MaxLength)(20),
42
+ __metadata("design:type", String)
43
+ ], SignUpDto.prototype, "firstname", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.MinLength)(2),
46
+ (0, class_validator_1.MaxLength)(20),
47
+ __metadata("design:type", String)
48
+ ], SignUpDto.prototype, "lastname", void 0);
49
+ __decorate([
50
+ (0, cross_validation_1.CrossValidation)((o, v) => o['emailConfirm'] === v),
51
+ (0, class_validator_1.IsEmail)({ allow_ip_domain: false }),
52
+ (0, is_valid_email_domain_1.IsValidEmailDomain)(),
53
+ __metadata("design:type", String)
54
+ ], SignUpDto.prototype, "email", void 0);
55
+ __decorate([
56
+ (0, class_validator_1.IsNotEmpty)(),
57
+ __metadata("design:type", String)
58
+ ], SignUpDto.prototype, "emailConfirm", void 0);
59
+ __decorate([
60
+ (0, cross_validation_1.CrossValidation)((o, v) => o['passwordConfirm'] === v),
61
+ (0, class_validator_1.MinLength)(8),
62
+ (0, class_validator_1.Matches)(/[A-Z]/),
63
+ (0, class_validator_1.Matches)(/[0-9]/),
64
+ (0, class_validator_1.Matches)(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]+/),
65
+ __metadata("design:type", String)
66
+ ], SignUpDto.prototype, "password", void 0);
67
+ __decorate([
68
+ (0, class_validator_1.IsNotEmpty)(),
69
+ __metadata("design:type", String)
70
+ ], SignUpDto.prototype, "passwordConfirm", void 0);
71
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/dto/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iFAA4E;AAC5E,2FAAoF;AACpF,mEAA6D;AAC7D,qDAAoF;AAGpF,MAAa,SAAU,SAAQ,2CAAmB;IAChD,YAAY,KAAkB;QAC5B,KAAK,CAAC,KAAK,CAAC,CAAA;IACd,CAAC;CAQF;AAXD,8BAWC;AALC;IAFC,IAAA,yBAAO,EAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACnC,IAAA,0CAAkB,GAAE;;wCACP;AAId;IAFC,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,EAAE,CAAC;;2CACG;AAInB,MAAa,SAAU,SAAQ,2CAAmB;IAChD,YAAY,KAAkB;QAC5B,KAAK,CAAC,KAAK,CAAC,CAAA;IACd,CAAC;CA2BF;AA9BD,8BA8BC;AAvBC;IAFC,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,EAAE,CAAC;;4CACI;AAIlB;IAFC,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,EAAE,CAAC;;2CACG;AAKjB;IAHC,IAAA,kCAAe,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAClD,IAAA,yBAAO,EAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACnC,IAAA,0CAAkB,GAAE;;wCACP;AAGd;IADC,IAAA,4BAAU,GAAE;;+CACQ;AAOrB;IALC,IAAA,kCAAe,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACrD,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,yBAAO,EAAC,OAAO,CAAC;IAChB,IAAA,yBAAO,EAAC,OAAO,CAAC;IAChB,IAAA,yBAAO,EAAC,sCAAsC,CAAC;;2CAC/B;AAGjB;IADC,IAAA,4BAAU,GAAE;;kDACW"}
@@ -0,0 +1,15 @@
1
+ import { IAddress } from './cv-info';
2
+ import { RootClassValidation } from '../../root-class-validation';
3
+ export type ICoordinates = Omit<Coordinates, keyof RootClassValidation>;
4
+ export declare class Coordinates extends RootClassValidation {
5
+ address: IAddress;
6
+ phone?: string;
7
+ email: string;
8
+ linkedin?: string;
9
+ github?: string;
10
+ additional_1?: string;
11
+ additional_2?: string;
12
+ additional_3?: string;
13
+ additional_4?: string;
14
+ constructor(params: ICoordinates);
15
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Coordinates = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const is_valid_email_domain_1 = require("../../custom-class-validators/is-valid-email-domain");
16
+ const cv_info_1 = require("./cv-info");
17
+ const root_class_validation_1 = require("../../root-class-validation");
18
+ class Coordinates extends root_class_validation_1.RootClassValidation {
19
+ constructor(params) {
20
+ super(params);
21
+ }
22
+ }
23
+ exports.Coordinates = Coordinates;
24
+ __decorate([
25
+ (0, class_validator_1.ValidateNested)(),
26
+ (0, class_validator_1.IsObject)(),
27
+ (0, class_transformer_1.Type)(() => cv_info_1.Address),
28
+ __metadata("design:type", Object)
29
+ ], Coordinates.prototype, "address", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsPhoneNumber)(),
33
+ __metadata("design:type", String)
34
+ ], Coordinates.prototype, "phone", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsEmail)({ allow_ip_domain: false }),
37
+ (0, is_valid_email_domain_1.IsValidEmailDomain)(),
38
+ __metadata("design:type", String)
39
+ ], Coordinates.prototype, "email", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsOptional)(),
42
+ (0, class_validator_1.IsUrl)({ protocols: ['https'] }),
43
+ __metadata("design:type", String)
44
+ ], Coordinates.prototype, "linkedin", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsOptional)(),
47
+ (0, class_validator_1.IsUrl)({ protocols: ['https'] }),
48
+ __metadata("design:type", String)
49
+ ], Coordinates.prototype, "github", void 0);
50
+ __decorate([
51
+ (0, class_validator_1.IsOptional)(),
52
+ (0, class_validator_1.IsNotEmpty)(),
53
+ __metadata("design:type", String)
54
+ ], Coordinates.prototype, "additional_1", void 0);
55
+ __decorate([
56
+ (0, class_validator_1.IsOptional)(),
57
+ (0, class_validator_1.IsNotEmpty)(),
58
+ __metadata("design:type", String)
59
+ ], Coordinates.prototype, "additional_2", void 0);
60
+ __decorate([
61
+ (0, class_validator_1.IsOptional)(),
62
+ (0, class_validator_1.IsNotEmpty)(),
63
+ __metadata("design:type", String)
64
+ ], Coordinates.prototype, "additional_3", void 0);
65
+ __decorate([
66
+ (0, class_validator_1.IsOptional)(),
67
+ (0, class_validator_1.IsNotEmpty)(),
68
+ __metadata("design:type", String)
69
+ ], Coordinates.prototype, "additional_4", void 0);
70
+ //# sourceMappingURL=coordinates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinates.js","sourceRoot":"","sources":["../../../src/entities/cv-info/coordinates.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAQwB;AAExB,yDAAwC;AACxC,2FAAoF;AACpF,uCAA6C;AAC7C,mEAA6D;AAI7D,MAAa,WAAY,SAAQ,2CAAmB;IAsClD,YAAY,MAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;CACF;AAzCD,kCAyCC;AArCC;IAHC,IAAA,gCAAc,GAAE;IAChB,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,iBAAO,CAAC;;4CACF;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,+BAAa,GAAE;;0CACF;AAId;IAFC,IAAA,yBAAO,EAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACnC,IAAA,0CAAkB,GAAE;;0CACP;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,EAAC,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;;6CACf;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,EAAC,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;;2CACjB;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;iDACQ;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;iDACQ;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;iDACQ;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;iDACQ"}
@@ -0,0 +1,45 @@
1
+ import { RootClassValidation } from '../../root-class-validation';
2
+ import { IFormation } from './formation';
3
+ import { ISkills } from './skills';
4
+ import { IProfile } from './profile';
5
+ import { IReference } from './reference';
6
+ import { IHobby } from './hobby';
7
+ import { ILanguage } from './language';
8
+ export type IIntervalDate = Omit<IntervalDate, keyof RootClassValidation>;
9
+ export declare class IntervalDate extends RootClassValidation {
10
+ constructor(params: IIntervalDate);
11
+ start: Date;
12
+ end?: Date;
13
+ }
14
+ export type IAddress = Omit<Address, keyof RootClassValidation>;
15
+ export declare class Address extends RootClassValidation {
16
+ constructor(params: IAddress);
17
+ street: string;
18
+ city: string;
19
+ province: string;
20
+ zipCode: string;
21
+ country: string;
22
+ }
23
+ export type ICvInfo = Omit<CvInfo, keyof RootClassValidation>;
24
+ export declare class CvInfo extends RootClassValidation {
25
+ /**
26
+ *
27
+ * @param params
28
+ */
29
+ constructor(params: ICvInfo);
30
+ /**
31
+ *
32
+ */
33
+ profile: IProfile;
34
+ /***
35
+ *
36
+ */
37
+ formations: IFormation[];
38
+ /**
39
+ *
40
+ */
41
+ skills?: ISkills;
42
+ references?: IReference[];
43
+ hobbies?: IHobby[];
44
+ languages?: ILanguage[];
45
+ }
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CvInfo = exports.Address = exports.IntervalDate = void 0;
13
+ const root_class_validation_1 = require("../../root-class-validation");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const formation_1 = require("./formation");
17
+ const skills_1 = require("./skills");
18
+ const profile_1 = require("./profile");
19
+ const reference_1 = require("./reference");
20
+ const hobby_1 = require("./hobby");
21
+ const language_1 = require("./language");
22
+ class IntervalDate extends root_class_validation_1.RootClassValidation {
23
+ constructor(params) {
24
+ super(params);
25
+ }
26
+ }
27
+ exports.IntervalDate = IntervalDate;
28
+ __decorate([
29
+ (0, class_validator_1.IsDate)(),
30
+ __metadata("design:type", Date)
31
+ ], IntervalDate.prototype, "start", void 0);
32
+ __decorate([
33
+ (0, class_validator_1.IsDate)(),
34
+ (0, class_validator_1.IsOptional)(),
35
+ __metadata("design:type", Date)
36
+ ], IntervalDate.prototype, "end", void 0);
37
+ class Address extends root_class_validation_1.RootClassValidation {
38
+ constructor(params) {
39
+ super(params);
40
+ }
41
+ }
42
+ exports.Address = Address;
43
+ __decorate([
44
+ (0, class_validator_1.MinLength)(10),
45
+ (0, class_validator_1.MaxLength)(50),
46
+ __metadata("design:type", String)
47
+ ], Address.prototype, "street", void 0);
48
+ __decorate([
49
+ (0, class_validator_1.MinLength)(2),
50
+ (0, class_validator_1.MaxLength)(20),
51
+ __metadata("design:type", String)
52
+ ], Address.prototype, "city", void 0);
53
+ __decorate([
54
+ (0, class_validator_1.MinLength)(2),
55
+ (0, class_validator_1.MaxLength)(20),
56
+ __metadata("design:type", String)
57
+ ], Address.prototype, "province", void 0);
58
+ __decorate([
59
+ (0, class_validator_1.MinLength)(2),
60
+ (0, class_validator_1.MaxLength)(10),
61
+ __metadata("design:type", String)
62
+ ], Address.prototype, "zipCode", void 0);
63
+ __decorate([
64
+ (0, class_validator_1.MinLength)(2),
65
+ (0, class_validator_1.MaxLength)(20)
66
+ // To validate with custom validator
67
+ ,
68
+ __metadata("design:type", String)
69
+ ], Address.prototype, "country", void 0);
70
+ class CvInfo extends root_class_validation_1.RootClassValidation {
71
+ /**
72
+ *
73
+ * @param params
74
+ */
75
+ constructor(params) {
76
+ super(params);
77
+ }
78
+ }
79
+ exports.CvInfo = CvInfo;
80
+ __decorate([
81
+ (0, class_validator_1.IsObject)(),
82
+ (0, class_transformer_1.Type)(() => profile_1.Profile),
83
+ (0, class_validator_1.ValidateNested)(),
84
+ __metadata("design:type", Object)
85
+ ], CvInfo.prototype, "profile", void 0);
86
+ __decorate([
87
+ (0, class_validator_1.IsArray)(),
88
+ (0, class_validator_1.ArrayMaxSize)(10),
89
+ (0, class_validator_1.ValidateNested)({ each: true }),
90
+ (0, class_transformer_1.Type)(() => formation_1.Formation),
91
+ (0, class_validator_1.ArrayUnique)((o) => o.$id),
92
+ __metadata("design:type", Array)
93
+ ], CvInfo.prototype, "formations", void 0);
94
+ __decorate([
95
+ (0, class_validator_1.IsObject)(),
96
+ (0, class_transformer_1.Type)(() => skills_1.Skills),
97
+ (0, class_validator_1.ValidateNested)(),
98
+ (0, class_validator_1.IsOptional)(),
99
+ __metadata("design:type", Object)
100
+ ], CvInfo.prototype, "skills", void 0);
101
+ __decorate([
102
+ (0, class_validator_1.IsArray)(),
103
+ (0, class_validator_1.ArrayMaxSize)(10),
104
+ (0, class_validator_1.ValidateNested)({ each: true }),
105
+ (0, class_transformer_1.Type)(() => reference_1.Reference),
106
+ (0, class_validator_1.ArrayUnique)((o) => o.$id),
107
+ (0, class_validator_1.IsOptional)(),
108
+ __metadata("design:type", Array)
109
+ ], CvInfo.prototype, "references", void 0);
110
+ __decorate([
111
+ (0, class_validator_1.IsArray)(),
112
+ (0, class_validator_1.ArrayMaxSize)(10),
113
+ (0, class_validator_1.ValidateNested)({ each: true }),
114
+ (0, class_validator_1.ArrayUnique)((o) => o.$id),
115
+ (0, class_transformer_1.Type)(() => hobby_1.Hobby),
116
+ (0, class_validator_1.IsOptional)(),
117
+ __metadata("design:type", Array)
118
+ ], CvInfo.prototype, "hobbies", void 0);
119
+ __decorate([
120
+ (0, class_validator_1.IsArray)(),
121
+ (0, class_validator_1.ArrayMaxSize)(10),
122
+ (0, class_validator_1.ValidateNested)({ each: true }),
123
+ (0, class_validator_1.ArrayUnique)((o) => o.$id),
124
+ (0, class_transformer_1.Type)(() => language_1.Language),
125
+ (0, class_validator_1.IsOptional)(),
126
+ __metadata("design:type", Array)
127
+ ], CvInfo.prototype, "languages", void 0);
128
+ //# sourceMappingURL=cv-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cv-info.js","sourceRoot":"","sources":["../../../src/entities/cv-info/cv-info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { ICoordinates } from './coordinates';
2
+ import { IAddress, ICvInfo, IIntervalDate } from './cv-info';
3
+ import { IExperience } from './experience';
4
+ import { IFormation } from './formation';
5
+ import { IHobby } from './hobby';
6
+ import { ILanguage } from './language';
7
+ import { IMission } from './mission';
8
+ import { IProfile } from './profile';
9
+ import { IReference } from './reference';
10
+ import { ICategory, ISkill, ISkills } from './skills';
11
+ export declare const intervalDate: IIntervalDate;
12
+ export declare const address: IAddress;
13
+ export declare const coordinates: ICoordinates;
14
+ export declare const profile: IProfile;
15
+ export declare const formation: IFormation;
16
+ export declare const mission: IMission;
17
+ export declare const experience: IExperience;
18
+ export declare const language: ILanguage;
19
+ export declare const refrence: IReference;
20
+ export declare const hobby: IHobby;
21
+ export declare const skill: ISkill;
22
+ export declare const category: ICategory;
23
+ export declare const skills: ISkills;
24
+ export declare const cvInfo: ICvInfo;