Rename path parameter {token} to {eventToken} #37

Merged
nitrix merged 1 commits from 015-rename-token-to-eventToken into master 2026-03-12 18:11:09 +01:00
6 changed files with 36 additions and 36 deletions

View File

@@ -83,10 +83,10 @@ public class EventController implements EventsApi {
} }
@Override @Override
public ResponseEntity<GetEventResponse> getEvent(UUID token) { public ResponseEntity<GetEventResponse> getEvent(UUID eventToken) {
var eventToken = new de.fete.domain.model.EventToken(token); var evtToken = new EventToken(eventToken);
Event event = getEventUseCase.getByEventToken(eventToken) Event event = getEventUseCase.getByEventToken(evtToken)
.orElseThrow(() -> new EventNotFoundException(token)); .orElseThrow(() -> new EventNotFoundException(eventToken));
var response = new GetEventResponse(); var response = new GetEventResponse();
response.setEventToken(event.getEventToken().value()); response.setEventToken(event.getEventToken().value());
@@ -96,19 +96,19 @@ public class EventController implements EventsApi {
response.setTimezone(event.getTimezone().getId()); response.setTimezone(event.getTimezone().getId());
response.setLocation(event.getLocation()); response.setLocation(event.getLocation());
response.setAttendeeCount( response.setAttendeeCount(
(int) countAttendeesByEventUseCase.countByEvent(eventToken)); (int) countAttendeesByEventUseCase.countByEvent(evtToken));
return ResponseEntity.ok(response); return ResponseEntity.ok(response);
} }
@Override @Override
public ResponseEntity<GetAttendeesResponse> getAttendees( public ResponseEntity<GetAttendeesResponse> getAttendees(
UUID token, UUID organizerToken) { UUID eventToken, UUID organizerToken) {
var eventToken = new EventToken(token); var evtToken = new EventToken(eventToken);
var orgToken = new OrganizerToken(organizerToken); var orgToken = new OrganizerToken(organizerToken);
List<String> names = getAttendeesUseCase List<String> names = getAttendeesUseCase
.getAttendeeNames(eventToken, orgToken); .getAttendeeNames(evtToken, orgToken);
var attendees = names.stream() var attendees = names.stream()
.map(name -> new Attendee().name(name)) .map(name -> new Attendee().name(name))
@@ -122,9 +122,9 @@ public class EventController implements EventsApi {
@Override @Override
public ResponseEntity<CreateRsvpResponse> createRsvp( public ResponseEntity<CreateRsvpResponse> createRsvp(
UUID token, CreateRsvpRequest createRsvpRequest) { UUID eventToken, CreateRsvpRequest createRsvpRequest) {
var eventToken = new EventToken(token); var evtToken = new EventToken(eventToken);
Rsvp rsvp = createRsvpUseCase.createRsvp(eventToken, createRsvpRequest.getName()); Rsvp rsvp = createRsvpUseCase.createRsvp(evtToken, createRsvpRequest.getName());
var response = new CreateRsvpResponse(); var response = new CreateRsvpResponse();
response.setRsvpToken(rsvp.getRsvpToken().value()); response.setRsvpToken(rsvp.getRsvpToken().value());
@@ -134,8 +134,8 @@ public class EventController implements EventsApi {
} }
@Override @Override
public ResponseEntity<Void> cancelRsvp(UUID token, UUID rsvpToken) { public ResponseEntity<Void> cancelRsvp(UUID eventToken, UUID rsvpToken) {
cancelRsvpUseCase.cancelRsvp(new EventToken(token), new RsvpToken(rsvpToken)); cancelRsvpUseCase.cancelRsvp(new EventToken(eventToken), new RsvpToken(rsvpToken));
return ResponseEntity.noContent().build(); return ResponseEntity.noContent().build();
} }

View File

@@ -68,17 +68,17 @@ public class SpaController {
/** Serves SPA HTML with event-specific meta-tags. */ /** Serves SPA HTML with event-specific meta-tags. */
@GetMapping( @GetMapping(
value = "/events/{token}", value = "/events/{eventToken}",
produces = MediaType.TEXT_HTML_VALUE produces = MediaType.TEXT_HTML_VALUE
) )
@ResponseBody @ResponseBody
public String serveEventPage(@PathVariable String token, public String serveEventPage(@PathVariable String eventToken,
HttpServletRequest request) { HttpServletRequest request) {
if (htmlTemplate == null) { if (htmlTemplate == null) {
return ""; return "";
} }
String baseUrl = getBaseUrl(request); String baseUrl = getBaseUrl(request);
Map<String, String> meta = resolveEventMeta(token, baseUrl); Map<String, String> meta = resolveEventMeta(eventToken, baseUrl);
return htmlTemplate.replace(PLACEHOLDER, renderTags(meta)); return htmlTemplate.replace(PLACEHOLDER, renderTags(meta));
} }

View File

@@ -37,7 +37,7 @@ paths:
schema: schema:
$ref: "#/components/schemas/ValidationProblemDetail" $ref: "#/components/schemas/ValidationProblemDetail"
/events/{token}/rsvps/{rsvpToken}: /events/{eventToken}/rsvps/{rsvpToken}:
delete: delete:
operationId: cancelRsvp operationId: cancelRsvp
summary: Cancel RSVP summary: Cancel RSVP
@@ -47,7 +47,7 @@ paths:
tags: tags:
- events - events
parameters: parameters:
- name: token - name: eventToken
in: path in: path
required: true required: true
schema: schema:
@@ -69,14 +69,14 @@ paths:
"500": "500":
description: Internal server error description: Internal server error
/events/{token}/rsvps: /events/{eventToken}/rsvps:
post: post:
operationId: createRsvp operationId: createRsvp
summary: Submit an RSVP for an event summary: Submit an RSVP for an event
tags: tags:
- events - events
parameters: parameters:
- name: token - name: eventToken
in: path in: path
required: true required: true
schema: schema:
@@ -115,14 +115,14 @@ paths:
schema: schema:
$ref: "#/components/schemas/ProblemDetail" $ref: "#/components/schemas/ProblemDetail"
/events/{token}/attendees: /events/{eventToken}/attendees:
get: get:
operationId: getAttendees operationId: getAttendees
summary: Get attendee list for an event (organizer only) summary: Get attendee list for an event (organizer only)
tags: tags:
- events - events
parameters: parameters:
- name: token - name: eventToken
in: path in: path
required: true required: true
schema: schema:
@@ -156,14 +156,14 @@ paths:
schema: schema:
$ref: "#/components/schemas/ProblemDetail" $ref: "#/components/schemas/ProblemDetail"
/events/{token}: /events/{eventToken}:
get: get:
operationId: getEvent operationId: getEvent
summary: Get public event details by token summary: Get public event details by token
tags: tags:
- events - events
parameters: parameters:
- name: token - name: eventToken
in: path in: path
required: true required: true
schema: schema:

View File

@@ -76,10 +76,10 @@ async function confirmDelete() {
if (rsvp) { if (rsvp) {
try { try {
const { response } = await api.DELETE('/events/{token}/rsvps/{rsvpToken}', { const { response } = await api.DELETE('/events/{eventToken}/rsvps/{rsvpToken}', {
params: { params: {
path: { path: {
token: eventToken, eventToken: eventToken,
rsvpToken: rsvp.rsvpToken, rsvpToken: rsvp.rsvpToken,
}, },
}, },

View File

@@ -169,8 +169,8 @@ async function fetchEvent() {
event.value = null event.value = null
try { try {
const { data, error, response } = await api.GET('/events/{token}', { const { data, error, response } = await api.GET('/events/{eventToken}', {
params: { path: { token: route.params.eventToken as string } }, params: { path: { eventToken: route.params.eventToken as string } },
}) })
if (error) { if (error) {
@@ -217,8 +217,8 @@ async function submitRsvp() {
submitting.value = true submitting.value = true
try { try {
const { data, error } = await api.POST('/events/{token}/rsvps', { const { data, error } = await api.POST('/events/{eventToken}/rsvps', {
params: { path: { token: route.params.eventToken as string } }, params: { path: { eventToken: route.params.eventToken as string } },
body: { name: nameInput.value }, body: { name: nameInput.value },
}) })
@@ -256,10 +256,10 @@ async function handleCancelRsvp() {
if (!stored) return if (!stored) return
try { try {
const { response } = await api.DELETE('/events/{token}/rsvps/{rsvpToken}', { const { response } = await api.DELETE('/events/{eventToken}/rsvps/{rsvpToken}', {
params: { params: {
path: { path: {
token: route.params.eventToken as string, eventToken: route.params.eventToken as string,
rsvpToken: stored.rsvpToken, rsvpToken: stored.rsvpToken,
}, },
}, },
@@ -281,9 +281,9 @@ async function handleCancelRsvp() {
async function fetchAttendees(eventToken: string, organizerToken: string) { async function fetchAttendees(eventToken: string, organizerToken: string) {
try { try {
const { data, error } = await api.GET('/events/{token}/attendees', { const { data, error } = await api.GET('/events/{eventToken}/attendees', {
params: { params: {
path: { token: eventToken }, path: { eventToken: eventToken },
query: { organizerToken }, query: { organizerToken },
}, },
}) })

View File

@@ -280,8 +280,8 @@ describe('EventDetailView', () => {
await flushPromises() await flushPromises()
// Verify API call // Verify API call
expect(vi.mocked(api.POST)).toHaveBeenCalledWith('/events/{token}/rsvps', { expect(vi.mocked(api.POST)).toHaveBeenCalledWith('/events/{eventToken}/rsvps', {
params: { path: { token: 'test-token' } }, params: { path: { eventToken: 'test-token' } },
body: { name: 'Max' }, body: { name: 'Max' },
}) })