4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'app/controllers/graphql/persisted_documents/persisted_documents_controller.rb', line 4
def persist
document = params[:document]
unless document
render_errors(['Missing required argument document'], status: 422)
return
end
persister = Persister.new(document)
document_id = persister.persist
render json: { document_id: document_id }, status: :ok
rescue Persister::ParseError
render_errors(['Unable to parse document'], status: 422)
rescue Persister::InvalidDocumentError
render_errors(persister.errors, status: 422)
rescue Persister::MissingPersistValidatedDocumentError
render_errors(['persist_validated_document must be defined in config'])
end
|