This commit is contained in:
mrKamoo
2026-09-30 16:27:32 +02:00
commit 310724708f
147 changed files with 21327 additions and 0 deletions
@@ -0,0 +1,36 @@
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Signature\SignatureBuilder;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class SignatureController extends Controller
{
/**
* GET /api/v1/signature?context=new|reply|forward|appointment&mailbox=adresse
* Réponse : { html, variant, template, generated_at }
*/
public function show(Request $request, SignatureBuilder $builder): JsonResponse
{
$data = $request->validate([
'context' => ['sometimes', 'in:new,reply,forward,appointment'],
'mailbox' => ['sometimes', 'nullable', 'email:rfc', 'max:254'],
]);
$result = $builder->build(
$request->attributes->get('directory_user'),
$data['context'] ?? 'new',
$data['mailbox'] ?? null,
);
if ($result === null) {
return response()->json(['error' => 'no_template'], 404);
}
return response()->json($result + ['generated_at' => now()->toIso8601String()])
->header('Cache-Control', 'private, no-store');
}
}