Sha256: 1a8213fca3960b0c6775909e4eb9b227d4d089b3a696c476a9d3d8a77cf7a73e
Contents?: true
Size: 1.14 KB
Versions: 1
Compression:
Stored size: 1.14 KB
Contents
module Logman class UserAPI < ConsoleBase get '/api/users',:auth=>:user do json User.all end get '/api/users/:id',:auth=>:user do json User.find(params[:id]) end post '/api/users', :auth=> :admin do json = JSON.parse(request.body.read) user = User.new(json) if user.save json user else status 422 user.errors.to_json end end put '/api/users/:id', :auth=> :user do json = JSON.parse(request.body.read) user = User.find(params[:id]) if !@user.admin return 'invalid' if user.id != @user.id json['admin'] = false end puts json.inspect return 'One admin required' if @user.id == user.id && @user.admin && !json['admin'] && Logman::User.where(:admin=>true).count == 1 if user.update_attributes(json) json user else status 422 user.errors.to_json end end delete '/api/users/:id', :auth=>:admin do user = User.find(params[:id]) user.destroy if user && user.id != @user.id status 200 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
logman-0.0.2 | lib/console/user_api.rb |