diff --git a/dist/Notary/User.js b/dist/Notary/User.js index e1339e9..0e10f6a 100644 --- a/dist/Notary/User.js +++ b/dist/Notary/User.js @@ -30,7 +30,7 @@ class User extends Resource_1.default { } __decorate([ (0, class_transformer_1.Expose)(), - (0, class_validator_1.IsNotEmpty)({ groups: ["createFolder", "updateFolder", "updateUser"], message: "UID is required" }), + (0, class_validator_1.IsNotEmpty)({ groups: ["createFolder", "updateFolder", "updateUser", "createVote"], message: "UID is required" }), __metadata("design:type", String) ], User.prototype, "uid", void 0); __decorate([ diff --git a/dist/SuperAdmin/Appointment.d.ts b/dist/SuperAdmin/Appointment.d.ts index 995de96..79a2f3e 100644 --- a/dist/SuperAdmin/Appointment.d.ts +++ b/dist/SuperAdmin/Appointment.d.ts @@ -3,9 +3,14 @@ import User from "./User"; import Vote from "./Vote"; export default class Appointment extends Resource { uid?: string; - user: User; + targeted_user: User; status: EAppointmentStatus | string; votes?: Vote[]; + choice: EVote | string; +} +export declare enum EVote { + NOMINATE = "NOMINATE", + DISMISS = "DISMISS" } export declare enum EAppointmentStatus { OPEN = "OPEN", diff --git a/dist/SuperAdmin/Appointment.js b/dist/SuperAdmin/Appointment.js index 53e8178..98da1ca 100644 --- a/dist/SuperAdmin/Appointment.js +++ b/dist/SuperAdmin/Appointment.js @@ -12,11 +12,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.EAppointmentStatus = void 0; +exports.EAppointmentStatus = exports.EVote = void 0; const Resource_1 = __importDefault(require("../Resource")); const class_transformer_1 = require("class-transformer"); const User_1 = __importDefault(require("./User")); const Vote_1 = __importDefault(require("./Vote")); +const class_validator_1 = require("class-validator"); class Appointment extends Resource_1.default { } __decorate([ @@ -25,9 +26,11 @@ __decorate([ ], Appointment.prototype, "uid", void 0); __decorate([ (0, class_transformer_1.Expose)(), + (0, class_validator_1.IsOptional)({ groups: ["createVote"] }), + (0, class_validator_1.ValidateNested)({ groups: ["createVote"] }), (0, class_transformer_1.Type)(() => User_1.default), __metadata("design:type", User_1.default) -], Appointment.prototype, "user", void 0); +], Appointment.prototype, "targeted_user", void 0); __decorate([ (0, class_transformer_1.Expose)(), __metadata("design:type", String) @@ -37,7 +40,17 @@ __decorate([ (0, class_transformer_1.Type)(() => Vote_1.default), __metadata("design:type", Array) ], Appointment.prototype, "votes", void 0); +__decorate([ + (0, class_transformer_1.Expose)(), + (0, class_validator_1.IsNotEmpty)({ groups: ["createVote"], message: "choice is required" }), + __metadata("design:type", String) +], Appointment.prototype, "choice", void 0); exports.default = Appointment; +var EVote; +(function (EVote) { + EVote["NOMINATE"] = "NOMINATE"; + EVote["DISMISS"] = "DISMISS"; +})(EVote = exports.EVote || (exports.EVote = {})); var EAppointmentStatus; (function (EAppointmentStatus) { EAppointmentStatus["OPEN"] = "OPEN"; diff --git a/dist/SuperAdmin/Vote.d.ts b/dist/SuperAdmin/Vote.d.ts index 97b1115..6dde5fe 100644 --- a/dist/SuperAdmin/Vote.d.ts +++ b/dist/SuperAdmin/Vote.d.ts @@ -5,9 +5,4 @@ export default class Vote extends Resource { uid?: string; appointment: Appointment; voter: User; - choice: EVote | string; -} -export declare enum EVote { - NOMINATE = "NOMINATE", - DISMISS = "DISMISS" } diff --git a/dist/SuperAdmin/Vote.js b/dist/SuperAdmin/Vote.js index c1882d2..f527849 100644 --- a/dist/SuperAdmin/Vote.js +++ b/dist/SuperAdmin/Vote.js @@ -12,11 +12,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.EVote = void 0; const Resource_1 = __importDefault(require("../Resource")); const class_transformer_1 = require("class-transformer"); const User_1 = __importDefault(require("./User")); const Appointment_1 = __importDefault(require("./Appointment")); +const class_validator_1 = require("class-validator"); class Vote extends Resource_1.default { } __decorate([ @@ -25,6 +25,8 @@ __decorate([ ], Vote.prototype, "uid", void 0); __decorate([ (0, class_transformer_1.Expose)(), + (0, class_validator_1.IsNotEmpty)({ groups: ["createVote"], message: "appointment is required" }), + (0, class_validator_1.ValidateNested)({ groups: ["createVote"] }), (0, class_transformer_1.Type)(() => Appointment_1.default), __metadata("design:type", Appointment_1.default) ], Vote.prototype, "appointment", void 0); @@ -33,13 +35,4 @@ __decorate([ (0, class_transformer_1.Type)(() => User_1.default), __metadata("design:type", User_1.default) ], Vote.prototype, "voter", void 0); -__decorate([ - (0, class_transformer_1.Expose)(), - __metadata("design:type", String) -], Vote.prototype, "choice", void 0); exports.default = Vote; -var EVote; -(function (EVote) { - EVote["NOMINATE"] = "NOMINATE"; - EVote["DISMISS"] = "DISMISS"; -})(EVote = exports.EVote || (exports.EVote = {})); diff --git a/src/Notary/User.ts b/src/Notary/User.ts index c87896b..4ac426b 100644 --- a/src/Notary/User.ts +++ b/src/Notary/User.ts @@ -13,7 +13,7 @@ import OfficeFolder from "./OfficeFolder"; export default class User extends Resource { @Expose() - @IsNotEmpty({ groups: ["createFolder", "updateFolder", "updateUser"] ,message: "UID is required" }) + @IsNotEmpty({ groups: ["createFolder", "updateFolder", "updateUser", "createVote"] ,message: "UID is required" }) public uid?: string; @Expose() diff --git a/src/SuperAdmin/Appointment.ts b/src/SuperAdmin/Appointment.ts index 8df97ba..75b78de 100644 --- a/src/SuperAdmin/Appointment.ts +++ b/src/SuperAdmin/Appointment.ts @@ -2,14 +2,17 @@ import Resource from "../Resource"; import { Expose, Type } from "class-transformer"; import User from "./User"; import Vote from "./Vote"; +import { IsNotEmpty, IsOptional, ValidateNested } from "class-validator"; export default class Appointment extends Resource { @Expose() public uid?: string; @Expose() + @IsOptional({ groups: ["createVote"]}) + @ValidateNested({ groups: ["createVote"] }) @Type(() => User) - public user!: User; + public targeted_user!: User; @Expose() public status!: EAppointmentStatus | string; @@ -17,6 +20,15 @@ export default class Appointment extends Resource { @Expose() @Type(() => Vote) public votes?: Vote[]; + + @Expose() + @IsNotEmpty({ groups: ["createVote"], message: "choice is required"}) + public choice!: EVote | string; +} + +export enum EVote { + NOMINATE = "NOMINATE", + DISMISS = "DISMISS" } export enum EAppointmentStatus { diff --git a/src/SuperAdmin/Vote.ts b/src/SuperAdmin/Vote.ts index fb69fb0..8f30ffb 100644 --- a/src/SuperAdmin/Vote.ts +++ b/src/SuperAdmin/Vote.ts @@ -2,12 +2,15 @@ import Resource from "../Resource"; import { Expose, Type } from "class-transformer"; import User from "./User"; import Appointment from "./Appointment"; +import { IsNotEmpty, ValidateNested } from "class-validator"; export default class Vote extends Resource { @Expose() public uid?: string; @Expose() + @IsNotEmpty({ groups: ["createVote"], message: "appointment is required"}) + @ValidateNested({ groups: ["createVote"] }) @Type(() => Appointment) public appointment!: Appointment; @@ -15,11 +18,4 @@ export default class Vote extends Resource { @Type(() => User) public voter!: User; - @Expose() - public choice!: EVote | string; -} - -export enum EVote { - NOMINATE = "NOMINATE", - DISMISS = "DISMISS" }