Files
maestro/src/modules/pipelinesV2/interfaces.ts
T

69 lines
1.3 KiB
TypeScript

import { ApiProperty, ApiPropertyOptional, OmitType } from '@nestjs/swagger';
import { Info } from 'protospack/dist/lib/interfaces';
export class IPipelineV2 {
@ApiProperty()
id: string;
@ApiProperty()
name: string;
@ApiProperty()
description: string;
@ApiProperty()
connection_id: string;
@ApiProperty()
cron: string;
@ApiPropertyOptional()
input_id?: string;
@ApiPropertyOptional()
transformations_ids?: string[];
@ApiPropertyOptional()
tags?: string[];
@ApiPropertyOptional()
properties?: any;
@ApiProperty()
connector_name: string;
@ApiProperty()
connector_plugin: string;
@ApiProperty()
connector_version: string;
@ApiProperty()
image_url: string;
@ApiProperty()
created_at: string;
@ApiProperty()
updated_at: string;
}
export class ICreatePipelineV2Req extends OmitType(IPipelineV2, [
'id',
'created_at',
'updated_at',
]) {}
export interface IdRequest {
id: string;
}
export interface IIdRequest {
id: string;
info: Info;
}
export interface IUpdatePipelineRequest {
input: IdRequest;
transformations: IdRequest[];
output: IdRequest;
tags: string[];
name: string;
description: string;
id: string;
info: Info;
}
export interface IGetPipelineLogsRequest {
id: string;
details: string;
}