| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import {
- Entity,
- PrimaryGeneratedColumn,
- Column,
- CreateDateColumn,
- UpdateDateColumn,
- ManyToOne,
- JoinColumn,
- } from 'typeorm';
- import { User } from '../../user/user.entity';
- import { KnowledgeGroup } from '../../knowledge-group/knowledge-group.entity';
- import { Tenant } from '../../tenant/tenant.entity';
- export enum PodcastStatus {
- PENDING = 'pending',
- PROCESSING = 'processing',
- COMPLETED = 'completed',
- FAILED = 'failed',
- }
- @Entity('podcast_episodes')
- export class PodcastEpisode {
- @PrimaryGeneratedColumn('uuid')
- id: string;
- @Column()
- title: string;
- @Column('text', { nullable: true })
- briefing: string; // The instruction/prompt used
- @Column({ nullable: true })
- audioUrl: string;
- @Column('simple-json', { nullable: true })
- transcript: any; // The dialogue script
- @Column({
- type: 'simple-enum',
- enum: PodcastStatus,
- default: PodcastStatus.PENDING,
- })
- status: PodcastStatus;
- @Column({ name: 'user_id' })
- userId: string;
- @Column({ name: 'group_id', nullable: true })
- groupId: string;
- @Column({ name: 'tenant_id', nullable: true, type: 'text' })
- tenantId: string;
- @CreateDateColumn({ name: 'created_at' })
- createdAt: Date;
- @UpdateDateColumn({ name: 'updated_at' })
- updatedAt: Date;
- @ManyToOne(() => User)
- @JoinColumn({ name: 'user_id' })
- user: User;
- @ManyToOne(() => KnowledgeGroup)
- @JoinColumn({ name: 'group_id' })
- group: KnowledgeGroup;
- @ManyToOne(() => Tenant)
- @JoinColumn({ name: 'tenant_id' })
- tenant: Tenant;
- }
|