customer.entity.ts 903 B

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