mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-01-06 23:48:03 +08:00
23 lines
563 B
Ruby
23 lines
563 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Repositories
|
||
|
class RestoreRepositoryService < ArchiveRepositoryBaseService
|
||
|
def call
|
||
|
return self unless valid?
|
||
|
|
||
|
ActiveRecord::Base.transaction do
|
||
|
@repositories.each do |repository|
|
||
|
repository.restore!(@user)
|
||
|
|
||
|
log_activity(:restore_inventory, repository)
|
||
|
end
|
||
|
rescue ActiveRecord::RecordNotSaved
|
||
|
@errors[:restoring_error] = I18n.t('repositories.restore_inventories.unsuccess_flash')
|
||
|
raise ActiveRecord::Rollback
|
||
|
end
|
||
|
|
||
|
self
|
||
|
end
|
||
|
end
|
||
|
end
|