grm-shared-library 1.0.120 → 1.0.122

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 (18) hide show
  1. package/dist/modules/response-unit/dtos/vehicle-unit/crew/vehicle-unit-crew.dto.d.ts +2 -0
  2. package/dist/modules/response-unit/dtos/vehicle-unit/crew/vehicle-unit-crew.dto.js +8 -0
  3. package/dist/modules/response-unit/enums/vehicle-unit/vehicle-crew/ambulance-vehicle-role.enum.d.ts +10 -0
  4. package/dist/modules/response-unit/enums/vehicle-unit/vehicle-crew/ambulance-vehicle-role.enum.js +14 -0
  5. package/dist/modules/response-unit/enums/vehicle-unit/vehicle-crew/fire-vehicle-role.enum.d.ts +14 -0
  6. package/dist/modules/response-unit/enums/vehicle-unit/vehicle-crew/fire-vehicle-role.enum.js +18 -0
  7. package/dist/modules/response-unit/enums/vehicle-unit/vehicle-crew/road-rescue-vehicle-role.enum.d.ts +13 -0
  8. package/dist/modules/response-unit/enums/vehicle-unit/vehicle-crew/road-rescue-vehicle-role.enum.js +17 -0
  9. package/dist/modules/response-unit/enums/vehicle-unit/vehicle-crew/security-vehicle-role.enum.d.ts +13 -0
  10. package/dist/modules/response-unit/enums/vehicle-unit/vehicle-crew/security-vehicle-role.enum.js +17 -0
  11. package/dist/modules/response-unit/index.d.ts +4 -0
  12. package/dist/modules/response-unit/index.js +4 -0
  13. package/dist/modules/response-unit/interfaces/team-unit/team-unit.d.ts +1 -1
  14. package/dist/modules/response-unit/interfaces/vehicle-unit/vehicle-unit-crew.d.ts +4 -2
  15. package/dist/modules/response-unit/interfaces/vehicle-unit/vehicle-unit.d.ts +1 -1
  16. package/dist/modules/response-unit/validators/valid-vehicle-role.decorator.d.ts +2 -0
  17. package/dist/modules/response-unit/validators/valid-vehicle-role.decorator.js +43 -0
  18. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { PersonUnitStatus } from "../../../enums/person-unit/person-unit-status.enum";
