import { Schema, model } from "mongoose"; import { PipelineModel, schemaPipeline } from "../pipelines/pipeline_model"; import { IsMongoId, IsString } from "class-validator"; export interface IProjectModel { pipelines: [PipelineModel]; rootDir: string; } export const ProjectSchema = new Schema({ pipelines: { type: Array, ref: schemaPipeline, autopopulate: true, default: null, }, rootDir: { type: String, }, }).plugin(require("mongoose-autopopulate")); const schema = "Projects"; export const ProjectDBModel = model(schema, ProjectSchema); export class ProjectModel implements IProjectModel { @IsMongoId() pipelines: [PipelineModel]; @IsString() rootDir: string; }