29 lines
731 B
Ruby
29 lines
731 B
Ruby
# frozen_string_literal: true
|
|
module Packages
|
|
class CreatePackageFileService
|
|
attr_reader :package, :params
|
|
|
|
def initialize(package, params)
|
|
@package = package
|
|
@params = params
|
|
end
|
|
|
|
def execute
|
|
package_file = package.package_files.build(
|
|
file: params[:file],
|
|
size: params[:size],
|
|
file_name: params[:file_name],
|
|
file_sha1: params[:file_sha1],
|
|
file_sha256: params[:file_sha256],
|
|
file_md5: params[:file_md5]
|
|
)
|
|
|
|
if params[:build].present?
|
|
package_file.package_file_build_infos << package_file.package_file_build_infos.build(pipeline: params[:build].pipeline)
|
|
end
|
|
|
|
package_file.save!
|
|
package_file
|
|
end
|
|
end
|
|
end
|