34 lines
845 B
TypeScript
34 lines
845 B
TypeScript
|
import { ObjectType } from '@nestjs/graphql';
|
||
|
import { Column, Entity, ManyToOne } from 'typeorm';
|
||
|
import { Pipeline } from '../pipelines/pipeline.entity';
|
||
|
import { PipelineTaskLogs } from './models/pipeline-task-logs.model';
|
||
|
import { TaskStatuses } from './enums/task-statuses.enum';
|
||
|
import { PipelineUnits } from './enums/pipeline-units.enum';
|
||
|
|
||
|
@ObjectType()
|
||
|
@Entity()
|
||
|
export class PipelineTask {
|
||
|
@ManyToOne(() => Pipeline)
|
||
|
pipeline: Pipeline;
|
||
|
@Column()
|
||
|
pipelineId: string;
|
||
|
|
||
|
@Column()
|
||
|
commit: string;
|
||
|
|
||
|
@Column({ type: 'enum', enum: PipelineUnits, array: true })
|
||
|
units: PipelineUnits[];
|
||
|
|
||
|
@Column({ type: 'jsonb', default: '[]' })
|
||
|
logs: PipelineTaskLogs[];
|
||
|
|
||
|
@Column({ type: 'enum', enum: TaskStatuses, default: TaskStatuses.pending })
|
||
|
status: TaskStatuses;
|
||
|
|
||
|
@Column()
|
||
|
startedAt: Date;
|
||
|
|
||
|
@Column()
|
||
|
endedAt: Date;
|
||
|
}
|