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