Laravel package for user management. Includes user, user profile and user role.
Getting Started
Installation
How to Use
Download Postman API
User Management
Create User API
Update User API
View User API
User List API
Delete User API
User Role Management
Create User Role API
Update User Role API
View User Role API
User Role List API
Delete User Role API
Support
Below are the steps in order to integrate user management API to your Laravel project.
Install the package using composer:
composer require jscustom/laravel-user-managementExport the configuration file:
php artisan vendor:publish --provider="JSCustom\LaravelUserManagement\Providers\LaravelUserManagementServiceProvider" --tag="config"Export the migration files:
php artisan vendor:publish --provider="JSCustom\LaravelUserManagement\Providers\LaravelUserManagementServiceProvider" --tag="migrations"Do a quick migration:
php artisan migrate --path=/database/migrations/laravel-user-managementDownload the Postman API Collection here.
Features
- Create User
- Update User
- View User Details
- View UserList
- Delete User
Models
JSCustom\LaravelUserManagement\Models\User
JSCustom\LaravelUserManagement\Models\UserAddress
JSCustom\LaravelUserManagement\Models\UserProfileController
\JSCustom\LaravelUserManagement\Http\Controllers\User\UserControllerURL
{{url}}/api/userForm Data
{
"username": "stevengrant",
"email": "[email protected]",
"status": 1,
"role_id": 1,
"first_name": "Steven",
"last_name": "Grant",
}Method
POSTHeaders
{
"Authorization": "Bearer ...",
"Accept": "application/json"
}Response
{
"status": true,
"message": "User has been saved.",
"payload": {
"user": {
"username": "stevengrant",
"email": "[email protected]",
"status": 1,
"role_id": 1,
"updated_at": "2022-05-23T07:52:41.000000Z",
"created_at": "2022-05-23T07:52:41.000000Z",
"id": 2,
"password_unhashed": "X2QQTVZZ",
"user_role": {
"id": 1,
"role": "Developer",
"description": "Developer",
"created_at": "2022-05-23T15:52:12.000000Z",
"updated_at": "2022-05-23T15:52:12.000000Z"
},
"user_profile": {
"id": 2,
"user_id": 2,
"first_name": "Steven",
"last_name": "Grant",
"created_at": "2022-05-23T07:52:41.000000Z",
"updated_at": "2022-05-23T07:52:41.000000Z"
},
"user_address": {
"id": 2,
"user_id": 2,
"line_1": null,
"line_2": null,
"city_id": null,
"province_id": null,
"postal_code": null,
"country_id": null,
"other_address_details": null,
"created_at": "2022-05-23T07:52:41.000000Z",
"updated_at": "2022-05-23T07:52:41.000000Z"
}
}
}
}Controller
\JSCustom\LaravelUserManagement\Http\Controllers\User\UserControllerURL
{{url}}/api/user/$idForm Data
{
"username": "stevengrant",
"email": "[email protected]",
"status": 1,
"role_id": 1,
"first_name": "Steven",
"last_name": "Grant"
}Method
POSTHeaders
{
"Authorization": "Bearer ...",
"Accept": "application/json"
}Response
{
"status": true,
"message": "User has been saved.",
"payload": {
"user": {
"id": 2,
"username": "stevengrant",
"email": "[email protected]",
"status": 1,
"role_id": 1,
"email_verified_at": null,
"created_at": "2022-05-23T07:52:41.000000Z",
"updated_at": "2022-05-23T07:54:02.000000Z",
"password_unhashed": "OHYY0NB6",
"user_role": {
"id": 1,
"role": "Developer",
"description": "Developer",
"created_at": "2022-05-23T15:52:12.000000Z",
"updated_at": "2022-05-23T15:52:12.000000Z"
},
"user_profile": {
"id": 2,
"user_id": 2,
"first_name": "Steven",
"last_name": "Grant",
"created_at": "2022-05-23T07:52:41.000000Z",
"updated_at": "2022-05-23T07:52:41.000000Z"
},
"user_address": {
"id": 2,
"user_id": 2,
"line_1": null,
"line_2": null,
"city_id": null,
"province_id": null,
"postal_code": null,
"country_id": null,
"other_address_details": null,
"created_at": "2022-05-23T07:52:41.000000Z",
"updated_at": "2022-05-23T07:52:41.000000Z"
}
}
}
}Controller
\JSCustom\LaravelUserManagement\Http\Controllers\User\UserControllerURL
{{url}}/api/user/$idMethod
GETHeaders
{
"Authorization": "Bearer ...",
"Accept": "application/json"
}Response
{
"status": true,
"message": "User found.",
"payload": {
"user": {
"id": 2,
"username": "stevengrant",
"email": "[email protected]",
"status": 1,
"role_id": 1,
"email_verified_at": null,
"created_at": "2022-05-23T07:52:41.000000Z",
"updated_at": "2022-05-23T07:54:02.000000Z",
"user_role": {
"id": 1,
"role": "Developer",
"description": "Developer",
"created_at": "2022-05-23T15:52:12.000000Z",
"updated_at": "2022-05-23T15:52:12.000000Z"
},
"user_profile": {
"id": 2,
"user_id": 2,
"first_name": "Steven",
"last_name": "Grant",
"created_at": "2022-05-23T07:52:41.000000Z",
"updated_at": "2022-05-23T07:52:41.000000Z"
},
"user_address": {
"id": 2,
"user_id": 2,
"line_1": null,
"line_2": null,
"city_id": null,
"province_id": null,
"postal_code": null,
"country_id": null,
"other_address_details": null,
"created_at": "2022-05-23T07:52:41.000000Z",
"updated_at": "2022-05-23T07:52:41.000000Z"
}
}
}
}Controller
\JSCustom\LaravelUserManagement\Http\Controllers\User\UserControllerURL
{{url}}/api/user/listParameters
{
"page": 1,
"limit": 10,
"q": '<search_string>',
"order_by": '<column_name>',
"sort": "asc"
}Method
GETHeaders
{
"Authorization": "Bearer ...",
"Accept": "application/json"
}Response
{
"message": "Users found.",
"payload": {
"users": {
"current_page": 1,
"data": [
{
"id": 1,
"username": "developer",
"email": "[email protected]",
"created_at": "2022-05-23T15:52:12.000000Z",
"first_name": "Developer",
"last_name": "Developer",
"line_1": null,
"line_2": null,
"postal_code": null,
"other_address_details": null,
"role": "Developer"
},
{
"id": 3,
"username": "jakelockley",
"email": "[email protected]",
"created_at": "2022-05-23T07:55:58.000000Z",
"first_name": "Jake",
"last_name": "Lockley",
"line_1": null,
"line_2": null,
"postal_code": null,
"other_address_details": null,
"role": "Developer"
},
{
"id": 4,
"username": "marcspector",
"email": "[email protected]",
"created_at": "2022-05-23T07:56:15.000000Z",
"first_name": "Marc",
"last_name": "Spector",
"line_1": null,
"line_2": null,
"postal_code": null,
"other_address_details": null,
"role": "Developer"
},
{
"id": 2,
"username": "stevengrant",
"email": "[email protected]",
"created_at": "2022-05-23T07:52:41.000000Z",
"first_name": "Steven",
"last_name": "Grant",
"line_1": null,
"line_2": null,
"postal_code": null,
"other_address_details": null,
"role": "Developer"
}
],
"first_page_url": "http://127.0.0.1:8000/api/user/list?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://127.0.0.1:8000/api/user/list?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "http://127.0.0.1:8000/api/user/list?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"next_page_url": null,
"path": "http://127.0.0.1:8000/api/user/list",
"per_page": "10",
"prev_page_url": null,
"to": 4,
"total": 4
}
}
}Controller
\JSCustom\LaravelUserManagement\Http\Controllers\User\UserControllerURL
{{url}}/api/user/$idMethod
DELETEHeaders
{
"Authorization": "Bearer ...",
"Accept": "application/json"
}Response
{
"status": true,
"message": "User has been deleted."
}Features
- Create User Role
- Update User Role
- View User Role Details
- View User Role List
- Delete User Role
Models
JSCustom\LaravelUserManagement\Models\UserRoleController
\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleControllerURL
{{url}}/api/user-roleForm Data
{
"role": "Staff",
"description": "Have access to staff level functions"
}Method
POSTHeaders
{
"Authorization": "Bearer ...",
"Accept": "application/json"
}Response
{
"status": true,
"message": "User role been saved.",
"payload": {
"user_role": {
"role": "Staff",
"description": "Have access to administrator level functions",
"updated_at": "2022-05-23T08:01:10.000000Z",
"created_at": "2022-05-23T08:01:10.000000Z",
"id": 2
}
}
}Controller
\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleControllerURL
{{url}}/api/user-role/$idForm Data
{
"role": "Staff",
"description": "Have access to staff level functions"
}Method
POSTHeaders
{
"Authorization": "Bearer ...",
"Accept": "application/json"
}Response
{
"status": true,
"message": "User role been saved.",
"payload": {
"user_role": {
"id": 2,
"role": "Staff",
"description": "Have access to staff level functions",
"created_at": "2022-05-23T08:01:10.000000Z",
"updated_at": "2022-05-23T08:02:27.000000Z"
}
}
}Controller
\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleControllerURL
{{url}}/api/user-role/$idMethod
GETHeaders
{
"Authorization": "Bearer ...",
"Accept": "application/json"
}Response
{
"status": true,
"message": "User role found.",
"payload": {
"user_role": {
"id": 2,
"role": "Staff",
"description": "Have access to staff level functions",
"created_at": "2022-05-23T08:01:10.000000Z",
"updated_at": "2022-05-23T08:02:27.000000Z"
}
}
}Controller
\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleControllerURL
{{url}}/api/user-role/listParameters
{
"page": 1,
"limit": 10,
"q": '<search_string>',
"order_by": '<column_name>',
"sort": "asc"
}Method
GETHeaders
{
"Authorization": "Bearer ...",
"Accept": "application/json"
}Response
{
"message": "User roles found.",
"payload": {
"user_roles": {
"current_page": 1,
"data": [
{
"id": 1,
"role": "Developer",
"description": "Developer",
"created_at": "2022-05-23T15:52:12.000000Z",
"updated_at": "2022-05-23T15:52:12.000000Z"
},
{
"id": 2,
"role": "Staff",
"description": "Have access to staff level functions",
"created_at": "2022-05-23T08:01:10.000000Z",
"updated_at": "2022-05-23T08:02:27.000000Z"
}
],
"first_page_url": "http://127.0.0.1:8000/api/user-role/list?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://127.0.0.1:8000/api/user-role/list?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "http://127.0.0.1:8000/api/user-role/list?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"next_page_url": null,
"path": "http://127.0.0.1:8000/api/user-role/list",
"per_page": "10",
"prev_page_url": null,
"to": 2,
"total": 2
}
}
}Controller
\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleControllerURL
{{url}}/api/user-role/$idMethod
DELETEHeaders
{
"Authorization": "Bearer ...",
"Accept": "application/json"
}Response
{
"status": true,
"message": "User role has been deleted."
}For support, email [email protected].