From cf75b4220a3c59caf51ad0ab7eb19c7801998bc1 Mon Sep 17 00:00:00 2001 From: IDONTSUDO Date: Tue, 13 Aug 2024 16:36:06 +0300 Subject: [PATCH] missing files --- .../_nix_store_manager/nix_store_manager.ts | 58 ------------------- .../models/pipeline_database_model.ts | 27 --------- .../_pipelines/models/pipeline_model.ts | 21 ------- .../models/pipeline_validation_model.ts | 17 ------ .../_pipelines/pipeline_presentation.ts | 13 ----- .../_process/models/process_database_model.ts | 35 ----------- .../models/process_validation_model.ts | 31 ---------- .../features/_process/process_presentation.ts | 13 ----- .../domain/pipeline_status_usecase.ts | 20 ------- .../domain/run_instance_pipeline_usecase.ts | 35 ----------- .../_realtime/realtime_presentation.ts | 28 --------- .../models/trigger_database_model.ts | 36 ------------ .../models/trigger_validation_model.ts | 16 ----- .../_triggers/triggers_presentation.ts | 13 ----- 14 files changed, 363 deletions(-) delete mode 100644 server/src/features/_nix_store_manager/nix_store_manager.ts delete mode 100644 server/src/features/_pipelines/models/pipeline_database_model.ts delete mode 100644 server/src/features/_pipelines/models/pipeline_model.ts delete mode 100644 server/src/features/_pipelines/models/pipeline_validation_model.ts delete mode 100644 server/src/features/_pipelines/pipeline_presentation.ts delete mode 100644 server/src/features/_process/models/process_database_model.ts delete mode 100644 server/src/features/_process/models/process_validation_model.ts delete mode 100644 server/src/features/_process/process_presentation.ts delete mode 100644 server/src/features/_realtime/domain/pipeline_status_usecase.ts delete mode 100644 server/src/features/_realtime/domain/run_instance_pipeline_usecase.ts delete mode 100644 server/src/features/_realtime/realtime_presentation.ts delete mode 100644 server/src/features/_triggers/models/trigger_database_model.ts delete mode 100644 server/src/features/_triggers/models/trigger_validation_model.ts delete mode 100644 server/src/features/_triggers/triggers_presentation.ts diff --git a/server/src/features/_nix_store_manager/nix_store_manager.ts b/server/src/features/_nix_store_manager/nix_store_manager.ts deleted file mode 100644 index d9b56c2..0000000 --- a/server/src/features/_nix_store_manager/nix_store_manager.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { CallbackStrategyWithEmpty, CoreHttpController } from "../../core/controllers/http_controller"; -import { Result } from "../../core/helpers/result"; -import { EXEC_TYPE } from "../../core/models/exec_error_model"; -import { ExecutorResult } from "../../core/models/executor_result"; -import { IPipeline, IssueType, StackGenerateType } from "../../core/models/process_model"; -import { StackService } from "../../core/services/stack_service"; -import { TriggerType } from "../_triggers/models/trigger_database_model"; - -class NixStoreModel {} - -const getNixStoreFolderCommand: IPipeline[] = [ - { - process: { - type: EXEC_TYPE.EXEC, - command: `ls /nix/store`, - isGenerating: true, - isLocaleCode: false, - issueType: IssueType.WARNING, - }, - trigger: { - type: TriggerType.FILE, - value: ["context"], - }, - env: null, - stackGenerateType: StackGenerateType.SINGLETON, - }, -]; -class GetNixStorePackagesUseCase extends CallbackStrategyWithEmpty { - call = async () => { - const stackService = new StackService( - getNixStoreFolderCommand, - "/Users/idontsudo/Desktop/testdeck-mocha-seed/server/build/test/" - ); - stackService.call(); - - const promise = new Promise((resolve, _reject) => { - stackService.on((e) => { - const iteration = e.firstElement(); - if (iteration.result instanceof ExecutorResult) { - const nixPackage = iteration.result.data; - resolve(nixPackage.split("\n").filter((e) => e.hasNoPattern(".drv"))); - } else { - return "GetNixStorePackagesUseCase unknown Error"; - } - }); - }); - return Result.ok(await promise); - }; -} - -export class NixStoreManagerPresentation extends CoreHttpController { - constructor() { - super({ - url: "nix_store_api", - }); - super.get(new GetNixStorePackagesUseCase().call); - } -} diff --git a/server/src/features/_pipelines/models/pipeline_database_model.ts b/server/src/features/_pipelines/models/pipeline_database_model.ts deleted file mode 100644 index dac4f36..0000000 --- a/server/src/features/_pipelines/models/pipeline_database_model.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Schema, model } from "mongoose"; -import { IPipeline } from "../../../core/models/process_model"; -import { schemaProcess } from "../../_process/models/process_database_model"; -import { triggerSchema } from "../../_triggers/models/trigger_database_model"; - -export const PipelineSchema = new Schema({ - process: { - type: Schema.Types.ObjectId, - ref: schemaProcess, - autopopulate: true, - default: null, - }, - trigger: { - type: Schema.Types.ObjectId, - ref: triggerSchema, - autopopulate: true, - default: null, - }, - stackGenerateType: { - type: String, - default: null, - }, -}).plugin(require("mongoose-autopopulate")); - -export const schemaPipeline = "Pipeline"; - -export const PipelineDBModel = model(schemaPipeline, PipelineSchema); diff --git a/server/src/features/_pipelines/models/pipeline_model.ts b/server/src/features/_pipelines/models/pipeline_model.ts deleted file mode 100644 index fca67ba..0000000 --- a/server/src/features/_pipelines/models/pipeline_model.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IsOptional, ValidateNested } from "class-validator"; -import { IPipeline, IProcess, StackGenerateType } from "../../../core/models/process_model"; -import { Type } from "class-transformer"; -import { ProcessModel } from "../../_process/models/process_validation_model"; -import { TriggerModelValidationModel } from "../../_triggers/models/trigger_validation_model"; - -export class PipelineModel implements IPipeline { - @ValidateNested() - @Type(() => ProcessModel) - public process: IProcess; - - @ValidateNested() - @Type(() => TriggerModelValidationModel) - public trigger: TriggerModelValidationModel; - - @IsOptional() - public env = null; - - @IsOptional() - public stackGenerateType: StackGenerateType; -} diff --git a/server/src/features/_pipelines/models/pipeline_validation_model.ts b/server/src/features/_pipelines/models/pipeline_validation_model.ts deleted file mode 100644 index 59fc6b3..0000000 --- a/server/src/features/_pipelines/models/pipeline_validation_model.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { IsMongoId, IsOptional } from "class-validator"; -import { IProcess, StackGenerateType } from "../../../core/models/process_model"; -import { TriggerModelValidationModel } from "../../_triggers/models/trigger_validation_model"; - -export class PipelineValidationModel { - @IsMongoId() - public process: IProcess; - - @IsMongoId() - public trigger: TriggerModelValidationModel; - - @IsOptional() - public env = null; - - @IsOptional() - public stackGenerateType: StackGenerateType; -} diff --git a/server/src/features/_pipelines/pipeline_presentation.ts b/server/src/features/_pipelines/pipeline_presentation.ts deleted file mode 100644 index eefbe57..0000000 --- a/server/src/features/_pipelines/pipeline_presentation.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { CrudController } from "../../core/controllers/crud_controller"; -import { PipelineDBModel } from "./models/pipeline_database_model"; -import { PipelineValidationModel } from "./models/pipeline_validation_model"; - -export class PipelinePresentation extends CrudController { - constructor() { - super({ - url: "pipeline", - validationModel: PipelineValidationModel, - databaseModel: PipelineDBModel, - }); - } -} diff --git a/server/src/features/_process/models/process_database_model.ts b/server/src/features/_process/models/process_database_model.ts deleted file mode 100644 index 1617cb0..0000000 --- a/server/src/features/_process/models/process_database_model.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Schema, model } from "mongoose"; -import { IProcess } from "../../../core/models/process_model"; - -export const ProcessSchema = new Schema({ - type: { - type: String, - }, - description: { - type: String, - }, - command: { - type: String, - }, - isGenerating: { - type: String, - }, - isLocaleCode: { - type: String, - }, - issueType: { - type: String, - }, - timeout: { - type: Number, - default: null, - }, - commit: { - type: String, - default: null, - }, -}); - -export const schemaProcess = "Process"; - -export const ProcessDBModel = model(schemaProcess, ProcessSchema); diff --git a/server/src/features/_process/models/process_validation_model.ts b/server/src/features/_process/models/process_validation_model.ts deleted file mode 100644 index 7dde139..0000000 --- a/server/src/features/_process/models/process_validation_model.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { IsBoolean, IsEnum, IsNumber, IsOptional, IsString } from "class-validator"; -import { EXEC_TYPE } from "../../../core/models/exec_error_model"; -import { IProcess, IssueType } from "../../../core/models/process_model"; - -export class ProcessModel implements IProcess { - @IsEnum(EXEC_TYPE) - public type: EXEC_TYPE; - - @IsString() - public description: string; - - @IsString() - public command: string; - - @IsBoolean() - public isGenerating: boolean; - - @IsBoolean() - public isLocaleCode: boolean; - - @IsEnum(IssueType) - public issueType: IssueType; - - @IsOptional() - @IsNumber() - public timeout?: number; - - @IsOptional() - @IsString() - public commit?: string; -} diff --git a/server/src/features/_process/process_presentation.ts b/server/src/features/_process/process_presentation.ts deleted file mode 100644 index 0967f68..0000000 --- a/server/src/features/_process/process_presentation.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { CrudController } from "../../core/controllers/crud_controller"; -import { ProcessDBModel } from "./models/process_database_model"; -import { ProcessModel } from "./models/process_validation_model"; - -export class ProcessPresentation extends CrudController { - constructor() { - super({ - url: "process", - validationModel: ProcessModel, - databaseModel: ProcessDBModel, - }); - } -} diff --git a/server/src/features/_realtime/domain/pipeline_status_usecase.ts b/server/src/features/_realtime/domain/pipeline_status_usecase.ts deleted file mode 100644 index df47fe1..0000000 --- a/server/src/features/_realtime/domain/pipeline_status_usecase.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Result } from "../../../core/helpers/result"; -import { ActivePipeline } from "../../../core/models/active_pipeline_model"; -import { pipelineRealTimeService } from "../realtime_presentation"; - -export class PipelineStatusUseCase { - async call(): Promise> { - try { - const status = pipelineRealTimeService.status; - if (status.projectId !== null) { - return Result.ok(status); - } - - if (status.projectId === null) { - return Result.error(new Error("pipelineRealTimeService does not have an active project instance")); - } - } catch (error) { - return Result.error(error as Error); - } - } -} diff --git a/server/src/features/_realtime/domain/run_instance_pipeline_usecase.ts b/server/src/features/_realtime/domain/run_instance_pipeline_usecase.ts deleted file mode 100644 index 065394b..0000000 --- a/server/src/features/_realtime/domain/run_instance_pipeline_usecase.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { App } from "../../../core/controllers/app"; -import { CallbackStrategyWithEmpty } from "../../../core/controllers/http_controller"; -import { Result } from "../../../core/helpers/result"; -import { ReadByIdDataBaseModelUseCase } from "../../../core/usecases/read_by_id_database_model_usecase"; -import { IProjectModel, ProjectDBModel } from "../../projects/models/project_model_database_model"; -import { pipelineRealTimeService } from "../realtime_presentation"; -import { PipelineStatusUseCase } from "./pipeline_status_usecase"; - - -export class RunInstancePipelineUseCase extends CallbackStrategyWithEmpty { - async call(): Promise> { - return (await new PipelineStatusUseCase().call()).map(async (activePipelineModel) => { - if (activePipelineModel.pipelineIsRunning) { - return Result.error("pipeline is running"); - } - const readByIdDataBaseModelUseCase = await new ReadByIdDataBaseModelUseCase( - ProjectDBModel - ).call(activePipelineModel.projectId); - - if (readByIdDataBaseModelUseCase.isFailure()) { - return readByIdDataBaseModelUseCase.forward(); - } - const projectModel = readByIdDataBaseModelUseCase.value; - - pipelineRealTimeService.setPipelineDependency( - App.staticFilesStoreDir() + projectModel.rootDir + "/", - projectModel._id, - projectModel.rootDir - ); - - pipelineRealTimeService.runPipeline(); - return Result.ok("ok"); - }); - } -} diff --git a/server/src/features/_realtime/realtime_presentation.ts b/server/src/features/_realtime/realtime_presentation.ts deleted file mode 100644 index 249fca1..0000000 --- a/server/src/features/_realtime/realtime_presentation.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { IsString } from "class-validator"; -import { CoreHttpController } from "../../core/controllers/http_controller"; -import { PipelineRealTimeService } from "../../core/services/pipeline_real_time_service"; -import { RunInstancePipelineUseCase } from "./domain/run_instance_pipeline_usecase"; -import { PipelineStatusUseCase } from "./domain/pipeline_status_usecase"; - -export const pipelineRealTimeService = new PipelineRealTimeService(); - -export class RealTimeValidationModel { - @IsString() - public id: string; -} - -export class RealTimePresentation extends CoreHttpController { - constructor() { - super({ - validationModel: RealTimeValidationModel, - url: "realtime", - databaseModel: null, - }); - super.get(new PipelineStatusUseCase().call); - this.subRoutes.push({ - method: "POST", - subUrl: "run", - fn: new RunInstancePipelineUseCase(), - }); - } -} diff --git a/server/src/features/_triggers/models/trigger_database_model.ts b/server/src/features/_triggers/models/trigger_database_model.ts deleted file mode 100644 index 5da8fea..0000000 --- a/server/src/features/_triggers/models/trigger_database_model.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Schema, model } from "mongoose"; - -export interface ITriggerModel { - _id?: string; - type: string; - description: string; - value: string[]; -} - -export const TriggerSchema = new Schema({ - type: { - type: String, - require: true, - }, - description: { - type: String, - }, - value: { - type: Array, - require: true, - }, -}); - -export const triggerSchema = "Trigger"; - -export const TriggerDBModel = model(triggerSchema, TriggerSchema); - -export enum TriggerType { - PROCESS = "PROCESS", - FILE = "FILE", -} - -export interface Trigger { - type: TriggerType; - value: string[]; -} diff --git a/server/src/features/_triggers/models/trigger_validation_model.ts b/server/src/features/_triggers/models/trigger_validation_model.ts deleted file mode 100644 index 86b9174..0000000 --- a/server/src/features/_triggers/models/trigger_validation_model.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IsArray, IsOptional, IsEnum, IsString } from "class-validator"; -import { ITriggerModel, TriggerType } from "./trigger_database_model"; - -export class TriggerModelValidationModel implements ITriggerModel { - @IsOptional() - public _id: string; - - @IsString() - public description; - - @IsEnum(TriggerType) - public type: TriggerType; - - @IsArray() - public value: string[]; -} diff --git a/server/src/features/_triggers/triggers_presentation.ts b/server/src/features/_triggers/triggers_presentation.ts deleted file mode 100644 index f876e4d..0000000 --- a/server/src/features/_triggers/triggers_presentation.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { CrudController } from "../../core/controllers/crud_controller"; -import { TriggerDBModel } from "./models/trigger_database_model"; -import { TriggerModelValidationModel } from "./models/trigger_validation_model"; - -// export class TriggerPresentation extends CrudController { -// constructor() { -// super({ -// url: "trigger", -// validationModel: TriggerModelValidationModel, -// databaseModel: TriggerDBModel, -// }); -// } -// }