chore: init saasshop repo + sql migrations runner + gitee go
This commit is contained in:
25
app/Http/Controllers/Concerns/ResolvesMerchantContext.php
Normal file
25
app/Http/Controllers/Concerns/ResolvesMerchantContext.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Concerns;
|
||||
|
||||
use App\Models\Admin;
|
||||
use App\Models\Merchant;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
trait ResolvesMerchantContext
|
||||
{
|
||||
protected function merchantId(Request $request): int
|
||||
{
|
||||
return (int) $request->session()->get('admin_merchant_id');
|
||||
}
|
||||
|
||||
protected function merchant(Request $request): Merchant
|
||||
{
|
||||
return Merchant::query()->findOrFail($this->merchantId($request));
|
||||
}
|
||||
|
||||
protected function merchantAdmin(Request $request): Admin
|
||||
{
|
||||
return Admin::query()->findOrFail((int) $request->session()->get('admin_id'));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Concerns;
|
||||
|
||||
use App\Models\Admin;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
trait ResolvesPlatformAdminContext
|
||||
{
|
||||
protected function platformAdmin(Request $request): ?Admin
|
||||
{
|
||||
$adminId = $request->session()->get('admin_id');
|
||||
|
||||
if (! $adminId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$admin = Admin::query()->find($adminId);
|
||||
|
||||
return $admin && $admin->isPlatformAdmin() ? $admin : null;
|
||||
}
|
||||
|
||||
protected function platformAdminId(Request $request): ?int
|
||||
{
|
||||
return $this->platformAdmin($request)?->id;
|
||||
}
|
||||
|
||||
protected function ensurePlatformAdmin(Request $request): Admin
|
||||
{
|
||||
$admin = $this->platformAdmin($request);
|
||||
|
||||
abort_unless($admin, 403, '当前账号没有总台管理访问权限');
|
||||
|
||||
return $admin;
|
||||
}
|
||||
}
|
||||
25
app/Http/Controllers/Concerns/ResolvesSiteContext.php
Normal file
25
app/Http/Controllers/Concerns/ResolvesSiteContext.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?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'));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user