import mongoose, { Schema, model } from "mongoose"; import { PipelineModel, schemaPipeline } from "../pipelines/pipeline_model"; 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 { pipelines: [PipelineModel]; rootDir: string; } // export class ProcessModel implements IProcessMetaData { // public process: IProcess; // public trigger: ObjectId; // // TODO(IDONTSUDO): later, when maintaining many environments, you will need to make a table // public env = null; // @IsEnum(StackGenerateType) // public stackGenerateType: StackGenerateType; // }