Class: Jpi::V1::Admin::UsersController

Inherits:
BaseResourceController
  • Object
show all
Defined in:
app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb

Instance Method Summary collapse

Instance Method Details

#countObject

GET /mnoe/jpi/v1/admin/users/count



58
59
60
61
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 58

def count
  users_count = MnoEnterprise::Tenant.get('tenant').users_count
  render json: {count: users_count }
end

#createObject

POST /mnoe/jpi/v1/admin/users



30
31
32
33
34
35
36
37
38
39
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 30

def create
  @user = MnoEnterprise::User.build(user_create_params)
  @user.admin_role = params[:user][:admin_role].presence

  if @user.save
    render :show
  else
    render json: @user.errors, status: :bad_request
  end
end

#destroyObject

DELETE /mnoe/jpi/v1/admin/users/1



50
51
52
53
54
55
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 50

def destroy
  user = MnoEnterprise::User.find(params[:id])
  user.destroy

  head :no_content
end

#indexObject

GET /mnoe/jpi/v1/admin/users



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 5

def index
  if params[:terms]
    # Search mode
    @users = []
    JSON.parse(params[:terms]).map { |t| @users = @users | MnoEnterprise::User.where(Hash[*t]) }
    response.headers['X-Total-Count'] = @users.count
  else
    # Index mode
    @users = MnoEnterprise::User
    @users = @users.limit(params[:limit]) if params[:limit]
    @users = @users.skip(params[:offset]) if params[:offset]
    @users = @users.order_by(params[:order_by]) if params[:order_by]
    @users = @users.where(params[:where]) if params[:where]
    @users = @users.all
    response.headers['X-Total-Count'] = @users.[:pagination][:count]
  end
end

#showObject

GET /mnoe/jpi/v1/admin/users/1



24
25
26
27
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 24

def show
  @user = MnoEnterprise::User.find(params[:id])
  @user_organizations = @user.organizations
end

#signup_emailObject

POST /mnoe/jpi/v1/admin/users/signup_email Send an email to a user with the link to the registration page



65
66
67
68
69
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 65

def 
  MnoEnterprise::SystemNotificationMailer.registration_instructions(params.require(:user).require(:email)).deliver_later

  head :no_content
end

#updateObject

PATCH /mnoe/jpi/v1/admin/users/:id



42
43
44
45
46
47
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 42

def update
  @user = MnoEnterprise::User.find(params[:id])
  @user.update(user_params)

  render :show
end