refund.entity.ts 1.1 KB

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