67 lines
1.8 KiB
Ruby
67 lines
1.8 KiB
Ruby
require 'swagger/blocks'
|
|
|
|
module AuthApiDoc
|
|
include Swagger::Blocks
|
|
|
|
MESSAGE_DESC = 'The status of the authentication request.'
|
|
MESSAGE_EXAMPLE = 'Generated new API token.'
|
|
TOKEN_DESC = 'The Authentication Bearer token'
|
|
TOKEN_EXAMPLE = '899d2f45e12429d07427230289400a4594bcffe32169ebb826b4ffa9b90e1d1586f15fa42f069bb7'
|
|
|
|
# Swagger documentation for auth model
|
|
swagger_schema :Auth do
|
|
property :message, type: :string, description: MESSAGE_DESC, example: MESSAGE_EXAMPLE
|
|
property :token, type: :string, description: TOKEN_DESC, example: TOKEN_EXAMPLE
|
|
end
|
|
|
|
swagger_path '/api/v1/auth/generate-token' do
|
|
# Swagger documentation for /api/v1/auth/generate-token GET
|
|
operation :get do
|
|
|
|
key :description, 'Return a valid Authorization Bearer token.'
|
|
key :tags, [ 'auth' ]
|
|
|
|
parameter do
|
|
key :name, :username
|
|
key :in, :query
|
|
key :description, 'The username for the user you want to authenticate.'
|
|
key :required, true
|
|
key :type, :string
|
|
end
|
|
|
|
parameter do
|
|
key :name, :password
|
|
key :in, :query
|
|
key :description, 'The password for the user you want to authenticate.'
|
|
key :required, true
|
|
key :type, :string
|
|
end
|
|
|
|
response 200 do
|
|
key :description, 'Returns a valid auth token.'
|
|
schema do
|
|
property :data do
|
|
key :'$ref', :Auth
|
|
end
|
|
end
|
|
end
|
|
|
|
response 401 do
|
|
key :description, 'Invalid username or password. ' + RootApiDoc::DEFAULT_RESPONSE_401
|
|
schema do
|
|
key :'$ref', :AuthErrorModel
|
|
end
|
|
end
|
|
|
|
response 500 do
|
|
key :description, RootApiDoc::DEFAULT_RESPONSE_500
|
|
schema do
|
|
key :'$ref', :ErrorModel
|
|
end
|
|
end
|
|
|
|
|
|
end
|
|
end
|
|
end
|