refund.entity.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { DeepPartial, ID } from '@vendure/common/lib/shared-types';
  2. import { Column, Entity, JoinColumn, JoinTable, ManyToOne, OneToMany } from 'typeorm';
  3. import { PaymentMetadata } from '../../common/types/common-types';
  4. import { RefundState } from '../../service/helpers/refund-state-machine/refund-state';
  5. import { VendureEntity } from '../base/base.entity';
  6. import { EntityId } from '../entity-id.decorator';
  7. import { OrderItem } from '../order-item/order-item.entity';
  8. import { Payment } from '../payment/payment.entity';
  9. @Entity()
  10. export class Refund extends VendureEntity {
  11. constructor(input?: DeepPartial<Refund>) {
  12. super(input);
  13. }
  14. @Column() items: number;
  15. @Column() shipping: number;
  16. @Column() adjustment: number;
  17. @Column() total: number;
  18. @Column() method: string;
  19. @Column({ nullable: true }) reason: string;
  20. @Column('varchar') state: RefundState;
  21. @Column({ nullable: true }) transactionId: string;
  22. @OneToMany(type => OrderItem, orderItem => orderItem.refund)
  23. @JoinTable()
  24. orderItems: OrderItem[];
  25. @ManyToOne(type => Payment)
  26. @JoinColumn()
  27. payment: Payment;
  28. @EntityId()
  29. paymentId: ID;
  30. @Column('simple-json') metadata: PaymentMetadata;
  31. }