echadospalante-core
Version:
This package contains the core of the echadospalante project, it contains the domain entities, helpers, and other utilities that are shared between the different services.
87 lines (71 loc) • 2 kB
text/typescript
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
OneToOne,
ManyToOne,
ManyToMany,
JoinTable,
JoinColumn,
} from "typeorm";
import { VentureDetailData } from "./venture-detail.data";
import { VentureLocationData } from "./venture-location.data";
import { UserDetailData } from "./user-detail.data";
import { VentureContactData } from "./venture-contact.data";
import { VentureCategoryData } from "./venture-category.data";
({ name: "venture" })
export class VentureData {
("uuid")
id: string;
()
name: string;
({ unique: true })
slug: string;
()
coverPhoto: string;
()
description: string;
({ default: true })
active: boolean;
({ default: false })
verified: boolean;
()
createdAt: Date;
()
updatedAt: Date;
(() => VentureDetailData, (ventureDetail) => ventureDetail.venture, {
cascade: true,
})
({ name: "detailId" })
detail?: VentureDetailData;
(
() => VentureLocationData,
(ventureLocation) => ventureLocation.Venture,
{ cascade: true, eager: true }
)
({ name: "locationId" })
location?: VentureLocationData;
(() => UserDetailData, (userDetail) => userDetail.ventures)
({ name: "ownerDetailId" })
ownerDetail?: UserDetailData;
(
() => VentureContactData,
(ventureContact) => ventureContact.Venture,
{ cascade: true }
)
({ name: "ventureContactId" })
contact?: VentureContactData;
(
() => VentureCategoryData,
(ventureCategory) => ventureCategory.ventures,
{ eager: true }
)
({
name: "x_venture_venture_category",
joinColumn: { name: "ventureId", referencedColumnName: "id" },
inverseJoinColumn: { name: "categoryId", referencedColumnName: "id" },
})
categories: VentureCategoryData[];
}