from werkzeug.datastructures import FileStorage from backend import api_bp, dataset_path, service from backend.dataset.dto import DatasetUploadDto from backend.dataset.model import DatasetParams from backend.dto import RegressionDto from backend.regression.dto import RegressionResultDto from backend.regression.model import RegressionTreeParams @api_bp.post("/regression") @api_bp.input(DatasetUploadDto, location="files") @api_bp.input(RegressionDto, location="query") @api_bp.output(RegressionResultDto) def upload_dataset(files_data, query_data): uploaded_file: FileStorage = files_data["dataset"] schema = RegressionDto() dataset_params: DatasetParams = schema.get_dataset_params(query_data) tree_params: RegressionTreeParams = schema.get_tree_params(query_data) return service.run_regression( dataset_path, uploaded_file, dataset_params, tree_params )