@alba-cars/common-modules 1.2.0

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 (84) hide show
  1. package/README.md +42 -0
  2. package/dist/features/blog/data/dto/BlogDTO.d.ts +41 -0
  3. package/dist/features/blog/data/dto/BlogDTO.js +128 -0
  4. package/dist/features/newsletter/data/dto/NewsletterDTO.d.ts +17 -0
  5. package/dist/features/newsletter/data/dto/NewsletterDTO.js +79 -0
  6. package/dist/features/sales-team/data/dto/SalesAgentDTO.d.ts +47 -0
  7. package/dist/features/sales-team/data/dto/SalesAgentDTO.js +134 -0
  8. package/dist/features/showroom-visit/data/dto/ShowroomVisit.d.ts +28 -0
  9. package/dist/features/showroom-visit/data/dto/ShowroomVisit.js +119 -0
  10. package/dist/features/test-drive-request/data/dto/TestDriveRequestDTO.d.ts +45 -0
  11. package/dist/features/test-drive-request/data/dto/TestDriveRequestDTO.js +163 -0
  12. package/dist/features/test-drive-request/data/enums/index.d.ts +24 -0
  13. package/dist/features/test-drive-request/data/enums/index.js +29 -0
  14. package/dist/features/test-drive-request/data/models/TestDriveRequest.d.ts +14 -0
  15. package/dist/features/test-drive-request/data/models/TestDriveRequest.js +7 -0
  16. package/dist/features/test-drive-request/data/models/index.d.ts +2 -0
  17. package/dist/features/test-drive-request/data/models/index.js +5 -0
  18. package/dist/features/test-drive-request/data/utilities.d.ts +29 -0
  19. package/dist/features/test-drive-request/data/utilities.js +95 -0
  20. package/dist/features/vehicle/data/dto/BaseDTO.d.ts +10 -0
  21. package/dist/features/vehicle/data/dto/BaseDTO.js +42 -0
  22. package/dist/features/vehicle/data/dto/PaymentDTO.d.ts +52 -0
  23. package/dist/features/vehicle/data/dto/PaymentDTO.js +161 -0
  24. package/dist/features/vehicle/data/dto/UserDTO.d.ts +16 -0
  25. package/dist/features/vehicle/data/dto/UserDTO.js +53 -0
  26. package/dist/features/vehicle/data/dto/VehicleDTO.d.ts +103 -0
  27. package/dist/features/vehicle/data/dto/VehicleDTO.js +425 -0
  28. package/dist/features/vehicle/data/dto/VehicleFeatureCategoriesDTO.d.ts +39 -0
  29. package/dist/features/vehicle/data/dto/VehicleFeatureCategoriesDTO.js +114 -0
  30. package/dist/features/vehicle/data/dto/VehicleFeatureDTO.d.ts +38 -0
  31. package/dist/features/vehicle/data/dto/VehicleFeatureDTO.js +121 -0
  32. package/dist/features/vehicle/data/dto/VehicleFinanceDTO.d.ts +46 -0
  33. package/dist/features/vehicle/data/dto/VehicleFinanceDTO.js +143 -0
  34. package/dist/features/vehicle/data/dto/VehicleMakeDTO.d.ts +46 -0
  35. package/dist/features/vehicle/data/dto/VehicleMakeDTO.js +169 -0
  36. package/dist/features/vehicle/data/dto/VehicleMedia.d.ts +28 -0
  37. package/dist/features/vehicle/data/dto/VehicleMedia.js +119 -0
  38. package/dist/features/vehicle/data/dto/VehicleModelDTO.d.ts +52 -0
  39. package/dist/features/vehicle/data/dto/VehicleModelDTO.js +189 -0
  40. package/dist/features/vehicle/data/dto/VehicleOrderDTO.d.ts +34 -0
  41. package/dist/features/vehicle/data/dto/VehicleOrderDTO.js +139 -0
  42. package/dist/features/vehicle/data/dto/VehicleTypeDTO.d.ts +35 -0
  43. package/dist/features/vehicle/data/dto/VehicleTypeDTO.js +102 -0
  44. package/dist/features/vehicle/data/enums/index.d.ts +4 -0
  45. package/dist/features/vehicle/data/enums/index.js +8 -0
  46. package/dist/features/vehicle/data/models/Base.d.ts +12 -0
  47. package/dist/features/vehicle/data/models/Base.js +6 -0
  48. package/dist/features/vehicle/data/models/Payment.d.ts +18 -0
  49. package/dist/features/vehicle/data/models/Payment.js +7 -0
  50. package/dist/features/vehicle/data/models/User.d.ts +15 -0
  51. package/dist/features/vehicle/data/models/User.js +6 -0
  52. package/dist/features/vehicle/data/models/Vehicle.d.ts +42 -0
  53. package/dist/features/vehicle/data/models/Vehicle.js +7 -0
  54. package/dist/features/vehicle/data/models/VehicleBodyType.d.ts +8 -0
  55. package/dist/features/vehicle/data/models/VehicleBodyType.js +7 -0
  56. package/dist/features/vehicle/data/models/VehicleCategory.d.ts +6 -0
  57. package/dist/features/vehicle/data/models/VehicleCategory.js +7 -0
  58. package/dist/features/vehicle/data/models/VehicleFeature.d.ts +8 -0
  59. package/dist/features/vehicle/data/models/VehicleFeature.js +7 -0
  60. package/dist/features/vehicle/data/models/VehicleFeatureCategory.d.ts +6 -0
  61. package/dist/features/vehicle/data/models/VehicleFeatureCategory.js +7 -0
  62. package/dist/features/vehicle/data/models/VehicleFinance.d.ts +16 -0
  63. package/dist/features/vehicle/data/models/VehicleFinance.js +7 -0
  64. package/dist/features/vehicle/data/models/VehicleMake.d.ts +14 -0
  65. package/dist/features/vehicle/data/models/VehicleMake.js +7 -0
  66. package/dist/features/vehicle/data/models/VehicleMedia.d.ts +11 -0
  67. package/dist/features/vehicle/data/models/VehicleMedia.js +7 -0
  68. package/dist/features/vehicle/data/models/VehicleMetaData.d.ts +11 -0
  69. package/dist/features/vehicle/data/models/VehicleMetaData.js +7 -0
  70. package/dist/features/vehicle/data/models/VehicleModel.d.ts +17 -0
  71. package/dist/features/vehicle/data/models/VehicleModel.js +7 -0
  72. package/dist/features/vehicle/data/models/VehicleOrder.d.ts +14 -0
  73. package/dist/features/vehicle/data/models/VehicleOrder.js +7 -0
  74. package/dist/features/vehicle/data/models/index.d.ts +14 -0
  75. package/dist/features/vehicle/data/models/index.js +29 -0
  76. package/dist/features/vehicle/data/utilities.d.ts +209 -0
  77. package/dist/features/vehicle/data/utilities.js +706 -0
  78. package/dist/global/dto/BaseGetDTO.d.ts +8 -0
  79. package/dist/global/dto/BaseGetDTO.js +18 -0
  80. package/dist/global/utilities.d.ts +48 -0
  81. package/dist/global/utilities.js +138 -0
  82. package/dist/index.d.ts +18 -0
  83. package/dist/index.js +34 -0
  84. package/package.json +49 -0
