safesafar-common 1.0.21 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +27 -1
- package/dist/index.d.ts +27 -1
- package/dist/index.js +155 -0
- package/dist/index.mjs +153 -0
- package/index.ts +1 -0
- package/package.json +1 -1
- package/validation/constraints.ts +41 -0
- package/validation/index.ts +2 -0
- package/validation/messages.ts +21 -0
package/dist/index.d.mts
CHANGED
|
@@ -76,4 +76,30 @@ declare class GqlExceptionFilter implements ExceptionFilter {
|
|
|
76
76
|
catch(exception: HttpException, host: ArgumentsHost): IResponse;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
interface IValidationValue {
|
|
80
|
+
MIN_LENGTH?: number;
|
|
81
|
+
MAX_LENGTH?: number;
|
|
82
|
+
MIN_VALUE?: number;
|
|
83
|
+
MAX_VALUE?: number;
|
|
84
|
+
}
|
|
85
|
+
declare const ValidationValues: Record<string, IValidationValue>;
|
|
86
|
+
|
|
87
|
+
declare const ValidationMessages: {
|
|
88
|
+
MIN_LENGTH: (field: string, minLength: number) => string;
|
|
89
|
+
MAX_LENGTH: (field: string, maxLength: number) => string;
|
|
90
|
+
REQUIRED: (field: string) => string;
|
|
91
|
+
STRING: (field: string) => string;
|
|
92
|
+
UUID: (field: string) => string;
|
|
93
|
+
NUMBER: (field: string) => string;
|
|
94
|
+
DECIMAL: (field: string) => string;
|
|
95
|
+
BOOLEAN: (field: string) => string;
|
|
96
|
+
URL: (field: string) => string;
|
|
97
|
+
ARRAY: (field: string) => string;
|
|
98
|
+
ARRAY_REQUIRED: (field: string) => string;
|
|
99
|
+
ARRAY_MIN_LENGTH: (field: string, minLength: number) => string;
|
|
100
|
+
ARRAY_MAX_LENGTH: (field: string, maxLength: number) => string;
|
|
101
|
+
LONGITUDE: (field: string) => string;
|
|
102
|
+
LATITUDE: (field: string) => string;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export { CurrentUser, DecimalGraphQLScalar, GqlExceptionFilter, HttpExceptionFilter, IsDecimal, IsDecimalConstraint, JwtAuthGuard, LoggerModule, NATS_SERVICE, NatsClientModule, RetryInterceptor, type TCustomLogger, TransformToDecimal, ValidationMessages, ValidationValues, convertToDecimal, createLogger };
|
package/dist/index.d.ts
CHANGED
|
@@ -76,4 +76,30 @@ declare class GqlExceptionFilter implements ExceptionFilter {
|
|
|
76
76
|
catch(exception: HttpException, host: ArgumentsHost): IResponse;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
interface IValidationValue {
|
|
80
|
+
MIN_LENGTH?: number;
|
|
81
|
+
MAX_LENGTH?: number;
|
|
82
|
+
MIN_VALUE?: number;
|
|
83
|
+
MAX_VALUE?: number;
|
|
84
|
+
}
|
|
85
|
+
declare const ValidationValues: Record<string, IValidationValue>;
|
|
86
|
+
|
|
87
|
+
declare const ValidationMessages: {
|
|
88
|
+
MIN_LENGTH: (field: string, minLength: number) => string;
|
|
89
|
+
MAX_LENGTH: (field: string, maxLength: number) => string;
|
|
90
|
+
REQUIRED: (field: string) => string;
|
|
91
|
+
STRING: (field: string) => string;
|
|
92
|
+
UUID: (field: string) => string;
|
|
93
|
+
NUMBER: (field: string) => string;
|
|
94
|
+
DECIMAL: (field: string) => string;
|
|
95
|
+
BOOLEAN: (field: string) => string;
|
|
96
|
+
URL: (field: string) => string;
|
|
97
|
+
ARRAY: (field: string) => string;
|
|
98
|
+
ARRAY_REQUIRED: (field: string) => string;
|
|
99
|
+
ARRAY_MIN_LENGTH: (field: string, minLength: number) => string;
|
|
100
|
+
ARRAY_MAX_LENGTH: (field: string, maxLength: number) => string;
|
|
101
|
+
LONGITUDE: (field: string) => string;
|
|
102
|
+
LATITUDE: (field: string) => string;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export { CurrentUser, DecimalGraphQLScalar, GqlExceptionFilter, HttpExceptionFilter, IsDecimal, IsDecimalConstraint, JwtAuthGuard, LoggerModule, NATS_SERVICE, NatsClientModule, RetryInterceptor, type TCustomLogger, TransformToDecimal, ValidationMessages, ValidationValues, convertToDecimal, createLogger };
|
package/dist/index.js
CHANGED
|
@@ -45,6 +45,8 @@ __export(index_exports, {
|
|
|
45
45
|
NatsClientModule: () => NatsClientModule,
|
|
46
46
|
RetryInterceptor: () => RetryInterceptor,
|
|
47
47
|
TransformToDecimal: () => TransformToDecimal,
|
|
48
|
+
ValidationMessages: () => ValidationMessages,
|
|
49
|
+
ValidationValues: () => ValidationValues,
|
|
48
50
|
convertToDecimal: () => convertToDecimal,
|
|
49
51
|
createLogger: () => createLogger
|
|
50
52
|
});
|
|
@@ -454,6 +456,157 @@ var GqlExceptionFilter = _GqlExceptionFilter;
|
|
|
454
456
|
GqlExceptionFilter = _ts_decorate7([
|
|
455
457
|
(0, import_common7.Catch)(import_common7.HttpException)
|
|
456
458
|
], GqlExceptionFilter);
|
|
459
|
+
|
|
460
|
+
// validation/constraints.ts
|
|
461
|
+
var ValidationValues = {
|
|
462
|
+
NAME: {
|
|
463
|
+
MIN_LENGTH: 1,
|
|
464
|
+
MAX_LENGTH: 100
|
|
465
|
+
},
|
|
466
|
+
USERNAME: {
|
|
467
|
+
MIN_LENGTH: 1,
|
|
468
|
+
MAX_LENGTH: 30
|
|
469
|
+
},
|
|
470
|
+
EMAIL: {
|
|
471
|
+
MIN_LENGTH: 1,
|
|
472
|
+
MAX_LENGTH: 320
|
|
473
|
+
},
|
|
474
|
+
FIRST_NAME: {
|
|
475
|
+
MIN_LENGTH: 1,
|
|
476
|
+
MAX_LENGTH: 50
|
|
477
|
+
},
|
|
478
|
+
LAST_NAME: {
|
|
479
|
+
MIN_LENGTH: 1,
|
|
480
|
+
MAX_LENGTH: 50
|
|
481
|
+
},
|
|
482
|
+
SUFFIX: {
|
|
483
|
+
MIN_LENGTH: 1,
|
|
484
|
+
MAX_LENGTH: 10
|
|
485
|
+
},
|
|
486
|
+
GENDER: {
|
|
487
|
+
MIN_LENGTH: 1,
|
|
488
|
+
MAX_LENGTH: 10
|
|
489
|
+
},
|
|
490
|
+
PHONE: {
|
|
491
|
+
MIN_LENGTH: 1,
|
|
492
|
+
MAX_LENGTH: 15
|
|
493
|
+
},
|
|
494
|
+
ADDRESS: {
|
|
495
|
+
MIN_LENGTH: 1,
|
|
496
|
+
MAX_LENGTH: 255
|
|
497
|
+
},
|
|
498
|
+
ZIP: {
|
|
499
|
+
MIN_LENGTH: 1,
|
|
500
|
+
MAX_LENGTH: 10
|
|
501
|
+
},
|
|
502
|
+
CITY: {
|
|
503
|
+
MIN_LENGTH: 1,
|
|
504
|
+
MAX_LENGTH: 100
|
|
505
|
+
},
|
|
506
|
+
STATE: {
|
|
507
|
+
MIN_LENGTH: 1,
|
|
508
|
+
MAX_LENGTH: 100
|
|
509
|
+
},
|
|
510
|
+
COUNTRY: {
|
|
511
|
+
MIN_LENGTH: 1,
|
|
512
|
+
MAX_LENGTH: 100
|
|
513
|
+
},
|
|
514
|
+
LABEL: {
|
|
515
|
+
MIN_LENGTH: 1,
|
|
516
|
+
MAX_LENGTH: 100
|
|
517
|
+
},
|
|
518
|
+
ACTION: {
|
|
519
|
+
MIN_LENGTH: 1,
|
|
520
|
+
MAX_LENGTH: 50
|
|
521
|
+
},
|
|
522
|
+
RESOURCE: {
|
|
523
|
+
MIN_LENGTH: 1,
|
|
524
|
+
MAX_LENGTH: 100
|
|
525
|
+
},
|
|
526
|
+
SUB_RESOURCE: {
|
|
527
|
+
MIN_LENGTH: 1,
|
|
528
|
+
MAX_LENGTH: 100
|
|
529
|
+
},
|
|
530
|
+
KEY: {
|
|
531
|
+
MIN_LENGTH: 1,
|
|
532
|
+
MAX_LENGTH: 100
|
|
533
|
+
},
|
|
534
|
+
VALUE: {
|
|
535
|
+
MIN_LENGTH: 1,
|
|
536
|
+
MAX_LENGTH: 500
|
|
537
|
+
},
|
|
538
|
+
INTEGRATION_NAME: {
|
|
539
|
+
MIN_LENGTH: 1,
|
|
540
|
+
MAX_LENGTH: 100
|
|
541
|
+
},
|
|
542
|
+
ENVIRONMENT: {
|
|
543
|
+
MIN_LENGTH: 1,
|
|
544
|
+
MAX_LENGTH: 50
|
|
545
|
+
},
|
|
546
|
+
CODE: {
|
|
547
|
+
MIN_LENGTH: 1,
|
|
548
|
+
MAX_LENGTH: 20
|
|
549
|
+
},
|
|
550
|
+
URL_KEY: {
|
|
551
|
+
MIN_LENGTH: 1,
|
|
552
|
+
MAX_LENGTH: 255
|
|
553
|
+
},
|
|
554
|
+
WEB_PATH: {
|
|
555
|
+
MIN_LENGTH: 1,
|
|
556
|
+
MAX_LENGTH: 255
|
|
557
|
+
},
|
|
558
|
+
PRODUCT_CLASS_NAME: {
|
|
559
|
+
MIN_LENGTH: 1,
|
|
560
|
+
MAX_LENGTH: 100
|
|
561
|
+
},
|
|
562
|
+
PRODUCT_TITLE: {
|
|
563
|
+
MIN_LENGTH: 1,
|
|
564
|
+
MAX_LENGTH: 100
|
|
565
|
+
},
|
|
566
|
+
PRODUCT_THUMBNAIL_URL: {
|
|
567
|
+
MIN_LENGTH: 1,
|
|
568
|
+
MAX_LENGTH: 255
|
|
569
|
+
},
|
|
570
|
+
PRODUCT_BANNER_URL: {
|
|
571
|
+
MIN_LENGTH: 1,
|
|
572
|
+
MAX_LENGTH: 255
|
|
573
|
+
},
|
|
574
|
+
ITEM_CUSTOMIZATION_GROUP_TITLE: {
|
|
575
|
+
MIN_LENGTH: 1,
|
|
576
|
+
MAX_LENGTH: 100
|
|
577
|
+
},
|
|
578
|
+
ITEM_CUSTOMIZATION_GROUP_OPTION_TITLE: {
|
|
579
|
+
MIN_LENGTH: 1,
|
|
580
|
+
MAX_LENGTH: 100
|
|
581
|
+
},
|
|
582
|
+
ADDON_TITLE: {
|
|
583
|
+
MIN_LENGTH: 1,
|
|
584
|
+
MAX_LENGTH: 100
|
|
585
|
+
},
|
|
586
|
+
DESCRIPTION: {
|
|
587
|
+
MIN_LENGTH: 1,
|
|
588
|
+
MAX_LENGTH: 500
|
|
589
|
+
}
|
|
590
|
+
};
|
|
591
|
+
|
|
592
|
+
// validation/messages.ts
|
|
593
|
+
var ValidationMessages = {
|
|
594
|
+
MIN_LENGTH: /* @__PURE__ */ __name((field, minLength) => `${field} must be at least ${minLength} characters long`, "MIN_LENGTH"),
|
|
595
|
+
MAX_LENGTH: /* @__PURE__ */ __name((field, maxLength) => `${field} must be at most ${maxLength} characters long`, "MAX_LENGTH"),
|
|
596
|
+
REQUIRED: /* @__PURE__ */ __name((field) => `${field} is required`, "REQUIRED"),
|
|
597
|
+
STRING: /* @__PURE__ */ __name((field) => `${field} must be a string`, "STRING"),
|
|
598
|
+
UUID: /* @__PURE__ */ __name((field) => `${field} must be a uuid`, "UUID"),
|
|
599
|
+
NUMBER: /* @__PURE__ */ __name((field) => `${field} must be a number`, "NUMBER"),
|
|
600
|
+
DECIMAL: /* @__PURE__ */ __name((field) => `${field} must be a decimal`, "DECIMAL"),
|
|
601
|
+
BOOLEAN: /* @__PURE__ */ __name((field) => `${field} must be a boolean`, "BOOLEAN"),
|
|
602
|
+
URL: /* @__PURE__ */ __name((field) => `${field} must be a url`, "URL"),
|
|
603
|
+
ARRAY: /* @__PURE__ */ __name((field) => `${field} must be an array`, "ARRAY"),
|
|
604
|
+
ARRAY_REQUIRED: /* @__PURE__ */ __name((field) => `${field} cannot be empty.`, "ARRAY_REQUIRED"),
|
|
605
|
+
ARRAY_MIN_LENGTH: /* @__PURE__ */ __name((field, minLength) => `${field} must contain at least ${minLength} items`, "ARRAY_MIN_LENGTH"),
|
|
606
|
+
ARRAY_MAX_LENGTH: /* @__PURE__ */ __name((field, maxLength) => `${field} must contain at most ${maxLength} items`, "ARRAY_MAX_LENGTH"),
|
|
607
|
+
LONGITUDE: /* @__PURE__ */ __name((field) => `${field} must be a longtitude`, "LONGITUDE"),
|
|
608
|
+
LATITUDE: /* @__PURE__ */ __name((field) => `${field} must be a latitude`, "LATITUDE")
|
|
609
|
+
};
|
|
457
610
|
// Annotate the CommonJS export names for ESM import in node:
|
|
458
611
|
0 && (module.exports = {
|
|
459
612
|
CurrentUser,
|
|
@@ -468,6 +621,8 @@ GqlExceptionFilter = _ts_decorate7([
|
|
|
468
621
|
NatsClientModule,
|
|
469
622
|
RetryInterceptor,
|
|
470
623
|
TransformToDecimal,
|
|
624
|
+
ValidationMessages,
|
|
625
|
+
ValidationValues,
|
|
471
626
|
convertToDecimal,
|
|
472
627
|
createLogger
|
|
473
628
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -407,6 +407,157 @@ var GqlExceptionFilter = _GqlExceptionFilter;
|
|
|
407
407
|
GqlExceptionFilter = _ts_decorate7([
|
|
408
408
|
Catch(HttpException)
|
|
409
409
|
], GqlExceptionFilter);
|
|
410
|
+
|
|
411
|
+
// validation/constraints.ts
|
|
412
|
+
var ValidationValues = {
|
|
413
|
+
NAME: {
|
|
414
|
+
MIN_LENGTH: 1,
|
|
415
|
+
MAX_LENGTH: 100
|
|
416
|
+
},
|
|
417
|
+
USERNAME: {
|
|
418
|
+
MIN_LENGTH: 1,
|
|
419
|
+
MAX_LENGTH: 30
|
|
420
|
+
},
|
|
421
|
+
EMAIL: {
|
|
422
|
+
MIN_LENGTH: 1,
|
|
423
|
+
MAX_LENGTH: 320
|
|
424
|
+
},
|
|
425
|
+
FIRST_NAME: {
|
|
426
|
+
MIN_LENGTH: 1,
|
|
427
|
+
MAX_LENGTH: 50
|
|
428
|
+
},
|
|
429
|
+
LAST_NAME: {
|
|
430
|
+
MIN_LENGTH: 1,
|
|
431
|
+
MAX_LENGTH: 50
|
|
432
|
+
},
|
|
433
|
+
SUFFIX: {
|
|
434
|
+
MIN_LENGTH: 1,
|
|
435
|
+
MAX_LENGTH: 10
|
|
436
|
+
},
|
|
437
|
+
GENDER: {
|
|
438
|
+
MIN_LENGTH: 1,
|
|
439
|
+
MAX_LENGTH: 10
|
|
440
|
+
},
|
|
441
|
+
PHONE: {
|
|
442
|
+
MIN_LENGTH: 1,
|
|
443
|
+
MAX_LENGTH: 15
|
|
444
|
+
},
|
|
445
|
+
ADDRESS: {
|
|
446
|
+
MIN_LENGTH: 1,
|
|
447
|
+
MAX_LENGTH: 255
|
|
448
|
+
},
|
|
449
|
+
ZIP: {
|
|
450
|
+
MIN_LENGTH: 1,
|
|
451
|
+
MAX_LENGTH: 10
|
|
452
|
+
},
|
|
453
|
+
CITY: {
|
|
454
|
+
MIN_LENGTH: 1,
|
|
455
|
+
MAX_LENGTH: 100
|
|
456
|
+
},
|
|
457
|
+
STATE: {
|
|
458
|
+
MIN_LENGTH: 1,
|
|
459
|
+
MAX_LENGTH: 100
|
|
460
|
+
},
|
|
461
|
+
COUNTRY: {
|
|
462
|
+
MIN_LENGTH: 1,
|
|
463
|
+
MAX_LENGTH: 100
|
|
464
|
+
},
|
|
465
|
+
LABEL: {
|
|
466
|
+
MIN_LENGTH: 1,
|
|
467
|
+
MAX_LENGTH: 100
|
|
468
|
+
},
|
|
469
|
+
ACTION: {
|
|
470
|
+
MIN_LENGTH: 1,
|
|
471
|
+
MAX_LENGTH: 50
|
|
472
|
+
},
|
|
473
|
+
RESOURCE: {
|
|
474
|
+
MIN_LENGTH: 1,
|
|
475
|
+
MAX_LENGTH: 100
|
|
476
|
+
},
|
|
477
|
+
SUB_RESOURCE: {
|
|
478
|
+
MIN_LENGTH: 1,
|
|
479
|
+
MAX_LENGTH: 100
|
|
480
|
+
},
|
|
481
|
+
KEY: {
|
|
482
|
+
MIN_LENGTH: 1,
|
|
483
|
+
MAX_LENGTH: 100
|
|
484
|
+
},
|
|
485
|
+
VALUE: {
|
|
486
|
+
MIN_LENGTH: 1,
|
|
487
|
+
MAX_LENGTH: 500
|
|
488
|
+
},
|
|
489
|
+
INTEGRATION_NAME: {
|
|
490
|
+
MIN_LENGTH: 1,
|
|
491
|
+
MAX_LENGTH: 100
|
|
492
|
+
},
|
|
493
|
+
ENVIRONMENT: {
|
|
494
|
+
MIN_LENGTH: 1,
|
|
495
|
+
MAX_LENGTH: 50
|
|
496
|
+
},
|
|
497
|
+
CODE: {
|
|
498
|
+
MIN_LENGTH: 1,
|
|
499
|
+
MAX_LENGTH: 20
|
|
500
|
+
},
|
|
501
|
+
URL_KEY: {
|
|
502
|
+
MIN_LENGTH: 1,
|
|
503
|
+
MAX_LENGTH: 255
|
|
504
|
+
},
|
|
505
|
+
WEB_PATH: {
|
|
506
|
+
MIN_LENGTH: 1,
|
|
507
|
+
MAX_LENGTH: 255
|
|
508
|
+
},
|
|
509
|
+
PRODUCT_CLASS_NAME: {
|
|
510
|
+
MIN_LENGTH: 1,
|
|
511
|
+
MAX_LENGTH: 100
|
|
512
|
+
},
|
|
513
|
+
PRODUCT_TITLE: {
|
|
514
|
+
MIN_LENGTH: 1,
|
|
515
|
+
MAX_LENGTH: 100
|
|
516
|
+
},
|
|
517
|
+
PRODUCT_THUMBNAIL_URL: {
|
|
518
|
+
MIN_LENGTH: 1,
|
|
519
|
+
MAX_LENGTH: 255
|
|
520
|
+
},
|
|
521
|
+
PRODUCT_BANNER_URL: {
|
|
522
|
+
MIN_LENGTH: 1,
|
|
523
|
+
MAX_LENGTH: 255
|
|
524
|
+
},
|
|
525
|
+
ITEM_CUSTOMIZATION_GROUP_TITLE: {
|
|
526
|
+
MIN_LENGTH: 1,
|
|
527
|
+
MAX_LENGTH: 100
|
|
528
|
+
},
|
|
529
|
+
ITEM_CUSTOMIZATION_GROUP_OPTION_TITLE: {
|
|
530
|
+
MIN_LENGTH: 1,
|
|
531
|
+
MAX_LENGTH: 100
|
|
532
|
+
},
|
|
533
|
+
ADDON_TITLE: {
|
|
534
|
+
MIN_LENGTH: 1,
|
|
535
|
+
MAX_LENGTH: 100
|
|
536
|
+
},
|
|
537
|
+
DESCRIPTION: {
|
|
538
|
+
MIN_LENGTH: 1,
|
|
539
|
+
MAX_LENGTH: 500
|
|
540
|
+
}
|
|
541
|
+
};
|
|
542
|
+
|
|
543
|
+
// validation/messages.ts
|
|
544
|
+
var ValidationMessages = {
|
|
545
|
+
MIN_LENGTH: /* @__PURE__ */ __name((field, minLength) => `${field} must be at least ${minLength} characters long`, "MIN_LENGTH"),
|
|
546
|
+
MAX_LENGTH: /* @__PURE__ */ __name((field, maxLength) => `${field} must be at most ${maxLength} characters long`, "MAX_LENGTH"),
|
|
547
|
+
REQUIRED: /* @__PURE__ */ __name((field) => `${field} is required`, "REQUIRED"),
|
|
548
|
+
STRING: /* @__PURE__ */ __name((field) => `${field} must be a string`, "STRING"),
|
|
549
|
+
UUID: /* @__PURE__ */ __name((field) => `${field} must be a uuid`, "UUID"),
|
|
550
|
+
NUMBER: /* @__PURE__ */ __name((field) => `${field} must be a number`, "NUMBER"),
|
|
551
|
+
DECIMAL: /* @__PURE__ */ __name((field) => `${field} must be a decimal`, "DECIMAL"),
|
|
552
|
+
BOOLEAN: /* @__PURE__ */ __name((field) => `${field} must be a boolean`, "BOOLEAN"),
|
|
553
|
+
URL: /* @__PURE__ */ __name((field) => `${field} must be a url`, "URL"),
|
|
554
|
+
ARRAY: /* @__PURE__ */ __name((field) => `${field} must be an array`, "ARRAY"),
|
|
555
|
+
ARRAY_REQUIRED: /* @__PURE__ */ __name((field) => `${field} cannot be empty.`, "ARRAY_REQUIRED"),
|
|
556
|
+
ARRAY_MIN_LENGTH: /* @__PURE__ */ __name((field, minLength) => `${field} must contain at least ${minLength} items`, "ARRAY_MIN_LENGTH"),
|
|
557
|
+
ARRAY_MAX_LENGTH: /* @__PURE__ */ __name((field, maxLength) => `${field} must contain at most ${maxLength} items`, "ARRAY_MAX_LENGTH"),
|
|
558
|
+
LONGITUDE: /* @__PURE__ */ __name((field) => `${field} must be a longtitude`, "LONGITUDE"),
|
|
559
|
+
LATITUDE: /* @__PURE__ */ __name((field) => `${field} must be a latitude`, "LATITUDE")
|
|
560
|
+
};
|
|
410
561
|
export {
|
|
411
562
|
CurrentUser,
|
|
412
563
|
DecimalGraphQLScalar,
|
|
@@ -420,6 +571,8 @@ export {
|
|
|
420
571
|
NatsClientModule,
|
|
421
572
|
RetryInterceptor,
|
|
422
573
|
TransformToDecimal,
|
|
574
|
+
ValidationMessages,
|
|
575
|
+
ValidationValues,
|
|
423
576
|
convertToDecimal,
|
|
424
577
|
createLogger
|
|
425
578
|
};
|
package/index.ts
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
interface IValidationValue {
|
|
2
|
+
MIN_LENGTH?: number;
|
|
3
|
+
MAX_LENGTH?: number;
|
|
4
|
+
MIN_VALUE?: number;
|
|
5
|
+
MAX_VALUE?: number;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const ValidationValues: Record<string, IValidationValue> = {
|
|
9
|
+
NAME: { MIN_LENGTH: 1, MAX_LENGTH: 100 }, // Standard for full names
|
|
10
|
+
USERNAME: { MIN_LENGTH: 1, MAX_LENGTH: 30 }, // Common username limit
|
|
11
|
+
EMAIL: { MIN_LENGTH: 1, MAX_LENGTH: 320 }, // Per RFC 5321
|
|
12
|
+
FIRST_NAME: { MIN_LENGTH: 1, MAX_LENGTH: 50 },
|
|
13
|
+
LAST_NAME: { MIN_LENGTH: 1, MAX_LENGTH: 50 },
|
|
14
|
+
SUFFIX: { MIN_LENGTH: 1, MAX_LENGTH: 10 }, // Typically short (e.g., Jr., Sr.)
|
|
15
|
+
GENDER: { MIN_LENGTH: 1, MAX_LENGTH: 10 }, // "Male", "Female", "Other", etc.
|
|
16
|
+
PHONE: { MIN_LENGTH: 1, MAX_LENGTH: 15 }, // International E.164 standard
|
|
17
|
+
ADDRESS: { MIN_LENGTH: 1, MAX_LENGTH: 255 }, // Typical address length
|
|
18
|
+
ZIP: { MIN_LENGTH: 1, MAX_LENGTH: 10 }, // Covers most postal codes
|
|
19
|
+
CITY: { MIN_LENGTH: 1, MAX_LENGTH: 100 }, // Covers long city names
|
|
20
|
+
STATE: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
21
|
+
COUNTRY: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
22
|
+
LABEL: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
23
|
+
ACTION: { MIN_LENGTH: 1, MAX_LENGTH: 50 },
|
|
24
|
+
RESOURCE: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
25
|
+
SUB_RESOURCE: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
26
|
+
KEY: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
27
|
+
VALUE: { MIN_LENGTH: 1, MAX_LENGTH: 500 }, // Values might be longer
|
|
28
|
+
INTEGRATION_NAME: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
29
|
+
ENVIRONMENT: { MIN_LENGTH: 1, MAX_LENGTH: 50 },
|
|
30
|
+
CODE: { MIN_LENGTH: 1, MAX_LENGTH: 20 }, // Short codes
|
|
31
|
+
URL_KEY: { MIN_LENGTH: 1, MAX_LENGTH: 255 }, // Standard URL slug length
|
|
32
|
+
WEB_PATH: { MIN_LENGTH: 1, MAX_LENGTH: 255 },
|
|
33
|
+
PRODUCT_CLASS_NAME: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
34
|
+
PRODUCT_TITLE: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
35
|
+
PRODUCT_THUMBNAIL_URL: { MIN_LENGTH: 1, MAX_LENGTH: 255 },
|
|
36
|
+
PRODUCT_BANNER_URL: { MIN_LENGTH: 1, MAX_LENGTH: 255 },
|
|
37
|
+
ITEM_CUSTOMIZATION_GROUP_TITLE: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
38
|
+
ITEM_CUSTOMIZATION_GROUP_OPTION_TITLE: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
39
|
+
ADDON_TITLE: { MIN_LENGTH: 1, MAX_LENGTH: 100 },
|
|
40
|
+
DESCRIPTION: { MIN_LENGTH: 1, MAX_LENGTH: 500 }, // More room for descriptions
|
|
41
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const ValidationMessages = {
|
|
2
|
+
MIN_LENGTH: (field: string, minLength: number) =>
|
|
3
|
+
`${field} must be at least ${minLength} characters long`,
|
|
4
|
+
MAX_LENGTH: (field: string, maxLength: number) =>
|
|
5
|
+
`${field} must be at most ${maxLength} characters long`,
|
|
6
|
+
REQUIRED: (field: string) => `${field} is required`,
|
|
7
|
+
STRING: (field: string) => `${field} must be a string`,
|
|
8
|
+
UUID: (field: string) => `${field} must be a uuid`,
|
|
9
|
+
NUMBER: (field: string) => `${field} must be a number`,
|
|
10
|
+
DECIMAL: (field: string) => `${field} must be a decimal`,
|
|
11
|
+
BOOLEAN: (field: string) => `${field} must be a boolean`,
|
|
12
|
+
URL: (field: string) => `${field} must be a url`,
|
|
13
|
+
ARRAY: (field: string) => `${field} must be an array`,
|
|
14
|
+
ARRAY_REQUIRED: (field: string) => `${field} cannot be empty.`,
|
|
15
|
+
ARRAY_MIN_LENGTH: (field: string, minLength: number) =>
|
|
16
|
+
`${field} must contain at least ${minLength} items`,
|
|
17
|
+
ARRAY_MAX_LENGTH: (field: string, maxLength: number) =>
|
|
18
|
+
`${field} must contain at most ${maxLength} items`,
|
|
19
|
+
LONGITUDE: (field: string) => `${field} must be a longtitude`,
|
|
20
|
+
LATITUDE: (field: string) => `${field} must be a latitude`,
|
|
21
|
+
};
|