customer.entity.ts 898 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import {
  2. Column,
  3. CreateDateColumn,
  4. Entity, JoinColumn,
  5. OneToMany,
  6. OneToOne,
  7. PrimaryGeneratedColumn,
  8. UpdateDateColumn
  9. } from 'typeorm';
  10. import { AddressEntity } from '../address/address.entity';
  11. import { Customer } from "./customer.interface";
  12. import { UserEntity } from "../user/user.entity";
  13. import { User } from "../user/user.interface";
  14. @Entity('customer')
  15. export class CustomerEntity implements Customer {
  16. @PrimaryGeneratedColumn() id: number;
  17. @Column() firstName: string;
  18. @Column() lastName: string;
  19. @Column() phoneNumber: string;
  20. @Column() emailAddress: string;
  21. @OneToMany(type => AddressEntity, address => address.customer)
  22. addresses: AddressEntity[];
  23. @OneToOne(type => UserEntity, { eager: true })
  24. @JoinColumn()
  25. user?: User;
  26. @CreateDateColumn() createdAt: string;
  27. @UpdateDateColumn() updatedAt: string;
  28. }