<?php /** * Created by IntelliJ IDEA. * User: kelyliang * Date: 2024/3/20 * Time: 下午 02:32 */ namespace App\Http\Controllers\API; use App\Http\Controllers\Controller; use App\Http\Requests\API\Company\CreateOrUpdateRequest; use App\Http\Resources\API\CompanyResource; use App\Models\Company; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class CompanyController extends Controller { public function index(Request $request) { if(Auth::user()->super_admin){ $company=Company::query()->filter($request->all())->get(); return CompanyResource::collection($company); }else{ $company=Auth::user()->company; return new CompanyResource($company); } } public function store(CreateOrUpdateRequest $request) { $company = new Company(); $company->fill([ ...$request->all(), ]); $company->save(); return $this->created(); } public function show(string $id) { $companyId=Auth::user()->company->id; if(empty(Auth::user()->super_admin)){ if($companyId!=$id){ return $this->forbidden("You are not a user under this company"); } } $field = Company::query()->findOrFail($id); return new CompanyResource($field); } public function update(Request $request,string $id){ $company = Company::findOrFail($id); $company->email =$request->email; $company->save(); return $this->noContent(); } public function destroy(string $id) { $company = Company::findOrFail($id); $company->delete(); return $this->noContent(); } }