@alba-cars/common-modules 1.3.8 → 1.4.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.
@@ -28,6 +28,8 @@ type APIEndpointType = {
28
28
  vehicleMeta: BaseEndpoint;
29
29
  vehicleInspection: BaseEndpoint;
30
30
  vehicleOrder: BaseEndpoint;
31
+ vehicleFeatures: BaseEndpoint;
32
+ vehicleFeatureCategories: BaseEndpoint;
31
33
  vehicleType: BaseEndpoint;
32
34
  carOptions: BaseEndpoint;
33
35
  payment: BaseEndpoint;
@@ -36,6 +36,20 @@ exports.API_ENDPOINTS = {
36
36
  deleteOne: (id) => `/vehicle/makes/${id}`,
37
37
  updateOne: (id) => `/vehicle/makes/${id}`,
38
38
  },
39
+ vehicleFeatures: {
40
+ getAll: `/vehicle/features`,
41
+ create: `/vehicle/features`,
42
+ getOne: (id) => `/vehicle/features/${id}`,
43
+ deleteOne: (id) => `/vehicle/features/${id}`,
44
+ updateOne: (id) => `/vehicle/features/${id}`,
45
+ },
46
+ vehicleFeatureCategories: {
47
+ getAll: `/vehicle/feature-categories`,
48
+ create: `/vehicle/feature-categories`,
49
+ getOne: (id) => `/vehicle/feature-categories/${id}`,
50
+ deleteOne: (id) => `/vehicle/feature-categories/${id}`,
51
+ updateOne: (id) => `/vehicle/feature-categories/${id}`,
52
+ },
39
53
  vehicleModel: {
40
54
  getAll: `/vehicle/models`,
41
55
  create: `/vehicle/models`,
@@ -1,4 +1,6 @@
1
1
  import { Role } from "./Roles";
2
+ import { UserFavoriteVehicle } from "./UserFavoriteVehicle";
3
+ import { Vehicle } from "./Vehicle";
2
4
  export interface User {
3
5
  id: string;
4
6
  refId: number;
@@ -11,4 +13,6 @@ export interface User {
11
13
  lastLogin?: Date;
12
14
  createdAt: Date;
13
15
  updatedAt: Date;
16
+ vehicleFavorites?: UserFavoriteVehicle[];
17
+ favoriteVehicles?: Vehicle[];
14
18
  }
@@ -0,0 +1,9 @@
1
+ import { User } from "./User";
2
+ import { Vehicle } from "./Vehicle";
3
+ export declare class UserFavoriteVehicle {
4
+ id: string;
5
+ createdAt: Date;
6
+ updatedAt?: Date;
7
+ vehicle: Vehicle;
8
+ user: User;
9
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserFavoriteVehicle = void 0;
4
+ class UserFavoriteVehicle {
5
+ }
6
+ exports.UserFavoriteVehicle = UserFavoriteVehicle;
@@ -7,6 +7,8 @@ import { VehicleMedia } from "./VehicleMedia";
7
7
  import { VehicleMetaData } from "./VehicleMetaData";
8
8
  import { VehicleModel } from "./VehicleModel";
9
9
  import { VehicleOrder } from "./VehicleOrder";
10
+ import { UserFavoriteVehicle } from "./UserFavoriteVehicle";
11
+ import { User } from "./User";
10
12
  export declare class Vehicle extends BaseModel {
11
13
  referenceNumber?: string;
12
14
  slug: string;
@@ -41,6 +43,8 @@ export declare class Vehicle extends BaseModel {
41
43
  finance?: VehicleFinance;
42
44
  orders?: VehicleOrder[];
43
45
  draft?: VehicleDraft;
46
+ vehicleFavorites?: UserFavoriteVehicle[];
47
+ favoritedBy?: User[];
44
48
  static fromPlain(plain: Record<string, unknown>): Vehicle;
45
49
  toPlain(): Record<string, unknown>;
46
50
  }
@@ -7,5 +7,6 @@ export declare class VehicleMedia extends BaseModel {
7
7
  mediaUrl: string;
8
8
  thumbnailUrl: string;
9
9
  isPrimary: boolean;
10
+ placeholder?: string;
10
11
  vehicle: Vehicle;
11
12
  }
@@ -4,6 +4,7 @@ import { DynamicModelDTO } from "./VehicleModelDTO";
4
4
  import { DynamicVehicleBodyTypeDTO } from "./VehicleTypeDTO";
5
5
  import { VehicleMediaCreateDTO, VehicleMediaUpdateDTO } from "./VehicleMedia";
6
6
  import { VehicleFilter, VehicleOptions, VehicleUniqueFilter } from "./VehicleFilterDTO";
7
+ import { VehicleFinanceCreateDTO } from "./VehicleFinanceDTO";
7
8
  export declare class VehicleGetDTO {
8
9
  filter?: VehicleFilter;
9
10
  options?: VehicleOptions;
@@ -53,6 +54,7 @@ export declare class VehicleCreateDTO extends BaseCreateDTO {
53
54
  driveType: string;
54
55
  emissions: string;
55
56
  media?: VehicleMediaCreateDTO[];
57
+ finance?: VehicleFinanceCreateDTO;
56
58
  year: number;
57
59
  price: number;
58
60
  status: string;
@@ -101,6 +103,7 @@ export declare class VehicleUpdateDTO extends BaseUpdateDTO {
101
103
  pageNo?: number;
102
104
  features: VehicleFeaturesUpdateDTO;
103
105
  metaData: VehicleMetaDataDTO;
106
+ favoritedBy?: string | string[];
104
107
  validate(): string[];
105
108
  static fromPlain(plain: Record<string, unknown>): VehicleUpdateDTO;
106
109
  static toPlain(entity: any): Record<string, unknown>;
@@ -18,6 +18,7 @@ const VehicleMakeDTO_1 = require("./VehicleMakeDTO");
18
18
  const VehicleModelDTO_1 = require("./VehicleModelDTO");
19
19
  const VehicleTypeDTO_1 = require("./VehicleTypeDTO");
20
20
  const VehicleMedia_1 = require("./VehicleMedia");
21
+ const VehicleFinanceDTO_1 = require("./VehicleFinanceDTO");
21
22
  class VehicleGetDTO {
22
23
  constructor(shouldIncludeValidate = true) {
23
24
  if (shouldIncludeValidate) {
@@ -225,6 +226,12 @@ __decorate([
225
226
  (0, class_transformer_1.Type)(() => VehicleMedia_1.VehicleMediaCreateDTO),
226
227
  __metadata("design:type", Array)
227
228
  ], VehicleCreateDTO.prototype, "media", void 0);
229
+ __decorate([
230
+ (0, class_validator_1.IsOptional)(),
231
+ (0, class_validator_1.ValidateNested)({ each: true }),
232
+ (0, class_transformer_1.Type)(() => VehicleMedia_1.VehicleMediaCreateDTO),
233
+ __metadata("design:type", VehicleFinanceDTO_1.VehicleFinanceCreateDTO)
234
+ ], VehicleCreateDTO.prototype, "finance", void 0);
228
235
  __decorate([
229
236
  (0, class_validator_1.IsNotEmpty)(),
230
237
  (0, class_validator_1.IsNumber)(),
@@ -447,6 +454,12 @@ __decorate([
447
454
  (0, class_transformer_1.Type)(() => VehicleMetaDataDTO),
448
455
  __metadata("design:type", VehicleMetaDataDTO)
449
456
  ], VehicleUpdateDTO.prototype, "metaData", void 0);
457
+ __decorate([
458
+ (0, class_validator_1.IsOptional)(),
459
+ (0, class_validator_1.IsUUID)(undefined, { each: true }),
460
+ (0, class_transformer_1.Transform)(({ value }) => Array.isArray(value) ? value : [value]),
461
+ __metadata("design:type", Object)
462
+ ], VehicleUpdateDTO.prototype, "favoritedBy", void 0);
450
463
  exports.VehicleUpdateDTO = VehicleUpdateDTO;
451
464
  class DynamicVehicleDTO {
452
465
  validate() {
@@ -0,0 +1,14 @@
1
+ export declare class VehicleFavoriteCreateDTO {
2
+ userId: string;
3
+ vehicleId: string;
4
+ validate(): string[];
5
+ static fromPlain(plain: Record<string, unknown>): VehicleFavoriteCreateDTO;
6
+ toPlain(): Record<string, unknown>;
7
+ }
8
+ export declare class UpdateUserFavoritesDTO {
9
+ userId: string;
10
+ favoriteVehicles: string | string[];
11
+ validate?(): string[];
12
+ static fromPlain(plain: Record<string, unknown>): UpdateUserFavoritesDTO;
13
+ toPlain(): Record<string, unknown>;
14
+ }
@@ -0,0 +1,60 @@
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.UpdateUserFavoritesDTO = exports.VehicleFavoriteCreateDTO = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class VehicleFavoriteCreateDTO {
16
+ validate() {
17
+ const errors = (0, class_validator_1.validateSync)(this);
18
+ return errors.map((error) => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
19
+ }
20
+ static fromPlain(plain) {
21
+ return (0, class_transformer_1.plainToClass)(VehicleFavoriteCreateDTO, plain);
22
+ }
23
+ toPlain() {
24
+ return (0, class_transformer_1.instanceToPlain)(this);
25
+ }
26
+ }
27
+ __decorate([
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.IsUUID)(),
30
+ __metadata("design:type", String)
31
+ ], VehicleFavoriteCreateDTO.prototype, "userId", void 0);
32
+ __decorate([
33
+ (0, class_validator_1.IsString)(),
34
+ (0, class_validator_1.IsUUID)(),
35
+ __metadata("design:type", String)
36
+ ], VehicleFavoriteCreateDTO.prototype, "vehicleId", void 0);
37
+ exports.VehicleFavoriteCreateDTO = VehicleFavoriteCreateDTO;
38
+ class UpdateUserFavoritesDTO {
39
+ validate() {
40
+ const errors = (0, class_validator_1.validateSync)(this);
41
+ return errors.map((error) => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
42
+ }
43
+ static fromPlain(plain) {
44
+ return (0, class_transformer_1.plainToClass)(UpdateUserFavoritesDTO, plain);
45
+ }
46
+ toPlain() {
47
+ return (0, class_transformer_1.instanceToPlain)(this);
48
+ }
49
+ }
50
+ __decorate([
51
+ (0, class_validator_1.IsString)(),
52
+ (0, class_validator_1.IsUUID)(),
53
+ __metadata("design:type", String)
54
+ ], UpdateUserFavoritesDTO.prototype, "userId", void 0);
55
+ __decorate([
56
+ (0, class_validator_1.IsUUID)(undefined, { each: true }),
57
+ (0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value : [value])),
58
+ __metadata("design:type", Object)
59
+ ], UpdateUserFavoritesDTO.prototype, "favoriteVehicles", void 0);
60
+ exports.UpdateUserFavoritesDTO = UpdateUserFavoritesDTO;
@@ -4,7 +4,7 @@ export declare class VehicleMediaCreateDTO {
4
4
  vehicleId: string;
5
5
  mediaType: VehicleMediaType;
6
6
  mediaUrl: string;
7
- placeholder: string;
7
+ placeholder?: string;
8
8
  thumbnailUrl?: string;
9
9
  isPrimary: boolean;
10
10
  validate(): string[];
@@ -15,3 +15,4 @@ export * from "./MediaDTO";
15
15
  export * from "./VehicleInspectionDTO";
16
16
  export * from "./VehicleFilterDTO";
17
17
  export * from "./SimilarVehicleDTO";
18
+ export * from "./VehicleFavoritesDTO";
@@ -31,3 +31,4 @@ __exportStar(require("./MediaDTO"), exports);
31
31
  __exportStar(require("./VehicleInspectionDTO"), exports);
32
32
  __exportStar(require("./VehicleFilterDTO"), exports);
33
33
  __exportStar(require("./SimilarVehicleDTO"), exports);
34
+ __exportStar(require("./VehicleFavoritesDTO"), exports);
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.3.8",
6
+ "version": "1.4.0",
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",