mlab817 / lighthouse-graphql-permission
此包已被弃用且不再维护。未建议替代包。
为 spatie/laravel-permission 添加 GraphQL 类型和方法
1.16.0
2020-12-20 13:00 UTC
Requires
- php: ^7.3|^8.0
- nuwave/lighthouse: ^4.18
- spatie/laravel-permission: ^3.18
Requires (Dev)
- orchestra/testbench: ^6.6
- phpunit/phpunit: ^9.0
README
一个 composer 包,用于向 spatie/laravel-permission 添加 GraphQL 类型。
安装
要安装此包,请在项目目录中运行以下命令
composer require mlab817/lighthouse-graphql-permission
该命令还将安装包的依赖项: spatie/laravel-permission
和 nuwave/lighthouse
。
设置
- 按照常规设置 spatie/laravel-permission。在
config/app.php
文件中添加Spatie Permission Service Provider
。也在您的用户模型中添加HasRoles
特性。不要忘记发布和运行迁移。如果您需要修改包的配置,也可以通过发布包的配置文件来这样做。 - 在
config/app.php
文件中添加\Mlab817\LighthouseGraphQLPermission\Providers\LighthouseGraphQLPermissionServiceProvider::class
。这将把包的服务提供者添加到您的应用中。然后,通过运行php artisan vendor:publish
并选择相关选项,发布包的config
和schema
文件。 - 现在您可以使用此包了。
模式
type Permission { id: ID name: String guard_name: String } type Role { id: ID name: String guard_name: String } input CreateRoleInput { name: String! } input CreatePermissionInput { name: String! } input GivePermissionToUserInput { user_id: ID! permission: String! } input AssignRoleInput { user_id: ID! role: String! } input GivePermissionToRoleInput { user_id: ID! permission: String! } input RevokePermissionToUserInput { user_id: ID! permission: String! } input RevokePermissionToRoleInput { role: String! permission: String! } type Mutation { createRole(input: CreateRoleInput!): Role! createPermission(input: CreatePermissionInput!): Permission! givePermissionToUser(input: GivePermissionToUserInput!): String assignRole(input: AssignRoleInput!): User! givePermissionToRole(input: GivePermissionToRoleInput!): String revokePermissionToUser(input: RevokePermissionToUserInput!): String revokePermissionToRole(input: RevokePermissionToRoleInput!): String }