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
+39
View File
@@ -0,0 +1,39 @@
<?php
namespace App\Models\Game\Furniture;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* @property int $id
* @property string $item_ids
* @property int $page_id
* @property string $catalog_name
* @property int $cost_credits
* @property int $cost_pixels
* @property int $cost_diamonds
* @property int $amount
* @property int $limited_stack
* @property int $limited_sells
* @property int $order_number
* @property string $badge
* @property-read ItemBase|null $itemBase
*
* @method static \Illuminate\Database\Eloquent\Builder<static>|CatalogItem whereKey($id)
* @method static \Illuminate\Database\Eloquent\Builder<static>|CatalogItem where($column, $operator = null, $value = null)
* @method static \Illuminate\Database\Eloquent\Builder<static>|CatalogItem whereIn($column, $values, $boolean = 'and', $not = false)
*/
class CatalogItem extends Model
{
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'page_id', 'item_ids', 'cost_credits', 'cost_duckets', 'cost_diamonds'];
#[\Override]
public $timestamps = false;
public function itemBase(): BelongsTo
{
return $this->belongsTo(ItemBase::class, 'item_ids', 'id');
}
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Models\Game\Furniture;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
/**
* @method static \Illuminate\Database\Eloquent\Builder<static>|CatalogPage find($id, $columns = ['*'])
* @method static \Illuminate\Database\Eloquent\Builder<static>|CatalogPage pluck($column, $key = null)
* @method static \Illuminate\Database\Eloquent\Builder<static>|CatalogPage whereKey($id)
*/
class CatalogPage extends Model
{
#[\Override]
protected $guarded = ['id', 'parent_id'];
#[\Override]
public $timestamps = false;
public function catalogItems(): HasMany
{
return $this->hasMany(CatalogItem::class, 'page_id');
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace App\Models\Game\Furniture;
use App\Models\Concerns\BelongsToUser;
use Illuminate\Database\Eloquent\Model;
class Item extends Model
{
use BelongsToUser;
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'item_id', 'room_id'];
#[\Override]
public $timestamps = false;
}
+56
View File
@@ -0,0 +1,56 @@
<?php
namespace App\Models\Game\Furniture;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
/**
* @property int $id
* @property string $item_name
* @property string $public_name
* @property int $width
* @property int $length
* @property float $stack_height
* @property bool $allow_stack
* @property bool $allow_sit
* @property bool $allow_lay
* @property bool $allow_walk
* @property string $sprite_id
* @property bool $allow_recycle
* @property bool $allow_trade
* @property bool $allow_marketplace_sell
* @property bool $allow_gift
* @property bool $allow_inventory_stack
* @property string $interaction_type
* @property int $vending_ids
* @property int $is_ambience
* @property bool $no_effect
* @property int $effect_id
* @property-read Collection<int, CatalogItem> $catalogItems
*
* @method static \Illuminate\Database\Eloquent\Builder<static>|ItemBase whereIn($column, $values, $boolean = 'and', $not = false)
* @method static \Illuminate\Database\Eloquent\Builder<static>|ItemBase get($columns = ['*'])
*/
class ItemBase extends Model
{
#[\Override]
protected $table = 'items_base';
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'sprite_id', 'public_name'];
#[\Override]
public $timestamps = false;
public function icon(): string
{
return sprintf('%s/%s_icon.png', setting('furniture_icons_path'), $this->item_name);
}
public function catalogItems(): HasMany
{
return $this->hasMany(CatalogItem::class, 'item_ids', 'id');
}
}
+20
View File
@@ -0,0 +1,20 @@
<?php
namespace App\Models\Game\Guild;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Guild extends Model
{
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'owner_id', 'name', 'badge'];
#[\Override]
public $timestamps = false;
public function members(): HasMany
{
return $this->hasMany(GuildMember::class);
}
}
+29
View File
@@ -0,0 +1,29 @@
<?php
namespace App\Models\Game\Guild;
use App\Models\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class GuildMember extends Model
{
#[\Override]
protected $table = 'guilds_members';
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'guild_id'];
#[\Override]
public $timestamps = false;
public function guild(): BelongsTo
{
return $this->belongsTo(Guild::class, 'guild_id');
}
public function user(): BelongsTo
{
return $this->belongsTo(User::class, 'user_id');
}
}
+57
View File
@@ -0,0 +1,57 @@
<?php
namespace App\Models\Game;
use App\Models\Compositions\HasBadge;
use App\Models\StaffApplication;
use App\Models\User;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
/**
* @property int $id
* @property string $rank_name
* @property string $badge
* @property-read Collection<int, User> $users
* @property-read Collection<int, PermissionRole> $roles
* @property-read Collection<int, StaffApplication> $staffApplications
*
* @method static \Illuminate\Database\Eloquent\Builder<static>|Permission where($column, $operator = null, $value = null)
*/
class Permission extends Model implements HasBadge
{
#[\Override]
protected $table = 'permissions';
#[\Override]
public $timestamps = false;
#[\Override]
protected $guarded = ['id', 'rank_name'];
public function users(): HasMany
{
return $this->hasMany(User::class, 'rank', 'id');
}
public function roles(): HasMany
{
return $this->hasMany(PermissionRole::class);
}
public function staffApplications(): HasMany
{
return $this->hasMany(StaffApplication::class, 'rank_id');
}
public function getBadgePath(): string
{
return sprintf('%s%s.gif', setting('badges_path'), $this->getBadgeName());
}
public function getBadgeName(): string
{
return $this->badge;
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Models\Game;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class PermissionRole extends Model
{
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'role', 'permission'];
#[\Override]
public $timestamps = false;
#[\Override]
protected $table = 'permission_roles';
public function permissions(): BelongsToMany
{
return $this->belongsToMany(Permission::class, 'role_permissions');
}
}
+26
View File
@@ -0,0 +1,26 @@
<?php
namespace App\Models\Game\Player;
use App\Models\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* @method static \Illuminate\Database\Eloquent\Builder<static>|MessengerFriendship select($columns = ['*'])
* @method static \Illuminate\Database\Eloquent\Builder<static>|MessengerFriendship where($column, $operator = null, $value = null)
* @method static \Illuminate\Database\Eloquent\Builder<static>|MessengerFriendship whereHas($relation, \Closure $callback = null, $operator = '>=', $count = 1)
* @method static \Illuminate\Database\Eloquent\Builder<static>|MessengerFriendship inRandomOrder($seed = '')
*/
class MessengerFriendship extends Model
{
public function user(): BelongsTo
{
return $this->belongsTo(User::class, 'user_two_id', 'id');
}
public function friend(): BelongsTo
{
return $this->belongsTo(User::class, 'user_one_id', 'id');
}
}
+27
View File
@@ -0,0 +1,27 @@
<?php
namespace App\Models\Game\Player;
use App\Models\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class UserBadge extends Model
{
#[\Override]
protected $table = 'users_badges';
#[\Override]
protected $primaryKey = 'user_id';
#[\Override]
protected $guarded = ['user_id', 'badge_slot'];
#[\Override]
public $timestamps = false;
public function user(): BelongsTo
{
return $this->belongsTo(User::class, 'id');
}
}
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Models\Game\Player;
use App\Models\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserCurrency insert($values)
*/
class UserCurrency extends Model
{
#[\Override]
protected $guarded = ['user_id', 'type'];
#[\Override]
protected $table = 'users_currency';
#[\Override]
protected $primaryKey = 'user_id';
#[\Override]
public $timestamps = false;
public function user(): BelongsTo
{
return $this->belongsTo(User::class, 'user_id', 'id');
}
}
+30
View File
@@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace App\Models\Game\Player;
use App\Models\Concerns\BelongsToUser;
use Illuminate\Database\Eloquent\Model;
/**
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserSetting select($columns = ['*'])
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserSetting whereNotIn($column, $values, $boolean = 'and')
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserSetting orderByDesc($column)
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserSetting with($relations)
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserSetting get($columns = ['*'])
* @method static \Illuminate\Database\Eloquent\Builder<static>|UserSetting take(int $value)
*/
class UserSetting extends Model
{
use BelongsToUser;
#[\Override]
protected $table = 'users_settings';
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id'];
#[\Override]
public $timestamps = false;
}
+19
View File
@@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace App\Models\Game\Player;
use App\Models\Concerns\BelongsToUser;
use Illuminate\Database\Eloquent\Model;
class UserSubscription extends Model
{
use BelongsToUser;
#[\Override]
protected $table = 'users_subscriptions';
#[\Override]
public $timestamps = false;
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Models\Game;
use App\Models\Game\Guild\Guild;
use App\Models\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasOne;
class Room extends Model
{
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'owner_id', 'name', 'state'];
public function guild(): HasOne
{
return $this->hasOne(Guild::class, 'room_id');
}
public function owner(): BelongsTo
{
return $this->belongsTo(User::class, 'owner_id', 'id');
}
}