safesafar-common 1.0.21 → 1.0.23
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 +28 -1
- package/dist/index.d.ts +28 -1
- package/dist/index.js +156 -0
- package/dist/index.mjs +154 -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 +22 -0
package/dist/index.d.mts
CHANGED
|
@@ -76,4 +76,31 @@ 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
|
+
EMAIL: (field: string) => string;
|
|
93
|
+
UUID: (field: string) => string;
|
|
94
|
+
NUMBER: (field: string) => string;
|
|
95
|
+
DECIMAL: (field: string) => string;
|
|
96
|
+
BOOLEAN: (field: string) => string;
|
|
97
|
+
URL: (field: string) => string;
|
|
98
|
+
ARRAY: (field: string) => string;
|
|
99
|
+
ARRAY_REQUIRED: (field: string) => string;
|
|
100
|
+
ARRAY_MIN_LENGTH: (field: string, minLength: number) => string;
|
|
101
|
+
ARRAY_MAX_LENGTH: (field: string, maxLength: number) => string;
|
|
102
|
+
LONGITUDE: (field: string) => string;
|
|
103
|
+
LATITUDE: (field: string) => string;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
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,31 @@ 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
|
+
EMAIL: (field: string) => string;
|
|
93
|
+
UUID: (field: string) => string;
|
|
94
|
+
NUMBER: (field: string) => string;
|
|
95
|
+
DECIMAL: (field: string) => string;
|
|
96
|
+
BOOLEAN: (field: string) => string;
|
|
97
|
+
URL: (field: string) => string;
|
|
98
|
+
ARRAY: (field: string) => string;
|
|
99
|
+
ARRAY_REQUIRED: (field: string) => string;
|
|
100
|
+
ARRAY_MIN_LENGTH: (field: string, minLength: number) => string;
|
|
101
|
+
ARRAY_MAX_LENGTH: (field: string, maxLength: number) => string;
|
|
102
|
+
LONGITUDE: (field: string) => string;
|
|
103
|
+
LATITUDE: (field: string) => string;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
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,158 @@ 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
|
+
EMAIL: /* @__PURE__ */ __name((field) => `${field} must be a valid email address`, "EMAIL"),
|
|
599
|
+
UUID: /* @__PURE__ */ __name((field) => `${field} must be a uuid`, "UUID"),
|
|
600
|
+
NUMBER: /* @__PURE__ */ __name((field) => `${field} must be a number`, "NUMBER"),
|
|
601
|
+
DECIMAL: /* @__PURE__ */ __name((field) => `${field} must be a decimal`, "DECIMAL"),
|
|
602
|
+
BOOLEAN: /* @__PURE__ */ __name((field) => `${field} must be a boolean`, "BOOLEAN"),
|
|
603
|
+
URL: /* @__PURE__ */ __name((field) => `${field} must be a url`, "URL"),
|
|
604
|
+
ARRAY: /* @__PURE__ */ __name((field) => `${field} must be an array`, "ARRAY"),
|
|
605
|
+
ARRAY_REQUIRED: /* @__PURE__ */ __name((field) => `${field} cannot be empty.`, "ARRAY_REQUIRED"),
|
|
606
|
+
ARRAY_MIN_LENGTH: /* @__PURE__ */ __name((field, minLength) => `${field} must contain at least ${minLength} items`, "ARRAY_MIN_LENGTH"),
|
|
607
|
+
ARRAY_MAX_LENGTH: /* @__PURE__ */ __name((field, maxLength) => `${field} must contain at most ${maxLength} items`, "ARRAY_MAX_LENGTH"),
|
|
608
|
+
LONGITUDE: /* @__PURE__ */ __name((field) => `${field} must be a longtitude`, "LONGITUDE"),
|
|
609
|
+
LATITUDE: /* @__PURE__ */ __name((field) => `${field} must be a latitude`, "LATITUDE")
|
|
610
|
+
};
|
|
457
611
|
// Annotate the CommonJS export names for ESM import in node:
|
|
458
612
|
0 && (module.exports = {
|
|
459
613
|
CurrentUser,
|
|
@@ -468,6 +622,8 @@ GqlExceptionFilter = _ts_decorate7([
|
|
|
468
622
|
NatsClientModule,
|
|
469
623
|
RetryInterceptor,
|
|
470
624
|
TransformToDecimal,
|
|
625
|
+
ValidationMessages,
|
|
626
|
+
ValidationValues,
|
|
471
627
|
convertToDecimal,
|
|
472
628
|
createLogger
|
|
473
629
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -407,6 +407,158 @@ 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
|
+
EMAIL: /* @__PURE__ */ __name((field) => `${field} must be a valid email address`, "EMAIL"),
|
|
550
|
+
UUID: /* @__PURE__ */ __name((field) => `${field} must be a uuid`, "UUID"),
|
|
551
|
+
NUMBER: /* @__PURE__ */ __name((field) => `${field} must be a number`, "NUMBER"),
|
|
552
|
+
DECIMAL: /* @__PURE__ */ __name((field) => `${field} must be a decimal`, "DECIMAL"),
|
|
553
|
+
BOOLEAN: /* @__PURE__ */ __name((field) => `${field} must be a boolean`, "BOOLEAN"),
|
|
554
|
+
URL: /* @__PURE__ */ __name((field) => `${field} must be a url`, "URL"),
|
|
555
|
+
ARRAY: /* @__PURE__ */ __name((field) => `${field} must be an array`, "ARRAY"),
|
|
556
|
+
ARRAY_REQUIRED: /* @__PURE__ */ __name((field) => `${field} cannot be empty.`, "ARRAY_REQUIRED"),
|
|
557
|
+
ARRAY_MIN_LENGTH: /* @__PURE__ */ __name((field, minLength) => `${field} must contain at least ${minLength} items`, "ARRAY_MIN_LENGTH"),
|
|
558
|
+
ARRAY_MAX_LENGTH: /* @__PURE__ */ __name((field, maxLength) => `${field} must contain at most ${maxLength} items`, "ARRAY_MAX_LENGTH"),
|
|
559
|
+
LONGITUDE: /* @__PURE__ */ __name((field) => `${field} must be a longtitude`, "LONGITUDE"),
|
|
560
|
+
LATITUDE: /* @__PURE__ */ __name((field) => `${field} must be a latitude`, "LATITUDE")
|
|
561
|
+
};
|
|
410
562
|
export {
|
|
411
563
|
CurrentUser,
|
|
412
564
|
DecimalGraphQLScalar,
|
|
@@ -420,6 +572,8 @@ export {
|
|
|
420
572
|
NatsClientModule,
|
|
421
573
|
RetryInterceptor,
|
|
422
574
|
TransformToDecimal,
|
|
575
|
+
ValidationMessages,
|
|
576
|
+
ValidationValues,
|
|
423
577
|
convertToDecimal,
|
|
424
578
|
createLogger
|
|
425
579
|
};
|
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,22 @@
|
|
|
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
|
+
EMAIL: (field: string) => `${field} must be a valid email address`,
|
|
9
|
+
UUID: (field: string) => `${field} must be a uuid`,
|
|
10
|
+
NUMBER: (field: string) => `${field} must be a number`,
|
|
11
|
+
DECIMAL: (field: string) => `${field} must be a decimal`,
|
|
12
|
+
BOOLEAN: (field: string) => `${field} must be a boolean`,
|
|
13
|
+
URL: (field: string) => `${field} must be a url`,
|
|
14
|
+
ARRAY: (field: string) => `${field} must be an array`,
|
|
15
|
+
ARRAY_REQUIRED: (field: string) => `${field} cannot be empty.`,
|
|
16
|
+
ARRAY_MIN_LENGTH: (field: string, minLength: number) =>
|
|
17
|
+
`${field} must contain at least ${minLength} items`,
|
|
18
|
+
ARRAY_MAX_LENGTH: (field: string, maxLength: number) =>
|
|
19
|
+
`${field} must contain at most ${maxLength} items`,
|
|
20
|
+
LONGITUDE: (field: string) => `${field} must be a longtitude`,
|
|
21
|
+
LATITUDE: (field: string) => `${field} must be a latitude`,
|
|
22
|
+
};
|