Initial commit: Animexe Laravel platform

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 00:01:48 +03:00
co-authored by Claude Opus 4.8
commit a63515cfc6
366 changed files with 74773 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
<?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);
}
}
}