Your IP : 216.73.216.79


Current Path : /var/www/html/dynaweb-starter/plugin/dynaweb-site/src/Repositories/
Upload File :
Current File : /var/www/html/dynaweb-starter/plugin/dynaweb-site/src/Repositories/FrontendSiteRepository.php

<?php

namespace Dynaweb\DynawebSite\Repositories;

class FrontendSiteRepository extends BaseRepository
{
    /***
    * Get Site slug
    */
    public function selectSlug()
    {
        return $this->model::active();
    }

    /***
    * Get Site slug
    */
    public function getSlug()
    {
        return $this->selectSlug()
            ->get();
    }

    /***
    * Get Site slug
    */
    public function getSiteBySlug($slug)
    {
        return $this->selectSlug()
            ->where('slug', $slug)
            ->first();
    }

    /***
    * Get Site slug
    */
    public function getDefault()
    {
        return $this->model::active()
        ->where('default', 1)
        ->first();
    }

    /***
    * set Default site
    */
    public function setDefault($id): void
    {
        $this->clearDefault();

        $this->model::where('id', $id)->update(['default' => 1]);
    }

    /***
    * clear Default site
    */
    public function clearDefault(): void
    {
        $records = $this->model::all();

        foreach($records as $record) {
            $record->update(['default' => 0]);
        }
    }


    /***
    * Populate Dropdown
    */
    public function populate()
    {
        return $this->model::query()
        ->pluck('code', 'id')
        ->map(fn (string $category) => __($category))
        ->all();
    }

    /**
     * Check if slug exist
     */
    public function checkSlugExist($slug)
    {
        return $this->model::query()
        ->where('slug', $slug)
        ->first();
    }
}