jscustom/laravel-user-management 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jscustom/laravel-user-management

Composer 安装命令:

composer require jscustom/laravel-user-management

包简介

Laravel package for user management. Includes user, user profile and user role.

README 文档

README

Laravel package for user management. Includes user, user profile and user role.

Table of Contents

Getting Started
Compatible Packages
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

Getting Started

Below are the steps in order to integrate user management API to your Laravel project.

Compatible Packages

This package works well with Laravel Sanctum.

Installation

Install the package using composer:

composer require jscustom/laravel-user-management

Export 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-management

How To Use

Download Postman API

Download the Postman API Collection here.

User Management

Features

  • Create User
  • Update User
  • View User Details
  • View UserList
  • Delete User

Models

JSCustom\LaravelUserManagement\Models\User
JSCustom\LaravelUserManagement\Models\UserAddress
JSCustom\LaravelUserManagement\Models\UserProfile

Create User API

Controller

\JSCustom\LaravelUserManagement\Http\Controllers\User\UserController

URL

{{url}}/api/user

Form Data

{
  "username": "stevengrant",
  "email": "stevengrant@mail.com",
  "status": 1,
  "role_id": 1,
  "first_name": "Steven",
  "last_name": "Grant",
}

Method

POST

Headers
(Note: Authorization is not required if sanctum > enabled = false in config/user.php)

{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}

Response

{
  "status": true,
  "message": "User has been saved.",
  "payload": {
    "user": {
      "username": "stevengrant",
      "email": "stevengrant@mail.com",
      "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"
      }
    }
  }
}

Update User API

Controller

\JSCustom\LaravelUserManagement\Http\Controllers\User\UserController

URL

{{url}}/api/user/$id

Form Data

{
  "username": "stevengrant",
  "email": "stevengrant@mail.com",
  "status": 1,
  "role_id": 1,
  "first_name": "Steven",
  "last_name": "Grant"
}

Method

POST

Headers
(Note: Authorization is not required if sanctum > enabled = false in config/user.php)

{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}

Response

{
  "status": true,
  "message": "User has been saved.",
  "payload": {
    "user": {
      "id": 2,
      "username": "stevengrant",
      "email": "stevengrant@mail.com",
      "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"
      }
    }
  }
}

View User API

Controller

\JSCustom\LaravelUserManagement\Http\Controllers\User\UserController

URL

{{url}}/api/user/$id

Method

GET

Headers
(Note: Authorization is not required if sanctum > enabled = false in config/user.php)

{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}

Response

{
  "status": true,
  "message": "User found.",
  "payload": {
    "user": {
      "id": 2,
      "username": "stevengrant",
      "email": "stevengrant@mail.com",
      "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"
      }
    }
  }
}

User List API

Controller

\JSCustom\LaravelUserManagement\Http\Controllers\User\UserController

URL

{{url}}/api/user/list

Parameters

{
  "page": 1,
  "limit": 10,
  "q": '<search_string>',
  "order_column": '<column_name>',
  "order_direction": "asc",
  "created_from": "2022-01-01",
  "created_to": "2022-05-31"
}

Method

GET

Headers
(Note: Authorization is not required if sanctum > enabled = false in config/user.php)

{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}

Response

{
  "message": "Users found.",
  "payload": {
    "users": {
      "current_page": 1,
      "data": [
        {
          "id": 1,
          "username": "developer",
          "email": "developer@mail.com",
          "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": "jakelockley@mail.com",
          "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": "marcspector@mail.com",
          "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": "stevengrant@mail.com",
          "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": "&laquo; Previous",
          "active": false
        },
        {
          "url": "http://127.0.0.1:8000/api/user/list?page=1",
          "label": "1",
          "active": true
        },
        {
          "url": null,
          "label": "Next &raquo;",
          "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
    }
  }
}

Delete User API

Controller

\JSCustom\LaravelUserManagement\Http\Controllers\User\UserController

URL

{{url}}/api/user/$id

Method

DELETE

Headers
(Note: Authorization is not required if sanctum > enabled = false in config/user.php)

{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}

Response

{
  "status": true,
  "message": "User has been deleted."
}

User Role Management

Features

  • Create User Role
  • Update User Role
  • View User Role Details
  • View User Role List
  • Delete User Role

Models

JSCustom\LaravelUserManagement\Models\UserRole

Create User Role API

Controller

\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleController

URL

{{url}}/api/user-role

Form Data

{
  "role": "Staff",
  "description": "Have access to staff level functions"
}

Method

POST

Headers
(Note: Authorization is not required if sanctum > enabled = false in config/user.php)

{
  "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
    }
  }
}

Update User Role API

Controller

\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleController

URL

{{url}}/api/user-role/$id

Form Data

{
  "role": "Staff",
  "description": "Have access to staff level functions"
}

Method

POST

Headers
(Note: Authorization is not required if sanctum > enabled = false in config/user.php)

{
  "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"
    }
  }
}

View User Role API

Controller

\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleController

URL

{{url}}/api/user-role/$id

Method

GET

Headers
(Note: Authorization is not required if sanctum > enabled = false in config/user.php)

{
  "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"
    }
  }
}

User Role List API

Controller

\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleController

URL

{{url}}/api/user-role/list

Parameters

{
  "page": 1,
  "limit": 10,
  "q": '<search_string>',
  "order_column": '<column_name>',
  "order_direction": "asc",
  "created_from": "2022-01-01",
  "created_to": "2022-05-31"
}

Method

GET

Headers
(Note: Authorization is not required if sanctum > enabled = false in config/user.php)

{
  "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": "&laquo; Previous",
          "active": false
        },
        {
          "url": "http://127.0.0.1:8000/api/user-role/list?page=1",
          "label": "1",
          "active": true
        },
        {
          "url": null,
          "label": "Next &raquo;",
          "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
    }
  }
}

Delete User Role API

Controller

\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleController

URL

{{url}}/api/user-role/$id

Method

DELETE

Headers
(Note: Authorization is not required if sanctum > enabled = false in config/user.php)

{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}

Response

{
  "status": true,
  "message": "User role has been deleted."
}

Support

For support, email developer.jeddsaliba@gmail.com.

统计信息

  • 总下载量: 25
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-05-20

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固