| Current Path : /var/www/html/dynaweb-starter/plugin/dynaweb-site/src/Repositories/ |
| 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();
}
}