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



62
63
64
65
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 62

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
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 30

def create
  @user = MnoEnterprise::User.build(user_create_params)

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

#destroyObject

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



54
55
56
57
58
59
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 54

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.fetch
    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



69
70
71
72
73
# File 'app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb', line 69

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

  head :no_content
end

#updateObject

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



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

def update
  # TODO: replace with authorize/ability
  if current_user.admin_role == "admin"
    @user = MnoEnterprise::User.find(params[:id])
    @user.update(user_params)

    render :show
  else
    render :index, status: :unauthorized
  end
end