2
+ import { VehicleUnitType } from "../../../enums/vehicle-unit/vehicle-unit-type.enum";
2
3
  export declare class VehicleUnitCrewDto {
3
4
  id: number;
4
5
  name: string;
@@ -6,6 +7,7 @@ export declare class VehicleUnitCrewDto {
6
7
  role: string;
7
8
  status: PersonUnitStatus;
8
9
  vehicleUnitId: number;
10
+ vehicleType?: VehicleUnitType;
9
11
  createdAt?: Date;
10
12
  updatedAt?: Date;
11
13
  }
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.VehicleUnitCrewDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const person_unit_status_enum_1 = require("../../../enums/person-unit/person-unit-status.enum");
15
+ const vehicle_unit_type_enum_1 = require("../../../enums/vehicle-unit/vehicle-unit-type.enum");
16
+ const valid_vehicle_role_decorator_1 = require("../../../validators/valid-vehicle-role.decorator");
15
17
  class VehicleUnitCrewDto {
16
18
  }
17
19
  exports.VehicleUnitCrewDto = VehicleUnitCrewDto;
@@ -29,6 +31,7 @@ __decorate([
29
31
  ], VehicleUnitCrewDto.prototype, "phoneNumber", void 0);
30
32
  __decorate([
31
33
  (0, class_validator_1.IsString)(),
34
+ (0, valid_vehicle_role_decorator_1.IsValidVehicleRole)({ message: 'Invalid role for the specified vehicle type' }),
32
35
  __metadata("design:type", String)
33
36
  ], VehicleUnitCrewDto.prototype, "role", void 0);
34
37
  __decorate([
@@ -39,6 +42,11 @@ __decorate([
39
42
  (0, class_validator_1.IsNumber)(),
40
43
  __metadata("design:type", Number)
41
44
  ], VehicleUnitCrewDto.prototype, "vehicleUnitId", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsEnum)(vehicle_unit_type_enum_1.VehicleUnitType),
47
+ (0, class_validator_1.IsOptional)(),
48
+ __metadata("design:type", String)
49
+ ], VehicleUnitCrewDto.prototype, "vehicleType", void 0);
42
50
  __decorate([
43
51
  (0, class_validator_1.IsDate)(),
44
52
  (0, class_validator_1.IsOptional)(),
@@ -0,0 +1,10 @@
1
+ export declare enum AmbulanceVehicleRole {
2
+ OPERATOR = "Operator",
3
+ DRIVER = "Driver",
4
+ PARAMEDIC = "Paramedic",
5
+ NURSE = "Nurse",
6
+ DOCTOR = "Doctor",
7
+ TECHNICIAN = "Technician",
8
+ VOLUNTEER = "Volunteer",
9
+ OTHER = "Other"
10
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AmbulanceVehicleRole = void 0;
4
+ var AmbulanceVehicleRole;
5
+ (function (AmbulanceVehicleRole) {
6
+ AmbulanceVehicleRole["OPERATOR"] = "Operator";
7
+ AmbulanceVehicleRole["DRIVER"] = "Driver";
8
+ AmbulanceVehicleRole["PARAMEDIC"] = "Paramedic";
9
+ AmbulanceVehicleRole["NURSE"] = "Nurse";
10
+ AmbulanceVehicleRole["DOCTOR"] = "Doctor";
11
+ AmbulanceVehicleRole["TECHNICIAN"] = "Technician";
12
+ AmbulanceVehicleRole["VOLUNTEER"] = "Volunteer";
13
+ AmbulanceVehicleRole["OTHER"] = "Other";
14
+ })(AmbulanceVehicleRole || (exports.AmbulanceVehicleRole = AmbulanceVehicleRole = {}));
@@ -0,0 +1,14 @@
1
+ export declare enum FireVehicleRole {
2
+ OPERATOR = "Operator",
3
+ DRIVER = "Driver",
4
+ FIREFIGHTER = "Firefighter",
5
+ CAPTAIN = "Captain",
6
+ LIEUTENANT = "Lieutenant",
7
+ CHIEF = "Chief",
8
+ ENGINEER = "Engineer",
9
+ PARAMEDIC = "Paramedic",
10
+ HAZMAT_SPECIALIST = "Hazmat Specialist",
11
+ RESCUE_SPECIALIST = "Rescue Specialist",
12
+ VOLUNTEER = "Volunteer",
13
+ OTHER = "Other"
14
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FireVehicleRole = void 0;
4
+ var FireVehicleRole;
5
+ (function (FireVehicleRole) {
6
+ FireVehicleRole["OPERATOR"] = "Operator";
7
+ FireVehicleRole["DRIVER"] = "Driver";
8
+ FireVehicleRole["FIREFIGHTER"] = "Firefighter";
9
+ FireVehicleRole["CAPTAIN"] = "Captain";
10
+ FireVehicleRole["LIEUTENANT"] = "Lieutenant";
11
+ FireVehicleRole["CHIEF"] = "Chief";
12
+ FireVehicleRole["ENGINEER"] = "Engineer";
13
+ FireVehicleRole["PARAMEDIC"] = "Paramedic";
14
+ FireVehicleRole["HAZMAT_SPECIALIST"] = "Hazmat Specialist";
15
+ FireVehicleRole["RESCUE_SPECIALIST"] = "Rescue Specialist";
16
+ FireVehicleRole["VOLUNTEER"] = "Volunteer";
17
+ FireVehicleRole["OTHER"] = "Other";
18
+ })(FireVehicleRole || (exports.FireVehicleRole = FireVehicleRole = {}));
@@ -0,0 +1,13 @@
1
+ export declare enum RoadRescueVehicleRole {
2
+ OPERATOR = "Operator",
3
+ DRIVER = "Driver",
4
+ MECHANIC = "Mechanic",
5
+ TECHNICIAN = "Technician",
6
+ RECOVERY_SPECIALIST = "Recovery Specialist",
7
+ TOW_OPERATOR = "Tow Operator",
8
+ SUPERVISOR = "Supervisor",
9
+ RESCUE_SPECIALIST = "Rescue Specialist",
10
+ TRAFFIC_CONTROLLER = "Traffic Controller",
11
+ FIRST_AID_RESPONDER = "First Aid Responder",
12
+ OTHER = "Other"
13
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoadRescueVehicleRole = void 0;
4
+ var RoadRescueVehicleRole;
5
+ (function (RoadRescueVehicleRole) {
6
+ RoadRescueVehicleRole["OPERATOR"] = "Operator";
7
+ RoadRescueVehicleRole["DRIVER"] = "Driver";
8
+ RoadRescueVehicleRole["MECHANIC"] = "Mechanic";
9
+ RoadRescueVehicleRole["TECHNICIAN"] = "Technician";
10
+ RoadRescueVehicleRole["RECOVERY_SPECIALIST"] = "Recovery Specialist";
11
+ RoadRescueVehicleRole["TOW_OPERATOR"] = "Tow Operator";
12
+ RoadRescueVehicleRole["SUPERVISOR"] = "Supervisor";
13
+ RoadRescueVehicleRole["RESCUE_SPECIALIST"] = "Rescue Specialist";
14
+ RoadRescueVehicleRole["TRAFFIC_CONTROLLER"] = "Traffic Controller";
15
+ RoadRescueVehicleRole["FIRST_AID_RESPONDER"] = "First Aid Responder";
16
+ RoadRescueVehicleRole["OTHER"] = "Other";
17
+ })(RoadRescueVehicleRole || (exports.RoadRescueVehicleRole = RoadRescueVehicleRole = {}));
@@ -0,0 +1,13 @@
1
+ export declare enum SecurityVehicleRole {
2
+ OPERATOR = "Operator",
3
+ DRIVER = "Driver",
4
+ COMMANDER = "Commander",
5
+ SECURITY_OFFICER = "Security Officer",
6
+ SUPERVISOR = "Supervisor",
7
+ GUARD = "Guard",
8
+ ARMED_ESCORT = "Armed Escort",
9
+ K9_HANDLER = "K9 Handler",
10
+ INVESTIGATOR = "Investigator",
11
+ SURVEILLANCE_SPECIALIST = "Surveillance Specialist",
12
+ OTHER = "Other"
13
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SecurityVehicleRole = void 0;
4
+ var SecurityVehicleRole;
5
+ (function (SecurityVehicleRole) {
6
+ SecurityVehicleRole["OPERATOR"] = "Operator";
7
+ SecurityVehicleRole["DRIVER"] = "Driver";
8
+ SecurityVehicleRole["COMMANDER"] = "Commander";
9
+ SecurityVehicleRole["SECURITY_OFFICER"] = "Security Officer";
10
+ SecurityVehicleRole["SUPERVISOR"] = "Supervisor";
11
+ SecurityVehicleRole["GUARD"] = "Guard";
12
+ SecurityVehicleRole["ARMED_ESCORT"] = "Armed Escort";
13
+ SecurityVehicleRole["K9_HANDLER"] = "K9 Handler";
14
+ SecurityVehicleRole["INVESTIGATOR"] = "Investigator";
15
+ SecurityVehicleRole["SURVEILLANCE_SPECIALIST"] = "Surveillance Specialist";
16
+ SecurityVehicleRole["OTHER"] = "Other";
17
+ })(SecurityVehicleRole || (exports.SecurityVehicleRole = SecurityVehicleRole = {}));
@@ -58,6 +58,10 @@ export * from './enums/vehicle-unit/vehicle-unit-ownership.enum';
58
58
  export * from './enums/vehicle-unit/vehicle-unit-status.enum';
59
59
  export * from './enums/vehicle-unit/vehicle-unit-type.enum';
60
60
  export * from './enums/vehicle-unit/vehicle-type/ambulance-vehicle-type.enum';
61
+ export * from './enums/vehicle-unit/vehicle-crew/ambulance-vehicle-role.enum';
61
62
  export * from './enums/vehicle-unit/vehicle-type/security-vehicle-type.enum';
63
+ export * from './enums/vehicle-unit/vehicle-crew/security-vehicle-role.enum';
62
64
  export * from './enums/vehicle-unit/vehicle-type/fire-vehicle-type.enum';
65
+ export * from './enums/vehicle-unit/vehicle-crew/fire-vehicle-role.enum';
63
66
  export * from './enums/vehicle-unit/vehicle-type/road-rescue-vehicle-type.enum';
67
+ export * from './enums/vehicle-unit/vehicle-crew/road-rescue-vehicle-role.enum';
@@ -88,6 +88,10 @@ __exportStar(require("./enums/vehicle-unit/vehicle-unit-ownership.enum"), export
88
88
  __exportStar(require("./enums/vehicle-unit/vehicle-unit-status.enum"), exports);
89
89
  __exportStar(require("./enums/vehicle-unit/vehicle-unit-type.enum"), exports);
90
90
  __exportStar(require("./enums/vehicle-unit/vehicle-type/ambulance-vehicle-type.enum"), exports);
91
+ __exportStar(require("./enums/vehicle-unit/vehicle-crew/ambulance-vehicle-role.enum"), exports);
91
92
  __exportStar(require("./enums/vehicle-unit/vehicle-type/security-vehicle-type.enum"), exports);
93
+ __exportStar(require("./enums/vehicle-unit/vehicle-crew/security-vehicle-role.enum"), exports);
92
94
  __exportStar(require("./enums/vehicle-unit/vehicle-type/fire-vehicle-type.enum"), exports);
95
+ __exportStar(require("./enums/vehicle-unit/vehicle-crew/fire-vehicle-role.enum"), exports);
93
96
  __exportStar(require("./enums/vehicle-unit/vehicle-type/road-rescue-vehicle-type.enum"), exports);
97
+ __exportStar(require("./enums/vehicle-unit/vehicle-crew/road-rescue-vehicle-role.enum"), exports);
@@ -5,5 +5,5 @@ export interface TeamUnit {
5
5
  teamStatus: PersonUnitStatus;
6
6
  crewIds: number[];
7
7
  attributes?: Record<string, any>;
8
- crew?: TeamUnitCrew[];
8
+ teamCrew?: TeamUnitCrew[];
9
9
  }
@@ -1,4 +1,5 @@
1
1
  import { PersonUnitStatus } from "../../enums/person-unit/person-unit-status.enum";
2
+ import { VehicleUnitType } from "../../enums/vehicle-unit/vehicle-unit-type.enum";
2
3
  import { VehicleUnit } from "./vehicle-unit";
3
4
  export interface VehicleUnitCrew {
4
5
  id: number;
@@ -7,7 +8,8 @@ export interface VehicleUnitCrew {
7
8
  role: string;
8
9
  status: PersonUnitStatus;
9
10
  vehicleUnitId: number;
10
- createdAt: string;
11
- updatedAt: string;
11
+ vehicleType?: VehicleUnitType;
12
+ createdAt: Date;
13
+ updatedAt: Date;
12
14
  vehicleUnit?: VehicleUnit;
13
15
  }
@@ -16,6 +16,6 @@ export interface VehicleUnit {
16
16
  mileage?: number;
17
17
  year?: number;
18
18
  attributes?: Record<string, any>;
19
- crew?: VehicleUnitCrew[];
19
+ vehicleCrew?: VehicleUnitCrew[];
20
20
  device?: VehicleUnitDevice;
21
21
  }
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from "class-validator";
2
+ export declare function IsValidVehicleRole(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsValidVehicleRole = IsValidVehicleRole;
4
+ const class_validator_1 = require("class-validator");
5
+ const vehicle_unit_type_enum_1 = require("../enums/vehicle-unit/vehicle-unit-type.enum");
6
+ const ambulance_vehicle_role_enum_1 = require("../enums/vehicle-unit/vehicle-crew/ambulance-vehicle-role.enum");
7
+ const security_vehicle_role_enum_1 = require("../enums/vehicle-unit/vehicle-crew/security-vehicle-role.enum");
8
+ const fire_vehicle_role_enum_1 = require("../enums/vehicle-unit/vehicle-crew/fire-vehicle-role.enum");
9
+ const road_rescue_vehicle_role_enum_1 = require("../enums/vehicle-unit/vehicle-crew/road-rescue-vehicle-role.enum");
10
+ function IsValidVehicleRole(validationOptions) {
11
+ return function (object, propertyName) {
12
+ (0, class_validator_1.registerDecorator)({
13
+ name: 'isValidVehicleRole',
14
+ target: object.constructor,
15
+ propertyName: propertyName,
16
+ options: validationOptions,
17
+ validator: {
18
+ validate(value, args) {
19
+ const vehicleType = args.object.vehicleType;
20
+ if (!vehicleType) {
21
+ return true;
22
+ }
23
+ switch (vehicleType) {
24
+ case vehicle_unit_type_enum_1.VehicleUnitType.AMBULANCE:
25
+ return Object.values(ambulance_vehicle_role_enum_1.AmbulanceVehicleRole).includes(value);
26
+ case vehicle_unit_type_enum_1.VehicleUnitType.SECURITY:
27
+ return Object.values(security_vehicle_role_enum_1.SecurityVehicleRole).includes(value);
28
+ case vehicle_unit_type_enum_1.VehicleUnitType.FIRE:
29
+ return Object.values(fire_vehicle_role_enum_1.FireVehicleRole).includes(value);
30
+ case vehicle_unit_type_enum_1.VehicleUnitType.ROAD_RESCUE:
31
+ return Object.values(road_rescue_vehicle_role_enum_1.RoadRescueVehicleRole).includes(value);
32
+ default:
33
+ return true;
34
+ }
35
+ },
36
+ defaultMessage(args) {
37
+ const vehicleType = args.object.vehicleType;
38
+ return `Role must be a valid role for vehicle type: ${vehicleType}`;
39
+ }
40
+ }
41
+ });
42
+ };
43
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grm-shared-library",
3
- "version": "1.0.120",
3
+ "version": "1.0.122",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [