feat(wallets): implement wallet and transaction management with associated models, policies, and resources

This commit is contained in:
2026-06-07 00:18:32 +03:30
parent c2319a55cb
commit d1d42b38d1
23 changed files with 790 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ namespace Database\Seeders;
use App\Models\Permission;
use App\Models\Role;
use App\Models\User;
use App\Services\WalletService;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
@@ -24,6 +25,7 @@ class DatabaseSeeder extends Seeder
['name' => 'مدیریت کاربران', 'slug' => 'users.manage'],
['name' => 'مدیریت نقش‌ها', 'slug' => 'roles.manage'],
['name' => 'مدیریت دسترسی‌ها', 'slug' => 'permissions.manage'],
['name' => 'مدیریت کیف پول', 'slug' => 'wallets.manage'],
])->map(fn (array $permission) => Permission::query()->updateOrCreate(
['slug' => $permission['slug']],
['name' => $permission['name']],
@@ -47,5 +49,7 @@ class DatabaseSeeder extends Seeder
);
$user->roles()->sync([$adminRole->id]);
User::query()->each(fn (User $user) => app(WalletService::class)->createForUser($user));
}
}