fluke/devops-service/routes/v2.0/key.rb
Anton Martynov 25685f5c75 refactored
2015-02-19 11:27:56 +03:00

64 lines
1.8 KiB
Ruby

require "json"
require "db/exceptions/invalid_record"
require "db/mongo/models/key"
require "fileutils"
module Devops
module Version2_0
module Routes
module KeyRoutes
def self.registered(app)
# Get list of available ssh keys
#
# * *Request*
# - method : GET
# - headers :
# - Accept: application/json
#
# * *Returns* : array of strings
# [
# {
# "scope": "system", -> 'system' - key was added by server, 'user' - key was added by user
# "id": "devops"
# }
# ]
app.get_with_headers "/keys", :headers => [:accept], &Devops::Version2_0::Handler::Key.get_keys
# Create ssh key on devops server
#
# * *Request*
# - method : POST
# - headers :
# - Accept: application/json
# - Content-Type: application/json
# - body :
# {
# "file_name": "key file name",
# "key_name": "key name",
# "content": "key content"
# }
#
# * *Returns* :
# 201 - Created
app.post_with_headers "/key", :headers => [:accept, :content_type], &Devops::Version2_0::Handler::Key.create_key
# Delete ssh key from devops server
#
# * *Request*
# - method : DELETE
# - headers :
# - Accept: application/json
#
# * *Returns* :
# 200 - Deleted
app.delete_with_headers "/key/:key", :headers => [:accept], &Devops::Version2_0::Handler::Key.delete_key
puts "Key routes initialized"
end
end
end
end
end