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.
118 lines (93 loc) • 2.99 kB
text/typescript
import {
Column,
CreateDateColumn,
Entity,
JoinColumn,
JoinTable,
ManyToMany,
ManyToOne,
OneToMany,
OneToOne,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from "typeorm";
import { EventDonationData } from "./event-donation.data";
import { MunicipalityData } from "./municipality.data";
import { NotificationData } from "./notification.data";
import { PublicationClapData } from "./publication-clap.data";
import { PublicationCommentData } from "./publication-comment.data";
import { RoleData } from "./role.data";
import { UserContactData } from "./user-contact.data";
import { VentureCategoryData } from "./venture-category.data";
import { VentureSponsorshipData } from "./venture-sponsorship.data";
import { VentureSubscriptionData } from "./venture-subscription.data";
import { VentureData } from "./venture.data";
({ name: "user" })
export class UserData {
("uuid")
id: string;
()
picture: string;
({ unique: true })
email: string;
()
firstName: string;
()
lastName: string;
({ default: true })
active: boolean;
()
createdAt: Date;
()
updatedAt: Date;
({ default: false })
onboardingCompleted: boolean;
({ default: false })
verified: boolean;
(() => UserContactData, (contact) => contact.user, {
nullable: true,
})
({ name: "contactId" })
contact?: UserContactData;
(() => VentureCategoryData, (vc) => vc.users)
({ name: "x_user_preference" })
preferences: VentureCategoryData[];
(() => RoleData, (role) => role.users, { eager: true })
({ name: "x_user_role" })
roles: RoleData[];
({ type: "enum", enum: ["M", "F", "O"], nullable: true })
gender?: "M" | "F" | "O";
({ nullable: true })
birthDate?: Date;
(() => MunicipalityData, (municipality) => municipality.users, {
nullable: true,
})
({ name: "municipalityId" })
municipality?: MunicipalityData;
(
() => PublicationCommentData,
(publicationComment) => publicationComment.author
)
comments: PublicationCommentData[];
(() => EventDonationData, (eventDonation) => eventDonation.donor)
donations: EventDonationData[];
(() => NotificationData, (notification) => notification.user)
notifications: NotificationData[];
(
() => PublicationClapData,
(publicationClap) => publicationClap.user
)
publicationClaps: PublicationClapData[];
(
() => VentureSponsorshipData,
(ventureSponsorship) => ventureSponsorship.sponsor
)
sponsorships: VentureSponsorshipData[];
(
() => VentureSubscriptionData,
(ventureSubscription) => ventureSubscription.subscriber
)
subscriptions: VentureSubscriptionData[];
(() => VentureData, (venture) => venture.owner)
ventures: VentureData[];
}