2024-11-16 01:52:48 +00:00
|
|
|
# Copyright (C) 2024 Manuel Bustillo
|
|
|
|
|
2024-11-16 02:16:19 +01:00
|
|
|
module SwaggerResponseHelper
|
|
|
|
def response_422
|
|
|
|
response(422, 'Validation errors in input parameters') do
|
|
|
|
produces 'application/json'
|
|
|
|
error_schema
|
|
|
|
xit
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2024-11-19 08:56:51 +01:00
|
|
|
def response_429
|
|
|
|
response(429, 'Rate limit exceeded') do
|
|
|
|
produces 'application/json'
|
|
|
|
error_schema
|
|
|
|
xit
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def response_401
|
|
|
|
response(401, 'Unauthorized') do
|
|
|
|
produces 'application/json'
|
|
|
|
error_schema
|
|
|
|
xit
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2024-11-16 02:16:19 +01:00
|
|
|
def response_empty_200
|
|
|
|
response(200, 'Success') do
|
|
|
|
produces 'application/json'
|
|
|
|
schema type: :object
|
|
|
|
xit
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2024-11-17 11:47:12 +01:00
|
|
|
def response_empty_201
|
|
|
|
response(201, 'Created') do
|
|
|
|
produces 'application/json'
|
|
|
|
schema type: :object
|
|
|
|
xit
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2024-11-16 02:16:19 +01:00
|
|
|
def response_404
|
|
|
|
response(404, 'Record not found') do
|
|
|
|
produces 'application/json'
|
|
|
|
error_schema
|
|
|
|
xit
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def error_schema
|
|
|
|
schema type: :object,
|
|
|
|
required: %i[message errors],
|
|
|
|
properties: {
|
|
|
|
message: { type: :string },
|
|
|
|
errors: { type: :array, items: { type: :string } }
|
|
|
|
}
|
|
|
|
end
|
|
|
|
end
|