Add scoped private business verification evidence and expiry

This commit is contained in:
2026-09-29 08:40:43 +02:00
parent a2692704d9
commit b77714b156
12 changed files with 568 additions and 5 deletions
@@ -7,6 +7,7 @@ use App\Models\ExistingBusinessObject;
use App\Services\ExistingBusinessDrafts;
use App\Services\ExistingBusinessIntake;
use App\Services\ExistingBusinessObjects;
use App\Services\ExistingBusinessVerification;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Crypt;
@@ -41,6 +42,8 @@ class ExistingBusinessController extends Controller
'owner' => $request->user()->can('owns', $business), 'canReview' => $request->user()->can('review', $business),
'modalities' => ExistingBusinessDrafts::MODALITIES,
'objectKinds' => ExistingBusinessObjects::KINDS,
'verificationChecks' => ExistingBusinessVerification::CHECKS,
'verifications' => app(ExistingBusinessVerification::class)->findings($business),
'objects' => ExistingBusinessObject::where('business_id', $id)->orderBy('created_at')->get()->map(fn ($object) => [
...$object->only(['id', 'kind', 'verification_status']), 'payload' => $object->payload]),
'history' => DB::table('existing_business_revisions')->where('business_id', $id)->orderByDesc('version_no')->limit(50)
@@ -66,6 +69,11 @@ class ExistingBusinessController extends Controller
return response()->json($this->record($business));
}
public function verify(Request $request, ExistingBusinessVerification $verification, string $id): JsonResponse
{
return response()->json($this->record($verification->save($request->user(), $id, $request->all())));
}
public function saveObject(Request $request, ExistingBusinessObjects $objects, string $id, ?string $object = null): JsonResponse
{
$saved = $objects->save($request->user(), $id, $request->all(), $object);