diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-12-12 21:07:46 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-12-12 21:07:46 +0300 |
commit | 6121ad5af38294f12db08f13aec122c3dbef583a (patch) | |
tree | 452bdd3003f26ad4cffb9005b176bb052b810a14 /app/services | |
parent | 86a3b1b3ae2115c6ab7b9d492e9c89ac70963d3a (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/ml/find_or_create_model_version_service.rb | 17 | ||||
-rw-r--r-- | app/services/packages/ml_model/create_package_file_service.rb | 38 |
2 files changed, 17 insertions, 38 deletions
diff --git a/app/services/ml/find_or_create_model_version_service.rb b/app/services/ml/find_or_create_model_version_service.rb index 1c6f5bb96dd..61782166726 100644 --- a/app/services/ml/find_or_create_model_version_service.rb +++ b/app/services/ml/find_or_create_model_version_service.rb @@ -8,21 +8,20 @@ module Ml @version = params[:version] @package = params[:package] @description = params[:description] + @user = params[:user] + @params = params end def execute - model = Ml::FindOrCreateModelService.new(@project, @name).execute + model_version = Ml::ModelVersion.by_project_id_name_and_version(@project.id, @name, @version) - model_version = Ml::ModelVersion.find_or_create!(model, @version, @package, @description) + return model_version if model_version - unless model_version.candidate - model_version.candidate = ::Ml::CreateCandidateService.new( - model.default_experiment, - { model_version: model_version } - ).execute - end + model = Ml::Model.by_project_id_and_name(@project.id, @name) - model_version + return unless model + + Ml::CreateModelVersionService.new(model, @params).execute end end end diff --git a/app/services/packages/ml_model/create_package_file_service.rb b/app/services/packages/ml_model/create_package_file_service.rb index ff569a8eecf..ee2f3077e4c 100644 --- a/app/services/packages/ml_model/create_package_file_service.rb +++ b/app/services/packages/ml_model/create_package_file_service.rb @@ -4,47 +4,27 @@ module Packages module MlModel class CreatePackageFileService < BaseService def execute - ::Packages::Package.transaction do - package = find_or_create_package - find_or_create_model_version(package) + @package = params[:model_version]&.package + + return unless @package - create_package_file(package) + ::Packages::Package.transaction do + update_package + create_package_file end end private - def find_or_create_package - package_params = { - name: params[:package_name], - version: params[:package_version], - build: params[:build], - status: params[:status] - } - - package = ::Packages::MlModel::FindOrCreatePackageService - .new(project, current_user, package_params) - .execute + attr_reader :package + def update_package package.update_column(:status, params[:status]) if params[:status] && params[:status] != package.status package.create_build_infos!(params[:build]) - - package - end - - def find_or_create_model_version(package) - model_version_params = { - model_name: package.name, - version: package.version, - package: package, - user: current_user - } - - Ml::FindOrCreateModelVersionService.new(project, model_version_params).execute end - def create_package_file(package) + def create_package_file file_params = { file: params[:file], size: params[:file].size, |