product-review-translation.entity.ts 935 B

123456789101112131415161718192021222324252627282930
  1. import { DeepPartial } from '@vendure/common/lib/shared-types';
  2. import { HasCustomFields, LanguageCode, Translation, VendureEntity } from '@vendure/core';
  3. import { Column, Entity, Index, ManyToOne } from 'typeorm';
  4. import { ProductReview } from './product-review.entity';
  5. export class CustomReviewFieldsTranslation {}
  6. @Entity()
  7. export class ProductReviewTranslation
  8. extends VendureEntity
  9. implements Translation<ProductReview>, HasCustomFields
  10. {
  11. constructor(input?: DeepPartial<ProductReviewTranslation>) {
  12. super(input);
  13. }
  14. @Column('varchar')
  15. languageCode: LanguageCode;
  16. @Column('varchar')
  17. text: string; // same name as the translatable field in the base entity
  18. @Index()
  19. @ManyToOne(() => ProductReview, base => base.translations, { onDelete: 'CASCADE' })
  20. base: ProductReview;
  21. @Column(type => CustomReviewFieldsTranslation)
  22. customFields: CustomReviewFieldsTranslation;
  23. }