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
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Models\Analytics;
use Illuminate\Database\Eloquent\Model;
use App\Models\User;
class AiQuery extends Model
{
public $timestamps = false;
protected $table = 'analytics_ai_queries';
protected $fillable = [
'user_id', 'query_type', 'query_text', 'created_at',
];
protected $casts = [
'created_at' => 'datetime',
];
public function user() { return $this->belongsTo(User::class); }
}
+18
View File
@@ -0,0 +1,18 @@
<?php
namespace App\Models\Analytics;
use Illuminate\Database\Eloquent\Model;
class BotLog extends Model
{
protected $table = 'analytics_bot_logs';
public $timestamps = false;
protected $fillable = [
'ip', 'user_agent', 'path', 'method', 'action', 'bot_name', 'created_at',
];
protected $casts = ['created_at' => 'datetime'];
}
+28
View File
@@ -0,0 +1,28 @@
<?php
namespace App\Models\Analytics;
use Illuminate\Database\Eloquent\Model;
use App\Models\User;
use App\Models\Anime;
class PageView extends Model
{
public $timestamps = false;
protected $table = 'analytics_pageviews';
protected $fillable = [
'user_id', 'session_id', 'url', 'page_type',
'anime_id', 'episode_id', 'ip', 'country', 'city',
'device', 'browser', 'referrer', 'is_bot', 'user_agent',
'time_on_page', 'created_at',
];
protected $casts = [
'created_at' => 'datetime',
];
public function user() { return $this->belongsTo(User::class); }
public function anime() { return $this->belongsTo(Anime::class); }
}
+28
View File
@@ -0,0 +1,28 @@
<?php
namespace App\Models\Analytics;
use Illuminate\Database\Eloquent\Model;
use App\Models\User;
class VisitorSession extends Model
{
protected $table = 'analytics_sessions';
public $timestamps = false;
protected $fillable = [
'session_id', 'user_id', 'ip', 'country', 'city',
'device', 'browser', 'referrer', 'landing_page',
'pages_visited', 'total_seconds', 'is_bot', 'bot_type',
'user_agent', 'started_at', 'last_seen_at',
];
protected $casts = [
'is_bot' => 'boolean',
'started_at' => 'datetime',
'last_seen_at'=> 'datetime',
];
public function user() { return $this->belongsTo(User::class); }
}
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Models\Analytics;
use Illuminate\Database\Eloquent\Model;
use App\Models\User;
use App\Models\Anime;
use App\Models\Episode;
class WatchEvent extends Model
{
public $timestamps = false;
protected $table = 'analytics_watch_events';
protected $fillable = [
'user_id', 'session_id', 'anime_id', 'episode_id',
'season_number', 'episode_number',
'seconds_watched', 'total_seconds', 'percent_complete',
'created_at',
];
protected $casts = [
'created_at' => 'datetime',
];
public function user() { return $this->belongsTo(User::class); }
public function anime() { return $this->belongsTo(Anime::class); }
public function episode() { return $this->belongsTo(Episode::class); }
}