Files
saasshop/app/Http/Controllers/Concerns/ResolvesSiteContext.php

26 lines
634 B
PHP

<?php
namespace App\Http\Controllers\Concerns;
use App\Models\Admin;
use App\Models\Merchant;
use Illuminate\Http\Request;
trait ResolvesSiteContext
{
protected function siteId(Request $request): int
{
return (int) ($request->session()->get('admin_site_id') ?: $request->session()->get('admin_merchant_id'));
}
protected function site(Request $request): Merchant
{
return Merchant::query()->findOrFail($this->siteId($request));
}
protected function siteAdmin(Request $request): Admin
{
return Admin::query()->findOrFail((int) $request->session()->get('admin_id'));
}
}