webstudio/ui/src/features/create_project/create_project_repository.ts
2024-06-20 21:45:57 +03:00

20 lines
890 B
TypeScript

import { Result } from "../../core/helper/result";
import { DatabaseModel } from "../../core/model/database_model";
import { ITriggerModel } from "../../core/model/trigger_model";
import { HttpMethod, CoreHttpRepository } from "../../core/repository/http_repository";
import { UUID } from "../all_projects/data/project_repository";
import { ICreateProjectViewModel } from "./project_model";
export interface PipelineModel extends DatabaseModel {
process: any;
trigger: ITriggerModel;
}
export class CreateProjectRepository extends CoreHttpRepository {
async saveProject(model: ICreateProjectViewModel): Promise<Result<Error, UUID>> {
return await this._jsonRequest<UUID>(HttpMethod.POST, "/projects", model);
}
async setProjectRootFile(file: File, projectId: string) {
return await this._formDataRequest(HttpMethod.POST, `/projects/upload?id=${projectId}`, file);
}
}