Class: ProjectCreate

Inherits:
Dry::Operation
  • Object
show all
Defined in:
app/operations/project_create.rb

Defined Under Namespace

Classes: ProjectCreateError

Instance Method Summary collapse

Instance Method Details

#call(request:, approver:, project: nil) ⇒ Object

TODO: Remove the optional project parameter once github.com/pulibrary/tigerdata-app/issues/1707 has been completed. In practice the project is always created from the request.



7
8
9
10
11
12
13
14
# File 'app/operations/project_create.rb', line 7

def call(request:, approver:, project: nil)
  if project.nil?
    project = step create_project_from_request(request)
  end
  mediaflux_id = step persist_in_mediaflux(project, approver)
  step update_project_with_mediaflux_info(mediaflux_id:, project:)
  step persist_users_in_mediaflux(project, approver)
end