From 76f2d63fbc3cde1fecc02b9ac6e146f82c9acf07 Mon Sep 17 00:00:00 2001 From: Matheus Albino Brunhara Date: Sat, 3 Sep 2022 20:28:38 -0300 Subject: [PATCH] Inclui Models de Itinerary, Destination e NeighborhoodServed --- src/models/Destination.ts | 37 ++++++++++++++++++++++++++++++++ src/models/Itinerary.ts | 9 ++++++++ src/models/NeighborhoodServed.ts | 37 ++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 src/models/Destination.ts create mode 100644 src/models/NeighborhoodServed.ts diff --git a/src/models/Destination.ts b/src/models/Destination.ts new file mode 100644 index 0000000..8e9f5b3 --- /dev/null +++ b/src/models/Destination.ts @@ -0,0 +1,37 @@ +import { + Entity, + Column, + PrimaryGeneratedColumn, + CreateDateColumn, + UpdateDateColumn, + ManyToOne, + JoinColumn, +} from 'typeorm'; +import Itinerary from './Itinerary'; + +@Entity('destinations') +class Destination { + @PrimaryGeneratedColumn('increment') + id_destination: number; + + @ManyToOne(() => Itinerary, itinerary => itinerary.destinations) + @JoinColumn({ name: 'itinerary_id' }) + itinerary: Itinerary; + + @Column() + name: string; + + @Column() + latitude: number; + + @Column() + longitude: number; + + // @CreateDateColumn() + // created_at: Date; + + // @UpdateDateColumn() + // updated_at: Date; +} + +export default Destination; diff --git a/src/models/Itinerary.ts b/src/models/Itinerary.ts index 457768d..ceda8f0 100644 --- a/src/models/Itinerary.ts +++ b/src/models/Itinerary.ts @@ -5,7 +5,10 @@ import { CreateDateColumn, UpdateDateColumn, OneToMany, + JoinColumn, } from 'typeorm'; +import Destination from './Destination'; +import NeighborhoodServed from './NeighborhoodServed'; import Vehicle from './Vehicle'; @Entity('itineraries') @@ -37,6 +40,12 @@ class Itinerary { @Column() itinerary_nickname: string; + @OneToMany(() => NeighborhoodServed, neighborhoodServed => neighborhoodServed.itinerary, { eager: true, cascade: true, nullable: true }) + neighborhoodsServed?: NeighborhoodServed[]; + + @OneToMany(() => Destination, destination => destination.itinerary, { eager: true, cascade: true, nullable: true }) + destinations?: Destination[]; + // @CreateDateColumn() // created_at: Date; diff --git a/src/models/NeighborhoodServed.ts b/src/models/NeighborhoodServed.ts new file mode 100644 index 0000000..f7404b7 --- /dev/null +++ b/src/models/NeighborhoodServed.ts @@ -0,0 +1,37 @@ +import { + Entity, + Column, + PrimaryGeneratedColumn, + CreateDateColumn, + UpdateDateColumn, + ManyToOne, + JoinColumn, +} from 'typeorm'; +import Itinerary from './Itinerary'; + +@Entity('neighborhoods_served') +class NeighborhoodServed { + @PrimaryGeneratedColumn('increment') + id_neighborhood: number; + + @ManyToOne(() => Itinerary, itinerary => itinerary.neighborhoodsServed) + @JoinColumn({ name: 'itinerary_id' }) + itinerary: Itinerary; + + @Column() + name: string; + + @Column() + latitude: number; + + @Column() + longitude: number; + + // @CreateDateColumn() + // created_at: Date; + + // @UpdateDateColumn() + // updated_at: Date; +} + +export default NeighborhoodServed;