Initial commit

This commit is contained in:
root
2026-05-09 17:28:23 +02:00
commit 9d73f82529
5575 changed files with 281989 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
<?php
namespace App\Models\User;
use App\Models\Concerns\BelongsToUser;
use App\Models\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity;
/**
* @method static \Illuminate\Database\Eloquent\Builder<static>|Ban where($column, $operator = null, $value = null)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Ban orderByDesc($column)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Ban whereIn($column, $values, $boolean = 'and', $not = false)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Ban first($columns = ['*'])
* @method static \Illuminate\Database\Eloquent\Builder<static>|Ban exists()
*/
class Ban extends Model
{
use BelongsToUser;
use LogsActivity;
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'ban_expire', 'type', 'reason'];
#[\Override]
public $timestamps = false;
public function staff(): BelongsTo
{
return $this->belongsTo(User::class, 'user_staff_id');
}
public function getActivitylogOptions(): LogOptions
{
return LogOptions::defaults()
->logOnly(['user_id', 'ip', 'ban_expire', 'ban_reason', 'type']);
}
}
+16
View File
@@ -0,0 +1,16 @@
<?php
declare(strict_types=1);
namespace App\Models\User;
use App\Models\Concerns\BelongsToUser;
use Illuminate\Database\Eloquent\Model;
class ClaimedReferralLog extends Model
{
use BelongsToUser;
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'referral_id'];
}
+13
View File
@@ -0,0 +1,13 @@
<?php
declare(strict_types=1);
namespace App\Models\User;
use Illuminate\Database\Eloquent\Model;
class Referral extends Model
{
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'referrer_id'];
}
+37
View File
@@ -0,0 +1,37 @@
<?php
namespace App\Models\User;
use App\Models\Concerns\BelongsToUser;
use App\Models\ItemDefinition;
use App\Models\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* @property int $id
* @property int $user_id
* @property int $item_id
* @property int $room_id
* @property string $extra_data
* @property-read User|null $user
* @property-read ItemDefinition|null $itemDefinition
*/
class UserItem extends Model
{
use BelongsToUser;
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'item_id'];
#[\Override]
public $timestamps = false;
#[\Override]
protected $table = 'user_items';
public function itemDefinition(): BelongsTo
{
return $this->belongsTo(ItemDefinition::class, 'item_id');
}
}
+33
View File
@@ -0,0 +1,33 @@
<?php
declare(strict_types=1);
namespace App\Models\User;
use App\Models\Concerns\BelongsToUser;
use Illuminate\Database\Eloquent\Model;
/**
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserNotification create($attributes = [])
*/
class UserNotification extends Model
{
use BelongsToUser;
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'type'];
#[\Override]
public $timestamps = true;
/** @var array<string, string> */
#[\Override]
protected $casts = [
'read' => 'boolean',
];
public static function insert(array $data): void
{
self::create($data);
}
}
+49
View File
@@ -0,0 +1,49 @@
<?php
namespace App\Models\User;
use App\Models\Concerns\BelongsToUser;
use Illuminate\Database\Eloquent\Model;
/**
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserOrder latest($column = 'created_at')
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserOrder pending()
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserOrder cancelled()
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserOrder completed()
*/
class UserOrder extends Model
{
use BelongsToUser;
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'status', 'amount'];
#[\Override]
public $timestamps = true;
public const STATUS_PENDING = 'pending';
public const STATUS_COMPLETED = 'completed';
public const STATUS_CANCELLED = 'cancelled';
public function scopePending($query)
{
return $query->where('status', self::STATUS_PENDING);
}
public function scopeCompleted($query)
{
return $query->where('status', self::STATUS_COMPLETED);
}
public function scopeCancelled($query)
{
return $query->where('status', self::STATUS_CANCELLED);
}
public function scopeLatest($query)
{
return $query->orderBy('created_at', 'desc');
}
}
+26
View File
@@ -0,0 +1,26 @@
<?php
declare(strict_types=1);
namespace App\Models\User;
use App\Models\Concerns\BelongsToUser;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* @property int $id
* @property int $user_id
* @property int $referrals_total
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property-read User|null $user
*/
class UserReferral extends Model
{
use BelongsToUser;
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'referral_code'];
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Models\User;
use App\Models\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class WebsiteUserGuestbook extends Model
{
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'profile_id'];
public function profile(): BelongsTo
{
return $this->belongsTo(User::class, 'profile_id');
}
public function user(): BelongsTo
{
return $this->belongsTo(User::class, 'user_id');
}
}