Event identifiers for anonymizations

This commit is contained in:
2026-03-22 00:14:00 +01:00
parent 405591d6dd
commit 37039f082c
6 changed files with 12 additions and 3 deletions

View File

@@ -7,6 +7,7 @@ use App\Models\Event;
use App\Models\Tenant;
use App\RelationModels\EventEatingHabits;
use App\RelationModels\EventLocalGroups;
use Illuminate\Support\Str;
class CreateEventCommand {
private CreateEventRequest $request;
@@ -27,6 +28,7 @@ class CreateEventCommand {
$event = Event::create([
'tenant' => app('tenant')->slug,
'name' => $this->request->name,
'identifier' => Str::random(10),
'location' => $this->request->location,
'postal_code' => $this->request->postalCode,
'email' => $this->request->email,

View File

@@ -18,13 +18,13 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
class SignupController extends CommonController {
public function __invoke(int $eventId, Request $request) {
public function __invoke(string $eventId, Request $request) {
$availableEvents = [];
foreach ($this->events->getAvailable(false) as $event) {
$availableEvents[] = $event->toResource()->toArray($request);
};
$event = $this->events->getById($eventId, false)?->toResource()->toArray($request);
$event = $this->events->getByIdentifier($eventId, false)?->toResource()->toArray($request);
$participantData = [
'firstname' => '',

View File

@@ -69,7 +69,7 @@ console.log(props.events)
<div style="margin-top: 20px; display: flex; justify-content: flex-end;">
<a
:href="'/event/' + event.id + '/signup'"
:href="'/event/' + event.identifier + '/signup'"
style="
display: inline-block;
padding: 10px 24px;

View File

@@ -33,6 +33,11 @@ class EventRepository {
return $events[0] ?? null;
}
public function getByIdentifier(string $identifier, bool $accessCheck = true) : ?Event {
$events = self::getEventsByCriteria(['identifier' => $identifier], $accessCheck);
return $events[0] ?? null;
}
public function getEventsByCriteria(array $criteria, $accessCheck = true) : array {
$tenant = app('tenant');

View File

@@ -23,6 +23,7 @@ class EventResource extends JsonResource{
$returnArray = [
'id' => $this->event->id,
'name' => $this->event->name,
'identifier' => $this->event->identifier,
'location' => $this->event->location,
'postalCode' => $this->event->postal_code,
'email' => $this->event->email,

View File

@@ -42,6 +42,7 @@ return new class extends Migration {
$table->foreignId('cost_unit_id')->nullable()->constrained('cost_units', 'id')->restrictOnDelete()->cascadeOnUpdate();
$table->string('name');
$table->string('identifier');
$table->string('location');
$table->string('postal_code');
$table->string('email');