@alba-cars/common-modules 1.9.2 → 1.9.5

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.
@@ -28,10 +28,18 @@ type MetaEndpoints = BaseEndpoint & {
28
28
  type DepositEndpoints = BaseEndpoint & {
29
29
  initiateRefund: string | EndpointFunction;
30
30
  };
31
+ type UserEndpoints = BaseEndpoint & {
32
+ changeProfilePicture: EndpointFunction;
33
+ deleteProfilePicture: EndpointFunction;
34
+ };
35
+ type TicketEndpoints = BaseEndpoint & {
36
+ getMyTickets: string;
37
+ getUserTickets: EndpointFunction;
38
+ getAgentTickets: EndpointFunction;
39
+ };
31
40
  type APIEndpointType = {
32
41
  vehicle: VehicleEndpoints;
33
42
  blogs: BlogEndpoints;
34
- vehicleDetails: BaseEndpoint;
35
43
  vehicleFinance: BaseEndpoint;
36
44
  TestDrive: BaseEndpoint;
37
45
  vehicleMake: BaseEndpoint;
@@ -42,7 +50,6 @@ type APIEndpointType = {
42
50
  vehicleFeatures: BaseEndpoint;
43
51
  vehicleFeatureCategories: BaseEndpoint;
44
52
  vehicleType: BaseEndpoint;
45
- carOptions: BaseEndpoint;
46
53
  payment: BaseEndpoint;
47
54
  deposit: DepositEndpoints;
48
55
  agents: BaseEndpoint;
@@ -54,8 +61,8 @@ type APIEndpointType = {
54
61
  leads: BaseEndpoint;
55
62
  leadPreferences: BaseEndpoint;
56
63
  googleReview: BaseEndpoint;
57
- tickets: BaseEndpoint;
58
- user: BaseEndpoint;
64
+ tickets: TicketEndpoints;
65
+ user: UserEndpoints;
59
66
  faq: BaseEndpoint;
60
67
  };
61
68
  export declare const API_ENDPOINTS: APIEndpointType;
@@ -71,6 +78,10 @@ export declare const UTIL_ENDPOINTS: {
71
78
  export declare const AUTH_ENDPOINTS: {
72
79
  login: string;
73
80
  register: string;
74
- getLoggedInUser: string;
81
+ refreshAccessToken: string;
82
+ sendPhoneVerificationCode: string;
83
+ verifyPhoneAndLogin: string;
84
+ verifyAnyPhoneNumber: string;
85
+ checkPhoneNumberExists: string;
75
86
  };
76
87
  export {};
@@ -17,13 +17,6 @@ exports.API_ENDPOINTS = {
17
17
  markVehicleSold: (id) => `/vehicle/mark-vehicle-sold/${id}`,
18
18
  markVehicleDraft: (id) => `/vehicle/mark-vehicle-draft/${id}`,
19
19
  },
20
- vehicleDetails: {
21
- getAll: `/vehicledetails`,
22
- create: `/vehicledetails`,
23
- getOne: (id) => `/vehicledetails/${id}`,
24
- deleteOne: (id) => `/vehicledetails/${id}`,
25
- updateOne: (id) => `/vehicledetails/${id}`,
26
- },
27
20
  vehicleFinance: {
28
21
  getAll: `/vehicle-finance`,
29
22
  create: `/vehicle-finance`,
@@ -78,11 +71,11 @@ exports.API_ENDPOINTS = {
78
71
  updateOne: (id) => `/test-drive-requests/${id}`,
79
72
  },
80
73
  vehicleOrder: {
81
- getAll: `/vehicleorder`,
82
- create: `/vehicleorder`,
83
- getOne: (id) => `/vehicleorder/${id}`,
84
- deleteOne: (id) => `/vehicleorder/${id}`,
85
- updateOne: (id) => `/vehicleorder/${id}`,
74
+ getAll: `/vehicle-order`,
75
+ create: `/vehicle-order`,
76
+ getOne: (id) => `/vehicle-order/${id}`,
77
+ deleteOne: (id) => `/vehicle-order/${id}`,
78
+ updateOne: (id) => `/vehicle-order/${id}`,
86
79
  },
87
80
  vehicleType: {
88
81
  getAll: `/vehicle/body-types`,
@@ -98,13 +91,6 @@ exports.API_ENDPOINTS = {
98
91
  deleteOne: (id) => `/vehicle-inspection/${id}`,
99
92
  updateOne: (id) => `/vehicle-inspection/${id}`,
100
93
  },
101
- carOptions: {
102
- getAll: `/caroptions`,
103
- create: `/caroptions`,
104
- getOne: (id) => `/caroptions/${id}`,
105
- deleteOne: (id) => `/caroptions/${id}`,
106
- updateOne: (id) => `/caroptions/${id}`,
107
- },
108
94
  payment: {
109
95
  getAll: `/payment`,
110
96
  create: `/payment`,
@@ -190,6 +176,8 @@ exports.API_ENDPOINTS = {
190
176
  getOne: (id) => `/user/${id}`,
191
177
  deleteOne: (id) => `/user/${id}`,
192
178
  updateOne: (id) => `/user/${id}`,
179
+ changeProfilePicture: (id) => `/user/${id}/profile-pic`,
180
+ deleteProfilePicture: (id) => `/user/${id}/profile-pic`,
193
181
  },
194
182
  googleReview: {
195
183
  getAll: `/google-reviews`,
@@ -204,6 +192,9 @@ exports.API_ENDPOINTS = {
204
192
  getOne: (id) => `/tickets/${id}`,
205
193
  deleteOne: (id) => `/tickets/${id}`,
206
194
  updateOne: (id) => `/tickets/${id}`,
195
+ getMyTickets: `/tickets/my`,
196
+ getUserTickets: (userId) => `/tickets/user/${userId}`,
197
+ getAgentTickets: (userId) => `/tickets/agent/${userId}`,
207
198
  },
208
199
  faq: {
209
200
  getAll: `/faqs`,
@@ -213,17 +204,23 @@ exports.API_ENDPOINTS = {
213
204
  updateOne: (id) => `/faqs/${id}`,
214
205
  }
215
206
  };
207
+ const utilRoutePrefix = "/utils";
216
208
  exports.UTIL_ENDPOINTS = {
217
209
  media: {
218
- createS3Url: "/utils/get-upload-url",
219
- preprocessMediaUrl: "/utils/process-media",
220
- removeS3Media: '/utils/remove-s3',
221
- removeVehicleMedia: '/utils/remove-vehcile-media',
222
- removeByIdentifier: '/utils/remove-by-identifier'
210
+ createS3Url: `${utilRoutePrefix}/get-upload-url`,
211
+ preprocessMediaUrl: `${utilRoutePrefix}/process-media`,
212
+ removeS3Media: `${utilRoutePrefix}/remove-s3`,
213
+ removeVehicleMedia: `${utilRoutePrefix}/remove-vehcile-media`,
214
+ removeByIdentifier: `${utilRoutePrefix}/remove-by-identifier`
223
215
  },
224
216
  };
217
+ const authRoutePrefix = "/auth";
225
218
  exports.AUTH_ENDPOINTS = {
226
- login: "/auth/login",
227
- register: "/auth/register",
228
- getLoggedInUser: "/auth/me",
219
+ login: `${authRoutePrefix}/login`,
220
+ register: `${authRoutePrefix}/register`,
221
+ refreshAccessToken: `${authRoutePrefix}/refresh-token`,
222
+ sendPhoneVerificationCode: `${authRoutePrefix}/phone/send-verification`,
223
+ verifyPhoneAndLogin: `${authRoutePrefix}/phone/verify-and-login`,
224
+ verifyAnyPhoneNumber: `${authRoutePrefix}/phone/verify`,
225
+ checkPhoneNumberExists: `${authRoutePrefix}/phone/check`,
229
226
  };
@@ -11,6 +11,7 @@ import { UserFavoriteVehicle } from "./UserFavoriteVehicle";
11
11
  import { User } from "./User";
12
12
  import { Deposit } from "./Deposit";
13
13
  import { VehicleWarrantyDTO } from "../vehicle/data/dto/VehicleWarrantyDTO";
14
+ import { VehicleWarrantyYearType } from "../vehicle";
14
15
  export declare class Vehicle extends BaseModel {
15
16
  referenceNumber?: string;
16
17
  slug: string;
@@ -45,6 +46,10 @@ export declare class Vehicle extends BaseModel {
45
46
  features?: VehicleFeature[];
46
47
  metaData?: VehicleMetaData;
47
48
  finance?: VehicleFinance;
49
+ warrantyYears?: VehicleWarrantyYearType;
50
+ warrantyKm?: number;
51
+ serviceContractYears?: VehicleWarrantyYearType;
52
+ serviceContractKm?: number;
48
53
  serviceContract?: VehicleWarrantyDTO;
49
54
  warranty: VehicleWarrantyDTO;
50
55
  orders?: VehicleOrder[];
@@ -2,7 +2,9 @@ export declare class GetSimilarVehiclesDTO {
2
2
  vehicleId: string;
3
3
  makeId?: string;
4
4
  modelId?: string;
5
- priceRange?: number;
5
+ priceRangePercentage?: number;
6
+ mileageRange?: number;
7
+ yearRange?: number;
6
8
  limit?: number;
7
9
  options?: Record<string, any>;
8
10
  static fromPlain(data: any): GetSimilarVehiclesDTO;
@@ -5,7 +5,7 @@ class GetSimilarVehiclesDTO {
5
5
  static fromPlain(data) {
6
6
  const dto = new GetSimilarVehiclesDTO();
7
7
  dto.vehicleId = data.vehicleId;
8
- dto.priceRange = data.priceRange;
8
+ dto.priceRangePercentage = data.priceRange;
9
9
  dto.limit = data.limit;
10
10
  dto.options = data.options;
11
11
  dto.makeId = data.makeId;
@@ -17,9 +17,17 @@ class GetSimilarVehiclesDTO {
17
17
  if (!this.vehicleId) {
18
18
  errors.push("Vehicle ID is required");
19
19
  }
20
- if (this.priceRange !== undefined &&
21
- (isNaN(this.priceRange) || this.priceRange < 0)) {
22
- errors.push("Price range must be a positive number");
20
+ if (this.priceRangePercentage !== undefined &&
21
+ (isNaN(this.priceRangePercentage) || this.priceRangePercentage < 0 || this.priceRangePercentage > 100)) {
22
+ errors.push("Price range percentage must be a positive number between 0 and 100");
23
+ }
24
+ if (this.mileageRange !== undefined &&
25
+ (isNaN(this.mileageRange) || this.mileageRange < 0)) {
26
+ errors.push("Mileage range must be a positive number");
27
+ }
28
+ if (this.yearRange !== undefined &&
29
+ (isNaN(this.yearRange) || this.yearRange < 0)) {
30
+ errors.push("Year range must be a positive number");
23
31
  }
24
32
  if (this.limit !== undefined && (isNaN(this.limit) || this.limit < 1)) {
25
33
  errors.push("Limit must be a positive number");
@@ -204,6 +204,7 @@ export declare class VehicleFilter extends BaseFilter {
204
204
  emi?: NumberRange;
205
205
  status?: string | string[];
206
206
  includeReserved?: boolean;
207
+ includeUnpublished?: boolean;
207
208
  includeSelfReserved?: boolean;
208
209
  includeSold?: boolean;
209
210
  includeDraft?: boolean;
@@ -667,6 +667,11 @@ __decorate([
667
667
  (0, class_validator_1.IsBoolean)(),
668
668
  __metadata("design:type", Boolean)
669
669
  ], VehicleFilter.prototype, "includeReserved", void 0);
670
+ __decorate([
671
+ (0, class_validator_1.IsOptional)(),
672
+ (0, class_validator_1.IsBoolean)(),
673
+ __metadata("design:type", Boolean)
674
+ ], VehicleFilter.prototype, "includeUnpublished", void 0);
670
675
  __decorate([
671
676
  (0, class_validator_1.IsOptional)(),
672
677
  (0, class_validator_1.IsBoolean)(),
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.9.2",
6
+ "version": "1.9.5",
7
7
  "description": "A package containing DTOs, validation classes and common modules and interfaces for Alba Cars",
8
8
  "main": "dist/index.js",
9
9
  "types": "dist/index.d.ts",