Skip to content

Commit 7a66bfa

Browse files
committed
update admin
1 parent 95ff397 commit 7a66bfa

File tree

13 files changed

+166
-275
lines changed

13 files changed

+166
-275
lines changed

database/migrations/0001_01_01_000000_create_users_table.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ public function up(): void
1616
Schema::create('roles', function (Blueprint $table): void {
1717
$table->id();
1818
$table->string('name');
19+
$table->string('slug')->unique();
20+
$table->text('description')->nullable();
1921
$table->bigInteger('created_at')->useCurrent();
2022
$table->bigInteger('updated_at')->useCurrent();
2123
});

database/seeders/AdminSeeder.php

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace Database\Seeders;
4+
5+
use Illuminate\Database\Seeder;
6+
use Illuminate\Support\Facades\DB;
7+
use Illuminate\Support\Facades\Hash;
8+
use Modules\V1\User\Models\Admin;
9+
use Shared\Enums\StatusEnum;
10+
use Shared\Helpers\DateTimeHelper;
11+
12+
class AdminSeeder extends Seeder
13+
{
14+
/**
15+
* Run the database seeds.
16+
*/
17+
public function run(): void
18+
{
19+
DB::transaction(function () {
20+
$timestamp = DateTimeHelper::timestamp();
21+
22+
Admin::firstOrCreate([
23+
'first_name' => 'Super',
24+
'last_name' => 'Admin',
25+
'email' => 'admin@gmail.com',
26+
'password' => Hash::make('password'),
27+
'email_verified_at' => now(),
28+
'status' => StatusEnum::ACTIVE,
29+
'super_admin' => true,
30+
'created_at' => $timestamp,
31+
'updated_at' => $timestamp,
32+
]);
33+
});
34+
}
35+
}

database/seeders/DatabaseSeeder.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<?php
2+
23
declare(strict_types=1);
34

45
namespace Database\Seeders;

database/seeders/PermissionSeeder.php

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
3+
namespace Database\Seeders;
4+
5+
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
6+
use Illuminate\Database\Seeder;
7+
use Illuminate\Support\Str;
8+
use Modules\V1\User\Models\Permission;
9+
10+
class PermissionSeeder extends Seeder
11+
{
12+
/**
13+
* Run the database seeds.
14+
*/
15+
public function run(): void
16+
{
17+
// Define permission groups
18+
$permissions = [
19+
'user_management' => [
20+
'view users',
21+
'create users',
22+
'edit users',
23+
'delete users',
24+
],
25+
'role_management' => [
26+
'view roles',
27+
'create roles',
28+
'edit roles',
29+
'delete roles',
30+
],
31+
'permission_management' => [
32+
'view permissions',
33+
'assign permissions',
34+
],
35+
'creator_management' => [
36+
'view creators',
37+
'approve creators',
38+
'suspend creators',
39+
],
40+
'content_management' => [
41+
'view content',
42+
'approve content',
43+
'delete content',
44+
],
45+
];
46+
47+
// Seed permissions
48+
foreach ($permissions as $group => $perms) {
49+
foreach ($perms as $perm) {
50+
Permission::firstOrCreate([
51+
'name' => $perm,
52+
'slug' => Str::slug($perm),
53+
]);
54+
}
55+
}
56+
}
57+
}

database/seeders/RoleSeeder.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Database\Seeders;
66

77
use Illuminate\Database\Seeder;
8+
use Illuminate\Support\Str;
89
use Modules\V1\User\Enums\RoleEnum;
910
use Modules\V1\User\Models\Role;
1011

@@ -17,7 +18,7 @@ public function run(): void
1718
{
1819
$roles = RoleEnum::names();
1920
foreach ($roles as $role) {
20-
Role::firstOrCreate(['name' => $role]);
21+
Role::firstOrCreate(['name' => $role, 'slug' => Str::slug($role)]);
2122
}
2223
}
2324
}

routes/v1/admin/api.php

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
<?php
22

33
use Illuminate\Support\Facades\Route;
4+
use Modules\V1\Admin\Controllers\AdminController;
45
use Modules\V1\Admin\Controllers\Auth\LogoutController;
5-
use Modules\V1\Admin\Controllers\ReferralController;
6-
use Modules\V1\Admin\Controllers\StatsController;
7-
use Modules\V1\User\Controllers\UserController;
86

9-
Route::put('/me', [UserController::class, 'show']);
10-
Route::put('/update', [UserController::class, 'update']);
11-
Route::put('/change-password', [UserController::class, 'changePassword']);
12-
Route::get('/referrals', [ReferralController::class, 'leaderboard'])->name('leaderboard');
13-
Route::get('/stats', [StatsController::class, 'stats'])->name('stats');
7+
Route::put('/me', [AdminController::class, 'show']);
8+
Route::put('/update', [AdminController::class, 'update']);
9+
Route::put('/change-password', [AdminController::class, 'changePassword']);
1410
Route::post('/auth/logout', LogoutController::class)->name('logout');
1511

1612
/**

routes/v1/admin/auth.php

Lines changed: 0 additions & 19 deletions
This file was deleted.

routes/v1/auth.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
declare(strict_types=1);
44

55
use Illuminate\Support\Facades\Route;
6+
use Modules\V1\Admin\Controllers\Auth\LoginController;
67
use Modules\V1\Auth\Controllers\AuthenticatedSessionController;
78
use Modules\V1\Auth\Controllers\EmailVerificationNotificationController;
89
use Modules\V1\Auth\Controllers\NewPasswordController;
@@ -42,3 +43,9 @@
4243

4344
Route::post('/refresh-token', [AuthenticatedSessionController::class, 'refreshToken']);
4445
});
46+
47+
Route::prefix('admin/auth')->group(function (): void {
48+
Route::post('login', LoginController::class)
49+
->middleware('guest')
50+
->name('login');
51+
});

src/modules/V1/Admin/Controllers/ReferralController.php

Lines changed: 0 additions & 98 deletions
This file was deleted.

src/modules/V1/Admin/Controllers/StatsController.php

Lines changed: 0 additions & 103 deletions
This file was deleted.

0 commit comments

Comments
 (0)