@@ -0,0 +1,114 @@
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.DynamicVehicleFeatureCategoryDTO = exports.VehicleFeatureCategoryUpdateDTO = exports.VehicleFeatureCategoryCreateDTO = exports.VehicleFeatureCategoryGetUniqueDTO = exports.VehicleFeatureCategoryGetDTO = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const BaseDTO_1 = require("./BaseDTO");
16
+ class VehicleFeatureCategoryGetDTO {
17
+ validate() {
18
+ const errors = (0, class_validator_1.validateSync)(this);
19
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
20
+ }
21
+ static fromPlain(plain) {
22
+ return (0, class_transformer_1.plainToClass)(VehicleFeatureCategoryGetDTO, plain);
23
+ }
24
+ static toPlain(entity) {
25
+ return (0, class_transformer_1.instanceToPlain)(entity);
26
+ }
27
+ }
28
+ exports.VehicleFeatureCategoryGetDTO = VehicleFeatureCategoryGetDTO;
29
+ // Use this to get a unique vehicle make by unique fields
30
+ class VehicleFeatureCategoryGetUniqueDTO {
31
+ validate() {
32
+ const errors = (0, class_validator_1.validateSync)(this);
33
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
34
+ }
35
+ static fromPlain(plain) {
36
+ return (0, class_transformer_1.plainToClass)(VehicleFeatureCategoryGetUniqueDTO, plain);
37
+ }
38
+ static toPlain(entity) {
39
+ return (0, class_transformer_1.instanceToPlain)(entity);
40
+ }
41
+ }
42
+ exports.VehicleFeatureCategoryGetUniqueDTO = VehicleFeatureCategoryGetUniqueDTO;
43
+ class VehicleFeatureCategoryCreateDTO extends BaseDTO_1.BaseCreateDTO {
44
+ validate() {
45
+ const errors = (0, class_validator_1.validateSync)(this);
46
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
47
+ }
48
+ static fromPlain(plain) {
49
+ return (0, class_transformer_1.plainToClass)(VehicleFeatureCategoryCreateDTO, plain);
50
+ }
51
+ static toPlain(entity) {
52
+ return (0, class_transformer_1.instanceToPlain)(entity);
53
+ }
54
+ }
55
+ __decorate([
56
+ (0, class_validator_1.IsString)(),
57
+ (0, class_validator_1.IsNotEmpty)(),
58
+ (0, class_validator_1.IsDefined)(),
59
+ (0, class_validator_1.Matches)(/^[a-zA-Z0-9\s\-\_]*$/, {
60
+ message: 'Name can only contain letters, numbers, spaces, hyphens, and underscores.',
61
+ }),
62
+ __metadata("design:type", String)
63
+ ], VehicleFeatureCategoryCreateDTO.prototype, "name", void 0);
64
+ exports.VehicleFeatureCategoryCreateDTO = VehicleFeatureCategoryCreateDTO;
65
+ class VehicleFeatureCategoryUpdateDTO extends BaseDTO_1.BaseUpdateDTO {
66
+ validate() {
67
+ const errors = (0, class_validator_1.validateSync)(this);
68
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
69
+ }
70
+ static fromPlain(plain) {
71
+ return (0, class_transformer_1.plainToClass)(VehicleFeatureCategoryUpdateDTO, plain);
72
+ }
73
+ static toPlain(entity) {
74
+ return (0, class_transformer_1.instanceToPlain)(entity);
75
+ }
76
+ }
77
+ __decorate([
78
+ (0, class_validator_1.IsString)(),
79
+ (0, class_validator_1.IsOptional)(),
80
+ (0, class_validator_1.Matches)(/^[a-zA-Z0-9\s\-\_]*$/, {
81
+ message: 'Name can only contain letters, numbers, spaces, hyphens, and underscores.',
82
+ }),
83
+ __metadata("design:type", String)
84
+ ], VehicleFeatureCategoryUpdateDTO.prototype, "name", void 0);
85
+ exports.VehicleFeatureCategoryUpdateDTO = VehicleFeatureCategoryUpdateDTO;
86
+ class DynamicVehicleFeatureCategoryDTO {
87
+ constructor(payload) {
88
+ this.existingId = payload.existingId;
89
+ this.new = payload.new;
90
+ }
91
+ validate() {
92
+ if (!this.existingId && !this.new) {
93
+ throw new Error('Either existingId or new details must be provided.');
94
+ }
95
+ }
96
+ static fromPlain(plain) {
97
+ return (0, class_transformer_1.plainToClass)(DynamicVehicleFeatureCategoryDTO, plain);
98
+ }
99
+ static toPlain(entity) {
100
+ return (0, class_transformer_1.instanceToPlain)(entity);
101
+ }
102
+ }
103
+ __decorate([
104
+ (0, class_validator_1.IsString)(),
105
+ (0, class_validator_1.IsOptional)(),
106
+ __metadata("design:type", String)
107
+ ], DynamicVehicleFeatureCategoryDTO.prototype, "existingId", void 0);
108
+ __decorate([
109
+ (0, class_validator_1.ValidateNested)(),
110
+ (0, class_transformer_1.Type)(() => VehicleFeatureCategoryCreateDTO),
111
+ (0, class_validator_1.IsOptional)(),
112
+ __metadata("design:type", VehicleFeatureCategoryCreateDTO)
113
+ ], DynamicVehicleFeatureCategoryDTO.prototype, "new", void 0);
114
+ exports.DynamicVehicleFeatureCategoryDTO = DynamicVehicleFeatureCategoryDTO;
@@ -0,0 +1,38 @@
1
+ import { VehicleFeatureFilter, VehicleFeatureOptions, VehicleFeatureUniqueFilter } from '../utilities';
2
+ import { BaseCreateDTO, BaseUpdateDTO } from './BaseDTO';
3
+ import { DynamicVehicleFeatureCategoryDTO } from './VehicleFeatureCategoriesDTO';
4
+ export declare class VehicleFeaturedGetDTO {
5
+ filter?: VehicleFeatureFilter;
6
+ options?: VehicleFeatureOptions;
7
+ validate(): string[];
8
+ static fromPlain(plain: Record<string, unknown>): VehicleFeaturedGetDTO;
9
+ static toPlain(entity: any): Record<string, unknown>;
10
+ }
11
+ export declare class VehicleFeaturedGetUniqueDTO {
12
+ filter?: VehicleFeatureUniqueFilter;
13
+ options?: Omit<VehicleFeatureOptions, 'page' | 'limit' | 'sort'>;
14
+ validate(): string[];
15
+ static fromPlain(plain: Record<string, unknown>): VehicleFeaturedGetUniqueDTO;
16
+ static toPlain(entity: VehicleFeaturedGetUniqueDTO): Record<string, unknown>;
17
+ }
18
+ export declare class VehicleFeaturedCreateDTO extends BaseCreateDTO {
19
+ name: string;
20
+ categories: DynamicVehicleFeatureCategoryDTO[];
21
+ validate(): string[];
22
+ static fromPlain(plain: Record<string, unknown>): VehicleFeaturedCreateDTO;
23
+ static toPlain(entity: VehicleFeaturedCreateDTO): Record<string, unknown>;
24
+ }
25
+ export declare class VehicleFeaturedUpdateDTO extends BaseUpdateDTO {
26
+ name?: string;
27
+ slug?: string;
28
+ validate(): string[];
29
+ static fromPlain(plain: Record<string, unknown>): VehicleFeaturedUpdateDTO;
30
+ static toPlain(entity: any): Record<string, unknown>;
31
+ }
32
+ export declare class DynamicVehicleFeatureDTO {
33
+ existingId?: string;
34
+ new?: VehicleFeaturedCreateDTO;
35
+ validate(): void;
36
+ static fromPlain(plain: Record<string, unknown>): DynamicVehicleFeatureDTO;
37
+ static toPlain(entity: any): Record<string, unknown>;
38
+ }
@@ -0,0 +1,121 @@
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.DynamicVehicleFeatureDTO = exports.VehicleFeaturedUpdateDTO = exports.VehicleFeaturedCreateDTO = exports.VehicleFeaturedGetUniqueDTO = exports.VehicleFeaturedGetDTO = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const BaseDTO_1 = require("./BaseDTO");
16
+ const VehicleFeatureCategoriesDTO_1 = require("./VehicleFeatureCategoriesDTO");
17
+ class VehicleFeaturedGetDTO {
18
+ validate() {
19
+ const errors = (0, class_validator_1.validateSync)(this);
20
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
21
+ }
22
+ static fromPlain(plain) {
23
+ return (0, class_transformer_1.plainToClass)(VehicleFeaturedGetDTO, plain);
24
+ }
25
+ static toPlain(entity) {
26
+ return (0, class_transformer_1.instanceToPlain)(entity);
27
+ }
28
+ }
29
+ exports.VehicleFeaturedGetDTO = VehicleFeaturedGetDTO;
30
+ // Use this to get a unique vehicle make by unique fields
31
+ class VehicleFeaturedGetUniqueDTO {
32
+ validate() {
33
+ const errors = (0, class_validator_1.validateSync)(this);
34
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
35
+ }
36
+ static fromPlain(plain) {
37
+ return (0, class_transformer_1.plainToClass)(VehicleFeaturedGetUniqueDTO, plain);
38
+ }
39
+ static toPlain(entity) {
40
+ return (0, class_transformer_1.instanceToPlain)(entity);
41
+ }
42
+ }
43
+ exports.VehicleFeaturedGetUniqueDTO = VehicleFeaturedGetUniqueDTO;
44
+ class VehicleFeaturedCreateDTO extends BaseDTO_1.BaseCreateDTO {
45
+ validate() {
46
+ const errors = (0, class_validator_1.validateSync)(this);
47
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
48
+ }
49
+ static fromPlain(plain) {
50
+ return (0, class_transformer_1.plainToClass)(VehicleFeaturedCreateDTO, plain);
51
+ }
52
+ static toPlain(entity) {
53
+ return (0, class_transformer_1.instanceToPlain)(entity);
54
+ }
55
+ }
56
+ __decorate([
57
+ (0, class_validator_1.IsString)(),
58
+ (0, class_validator_1.IsNotEmpty)(),
59
+ (0, class_validator_1.IsDefined)(),
60
+ (0, class_validator_1.Matches)(/^[a-zA-Z0-9\s\-\_]*$/, {
61
+ message: 'Name can only contain letters, numbers, spaces, hyphens, and underscores.',
62
+ }),
63
+ __metadata("design:type", String)
64
+ ], VehicleFeaturedCreateDTO.prototype, "name", void 0);
65
+ __decorate([
66
+ (0, class_validator_1.ValidateNested)({ each: true }),
67
+ (0, class_transformer_1.Type)(() => VehicleFeatureCategoriesDTO_1.DynamicVehicleFeatureCategoryDTO),
68
+ __metadata("design:type", Array)
69
+ ], VehicleFeaturedCreateDTO.prototype, "categories", void 0);
70
+ exports.VehicleFeaturedCreateDTO = VehicleFeaturedCreateDTO;
71
+ class VehicleFeaturedUpdateDTO extends BaseDTO_1.BaseUpdateDTO {
72
+ validate() {
73
+ const errors = (0, class_validator_1.validateSync)(this);
74
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
75
+ }
76
+ static fromPlain(plain) {
77
+ return (0, class_transformer_1.plainToClass)(VehicleFeaturedUpdateDTO, plain);
78
+ }
79
+ static toPlain(entity) {
80
+ return (0, class_transformer_1.instanceToPlain)(entity);
81
+ }
82
+ }
83
+ __decorate([
84
+ (0, class_validator_1.IsString)(),
85
+ (0, class_validator_1.IsOptional)(),
86
+ (0, class_validator_1.Matches)(/^[a-zA-Z0-9\s\-\_]*$/, {
87
+ message: 'Name can only contain letters, numbers, spaces, hyphens, and underscores.',
88
+ }),
89
+ __metadata("design:type", String)
90
+ ], VehicleFeaturedUpdateDTO.prototype, "name", void 0);
91
+ __decorate([
92
+ (0, class_validator_1.IsString)(),
93
+ (0, class_validator_1.IsOptional)(),
94
+ __metadata("design:type", String)
95
+ ], VehicleFeaturedUpdateDTO.prototype, "slug", void 0);
96
+ exports.VehicleFeaturedUpdateDTO = VehicleFeaturedUpdateDTO;
97
+ class DynamicVehicleFeatureDTO {
98
+ validate() {
99
+ if (!this.existingId && !this.new) {
100
+ throw new Error('Either existingId or new details must be provided.');
101
+ }
102
+ }
103
+ static fromPlain(plain) {
104
+ return (0, class_transformer_1.plainToClass)(DynamicVehicleFeatureDTO, plain);
105
+ }
106
+ static toPlain(entity) {
107
+ return (0, class_transformer_1.instanceToPlain)(entity);
108
+ }
109
+ }
110
+ __decorate([
111
+ (0, class_validator_1.IsString)(),
112
+ (0, class_validator_1.IsOptional)(),
113
+ __metadata("design:type", String)
114
+ ], DynamicVehicleFeatureDTO.prototype, "existingId", void 0);
115
+ __decorate([
116
+ (0, class_validator_1.ValidateNested)(),
117
+ (0, class_transformer_1.Type)(() => VehicleFeaturedCreateDTO),
118
+ (0, class_validator_1.IsOptional)(),
119
+ __metadata("design:type", VehicleFeaturedCreateDTO)
120
+ ], DynamicVehicleFeatureDTO.prototype, "new", void 0);
121
+ exports.DynamicVehicleFeatureDTO = DynamicVehicleFeatureDTO;
@@ -0,0 +1,46 @@
1
+ export declare class VehicleFinanceGetDTO {
2
+ id: string;
3
+ vehicleId: string;
4
+ interestPercentage: number;
5
+ monthlyInstallment: number;
6
+ financingYear: number;
7
+ interestPerYear: number;
8
+ totalReductionAmount: number;
9
+ reductionDuration: number;
10
+ durationShow: string;
11
+ reductionInterval: number;
12
+ minimumBidAmount: number;
13
+ initialDepositAmount: number;
14
+ static fromEntity(entity: any): VehicleFinanceGetDTO;
15
+ toPlain(): Record<string, unknown>;
16
+ }
17
+ export declare class VehicleFinanceCreateDTO {
18
+ vehicleId: string;
19
+ interestPercentage: number;
20
+ monthlyInstallment: number;
21
+ financingYear: number;
22
+ interestPerYear: number;
23
+ totalReductionAmount: number;
24
+ reductionDuration: number;
25
+ durationShow: string;
26
+ reductionInterval: number;
27
+ minimumBidAmount: number;
28
+ initialDepositAmount: number;
29
+ validate(): string[];
30
+ static fromPlain(plain: Record<string, unknown>): VehicleFinanceCreateDTO;
31
+ }
32
+ export declare class VehicleFinanceUpdateDTO {
33
+ vehicleId?: string;
34
+ interestPercentage?: number;
35
+ monthlyInstallment?: number;
36
+ financingYear?: number;
37
+ interestPerYear?: number;
38
+ totalReductionAmount?: number;
39
+ reductionDuration?: number;
40
+ durationShow?: string;
41
+ reductionInterval?: number;
42
+ minimumBidAmount?: number;
43
+ initialDepositAmount?: number;
44
+ validate(): string[];
45
+ static fromPlain(plain: Record<string, unknown>): VehicleFinanceUpdateDTO;
46
+ }
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ // VehicleFinanceDTO.ts
3
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
4
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
6
+ 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;
7
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
8
+ };
9
+ var __metadata = (this && this.__metadata) || function (k, v) {
10
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.VehicleFinanceUpdateDTO = exports.VehicleFinanceCreateDTO = exports.VehicleFinanceGetDTO = void 0;
14
+ const class_validator_1 = require("class-validator");
15
+ const class_transformer_1 = require("class-transformer");
16
+ class VehicleFinanceGetDTO {
17
+ static fromEntity(entity) {
18
+ return (0, class_transformer_1.plainToClass)(VehicleFinanceGetDTO, entity);
19
+ }
20
+ toPlain() {
21
+ return (0, class_transformer_1.classToPlain)(this);
22
+ }
23
+ }
24
+ exports.VehicleFinanceGetDTO = VehicleFinanceGetDTO;
25
+ class VehicleFinanceCreateDTO {
26
+ validate() {
27
+ const errors = (0, class_validator_1.validateSync)(this);
28
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
29
+ }
30
+ static fromPlain(plain) {
31
+ return (0, class_transformer_1.plainToClass)(VehicleFinanceCreateDTO, plain);
32
+ }
33
+ }
34
+ __decorate([
35
+ (0, class_validator_1.IsString)(),
36
+ __metadata("design:type", String)
37
+ ], VehicleFinanceCreateDTO.prototype, "vehicleId", void 0);
38
+ __decorate([
39
+ (0, class_validator_1.IsNumber)(),
40
+ __metadata("design:type", Number)
41
+ ], VehicleFinanceCreateDTO.prototype, "interestPercentage", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsNumber)(),
44
+ __metadata("design:type", Number)
45
+ ], VehicleFinanceCreateDTO.prototype, "monthlyInstallment", void 0);
46
+ __decorate([
47
+ (0, class_validator_1.IsNumber)(),
48
+ __metadata("design:type", Number)
49
+ ], VehicleFinanceCreateDTO.prototype, "financingYear", void 0);
50
+ __decorate([
51
+ (0, class_validator_1.IsNumber)(),
52
+ __metadata("design:type", Number)
53
+ ], VehicleFinanceCreateDTO.prototype, "interestPerYear", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsNumber)(),
56
+ __metadata("design:type", Number)
57
+ ], VehicleFinanceCreateDTO.prototype, "totalReductionAmount", void 0);
58
+ __decorate([
59
+ (0, class_validator_1.IsNumber)(),
60
+ __metadata("design:type", Number)
61
+ ], VehicleFinanceCreateDTO.prototype, "reductionDuration", void 0);
62
+ __decorate([
63
+ (0, class_validator_1.IsString)(),
64
+ __metadata("design:type", String)
65
+ ], VehicleFinanceCreateDTO.prototype, "durationShow", void 0);
66
+ __decorate([
67
+ (0, class_validator_1.IsNumber)(),
68
+ __metadata("design:type", Number)
69
+ ], VehicleFinanceCreateDTO.prototype, "reductionInterval", void 0);
70
+ __decorate([
71
+ (0, class_validator_1.IsNumber)(),
72
+ __metadata("design:type", Number)
73
+ ], VehicleFinanceCreateDTO.prototype, "minimumBidAmount", void 0);
74
+ __decorate([
75
+ (0, class_validator_1.IsNumber)(),
76
+ __metadata("design:type", Number)
77
+ ], VehicleFinanceCreateDTO.prototype, "initialDepositAmount", void 0);
78
+ exports.VehicleFinanceCreateDTO = VehicleFinanceCreateDTO;
79
+ class VehicleFinanceUpdateDTO {
80
+ validate() {
81
+ const errors = (0, class_validator_1.validateSync)(this);
82
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
83
+ }
84
+ static fromPlain(plain) {
85
+ return (0, class_transformer_1.plainToClass)(VehicleFinanceUpdateDTO, plain);
86
+ }
87
+ }
88
+ __decorate([
89
+ (0, class_validator_1.IsOptional)(),
90
+ (0, class_validator_1.IsString)(),
91
+ __metadata("design:type", String)
92
+ ], VehicleFinanceUpdateDTO.prototype, "vehicleId", void 0);
93
+ __decorate([
94
+ (0, class_validator_1.IsOptional)(),
95
+ (0, class_validator_1.IsNumber)(),
96
+ __metadata("design:type", Number)
97
+ ], VehicleFinanceUpdateDTO.prototype, "interestPercentage", void 0);
98
+ __decorate([
99
+ (0, class_validator_1.IsOptional)(),
100
+ (0, class_validator_1.IsNumber)(),
101
+ __metadata("design:type", Number)
102
+ ], VehicleFinanceUpdateDTO.prototype, "monthlyInstallment", void 0);
103
+ __decorate([
104
+ (0, class_validator_1.IsOptional)(),
105
+ (0, class_validator_1.IsNumber)(),
106
+ __metadata("design:type", Number)
107
+ ], VehicleFinanceUpdateDTO.prototype, "financingYear", void 0);
108
+ __decorate([
109
+ (0, class_validator_1.IsOptional)(),
110
+ (0, class_validator_1.IsNumber)(),
111
+ __metadata("design:type", Number)
112
+ ], VehicleFinanceUpdateDTO.prototype, "interestPerYear", void 0);
113
+ __decorate([
114
+ (0, class_validator_1.IsOptional)(),
115
+ (0, class_validator_1.IsNumber)(),
116
+ __metadata("design:type", Number)
117
+ ], VehicleFinanceUpdateDTO.prototype, "totalReductionAmount", void 0);
118
+ __decorate([
119
+ (0, class_validator_1.IsOptional)(),
120
+ (0, class_validator_1.IsNumber)(),
121
+ __metadata("design:type", Number)
122
+ ], VehicleFinanceUpdateDTO.prototype, "reductionDuration", void 0);
123
+ __decorate([
124
+ (0, class_validator_1.IsOptional)(),
125
+ (0, class_validator_1.IsString)(),
126
+ __metadata("design:type", String)
127
+ ], VehicleFinanceUpdateDTO.prototype, "durationShow", void 0);
128
+ __decorate([
129
+ (0, class_validator_1.IsOptional)(),
130
+ (0, class_validator_1.IsNumber)(),
131
+ __metadata("design:type", Number)
132
+ ], VehicleFinanceUpdateDTO.prototype, "reductionInterval", void 0);
133
+ __decorate([
134
+ (0, class_validator_1.IsOptional)(),
135
+ (0, class_validator_1.IsNumber)(),
136
+ __metadata("design:type", Number)
137
+ ], VehicleFinanceUpdateDTO.prototype, "minimumBidAmount", void 0);
138
+ __decorate([
139
+ (0, class_validator_1.IsOptional)(),
140
+ (0, class_validator_1.IsNumber)(),
141
+ __metadata("design:type", Number)
142
+ ], VehicleFinanceUpdateDTO.prototype, "initialDepositAmount", void 0);
143
+ exports.VehicleFinanceUpdateDTO = VehicleFinanceUpdateDTO;
@@ -0,0 +1,46 @@
1
+ import { VehicleMakeFilter, VehicleMakeOptions, VehicleMakeUniqueFilter } from '../utilities';
2
+ import { BaseCreateDTO, BaseUpdateDTO } from './BaseDTO';
3
+ export declare class VehicleMakeGetDTO {
4
+ filter?: VehicleMakeFilter;
5
+ options?: VehicleMakeOptions;
6
+ validate(): string[];
7
+ static fromPlain(plain: Record<string, unknown>): VehicleMakeGetDTO;
8
+ static toPlain(entity: any): Record<string, unknown>;
9
+ }
10
+ export declare class VehicleMakeGetUniqueDTO {
11
+ filter?: VehicleMakeUniqueFilter;
12
+ options?: Omit<VehicleMakeOptions, 'page' | 'limit' | 'sort'>;
13
+ validate(): string[];
14
+ static fromPlain(plain: Record<string, unknown>): VehicleMakeGetUniqueDTO;
15
+ static toPlain(entity: any): Record<string, unknown>;
16
+ }
17
+ export declare class VehicleMakeCreateDTO extends BaseCreateDTO {
18
+ name: string;
19
+ image?: string;
20
+ description?: string;
21
+ metaTitle?: string;
22
+ metaDescription?: string;
23
+ metaKeywords?: string;
24
+ validate(): string[];
25
+ static fromPlain(plain: Record<string, unknown>): VehicleMakeCreateDTO;
26
+ static toPlain(entity: any): Record<string, unknown>;
27
+ }
28
+ export declare class VehicleMakeUpdateDTO extends BaseUpdateDTO {
29
+ name?: string;
30
+ image?: string;
31
+ description?: string;
32
+ metaTitle?: string;
33
+ metaDescription?: string;
34
+ metaKeywords?: string;
35
+ isActive?: boolean;
36
+ validate(): string[];
37
+ static fromPlain(plain: Record<string, unknown>): VehicleMakeUpdateDTO;
38
+ static toPlain(entity: any): Record<string, unknown>;
39
+ }
40
+ export declare class DynamicMakeDTO {
41
+ existingId?: string;
42
+ new?: VehicleMakeCreateDTO;
43
+ validate(): void;
44
+ static fromPlain(plain: Record<string, unknown>): DynamicMakeDTO;
45
+ static toPlain(entity: any): Record<string, unknown>;
46
+ }
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ // VehicleMakeDTO.ts
3
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
4
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
6
+ 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;
7
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
8
+ };
9
+ var __metadata = (this && this.__metadata) || function (k, v) {
10
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.DynamicMakeDTO = exports.VehicleMakeUpdateDTO = exports.VehicleMakeCreateDTO = exports.VehicleMakeGetUniqueDTO = exports.VehicleMakeGetDTO = void 0;
14
+ const class_validator_1 = require("class-validator");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const BaseDTO_1 = require("./BaseDTO");
17
+ class VehicleMakeGetDTO {
18
+ validate() {
19
+ const errors = (0, class_validator_1.validateSync)(this);
20
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
21
+ }
22
+ static fromPlain(plain) {
23
+ return (0, class_transformer_1.plainToClass)(VehicleMakeGetDTO, plain);
24
+ }
25
+ static toPlain(entity) {
26
+ return (0, class_transformer_1.instanceToPlain)(entity);
27
+ }
28
+ }
29
+ exports.VehicleMakeGetDTO = VehicleMakeGetDTO;
30
+ // Use this to get a unique vehicle make by unique fields
31
+ class VehicleMakeGetUniqueDTO {
32
+ validate() {
33
+ const errors = (0, class_validator_1.validateSync)(this);
34
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
35
+ }
36
+ static fromPlain(plain) {
37
+ return (0, class_transformer_1.plainToClass)(VehicleMakeGetUniqueDTO, plain);
38
+ }
39
+ static toPlain(entity) {
40
+ return (0, class_transformer_1.instanceToPlain)(entity);
41
+ }
42
+ }
43
+ exports.VehicleMakeGetUniqueDTO = VehicleMakeGetUniqueDTO;
44
+ class VehicleMakeCreateDTO extends BaseDTO_1.BaseCreateDTO {
45
+ // NOTE:
46
+ // - We are not validating the slug field because it is automatically generated from the name field.
47
+ // - We cannot create a attach vehicles and models to a make during creation because the make should be created first and then the vehicles and models should be created and attached to the make.
48
+ validate() {
49
+ const errors = (0, class_validator_1.validateSync)(this);
50
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
51
+ }
52
+ static fromPlain(plain) {
53
+ return (0, class_transformer_1.plainToClass)(VehicleMakeCreateDTO, plain);
54
+ }
55
+ static toPlain(entity) {
56
+ return (0, class_transformer_1.instanceToPlain)(entity);
57
+ }
58
+ }
59
+ __decorate([
60
+ (0, class_validator_1.IsString)(),
61
+ (0, class_validator_1.IsNotEmpty)(),
62
+ (0, class_validator_1.IsDefined)(),
63
+ (0, class_validator_1.Matches)(/^[a-zA-Z0-9\s\-\_]*$/, {
64
+ message: 'Name can only contain letters, numbers, spaces, hyphens, and underscores.',
65
+ }),
66
+ __metadata("design:type", String)
67
+ ], VehicleMakeCreateDTO.prototype, "name", void 0);
68
+ __decorate([
69
+ (0, class_validator_1.IsString)(),
70
+ (0, class_validator_1.IsOptional)(),
71
+ __metadata("design:type", String)
72
+ ], VehicleMakeCreateDTO.prototype, "image", void 0);
73
+ __decorate([
74
+ (0, class_validator_1.IsString)(),
75
+ (0, class_validator_1.IsOptional)(),
76
+ __metadata("design:type", String)
77
+ ], VehicleMakeCreateDTO.prototype, "description", void 0);
78
+ __decorate([
79
+ (0, class_validator_1.IsString)(),
80
+ (0, class_validator_1.IsOptional)(),
81
+ __metadata("design:type", String)
82
+ ], VehicleMakeCreateDTO.prototype, "metaTitle", void 0);
83
+ __decorate([
84
+ (0, class_validator_1.IsString)(),
85
+ (0, class_validator_1.IsOptional)(),
86
+ __metadata("design:type", String)
87
+ ], VehicleMakeCreateDTO.prototype, "metaDescription", void 0);
88
+ __decorate([
89
+ (0, class_validator_1.IsString)(),
90
+ (0, class_validator_1.IsOptional)(),
91
+ __metadata("design:type", String)
92
+ ], VehicleMakeCreateDTO.prototype, "metaKeywords", void 0);
93
+ exports.VehicleMakeCreateDTO = VehicleMakeCreateDTO;
94
+ class VehicleMakeUpdateDTO extends BaseDTO_1.BaseUpdateDTO {
95
+ validate() {
96
+ const errors = (0, class_validator_1.validateSync)(this);
97
+ return errors.map(error => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
98
+ }
99
+ static fromPlain(plain) {
100
+ return (0, class_transformer_1.plainToClass)(VehicleMakeUpdateDTO, plain);
101
+ }
102
+ static toPlain(entity) {
103
+ return (0, class_transformer_1.instanceToPlain)(entity);
104
+ }
105
+ }
106
+ __decorate([
107
+ (0, class_validator_1.IsString)(),
108
+ (0, class_validator_1.IsOptional)(),
109
+ (0, class_validator_1.Matches)(/^[a-zA-Z0-9\s\-\_]*$/, {
110
+ message: 'Name can only contain letters, numbers, spaces, hyphens, and underscores.',
111
+ }),
112
+ __metadata("design:type", String)
113
+ ], VehicleMakeUpdateDTO.prototype, "name", void 0);
114
+ __decorate([
115
+ (0, class_validator_1.IsString)(),
116
+ (0, class_validator_1.IsOptional)(),
117
+ __metadata("design:type", String)
118
+ ], VehicleMakeUpdateDTO.prototype, "image", void 0);
119
+ __decorate([
120
+ (0, class_validator_1.IsString)(),
121
+ (0, class_validator_1.IsOptional)(),
122
+ __metadata("design:type", String)
123
+ ], VehicleMakeUpdateDTO.prototype, "description", void 0);
124
+ __decorate([
125
+ (0, class_validator_1.IsString)(),
126
+ (0, class_validator_1.IsOptional)(),
127
+ __metadata("design:type", String)
128
+ ], VehicleMakeUpdateDTO.prototype, "metaTitle", void 0);
129
+ __decorate([
130
+ (0, class_validator_1.IsString)(),
131
+ (0, class_validator_1.IsOptional)(),
132
+ __metadata("design:type", String)
133
+ ], VehicleMakeUpdateDTO.prototype, "metaDescription", void 0);
134
+ __decorate([
135
+ (0, class_validator_1.IsString)(),
136
+ (0, class_validator_1.IsOptional)(),
137
+ __metadata("design:type", String)
138
+ ], VehicleMakeUpdateDTO.prototype, "metaKeywords", void 0);
139
+ __decorate([
140
+ (0, class_validator_1.IsBoolean)(),
141
+ (0, class_validator_1.IsOptional)(),
142
+ __metadata("design:type", Boolean)
143
+ ], VehicleMakeUpdateDTO.prototype, "isActive", void 0);
144
+ exports.VehicleMakeUpdateDTO = VehicleMakeUpdateDTO;
145
+ class DynamicMakeDTO {
146
+ validate() {
147
+ if (!this.existingId && !this.new) {
148
+ throw new Error('Either existingId or new details must be provided.');
149
+ }
150
+ }
151
+ static fromPlain(plain) {
152
+ return (0, class_transformer_1.plainToClass)(DynamicMakeDTO, plain);
153
+ }
154
+ static toPlain(entity) {
155
+ return (0, class_transformer_1.instanceToPlain)(entity);
156
+ }
157
+ }
158
+ __decorate([
159
+ (0, class_validator_1.IsString)(),
160
+ (0, class_validator_1.IsOptional)(),
161
+ __metadata("design:type", String)
162
+ ], DynamicMakeDTO.prototype, "existingId", void 0);
163
+ __decorate([
164
+ (0, class_validator_1.ValidateNested)(),
165
+ (0, class_transformer_1.Type)(() => VehicleMakeCreateDTO),
166
+ (0, class_validator_1.IsOptional)(),
167
+ __metadata("design:type", VehicleMakeCreateDTO)
168
+ ], DynamicMakeDTO.prototype, "new", void 0);
169
+ exports.DynamicMakeDTO = DynamicMakeDTO;