Finish Roles API and Seeder
This commit is contained in:
commit
04917a495e
|
@ -52,7 +52,7 @@ class RoleController extends Controller
|
|||
public function store(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'name' => 'nullable|string|max:191',
|
||||
'name' => 'required|string|max:191',
|
||||
'color' => [
|
||||
'required',
|
||||
'regex:/^#([a-f0-9]{6}|[a-f0-9]{3})$/i'
|
||||
|
@ -67,7 +67,10 @@ class RoleController extends Controller
|
|||
]);
|
||||
|
||||
if ($request->permissions) {
|
||||
$role->givePermissionTo($request->permissions);
|
||||
$permissions = explode(",",$request->permissions);
|
||||
foreach($permissions as $permission){
|
||||
$role->givePermissionTo($permission);
|
||||
}
|
||||
}
|
||||
|
||||
return $role;
|
||||
|
@ -111,20 +114,22 @@ class RoleController extends Controller
|
|||
$role = Role::findOrFail($id);
|
||||
|
||||
$request->validate([
|
||||
'name' => 'nullable|string|max:191',
|
||||
'name' => 'sometimes|string|max:191',
|
||||
'color' => [
|
||||
'required',
|
||||
'sometimes',
|
||||
'regex:/^#([a-f0-9]{6}|[a-f0-9]{3})$/i'
|
||||
],
|
||||
'power' => 'required',
|
||||
'power' => 'sometimes',
|
||||
]);
|
||||
|
||||
if ($request->permissions) {
|
||||
$role->givePermissionTo($request->permissions);
|
||||
$permissions = explode(",",$request->permissions);
|
||||
$role->syncPermissions($permissions);
|
||||
}
|
||||
|
||||
$role->update($request->all());
|
||||
//TODO PERMISSIONS?
|
||||
|
||||
$role->update($request->except('permissions'));
|
||||
|
||||
return $role;
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,10 @@ class UserController extends Controller
|
|||
'pterodactyl_error_status' => $response->toException()->getCode(),
|
||||
]);
|
||||
}
|
||||
$user->update($request->all());
|
||||
if($request->has("role")){
|
||||
$user->syncRoles($request->role);
|
||||
}
|
||||
$user->update($request->except('role'));
|
||||
|
||||
return $user;
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
|
@ -16,6 +17,11 @@ return new class extends Migration
|
|||
Schema::table('roles', function (Blueprint $table) {
|
||||
$table->integer('power')->after("color")->default(50);
|
||||
});
|
||||
|
||||
Artisan::call('db:seed', [
|
||||
'--class' => 'PermissionsSeeder',
|
||||
'--force' => true
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
|
||||
use App\Http\Controllers\Api\NotificationController;
|
||||
use App\Http\Controllers\Api\RoleController;
|
||||
use App\Http\Controllers\Api\ServerController;
|
||||
use App\Http\Controllers\Api\UserController;
|
||||
use App\Http\Controllers\Api\VoucherController;
|
||||
|
@ -31,6 +32,8 @@ Route::middleware('api.token')->group(function () {
|
|||
// Route::get('/vouchers/{voucher}/users' , [VoucherController::class , 'users']);
|
||||
Route::resource('vouchers', VoucherController::class)->except('create', 'edit');
|
||||
|
||||
Route::resource('roles', RoleController::class);
|
||||
|
||||
Route::get('/notifications/{user}', [NotificationController::class, 'index']);
|
||||
Route::get('/notifications/{user}/{notification}', [NotificationController::class, 'view']);
|
||||
Route::post('/notifications', [NotificationController::class, 'send']);
|
||||
|
|
Loading…
Reference in a new issue