Merge pull request 'Rename path parameter {token} to {eventToken}' (#37) from 015-rename-token-to-eventToken into master
This commit was merged in pull request #37.
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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 },
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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' },
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user