48 lines
1.3 KiB
Ruby
48 lines
1.3 KiB
Ruby
require 'swagger/blocks'
|
|
|
|
module NmapApiDoc
|
|
include Swagger::Blocks
|
|
|
|
swagger_path '/api/v1/nmaps' do
|
|
# Swagger documentation for /api/v1/nmaps POST
|
|
operation :post do
|
|
key :description, 'Upload an Nmap XML file to be processed into corresponding Metasploit data objects.'
|
|
key :tags, [ 'nmap' ]
|
|
|
|
parameter do
|
|
key :in, :body
|
|
key :name, :body
|
|
key :required, true
|
|
schema do
|
|
property :workspace, type: :string, required: true, description: RootApiDoc::WORKSPACE_POST_EXAMPLE
|
|
property :filename, type: :string, required: true, description: 'The name of the file you are uploading.'
|
|
property :data, type: :string, required: true, description: 'The Base64 encoded contents of the Nmap XML file.'
|
|
end
|
|
end
|
|
|
|
response 200 do
|
|
key :description, 'A JSON object containing the Base64 encoded backup file.'
|
|
schema do
|
|
property :db_export_file do
|
|
key :type, :string
|
|
end
|
|
end
|
|
end
|
|
|
|
response 401 do
|
|
key :description, 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
|