Skip to content

Commit a5674ab

Browse files
add writing functionality for users
1 parent c485e9d commit a5674ab

File tree

131 files changed

+919
-569
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+919
-569
lines changed

backend/src/main/java/org/eventplanner/config/OAuthLogoutHandler.java

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package org.eventplanner.config;
22

3-
import static java.lang.String.format;
4-
5-
import java.util.Optional;
6-
import java.util.Set;
7-
3+
import jakarta.servlet.http.HttpServletRequest;
4+
import jakarta.servlet.http.HttpServletResponse;
85
import org.slf4j.Logger;
96
import org.slf4j.LoggerFactory;
107
import org.springframework.beans.factory.annotation.Value;
@@ -17,8 +14,7 @@
1714
import org.springframework.stereotype.Component;
1815
import org.springframework.web.util.UriComponentsBuilder;
1916

20-
import jakarta.servlet.http.HttpServletRequest;
21-
import jakarta.servlet.http.HttpServletResponse;
17+
import java.util.Set;
2218

2319
@Component
2420
public class OAuthLogoutHandler implements LogoutHandler {

backend/src/main/java/org/eventplanner/config/OAuthUserAuthoritiesMapper.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@
99

1010
import java.net.URL;
1111
import java.util.Collection;
12-
import java.util.Collections;
1312
import java.util.LinkedList;
1413
import java.util.List;
1514
import java.util.stream.Collectors;
1615
import java.util.stream.Stream;
1716

18-
public class OAuthUserAuthoritiesMapper implements GrantedAuthoritiesMapper {
17+
public class OAuthUserAuthoritiesMapper implements GrantedAuthoritiesMapper {
1918

2019
private final List<String> admins;
2120

backend/src/main/java/org/eventplanner/config/SecurityConfig.java

-11
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,13 @@
11
package org.eventplanner.config;
22

3-
import static org.springframework.security.config.Customizer.withDefaults;
4-
5-
import java.util.*;
6-
import java.util.stream.Stream;
7-
8-
import org.eventplanner.users.values.Role;
93
import org.springframework.beans.factory.annotation.Value;
104
import org.springframework.context.annotation.Bean;
115
import org.springframework.context.annotation.Configuration;
12-
import org.springframework.core.annotation.Order;
136
import org.springframework.http.HttpStatus;
147
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
158
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
169
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
1710
import org.springframework.security.config.http.SessionCreationPolicy;
18-
import org.springframework.security.core.authority.SimpleGrantedAuthority;
19-
import org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper;
20-
import org.springframework.security.oauth2.core.oidc.user.OidcUserAuthority;
21-
import org.springframework.security.oauth2.core.user.OAuth2UserAuthority;
2211
import org.springframework.security.web.SecurityFilterChain;
2312
import org.springframework.security.web.authentication.HttpStatusEntryPoint;
2413
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;

backend/src/main/java/org/eventplanner/config/WebConfig.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.eventplanner.config;
22

3-
import java.io.IOException;
4-
53
import org.springframework.context.annotation.Configuration;
64
import org.springframework.core.io.ClassPathResource;
75
import org.springframework.core.io.Resource;
@@ -11,6 +9,8 @@
119
import org.springframework.web.servlet.resource.EncodedResourceResolver;
1210
import org.springframework.web.servlet.resource.PathResourceResolver;
1311

12+
import java.io.IOException;
13+
1414
@EnableWebMvc
1515
@Configuration
1616
public class WebConfig implements WebMvcConfigurer {

backend/src/main/java/org/eventplanner/events/EventUseCase.java

+7-13
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,28 @@
11
package org.eventplanner.events;
22

3-
import java.time.Instant;
4-
import java.time.ZoneId;
5-
import java.util.Collections;
6-
import java.util.LinkedList;
7-
import java.util.List;
8-
import java.util.Optional;
9-
103
import org.eventplanner.events.adapter.EventRepository;
114
import org.eventplanner.events.entities.Event;
125
import org.eventplanner.events.entities.Registration;
13-
import org.eventplanner.events.entities.Slot;
146
import org.eventplanner.events.spec.CreateEventSpec;
157
import org.eventplanner.events.spec.CreateRegistrationSpec;
168
import org.eventplanner.events.spec.UpdateEventSpec;
179
import org.eventplanner.events.spec.UpdateRegistrationSpec;
1810
import org.eventplanner.events.values.EventKey;
1911
import org.eventplanner.events.values.EventState;
2012
import org.eventplanner.events.values.RegistrationKey;
21-
import org.eventplanner.exceptions.NotImplementedException;
22-
import org.eventplanner.positions.values.PositionKey;
2313
import org.eventplanner.users.entities.SignedInUser;
2414
import org.eventplanner.users.values.Permission;
25-
import org.eventplanner.users.values.UserKey;
26-
import org.eventplanner.utils.ObjectUtils;
2715
import org.springframework.beans.factory.annotation.Autowired;
2816
import org.springframework.lang.NonNull;
2917
import org.springframework.stereotype.Service;
3018

31-
import static org.eventplanner.utils.ObjectUtils.*;
19+
import java.time.Instant;
20+
import java.time.ZoneId;
21+
import java.util.Collections;
22+
import java.util.List;
23+
24+
import static org.eventplanner.utils.ObjectUtils.applyNullable;
25+
import static org.eventplanner.utils.ObjectUtils.orElse;
3226

3327
@Service
3428
public class EventUseCase {

backend/src/main/java/org/eventplanner/events/adapter/EventRepository.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package org.eventplanner.events.adapter;
22

3-
import java.util.List;
4-
import java.util.Optional;
5-
63
import org.eventplanner.events.entities.Event;
74
import org.eventplanner.events.values.EventKey;
85
import org.springframework.lang.NonNull;
96

7+
import java.util.List;
8+
import java.util.Optional;
9+
1010
public interface EventRepository {
1111
@NonNull
1212
Optional<Event> findByKey(EventKey key);

backend/src/main/java/org/eventplanner/events/adapter/filesystem/EventFileSystemRepository.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
package org.eventplanner.events.adapter.filesystem;
22

3-
import static java.util.Comparator.comparing;
4-
5-
import java.io.File;
6-
import java.util.List;
7-
import java.util.Optional;
8-
93
import org.eventplanner.events.adapter.EventRepository;
104
import org.eventplanner.events.adapter.filesystem.entities.EventJsonEntity;
115
import org.eventplanner.events.entities.Event;
@@ -15,6 +9,12 @@
159
import org.springframework.lang.NonNull;
1610
import org.springframework.stereotype.Repository;
1711

12+
import java.io.File;
13+
import java.util.List;
14+
import java.util.Optional;
15+
16+
import static java.util.Comparator.comparing;
17+
1818
@Repository
1919
public class EventFileSystemRepository implements EventRepository {
2020

backend/src/main/java/org/eventplanner/events/adapter/filesystem/entities/EventJsonEntity.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
package org.eventplanner.events.adapter.filesystem.entities;
22

3-
import static org.eventplanner.utils.ObjectUtils.mapNullable;
3+
import org.eventplanner.events.entities.Event;
4+
import org.eventplanner.events.values.EventKey;
5+
import org.eventplanner.events.values.EventState;
6+
import org.springframework.lang.NonNull;
7+
import org.springframework.lang.Nullable;
48

59
import java.io.Serializable;
610
import java.time.ZonedDateTime;
711
import java.util.Collections;
812
import java.util.List;
913

10-
import org.eventplanner.events.entities.Event;
11-
import org.eventplanner.events.values.EventKey;
12-
import org.eventplanner.events.values.EventState;
13-
import org.springframework.lang.NonNull;
14-
import org.springframework.lang.Nullable;
14+
import static org.eventplanner.utils.ObjectUtils.mapNullable;
1515

1616
public record EventJsonEntity(
1717
@NonNull String key,

backend/src/main/java/org/eventplanner/events/adapter/filesystem/entities/LocationJsonEntity.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package org.eventplanner.events.adapter.filesystem.entities;
22

3-
import java.io.Serializable;
4-
53
import org.eventplanner.events.values.Location;
64
import org.springframework.lang.NonNull;
75
import org.springframework.lang.Nullable;
86

7+
import java.io.Serializable;
8+
99
public record LocationJsonEntity(
1010
@Nullable String name,
1111
@Nullable String icon,

backend/src/main/java/org/eventplanner/events/adapter/filesystem/entities/RegistrationJsonEntity.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package org.eventplanner.events.adapter.filesystem.entities;
22

3-
import static org.eventplanner.utils.ObjectUtils.mapNullable;
4-
5-
import java.io.Serializable;
6-
73
import org.eventplanner.events.entities.Registration;
84
import org.eventplanner.events.values.RegistrationKey;
95
import org.eventplanner.positions.values.PositionKey;
106
import org.eventplanner.users.values.UserKey;
117
import org.springframework.lang.NonNull;
128
import org.springframework.lang.Nullable;
139

10+
import java.io.Serializable;
11+
12+
import static org.eventplanner.utils.ObjectUtils.mapNullable;
13+
1414
public record RegistrationJsonEntity(
1515
@NonNull String key,
1616
@NonNull String positionKey,

backend/src/main/java/org/eventplanner/events/adapter/filesystem/entities/SlotJsonEntity.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
package org.eventplanner.events.adapter.filesystem.entities;
22

3-
import static org.eventplanner.utils.ObjectUtils.mapNullable;
4-
5-
import java.util.Collections;
6-
import java.util.List;
7-
83
import org.eventplanner.events.entities.Slot;
94
import org.eventplanner.events.values.RegistrationKey;
105
import org.eventplanner.events.values.SlotKey;
116
import org.eventplanner.positions.values.PositionKey;
127
import org.springframework.lang.NonNull;
138
import org.springframework.lang.Nullable;
149

10+
import java.util.Collections;
11+
import java.util.List;
12+
13+
import static org.eventplanner.utils.ObjectUtils.mapNullable;
14+
1515
public record SlotJsonEntity(
1616
@NonNull String key,
1717
int order,

backend/src/main/java/org/eventplanner/events/entities/Event.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package org.eventplanner.events.entities;
22

3-
import java.time.ZonedDateTime;
4-
import java.util.LinkedList;
5-
import java.util.List;
6-
73
import lombok.*;
84
import org.eventplanner.events.values.EventKey;
95
import org.eventplanner.events.values.EventState;
106
import org.eventplanner.events.values.Location;
117
import org.springframework.lang.NonNull;
128

9+
import java.time.ZonedDateTime;
10+
import java.util.LinkedList;
11+
import java.util.List;
12+
1313
@Getter
1414
@Setter
1515
@EqualsAndHashCode

backend/src/main/java/org/eventplanner/events/entities/Registration.java

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import lombok.*;
44
import org.eventplanner.events.values.RegistrationKey;
5-
import org.eventplanner.events.values.SlotKey;
65
import org.eventplanner.positions.values.PositionKey;
76
import org.eventplanner.users.values.UserKey;
87
import org.springframework.lang.NonNull;

backend/src/main/java/org/eventplanner/events/entities/Slot.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
package org.eventplanner.events.entities;
22

3-
import java.util.LinkedList;
4-
import java.util.List;
5-
import java.util.UUID;
6-
73
import lombok.*;
84
import org.eventplanner.events.values.RegistrationKey;
95
import org.eventplanner.events.values.SlotKey;
106
import org.eventplanner.positions.values.PositionKey;
117
import org.springframework.lang.NonNull;
128
import org.springframework.lang.Nullable;
139

10+
import java.util.LinkedList;
11+
import java.util.List;
12+
1413
@Getter
1514
@Setter
1615
@EqualsAndHashCode

backend/src/main/java/org/eventplanner/events/rest/EventController.java

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
11
package org.eventplanner.events.rest;
22

3-
import java.util.List;
4-
53
import org.eventplanner.events.EventUseCase;
64
import org.eventplanner.events.rest.dto.*;
7-
import org.eventplanner.events.spec.UpdateRegistrationSpec;
85
import org.eventplanner.events.values.EventKey;
96
import org.eventplanner.events.values.RegistrationKey;
10-
import org.eventplanner.positions.values.PositionKey;
117
import org.eventplanner.users.UserUseCase;
12-
import org.eventplanner.users.values.UserKey;
138
import org.springframework.beans.factory.annotation.Autowired;
149
import org.springframework.http.HttpStatus;
1510
import org.springframework.http.ResponseEntity;
1611
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
1712
import org.springframework.security.core.context.SecurityContextHolder;
1813
import org.springframework.web.bind.annotation.*;
1914

15+
import java.util.List;
16+
2017
@RestController
2118
@RequestMapping("/api/v1/events")
2219
@EnableMethodSecurity(securedEnabled = true)

backend/src/main/java/org/eventplanner/events/rest/dto/CreateEventRequest.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package org.eventplanner.events.rest.dto;
22

3-
import java.io.Serializable;
4-
import java.time.ZonedDateTime;
5-
import java.util.List;
6-
73
import org.eventplanner.events.spec.CreateEventSpec;
84
import org.springframework.lang.NonNull;
95
import org.springframework.lang.Nullable;
106

7+
import java.io.Serializable;
8+
import java.time.ZonedDateTime;
9+
import java.util.List;
10+
1111
public record CreateEventRequest(
1212
@NonNull String name,
1313
@Nullable String note,

backend/src/main/java/org/eventplanner/events/rest/dto/CreateRegistrationRequest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package org.eventplanner.events.rest.dto;
22

3-
import java.io.Serializable;
4-
53
import org.eventplanner.events.spec.CreateRegistrationSpec;
64
import org.eventplanner.positions.values.PositionKey;
75
import org.eventplanner.users.values.UserKey;
86
import org.springframework.lang.NonNull;
97
import org.springframework.lang.Nullable;
108

9+
import java.io.Serializable;
10+
1111
import static org.eventplanner.utils.ObjectUtils.mapNullable;
1212

1313
public record CreateRegistrationRequest(

backend/src/main/java/org/eventplanner/events/rest/dto/EventRepresentation.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package org.eventplanner.events.rest.dto;
22

3+
import org.eventplanner.events.entities.Event;
4+
import org.springframework.lang.NonNull;
5+
36
import java.io.Serializable;
47
import java.time.format.DateTimeFormatter;
58
import java.util.List;
69

7-
import org.eventplanner.events.entities.Event;
8-
import org.springframework.lang.NonNull;
9-
1010
public record EventRepresentation(
1111
@NonNull String key,
1212
@NonNull String name,

backend/src/main/java/org/eventplanner/events/rest/dto/LocationRepresentation.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package org.eventplanner.events.rest.dto;
22

3-
import java.io.Serializable;
4-
53
import org.eventplanner.events.values.Location;
64
import org.springframework.lang.NonNull;
75
import org.springframework.lang.Nullable;
86

7+
import java.io.Serializable;
8+
99
public record LocationRepresentation(
1010
@NonNull String name,
1111
@NonNull String icon,

0 commit comments

Comments
 (0)