57 lines
3.1 KiB
PHP
57 lines
3.1 KiB
PHP
<?php
|
||
|
||
namespace Database\Seeders;
|
||
|
||
use App\Models\MembershipPlan;
|
||
use App\Models\PermissionSetting;
|
||
use App\Models\User;
|
||
use Illuminate\Database\Seeder;
|
||
use Illuminate\Support\Facades\Hash;
|
||
|
||
class DatabaseSeeder extends Seeder
|
||
{
|
||
public function run(): void
|
||
{
|
||
// Admin kullanıcısı
|
||
User::updateOrCreate(
|
||
['email' => 'admin@animexe.com'],
|
||
[
|
||
'name' => 'Admin',
|
||
'password' => Hash::make('admin123'),
|
||
'role' => 'admin',
|
||
]
|
||
);
|
||
|
||
// Global izin ayarları
|
||
$permissions = [
|
||
['key' => 'can_watch', 'label' => 'Video İzleme', 'required_membership' => 'free', 'description' => 'Bölümleri izleyebilme'],
|
||
['key' => 'can_comment', 'label' => 'Yorum Yapma', 'required_membership' => 'free', 'description' => 'Anime ve bölümlere yorum yapabilme'],
|
||
['key' => 'can_rate', 'label' => 'Puanlama', 'required_membership' => 'free', 'description' => 'Anime puanlayabilme'],
|
||
['key' => 'can_watchlist', 'label' => 'İzleme Listesi', 'required_membership' => 'free', 'description' => 'İzleme listesine ekleyebilme'],
|
||
['key' => 'watch_hd', 'label' => '1080p İzleme', 'required_membership' => 'premium', 'description' => 'HD kalitede izleyebilme'],
|
||
['key' => 'watch_4k', 'label' => '4K İzleme', 'required_membership' => 'premium', 'description' => '4K kalitede izleyebilme'],
|
||
['key' => 'no_ads', 'label' => 'Reklamsız İzleme', 'required_membership' => 'premium', 'description' => 'Reklam gösterilmez'],
|
||
['key' => 'early_access', 'label' => 'Erken Erişim', 'required_membership' => 'premium', 'description' => 'Yeni bölümlere erken erişim'],
|
||
['key' => 'download', 'label' => 'İndirme', 'required_membership' => 'premium', 'description' => 'Bölümleri indirebilme'],
|
||
];
|
||
|
||
foreach ($permissions as $perm) {
|
||
PermissionSetting::updateOrCreate(['key' => $perm['key']], $perm);
|
||
}
|
||
|
||
// Üyelik planları
|
||
$plans = [
|
||
['name' => 'Aylık Premium', 'slug' => 'aylik-premium', 'price' => 49.99, 'duration_days' => 30,
|
||
'features' => ['Reklamsız izleme', '1080p HD', 'Sınırsız bölüm', 'Erken erişim'], 'is_active' => true, 'sort_order' => 1],
|
||
['name' => '3 Aylık Premium', 'slug' => '3-aylik-premium', 'price' => 129.99, 'duration_days' => 90,
|
||
'features' => ['Reklamsız izleme', '1080p HD', '4K kalite', 'Erken erişim', 'İndirme'], 'is_active' => true, 'sort_order' => 2],
|
||
['name' => 'Yıllık Premium', 'slug' => 'yillik-premium', 'price' => 399.99, 'duration_days' => 365,
|
||
'features' => ['Reklamsız izleme', '1080p HD', '4K kalite', 'Erken erişim', 'İndirme', 'Öncelikli destek'], 'is_active' => true, 'sort_order' => 3],
|
||
];
|
||
|
||
foreach ($plans as $plan) {
|
||
MembershipPlan::updateOrCreate(['slug' => $plan['slug']], $plan);
|
||
}
|
||
}
|
||
}
|