40 lines
1.4 KiB
Ruby
40 lines
1.4 KiB
Ruby
|
|
require_relative "request_parser"
|
||
|
|
|
||
|
|
module Devops
|
||
|
|
module API2_0
|
||
|
|
module Parser
|
||
|
|
class UserParser < RequestParser
|
||
|
|
|
||
|
|
def create
|
||
|
|
user = create_object_from_json_body
|
||
|
|
["username", "password", "email"].each do |p|
|
||
|
|
check_string(user[p], "Parameter '#{p}' must be a not empty string")
|
||
|
|
end
|
||
|
|
Devops::Model::User.new(user)
|
||
|
|
end
|
||
|
|
|
||
|
|
def user_privileges
|
||
|
|
data = create_object_from_json_body
|
||
|
|
cmd = check_string(data["cmd"], "Parameter 'cmd' should be a not empty string", true)
|
||
|
|
privileges = check_string(data["privileges"], "Parameter 'privileges' should be a not empty string", true)
|
||
|
|
return cmd, privileges
|
||
|
|
end
|
||
|
|
|
||
|
|
def change_password
|
||
|
|
raise InvalidPrivileges.new("Access denied for '#{current_user}'") if user == Devops::Model::User::ROOT_USER_NAME and current_user != Devops::Model::User::ROOT_USER_NAME
|
||
|
|
body = create_object_from_json_body
|
||
|
|
check_string(body["password"], "Parameter 'password' must be a not empty string")
|
||
|
|
end
|
||
|
|
|
||
|
|
def change_email
|
||
|
|
raise InvalidPrivileges.new("Access denied for '#{current_user}'") if user == Devops::Model::User::ROOT_USER_NAME and current_user != Devops::Model::User::ROOT_USER_NAME
|
||
|
|
body = create_object_from_json_body
|
||
|
|
check_string(body["email"], "Parameter 'email' must be a not empty string")
|
||
|
|
end
|
||
|
|
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|