diff --git a/nestjs/src/common/dtos/CreateMeeting.dto.ts b/nestjs/src/common/dtos/CreateMeeting.dto.ts index 30fdb4a..1979df8 100644 --- a/nestjs/src/common/dtos/CreateMeeting.dto.ts +++ b/nestjs/src/common/dtos/CreateMeeting.dto.ts @@ -2,16 +2,6 @@ import { IsDateString, IsISO8601, IsNotEmpty, IsString, Min } from "class-valida export class CreateMeetingDto { - @IsNotEmpty() - @IsDateString()//valida se é uma data - @IsISO8601()//verifica se é uma data tipo ISO8601 Ex:YYYY-MM-DD ou YYYY-MM-DDTHH:MM:SS (com horas) - meeting_date: Date - - @IsNotEmpty() - @IsDateString() - @IsISO8601() - meeting_time: Date - @IsNotEmpty() @IsString()//verifica se é uma string meeting_title: string; diff --git a/nestjs/src/common/dtos/CreateReservations.dto.ts b/nestjs/src/common/dtos/CreateReservations.dto.ts index 5b1b573..c0d1703 100644 --- a/nestjs/src/common/dtos/CreateReservations.dto.ts +++ b/nestjs/src/common/dtos/CreateReservations.dto.ts @@ -1,7 +1,10 @@ import { IsDateString, IsISO8601, IsNotEmpty, Min } from "class-validator"; export class CreateReservationsDto { - //reserve_date valor vai ser padrão (data de criação) + @IsNotEmpty() + @IsDateString() + @IsISO8601() + reserve_date: Date @IsNotEmpty() @IsDateString()//valida se é uma data diff --git a/nestjs/src/common/utils/types.ts b/nestjs/src/common/utils/types.ts index 0eba387..9b64d71 100644 --- a/nestjs/src/common/utils/types.ts +++ b/nestjs/src/common/utils/types.ts @@ -15,14 +15,13 @@ export class CreateVirtualRoomParams { } export type CreateReservationsParams = { + reserve_date: Date reserve_start: Date reserve_end: Date physical_room_id: number } export type CreateMeetingParams = { - meeting_date: Date - meeting_time: Date meeting_title: string meeting_subject: string meeting_type: string diff --git a/nestjs/src/entities/meetings.entity.ts b/nestjs/src/entities/meetings.entity.ts index 99b0949..887e636 100644 --- a/nestjs/src/entities/meetings.entity.ts +++ b/nestjs/src/entities/meetings.entity.ts @@ -1,4 +1,4 @@ -import { Entity, Column, PrimaryGeneratedColumn, OneToMany, OneToOne, JoinColumn } from 'typeorm'; +import { Entity, Column, PrimaryGeneratedColumn, OneToMany, OneToOne, JoinColumn, ManyToMany, ManyToOne } from 'typeorm'; import { Participate } from './participate.entity'; import { Reservations } from './reservations.entity'; @@ -6,12 +6,6 @@ import { Reservations } from './reservations.entity'; export class Meetings { @PrimaryGeneratedColumn({ type: "int" }) meeting_id: number; - - @Column({ type: "timestamp" }) - meeting_date: Date; - - @Column({ type: "timestamp" }) - meeting_time: Date; @Column({ type: "char", length: 80 }) meeting_title: string; @@ -25,7 +19,7 @@ export class Meetings { @OneToMany(() => Participate, participate => participate.meetings) participate: Participate[] - @OneToOne(() => Reservations, reservations => reservations.meeting) + @ManyToOne(() => Reservations, reservations => reservations.meeting) @JoinColumn({ name: "reserve_id"}) reservations: Reservations } \ No newline at end of file diff --git a/nestjs/src/entities/physicalrooms.enity.ts b/nestjs/src/entities/physicalrooms.enity.ts index 1454ef2..efb01c7 100644 --- a/nestjs/src/entities/physicalrooms.enity.ts +++ b/nestjs/src/entities/physicalrooms.enity.ts @@ -19,10 +19,6 @@ export class PhysicalRooms { @Column({ default: true }) is_active: boolean; - @ManyToOne(() => Users, user => user.physicalRoom) - @JoinColumn({ name: "user_id" }) - user: Users - @OneToMany(() => Reservations, reservation => reservation.physicalroom) - reservation: Reservations + reservation: Reservations[] } \ No newline at end of file diff --git a/nestjs/src/entities/reservations.entity.ts b/nestjs/src/entities/reservations.entity.ts index 86b5007..b54e3b4 100644 --- a/nestjs/src/entities/reservations.entity.ts +++ b/nestjs/src/entities/reservations.entity.ts @@ -23,14 +23,13 @@ export class Reservations { user: Users @OneToOne(() => Meetings, meetings => meetings.meeting_id) - @JoinColumn({ name: "meeting_id" }) meeting: Meetings - @ManyToOne(() => VirtualRooms, vroom => vroom.reservation) + @ManyToOne(() => VirtualRooms, vroom => vroom.reservation, { nullable: true }) @JoinColumn({ name: "virtual_room_id" }) - virtualroom: VirtualRooms + virtualroom: VirtualRooms | null - @ManyToOne(() => PhysicalRooms, proom => proom.reservation) + @ManyToOne(() => PhysicalRooms, proom => proom.reservation, { nullable: true }) @JoinColumn({ name: "physical_room_id" }) - physicalroom: PhysicalRooms + physicalroom: PhysicalRooms | null } \ No newline at end of file diff --git a/nestjs/src/entities/users.entity.ts b/nestjs/src/entities/users.entity.ts index 8fa0aa1..1054832 100644 --- a/nestjs/src/entities/users.entity.ts +++ b/nestjs/src/entities/users.entity.ts @@ -26,9 +26,6 @@ export class Users { @Column({ default: true }) is_active: boolean; - @OneToOne(() => PhysicalRooms, physicalRooms => physicalRooms.user) - physicalRoom: PhysicalRooms; - @OneToMany(() => Reservations, reservations => reservations.user) reservations: Reservations[]; diff --git a/nestjs/src/entities/virtualrooms.entity.ts b/nestjs/src/entities/virtualrooms.entity.ts index 2db13ad..b700015 100644 --- a/nestjs/src/entities/virtualrooms.entity.ts +++ b/nestjs/src/entities/virtualrooms.entity.ts @@ -19,6 +19,6 @@ export class VirtualRooms { virtual_room_permission_level: number; @OneToMany(() => Reservations, reservation => reservation.virtualroom) - reservation: Reservations + reservation: Reservations[] } \ No newline at end of file diff --git a/nestjs/src/models/reservations/service/reservations/reservations.service.ts b/nestjs/src/models/reservations/service/reservations/reservations.service.ts index 6de8057..d594658 100644 --- a/nestjs/src/models/reservations/service/reservations/reservations.service.ts +++ b/nestjs/src/models/reservations/service/reservations/reservations.service.ts @@ -16,10 +16,7 @@ export class ReservationsService { } createPhysicalRoomReservation(reservationsDetails: CreateReservationsParams) { - const newReservations = this.reservationsRepository.create({ - ...reservationsDetails, - reserve_date: new Date(), - }) + const newReservations = this.reservationsRepository.create(reservationsDetails) return this.reservationsRepository.save(newReservations) } }