customer.entity.ts 955 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import {
  2. Column,
  3. CreateDateColumn,
  4. Entity,
  5. JoinColumn,
  6. OneToMany,
  7. OneToOne,
  8. PrimaryGeneratedColumn,
  9. UpdateDateColumn,
  10. } from 'typeorm';
  11. import { DeepPartial } from '../../common/common-types';
  12. import { Address } from '../address/address.entity';
  13. import { User } from '../user/user.entity';
  14. @Entity('customer')
  15. export class Customer {
  16. constructor(input?: DeepPartial<Customer>) {
  17. if (input) {
  18. Object.assign(this, input);
  19. }
  20. }
  21. @PrimaryGeneratedColumn() id: number;
  22. @Column() firstName: string;
  23. @Column() lastName: string;
  24. @Column() phoneNumber: string;
  25. @Column({ unique: true })
  26. emailAddress: string;
  27. @OneToMany(type => Address, address => address.customer)
  28. addresses: Address[];
  29. @OneToOne(type => User, { eager: true })
  30. @JoinColumn()
  31. user?: User;
  32. @CreateDateColumn() createdAt: string;
  33. @UpdateDateColumn() updatedAt: string;
  34. }