Bånder

UserController extends Controller
in package
uses Filterable

User management controller

Handles user CRUD operations, profile management, and administrative functions. Includes filtering, searching, and pagination capabilities for user listings.

Attributes
#[Middleware]
['auth:sanctum', 'ability:' . \App\Models\TokenAbility::ACCESS_API->value, 'force.json']
#[Prefix]
'users'

Table of Contents

Methods

create()  : UserResource
Create a new user account
destroy()  : Response
Delete a user account
index()  : AnonymousResourceCollection
Get a paginated collection of users
me()  : UserResource
Get authenticated user profile
show()  : UserResource
Get a specific user's public profile
update()  : UserResource
Update an existing user
applyColumnFilters()  : void
Apply column filters to the query.
applyFilters()  : LengthAwarePaginator
Apply the query filters, sorting, and pagination.
applyGlobalFilter()  : void
Apply global filter to the query.
applySorting()  : void
Apply sorting to the query.
denyWithStatus()  : mixed
gateCheckExecuteJob()  : mixed
gateCheckViewDashboard()  : mixed
noContent()  : mixed

Methods

create()

Create a new user account

public create(CreateUserRequest $request) : UserResource

Administrative endpoint that allows authorized users to create new user accounts with specified roles and permissions. Created users will receive email verification.

Parameters
$request : CreateUserRequest

Request containing validated user data

Tags
throws
AuthorizationException

When user lacks admin privileges

throws
ValidationException

When user data is invalid

response

UserResource

status

201

Attributes
#[Post]
'/'
'api.users.store'
Return values
UserResource

destroy()

Delete a user account

public destroy(User $user) : Response

Permanently removes a user account and all associated data. This action cannot be undone. All user tokens are revoked and associated content is handled according to the configured deletion policy.

Parameters
$user : User

The user to delete

Tags
throws
AuthorizationException

When user cannot delete the target user

throws
ModelNotFoundException

When user is not found

status

204

Attributes
#[Delete]
'/{user}'
'api.users.destroy'
Return values
Response

index()

Get a paginated collection of users

public index(UserIndexRequest $request) : AnonymousResourceCollection

Returns a filtered and paginated list of all users in the system. Supports global search across name and email fields, plus advanced filtering options for administrative user management.

Parameters
$request : UserIndexRequest

Request with filtering and pagination parameters

Tags
response

AnonymousResourceCollection<JsonPaginator<UserResource>>

Attributes
#[Get]
'/'
'api.users.index'
Return values
AnonymousResourceCollection

me()

Get authenticated user profile

public me(Request $request) : UserResource

Returns the profile information of the currently authenticated user including roles, permissions, and associated libraries.

Parameters
$request : Request

Authenticated request

Tags
response

UserResource

Attributes
#[Get]
'/me'
'api.users.me'
Return values
UserResource

show()

Get a specific user's public profile

public show(User $user) : UserResource

Retrieves public profile information for a specific user. Sensitive information is filtered based on privacy settings and permissions.

Parameters
$user : User

The user to retrieve

Tags
throws
AuthorizationException

When user cannot view the target user

throws
ModelNotFoundException

When user is not found

response

UserResource

Attributes
#[Get]
'/{user}'
'api.users.show'
Return values
UserResource

update()

Update an existing user

public update(User $user, UpdateUserRequest $request) : UserResource

Updates user information including profile data, roles, and permissions. Users can update their own profiles, while administrators can update any user.

Parameters
$user : User

The user to update

$request : UpdateUserRequest

Request containing validated update data

Tags
throws
AuthorizationException

When user cannot update the target user

throws
ModelNotFoundException

When user is not found

response

UserResource

Attributes
#[Patch]
'/{user}'
'api.users.update'
Return values
UserResource

applyColumnFilters()

Apply column filters to the query.

protected applyColumnFilters(BaseBuilder|Builder $query, array<string|int, mixed> $filters, array<string|int, mixed> $filterModes) : void
Parameters
$query : BaseBuilder|Builder
$filters : array<string|int, mixed>
$filterModes : array<string|int, mixed>

applyFilters()

Apply the query filters, sorting, and pagination.

protected applyFilters(Request $request, class-string $model[, array<string|int, mixed> $columnsForGlobalFilter = [] ]) : LengthAwarePaginator
Parameters
$request : Request
$model : class-string
$columnsForGlobalFilter : array<string|int, mixed> = []
Return values
LengthAwarePaginator

applyGlobalFilter()

Apply global filter to the query.

protected applyGlobalFilter(BaseBuilder|Builder $query, string $globalFilter, array<string|int, mixed> $columns) : void
Parameters
$query : BaseBuilder|Builder
$globalFilter : string
$columns : array<string|int, mixed>

applySorting()

Apply sorting to the query.

protected applySorting(BaseBuilder|Builder $query, array<string|int, mixed> $sorting) : void
Parameters
$query : BaseBuilder|Builder
$sorting : array<string|int, mixed>

denyWithStatus()

protected denyWithStatus(string $message, int $status) : mixed
Parameters
$message : string
$status : int

gateCheckExecuteJob()

protected gateCheckExecuteJob() : mixed

gateCheckViewDashboard()

protected gateCheckViewDashboard() : mixed

        
On this page

Search results