socialforge/app/api/mobile/apis/users.rb

75 lines
2.2 KiB
Ruby
Raw Normal View History

2014-12-10 18:26:38 +08:00
#coding=utf-8
2014-11-27 19:43:04 +08:00
module Mobile
module Apis
2014-12-09 16:36:43 +08:00
class Users < Grape::API
resource :users do
2014-12-04 10:11:55 +08:00
2014-12-10 16:23:56 +08:00
desc "注册用户"
2014-12-09 16:36:43 +08:00
params do
requires :login, type: String, desc: 'username'
requires :mail, type: String, desc: 'mail'
requires :password, type: String, desc: 'password'
end
post do
us = UsersService.new
2014-12-10 17:29:39 +08:00
user = us.register params.merge(:password_confirmation => params[:password],
:should_confirmation_password => true)
raise "register failed #{user.errors.full_messages}" if user.new_record?
2014-12-10 17:29:39 +08:00
present :data, user, with: Mobile::Entities::User
present :status, 0
2014-11-27 19:43:04 +08:00
end
2014-12-10 11:56:33 +08:00
2014-12-10 16:23:56 +08:00
desc "修改用户"
2014-12-10 11:56:33 +08:00
params do
2014-12-10 16:23:56 +08:00
requires :token, type: String
2014-12-10 11:56:33 +08:00
#optional :file, type: File, desc: 'avatar'
optional :occupation, type: String
optional :brief_introduction, type: String
optional :province, type: String
optional :city, type: String
optional :gender, type: Integer
end
put ':id' do
authenticate!
us = UsersService.new
2014-12-10 17:29:39 +08:00
ue = us.edit_user params.merge(id: current_user.id)
present :data, user, with: Mobile::Entities::User
present :status, 0
2014-12-10 16:51:19 +08:00
end
desc '修改密码'
params do
requires :token, type: String
requires :password, type:String , desc: '原密码'
requires :new_password, type: String, desc: '新密码'
end
post 'password' do
authenticate!
us = UsersService.new
2014-12-23 10:16:23 +08:00
ue = us.change_password params.merge(current_user_id: current_user.id,
new_password_confirmation: params[:new_password])
2014-12-10 17:29:39 +08:00
present :data, user, with: Mobile::Entities::User
present :status, 0
2014-12-10 11:56:33 +08:00
end
2014-12-13 21:52:26 +08:00
desc "用户搜索"
params do
requires :name, type: String, desc: '用户名关键字'
end
get 'search' do
us = UsersService.new
user = us.search_user params
present :data, user, with: Mobile::Entities::User
present :status, 0
end
end
2014-11-27 19:43:04 +08:00
end
end
end