<?php

namespace App\Models\[entityFolder]\[entityName];

use App\Helpers\Database;
use App\Helpers\HasMongoPrimaryKeyChanging;
use App\Helpers\IsModelForShop;
use MongoDB\Laravel\Eloquent\Model;
[importDeletionControl]
[importPagination]

class [entityName] extends Model
{
    use IsModelForShop;
    use HasMongoPrimaryKeyChanging;
[usesDeletionControl]
[usesPagination]

    const SEARCHABLE_COLUMNS = ['_id'];

    protected $connection = Database::[mongoDatabase];
    protected $collection = '[collectionName]';

    const CREATED_AT = 'createdAt';
    const UPDATED_AT = 'updatedAt';

    protected $attributes = [attributes];

    protected $fillable = [];

    protected $hidden = [hidden];

    public function __construct(int|null $shopId = null)
    {
        if (is_numeric($shopId)) {
            $this->setDatabaseByShopId($shopId);
        }
    }

    public static function onShopDatabase(int $shopId): self
    {
        return new self($shopId);
    }
}


