Class: Aha::Auth::UsersResource
- Inherits:
-
Object
- Object
- Aha::Auth::UsersResource
- Defined in:
- lib/aha/auth/users_resource.rb
Overview
API resource for user management operations
Instance Method Summary collapse
-
#create(email:, first_name:, last_name:, password:) ⇒ User
Create a new user.
-
#delete(id) ⇒ Boolean
Delete a user.
-
#find(id) ⇒ User
Find a user by ID.
-
#initialize(client) ⇒ UsersResource
constructor
A new instance of UsersResource.
-
#list(page: 1, per_page: 50) ⇒ Hash
List users with pagination.
-
#update(id, **attributes) ⇒ User
Update a user.
Constructor Details
#initialize(client) ⇒ UsersResource
Returns a new instance of UsersResource.
7 8 9 |
# File 'lib/aha/auth/users_resource.rb', line 7 def initialize(client) @client = client end |
Instance Method Details
#create(email:, first_name:, last_name:, password:) ⇒ User
Create a new user
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/aha/auth/users_resource.rb', line 18 def create(email:, first_name:, last_name:, password:) response = post( "/api/core/auth/users", { email: email, first_name: first_name, last_name: last_name, password: password } ) User.new(response) end |
#delete(id) ⇒ Boolean
Delete a user
54 55 56 57 |
# File 'lib/aha/auth/users_resource.rb', line 54 def delete(id) delete_request("/api/core/auth/users/#{id}") true end |
#find(id) ⇒ User
Find a user by ID
35 36 37 38 |
# File 'lib/aha/auth/users_resource.rb', line 35 def find(id) response = get("/api/core/auth/users/#{id}") User.new(response) end |
#list(page: 1, per_page: 50) ⇒ Hash
List users with pagination
64 65 66 67 68 69 70 71 72 |
# File 'lib/aha/auth/users_resource.rb', line 64 def list(page: 1, per_page: 50) response = get("/api/core/auth/users", page: page, per_page: per_page) { users: response["users"].map { |u| User.new(u) }, total: response["total"], page: response["page"] } end |
#update(id, **attributes) ⇒ User
Update a user
45 46 47 48 |
# File 'lib/aha/auth/users_resource.rb', line 45 def update(id, **attributes) response = put("/api/core/auth/users/#{id}", attributes) User.new(response) end |