From c97e6cbfc1d4923e4b777ea463cd5a8d2517fe3b Mon Sep 17 00:00:00 2001 From: Guilherme Stark Date: Mon, 30 Jun 2025 12:12:14 +0200 Subject: [PATCH 01/50] feat: update matching-service entities and repositories to api v2.1.1 --- server/database/matchdb/init_matchdb.sql | 17 +++- .../meet_at_mensa/matching/model/Match.java | 19 ++-- .../matching/model/MatchRequest.java | 35 +++++--- .../meet_at_mensa/matching/model/Prompt.java | 90 +++++++++++++++++++ .../matching/repository/MatchRepository.java | 3 +- 5 files changed, 138 insertions(+), 26 deletions(-) create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/model/Prompt.java diff --git a/server/database/matchdb/init_matchdb.sql b/server/database/matchdb/init_matchdb.sql index 86b44adf..c1aa621a 100644 --- a/server/database/matchdb/init_matchdb.sql +++ b/server/database/matchdb/init_matchdb.sql @@ -3,12 +3,12 @@ -- match_id: UUID of the match, primary key -- user_id: UUID of the matched user -- group_id: UUID of group the user has been matched to - -- rsvp: Has the user RSVP'd? + -- invite_status: Has the user RSVP'd? CREATE TABLE IF NOT EXISTS `matches` ( match_id VARBINARY(16) PRIMARY KEY, user_id VARBINARY(16) NOT NULL, group_id VARBINARY(16) NOT NULL, - rsvp BIT NOT NULL + invite_status VARCHAR(255) NOT NULL ); -- groups table @@ -24,6 +24,17 @@ CREATE TABLE IF NOT EXISTS `groups` ( meet_location VARCHAR(255) NOT NULL ); +-- prompts table +-- contains conversation starters + -- prompt_id: UUID of the prompt + -- group_id: UUID of the group this conversation starter prompt belongs to + -- prompt: prompt itself +CREATE TABLE IF NOT EXISTS `prompts` ( + prompt_id VARBINARY(16) PRIMARY KEY, + group_id VARBINARY(16) NOT NULL, + prompt VARCHAR(1023) NOT NULL +); + -- match requests table -- individual match requests -- request_id: UUID of the request, primary key @@ -36,12 +47,12 @@ CREATE TABLE IF NOT EXISTS `groups` ( CREATE TABLE IF NOT EXISTS `match_requests` ( request_id VARBINARY(16) PRIMARY KEY, user_id VARBINARY(16) NOT NULL, - group_id VARBINARY(16), request_date DATE NOT NULL, request_location VARCHAR(255) NOT NULL, degree_pref BIT NOT NULL, age_pref BIT NOT NULL, gender_pref BIT NOT NULL + request_status VARCHAR(255) NOT NULL, ); -- match timeslot table diff --git a/server/matching/src/main/java/meet_at_mensa/matching/model/Match.java b/server/matching/src/main/java/meet_at_mensa/matching/model/Match.java index 8f0a9a4e..37ba26ef 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/model/Match.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/model/Match.java @@ -11,6 +11,9 @@ // import utils import java.util.UUID; +// import from openapi generated +import org.openapitools.model.InviteStatus; + // Class Match represents a single entry (row) in the matchdb/matches table @Entity @Table(name = "matches") @@ -36,8 +39,8 @@ public class Match { private UUID groupID; // Whether to prioritize students with the same gender - @Column(name = "rsvp") - private Boolean rsvp; + @Column(name = "invite_status") + private InviteStatus inviteStatus; // ------- // Getters @@ -55,8 +58,8 @@ public UUID getGroupID() { return groupID; } - public Boolean getRsvp() { - return rsvp; + public InviteStatus getRsvp() { + return inviteStatus; } // ------- @@ -74,8 +77,8 @@ public void setGroupID(UUID groupID) { this.groupID = groupID; } - public void setRsvp(Boolean rsvp) { - this.rsvp = rsvp; + public void setInviteStatus(InviteStatus inviteStatus) { + this.inviteStatus = inviteStatus; } // ------------ @@ -88,11 +91,11 @@ public Match() { } - public Match(UUID userID, UUID groupID, Boolean rsvp) { + public Match(UUID userID, UUID groupID, InviteStatus inviteStatus) { this.userID = userID; this.groupID = groupID; - this.rsvp = rsvp; + this.inviteStatus = inviteStatus; } diff --git a/server/matching/src/main/java/meet_at_mensa/matching/model/MatchRequest.java b/server/matching/src/main/java/meet_at_mensa/matching/model/MatchRequest.java index 69ee6488..e5d630e0 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/model/MatchRequest.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/model/MatchRequest.java @@ -10,6 +10,10 @@ // import utils import java.util.UUID; + +// import from openapi spec +import org.openapitools.model.RequestStatus; + import java.time.LocalDate; // Class MatchRequest represents a single entry (row) in the matchdb/match_requests table @@ -32,10 +36,6 @@ public class MatchRequest { @Column(name = "user_id") private UUID userID; - // group ID for the match. Null if currently unmatched - @Column(name = "group_id") - private UUID groupID; - // date for the match @Column(name = "request_date") private LocalDate date; @@ -56,6 +56,9 @@ public class MatchRequest { @Column(name = "gender_pref") private Boolean genderPref; + @Column(name = "request_status") + private RequestStatus requestStatus; + // ------- // Getters // ------- @@ -68,10 +71,6 @@ public UUID getUserID() { return userID; } - public UUID getGroupID() { - return groupID; - } - public LocalDate getDate() { return date; } @@ -92,6 +91,10 @@ public Boolean getGenderPref() { return genderPref; } + public RequestStatus getRequestStatus() { + return requestStatus; + } + // ------- // Setters // ------- @@ -100,10 +103,6 @@ public Boolean getGenderPref() { // - RequestID // - UserID - public void setGroupID(UUID groupID) { - this.groupID = groupID; - } - public void setDate(LocalDate date) { this.date = date; } @@ -124,6 +123,10 @@ public void setGenderPref(Boolean genderPref) { this.genderPref = genderPref; } + public void setRequestStatus(RequestStatus requestStatus) { + this.requestStatus = requestStatus; + } + // ------------ // Constructors // ------------ @@ -138,13 +141,15 @@ public MatchRequest() { public MatchRequest(UUID userID, LocalDate date, String location, Boolean degreePref, Boolean agePref, Boolean genderPref) { this.userID = userID; - this.groupID = null; // groupID is set when request is fullfilled this.date = date; this.location = location; this.degreePref = degreePref; this.agePref = agePref; this.genderPref = genderPref; + // all new requests are created with the pending status + this.requestStatus = RequestStatus.PENDING; + } // ------------ @@ -153,7 +158,9 @@ public MatchRequest(UUID userID, LocalDate date, String location, Boolean degree // whether or not this request has been fulfilled public Boolean isMatched() { - return (this.groupID != null); + + return (this.requestStatus == RequestStatus.MATCHED); + } // returns true if this match requests' date is in the past diff --git a/server/matching/src/main/java/meet_at_mensa/matching/model/Prompt.java b/server/matching/src/main/java/meet_at_mensa/matching/model/Prompt.java new file mode 100644 index 00000000..e3a39268 --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/model/Prompt.java @@ -0,0 +1,90 @@ +package meet_at_mensa.matching.model; + +// import persistence tags +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; + +// import utils +import java.util.UUID; + +// Class Timeslot represents a single entry (row) in the matchdb/match_timeslots +@Entity +@Table(name = "prompts") +public class Prompt { + + // ---------- + // Attributes + // (Each attribute here corresponds to one column in the MySQL matchdb/match_timeslots table) + // ---------- + + // Auto-generated unique ID for this Match request + @Id + @GeneratedValue(strategy=GenerationType.UUID) + @Column(name = "prompt_id") + private UUID promptID; + + @Column(name = "group_id") + private UUID groupID; + + @Column(name = "prompt") + private String prompt; + + // ------- + // Getters + // ------- + + public UUID getPromptID() { + return promptID; + } + + public UUID getGroupID() { + return groupID; + } + + public String getPrompt() { + return prompt; + } + + // ------- + // Setters + // ------- + + // no setters for + // - PromptID (autogenerated) + + public void setGroupID(UUID requestID) { + this.groupID = requestID; + } + + public void setPrompt(String prompt) { + this.prompt = prompt; + } + + // ------------ + // Constructors + // ------------ + + public Prompt() { + + // default constructor required by JPA + + } + + public Prompt(UUID groupID, String prompt) { + + this.groupID = groupID; + this.prompt = prompt; + + } + + // ------------ + // Others + // ------------ + +} + + diff --git a/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRepository.java b/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRepository.java index e837ffdd..f7b14bb6 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRepository.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRepository.java @@ -1,5 +1,6 @@ package meet_at_mensa.matching.repository; +import org.openapitools.model.InviteStatus; // import CRUD repository (Create/Read/Update/Delete) import org.springframework.data.repository.CrudRepository; @@ -22,5 +23,5 @@ public interface MatchRepository extends CrudRepository { Iterable findByGroupID(UUID groupID); // Find by RSVP status - Iterable findByRsvp(Boolean rsvp); + Iterable findByInviteStatus(InviteStatus inviteStatus); } \ No newline at end of file From 810c94df69a4f20f00aa9ee4e67cf5878ca6bd0e Mon Sep 17 00:00:00 2001 From: Guilherme Stark Date: Mon, 30 Jun 2025 13:31:27 +0200 Subject: [PATCH 02/50] refactor: renamed entity classes for clarity --- .../matching/model/{Group.java => GroupEntity.java} | 6 +++--- .../matching/model/{Match.java => MatchEntity.java} | 6 +++--- .../{MatchRequest.java => MatchRequestEntity.java} | 6 +++--- .../matching/model/{Prompt.java => PromptEntity.java} | 6 +++--- .../model/{Timeslot.java => TimeslotEntity.java} | 6 +++--- .../matching/repository/GroupRepository.java | 6 +++--- .../matching/repository/MatchRepository.java | 10 +++++----- .../matching/repository/MatchRequestRepository.java | 6 +++--- .../matching/repository/TimeslotRepository.java | 6 +++--- 9 files changed, 29 insertions(+), 29 deletions(-) rename server/matching/src/main/java/meet_at_mensa/matching/model/{Group.java => GroupEntity.java} (94%) rename server/matching/src/main/java/meet_at_mensa/matching/model/{Match.java => MatchEntity.java} (94%) rename server/matching/src/main/java/meet_at_mensa/matching/model/{MatchRequest.java => MatchRequestEntity.java} (94%) rename server/matching/src/main/java/meet_at_mensa/matching/model/{Prompt.java => PromptEntity.java} (93%) rename server/matching/src/main/java/meet_at_mensa/matching/model/{Timeslot.java => TimeslotEntity.java} (93%) diff --git a/server/matching/src/main/java/meet_at_mensa/matching/model/Group.java b/server/matching/src/main/java/meet_at_mensa/matching/model/GroupEntity.java similarity index 94% rename from server/matching/src/main/java/meet_at_mensa/matching/model/Group.java rename to server/matching/src/main/java/meet_at_mensa/matching/model/GroupEntity.java index 24ee2ef2..a86fa0c2 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/model/Group.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/model/GroupEntity.java @@ -15,7 +15,7 @@ // Class Group represents a single entry (row) in the matchdb/groups table @Entity @Table(name = "groups") -public class Group { +public class GroupEntity { // ---------- // Attributes @@ -83,13 +83,13 @@ public void setLocation(String location) { // Constructors // ------------ - public Group() { + public GroupEntity() { // default constructor required by JPA } - public Group(LocalDate date, Integer timeslot, String location) { + public GroupEntity(LocalDate date, Integer timeslot, String location) { this.date = date; this.timeslot = timeslot; diff --git a/server/matching/src/main/java/meet_at_mensa/matching/model/Match.java b/server/matching/src/main/java/meet_at_mensa/matching/model/MatchEntity.java similarity index 94% rename from server/matching/src/main/java/meet_at_mensa/matching/model/Match.java rename to server/matching/src/main/java/meet_at_mensa/matching/model/MatchEntity.java index 37ba26ef..d64d024c 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/model/Match.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/model/MatchEntity.java @@ -17,7 +17,7 @@ // Class Match represents a single entry (row) in the matchdb/matches table @Entity @Table(name = "matches") -public class Match { +public class MatchEntity { // ---------- // Attributes @@ -85,13 +85,13 @@ public void setInviteStatus(InviteStatus inviteStatus) { // Constructors // ------------ - public Match() { + public MatchEntity() { // default constructor required by JPA } - public Match(UUID userID, UUID groupID, InviteStatus inviteStatus) { + public MatchEntity(UUID userID, UUID groupID, InviteStatus inviteStatus) { this.userID = userID; this.groupID = groupID; diff --git a/server/matching/src/main/java/meet_at_mensa/matching/model/MatchRequest.java b/server/matching/src/main/java/meet_at_mensa/matching/model/MatchRequestEntity.java similarity index 94% rename from server/matching/src/main/java/meet_at_mensa/matching/model/MatchRequest.java rename to server/matching/src/main/java/meet_at_mensa/matching/model/MatchRequestEntity.java index e5d630e0..a18bdc82 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/model/MatchRequest.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/model/MatchRequestEntity.java @@ -19,7 +19,7 @@ // Class MatchRequest represents a single entry (row) in the matchdb/match_requests table @Entity @Table(name = "match_requests") -public class MatchRequest { +public class MatchRequestEntity { // ---------- // Attributes @@ -131,14 +131,14 @@ public void setRequestStatus(RequestStatus requestStatus) { // Constructors // ------------ - public MatchRequest() { + public MatchRequestEntity() { // default constructor required by JPA } // Note: Constructor doesn't contain group ID since it's filled only when matching is fullfilled! - public MatchRequest(UUID userID, LocalDate date, String location, Boolean degreePref, Boolean agePref, Boolean genderPref) { + public MatchRequestEntity(UUID userID, LocalDate date, String location, Boolean degreePref, Boolean agePref, Boolean genderPref) { this.userID = userID; this.date = date; diff --git a/server/matching/src/main/java/meet_at_mensa/matching/model/Prompt.java b/server/matching/src/main/java/meet_at_mensa/matching/model/PromptEntity.java similarity index 93% rename from server/matching/src/main/java/meet_at_mensa/matching/model/Prompt.java rename to server/matching/src/main/java/meet_at_mensa/matching/model/PromptEntity.java index e3a39268..947cc400 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/model/Prompt.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/model/PromptEntity.java @@ -14,7 +14,7 @@ // Class Timeslot represents a single entry (row) in the matchdb/match_timeslots @Entity @Table(name = "prompts") -public class Prompt { +public class PromptEntity { // ---------- // Attributes @@ -68,13 +68,13 @@ public void setPrompt(String prompt) { // Constructors // ------------ - public Prompt() { + public PromptEntity() { // default constructor required by JPA } - public Prompt(UUID groupID, String prompt) { + public PromptEntity(UUID groupID, String prompt) { this.groupID = groupID; this.prompt = prompt; diff --git a/server/matching/src/main/java/meet_at_mensa/matching/model/Timeslot.java b/server/matching/src/main/java/meet_at_mensa/matching/model/TimeslotEntity.java similarity index 93% rename from server/matching/src/main/java/meet_at_mensa/matching/model/Timeslot.java rename to server/matching/src/main/java/meet_at_mensa/matching/model/TimeslotEntity.java index 1602e48f..6b23d491 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/model/Timeslot.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/model/TimeslotEntity.java @@ -14,7 +14,7 @@ // Class Timeslot represents a single entry (row) in the matchdb/match_timeslots @Entity @Table(name = "match_timeslots") -public class Timeslot { +public class TimeslotEntity { // ---------- // Attributes @@ -68,13 +68,13 @@ public void setTimeslot(Integer timeslot) { // Constructors // ------------ - public Timeslot() { + public TimeslotEntity() { // default constructor required by JPA } - public Timeslot(UUID requestID, Integer timeslot) { + public TimeslotEntity(UUID requestID, Integer timeslot) { this.requestID = requestID; this.timeslot = timeslot; diff --git a/server/matching/src/main/java/meet_at_mensa/matching/repository/GroupRepository.java b/server/matching/src/main/java/meet_at_mensa/matching/repository/GroupRepository.java index 349cf1fe..5483bd71 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/repository/GroupRepository.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/repository/GroupRepository.java @@ -3,13 +3,13 @@ // import CRUD repository (Create/Read/Update/Delete) import org.springframework.data.repository.CrudRepository; -import meet_at_mensa.matching.model.Group; +import meet_at_mensa.matching.model.GroupEntity; import java.util.UUID; import java.time.LocalDate; // Interface GroupRepository represents the matchdb/groups table -public interface GroupRepository extends CrudRepository { +public interface GroupRepository extends CrudRepository { // This is auto-implemented by springboot into a Repository Bean @@ -17,5 +17,5 @@ public interface GroupRepository extends CrudRepository { // Custom Queries as described here: https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html // Find all matches on the same date - Iterable findByDate(LocalDate date); + Iterable findByDate(LocalDate date); } diff --git a/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRepository.java b/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRepository.java index f7b14bb6..9913e873 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRepository.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRepository.java @@ -4,12 +4,12 @@ // import CRUD repository (Create/Read/Update/Delete) import org.springframework.data.repository.CrudRepository; -import meet_at_mensa.matching.model.Match; +import meet_at_mensa.matching.model.MatchEntity; import java.util.UUID; // Interface MatchRepository represents the matchdb/matches table -public interface MatchRepository extends CrudRepository { +public interface MatchRepository extends CrudRepository { // This is auto-implemented by springboot into a Repository Bean @@ -17,11 +17,11 @@ public interface MatchRepository extends CrudRepository { // Custom Queries as described here: https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html // Find by userID - Iterable findByUserID(UUID userID); + Iterable findByUserID(UUID userID); // Find by groupID - Iterable findByGroupID(UUID groupID); + Iterable findByGroupID(UUID groupID); // Find by RSVP status - Iterable findByInviteStatus(InviteStatus inviteStatus); + Iterable findByInviteStatus(InviteStatus inviteStatus); } \ No newline at end of file diff --git a/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRequestRepository.java b/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRequestRepository.java index 9d4616e8..af37a262 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRequestRepository.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/repository/MatchRequestRepository.java @@ -3,13 +3,13 @@ // import CRUD repository (Create/Read/Update/Delete) import org.springframework.data.repository.CrudRepository; -import meet_at_mensa.matching.model.MatchRequest; +import meet_at_mensa.matching.model.MatchRequestEntity; import java.util.UUID; import java.time.LocalDate; // Interface MatchRequsetRepository represents the matchdb/match_requests table -public interface MatchRequestRepository extends CrudRepository { +public interface MatchRequestRepository extends CrudRepository { // This is auto-implemented by springboot into a Repository Bean @@ -17,5 +17,5 @@ public interface MatchRequestRepository extends CrudRepository findByDate(LocalDate date); + Iterable findByDate(LocalDate date); } diff --git a/server/matching/src/main/java/meet_at_mensa/matching/repository/TimeslotRepository.java b/server/matching/src/main/java/meet_at_mensa/matching/repository/TimeslotRepository.java index ca5e5d83..b2ac70db 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/repository/TimeslotRepository.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/repository/TimeslotRepository.java @@ -3,12 +3,12 @@ // import CRUD repository (Create/Read/Update/Delete) import org.springframework.data.repository.CrudRepository; -import meet_at_mensa.matching.model.Timeslot; +import meet_at_mensa.matching.model.TimeslotEntity; import java.util.UUID; // Interface TimeslotRepository represents the matchdb/match_timeslots table -public interface TimeslotRepository extends CrudRepository { +public interface TimeslotRepository extends CrudRepository { // This is auto-implemented by springboot into a Repository Bean @@ -16,5 +16,5 @@ public interface TimeslotRepository extends CrudRepository { // Custom Queries as described here: https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html // Find all matches on the same date - Iterable findByRequestID(UUID requestID); + Iterable findByRequestID(UUID requestID); } From 0b6245242b9cf20fe9deeb9a49daee2d2e12d4b6 Mon Sep 17 00:00:00 2001 From: Guilherme Stark Date: Mon, 30 Jun 2025 14:13:47 +0200 Subject: [PATCH 03/50] feat: add logic for TimeSlotService --- .../exception/RequestNotFoundException.java | 17 +++ .../matching/service/TimeslotService.java | 113 ++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/exception/RequestNotFoundException.java create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/service/TimeslotService.java diff --git a/server/matching/src/main/java/meet_at_mensa/matching/exception/RequestNotFoundException.java b/server/matching/src/main/java/meet_at_mensa/matching/exception/RequestNotFoundException.java new file mode 100644 index 00000000..73039da1 --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/exception/RequestNotFoundException.java @@ -0,0 +1,17 @@ +package meet_at_mensa.matching.exception; + +public class RequestNotFoundException extends RuntimeException { + + public RequestNotFoundException() { + super("Match Request not found"); + } + + public RequestNotFoundException(String message) { + super(message); + } + + public RequestNotFoundException(String message, Throwable cause) { + super(message, cause); + } + +} diff --git a/server/matching/src/main/java/meet_at_mensa/matching/service/TimeslotService.java b/server/matching/src/main/java/meet_at_mensa/matching/service/TimeslotService.java new file mode 100644 index 00000000..ab638da1 --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/service/TimeslotService.java @@ -0,0 +1,113 @@ +package meet_at_mensa.matching.service; + +import java.util.UUID; +import java.util.ArrayList; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; + +import meet_at_mensa.matching.exception.RequestNotFoundException; +import meet_at_mensa.matching.model.TimeslotEntity; +import meet_at_mensa.matching.repository.TimeslotRepository; + + +public class TimeslotService { + + @Autowired + private TimeslotRepository timeslotRepository; + + /** + * Searches the database for all timeslots entries for a given request + * + * @param requestID UUID of the request being searched for + * @return List of integer timeslots if found + * @throws RequestNotFoundException if no entries are found for request with id {requestID} + */ + public List getTimeslots(UUID requestID) { + + // search the database for timeslots associated with a requestID + Iterable timeslotEntities = timeslotRepository.findByRequestID(requestID); + + // if list is empty, throw exception + if (!timeslotEntities.iterator().hasNext()) { + throw new RequestNotFoundException(); + } + + // Extract integer values into a new list + List timeslots = new ArrayList<>(); + for (TimeslotEntity timeslotEntity : timeslotEntities) { + timeslots.add(timeslotEntity.getTimeslot()); + } + + // return + return timeslots; + } + + /** + * Searches the database for all timeslots entries for a given request + * + * @param requestID UUID of the request being registered + * @return List of integer timeslots to be registered + */ + public List registerTimeslots(UUID requestID, List timeslots) { + + // Save each timeslot into the database + for (Integer timeslot : timeslots) { + timeslotRepository.save(new TimeslotEntity(requestID, timeslot)); + } + + // fetch from database for return + return getTimeslots(requestID); + } + + + /** + * Removes all entries for a given request from the database + * + * @param requestID UUID of the request to be removed + * @return True if a value was deleted + * @throws RequestNotFoundException if no entries are found for request with id {requestID} + */ + public Boolean deleteTimeslots(UUID requestID) { + + // search the database for timeslots associated with a requestID + Iterable timeslotEntities = timeslotRepository.findByRequestID(requestID); + + // if list is empty, throw exception + if (!timeslotEntities.iterator().hasNext()) { + throw new RequestNotFoundException(); + } + + // Remove all entries from database + for (TimeslotEntity timeslotEntity : timeslotEntities) { + timeslotRepository.deleteById(timeslotEntity.getTimeslotID()); + } + + // return + return true; + } + + + /** + * Replaces all entries in a list with the new ones provided + * + * @param requestID UUID of the request being updated + * @param timeslotUpdate List list of new timeslots to replace the old one + * @return List of the timeslots, fetched from the database after the operation + * @throws RequestNotFoundException if no entries are found for request with id {requestID} + */ + public List updateTimeslots(UUID requestID, List timeslotUpdate) { + + // delete old timeslot data + deleteTimeslots(requestID); + + // register new timeslot data + registerTimeslots(requestID, timeslotUpdate); + + // fetch from database for return + return getTimeslots(requestID); + } + + + +} From 24a0322f1d71fd56aa38f346a4e7bf2cfdfd4dba Mon Sep 17 00:00:00 2001 From: Guilherme Stark Date: Mon, 30 Jun 2025 14:19:00 +0200 Subject: [PATCH 04/50] docs: List functions that need to be developed for each service --- .../service/ConversationStarterService.java | 9 +++++++++ .../matching/service/GroupService.java | 11 +++++++++++ .../matching/service/MatchRequestService.java | 13 +++++++++++++ .../matching/service/MatchService.java | 17 +++++++++++++++++ .../matching/service/MatchingService.java | 10 ++++++++++ .../matching/service/SchedulingService.java | 10 ++++++++++ .../matching/service/UserService.java | 7 +++++++ 7 files changed, 77 insertions(+) create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/service/GroupService.java create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/service/MatchRequestService.java create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/service/MatchService.java create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/service/MatchingService.java create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/service/SchedulingService.java create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/service/UserService.java diff --git a/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java b/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java new file mode 100644 index 00000000..f3c2299f --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java @@ -0,0 +1,9 @@ +package meet_at_mensa.matching.service; + +public class ConversationStarterService { + + // register + // fetch all by group + // remove all by group + +} diff --git a/server/matching/src/main/java/meet_at_mensa/matching/service/GroupService.java b/server/matching/src/main/java/meet_at_mensa/matching/service/GroupService.java new file mode 100644 index 00000000..b7f109a8 --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/service/GroupService.java @@ -0,0 +1,11 @@ +package meet_at_mensa.matching.service; + +public class GroupService { + + // register + // fetch single + // Set Conversation Starters + // fetch statuses + + +} diff --git a/server/matching/src/main/java/meet_at_mensa/matching/service/MatchRequestService.java b/server/matching/src/main/java/meet_at_mensa/matching/service/MatchRequestService.java new file mode 100644 index 00000000..3e5b89c3 --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/service/MatchRequestService.java @@ -0,0 +1,13 @@ +package meet_at_mensa.matching.service; + +public class MatchRequestService { + + // Fetch all by user + // Fetch Single + // Register + // Remove + // Update + // Update Status + // Remove Expired + +} diff --git a/server/matching/src/main/java/meet_at_mensa/matching/service/MatchService.java b/server/matching/src/main/java/meet_at_mensa/matching/service/MatchService.java new file mode 100644 index 00000000..2e2ff78b --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/service/MatchService.java @@ -0,0 +1,17 @@ +package meet_at_mensa.matching.service; + +public class MatchService { + + + // Fetch all by user + // Fetch single + + // Register + + // get MatchStatus + // update MatchStatus + + // Remove Single + // Removed Expired + +} diff --git a/server/matching/src/main/java/meet_at_mensa/matching/service/MatchingService.java b/server/matching/src/main/java/meet_at_mensa/matching/service/MatchingService.java new file mode 100644 index 00000000..7aba9d9f --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/service/MatchingService.java @@ -0,0 +1,10 @@ +package meet_at_mensa.matching.service; + +public class MatchingService { + + // Do matching (run the algorithim) + // Send out invites + // Update Statuses + // Check if re-mathching is needed + +} diff --git a/server/matching/src/main/java/meet_at_mensa/matching/service/SchedulingService.java b/server/matching/src/main/java/meet_at_mensa/matching/service/SchedulingService.java new file mode 100644 index 00000000..23b8c091 --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/service/SchedulingService.java @@ -0,0 +1,10 @@ +package meet_at_mensa.matching.service; + +public class SchedulingService { + + // Cleanup expired requests + // Cleanup expired Groups / matches + // Trigger Matching Runs + // Trigger Group Health-Checks + +} diff --git a/server/matching/src/main/java/meet_at_mensa/matching/service/UserService.java b/server/matching/src/main/java/meet_at_mensa/matching/service/UserService.java new file mode 100644 index 00000000..1166313b --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/service/UserService.java @@ -0,0 +1,7 @@ +package meet_at_mensa.matching.service; + +public class UserService { + + // fetch users from User Microservice + +} From 534f3a3d6db53b3a4d00376feba1b04676d8afbe Mon Sep 17 00:00:00 2001 From: Guilherme Stark Date: Mon, 30 Jun 2025 14:55:49 +0200 Subject: [PATCH 05/50] feat: implement ConversationStarterService --- .../exception/GroupNotFoundException.java | 17 +++ .../matching/repository/PromptRepository.java | 20 +++ .../service/ConversationStarterService.java | 118 +++++++++++++++++- 3 files changed, 151 insertions(+), 4 deletions(-) create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/exception/GroupNotFoundException.java create mode 100644 server/matching/src/main/java/meet_at_mensa/matching/repository/PromptRepository.java diff --git a/server/matching/src/main/java/meet_at_mensa/matching/exception/GroupNotFoundException.java b/server/matching/src/main/java/meet_at_mensa/matching/exception/GroupNotFoundException.java new file mode 100644 index 00000000..05d4962a --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/exception/GroupNotFoundException.java @@ -0,0 +1,17 @@ +package meet_at_mensa.matching.exception; + +public class GroupNotFoundException extends RuntimeException { + + public GroupNotFoundException() { + super("Match Request not found"); + } + + public GroupNotFoundException(String message) { + super(message); + } + + public GroupNotFoundException(String message, Throwable cause) { + super(message, cause); + } + +} diff --git a/server/matching/src/main/java/meet_at_mensa/matching/repository/PromptRepository.java b/server/matching/src/main/java/meet_at_mensa/matching/repository/PromptRepository.java new file mode 100644 index 00000000..70fde5c5 --- /dev/null +++ b/server/matching/src/main/java/meet_at_mensa/matching/repository/PromptRepository.java @@ -0,0 +1,20 @@ +package meet_at_mensa.matching.repository; + +// import CRUD repository (Create/Read/Update/Delete) +import org.springframework.data.repository.CrudRepository; + +import meet_at_mensa.matching.model.PromptEntity; + +import java.util.UUID; + +// Interface PromptRepository represents the matchdb/groups table +public interface PromptRepository extends CrudRepository { + + // This is auto-implemented by springboot into a Repository Bean + + // In order to be able to get all values for a given user ID, we define this custom query + // Custom Queries as described here: https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html + + // Find all matches on the same date + Iterable findByGroupID(UUID groupID); +} diff --git a/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java b/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java index f3c2299f..6036ce50 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java @@ -1,9 +1,119 @@ package meet_at_mensa.matching.service; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import org.openapitools.model.ConversationStarter; +import org.openapitools.model.ConversationStarterCollection; +import org.springframework.beans.factory.annotation.Autowired; + +import meet_at_mensa.matching.exception.GroupNotFoundException; +import meet_at_mensa.matching.exception.RequestNotFoundException; +import meet_at_mensa.matching.model.PromptEntity; +import meet_at_mensa.matching.model.TimeslotEntity; +import meet_at_mensa.matching.repository.PromptRepository; + public class ConversationStarterService { - - // register - // fetch all by group - // remove all by group + + @Autowired + private PromptRepository promptRepository; + + /** + * Fetches all prompts for a given group + * + * + * @param groupID UUID of the group the prompts correspond to + * @return List of prompts fetched from the database after the operation + */ + public ConversationStarterCollection getPrompts(UUID groupID) { + + // find all prompts belonging to a specific group + Iterable prompts = promptRepository.findByGroupID(groupID); + + // create return object + ConversationStarterCollection result = new ConversationStarterCollection(); + + // add all results to return object + for (PromptEntity prompt : prompts) { + + // create ConversationStarter object + ConversationStarter conversationStarter = new ConversationStarter(); + conversationStarter.setPrompt(prompt.getPrompt()); + + // ad to return object + result.addConversationsStartersItem(conversationStarter); + } + + return result; + } + + + /** + * Registers a list of prompts for a given group + * + * + * @param groupID UUID of the group the prompts correspond to + * @param conversationStarters ConversationStarterCollection conversation starter prompts + * @return ConversationStarterCollection of prompts fetched from the database after the operation + */ + public ConversationStarterCollection registerPrompts(UUID groupID, ConversationStarterCollection conversationStarters) { + + // save each conversationstarter to the database + for (ConversationStarter conversationStarter : conversationStarters.getConversationsStarters()) { + promptRepository.save(new PromptEntity(groupID, conversationStarter.getPrompt())); + } + + // return all prompts from library + return getPrompts(groupID); + + } + + /** + * Remove all prompts for a given group + * + * + * @param groupID UUID of the group the prompts correspond to + * @return true if entries were removed + * @throws GroupNotFoundException if no entries for this group are found + */ + public Boolean removePrompts(UUID groupID) { + + // search the database for prompts associated with a groupID + Iterable promptEntities = promptRepository.findByGroupID(groupID); + + // if list is empty, throw exception + if (!promptEntities.iterator().hasNext()) { + throw new RequestNotFoundException(); + } + + // remove all entries from database + for (PromptEntity promptEntity : promptEntities) { + promptRepository.deleteById(promptEntity.getPromptID()); + } + + return true; + + } + + + /** + * Replace all prompts currently in the system with new ones + * + * + * @param groupID UUID of the group the prompts correspond to + * @param ConversationStarterCollection new conversation starters + * @return ConversationStarterCollection after the operation is complete + * @throws GroupNotFoundException if no entries for this group are found + */ + public ConversationStarterCollection updatePrompts(UUID groupID, ConversationStarterCollection update) { + + removePrompts(groupID); + + registerPrompts(groupID, update); + + return getPrompts(groupID); + + } } From 4ac0bce4cd9767288a2db67e3aa6c54adf332cd3 Mon Sep 17 00:00:00 2001 From: Guilherme Stark Date: Mon, 30 Jun 2025 14:56:47 +0200 Subject: [PATCH 06/50] fix: remove obsolete code from ConversationStarterService --- .../matching/service/ConversationStarterService.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java b/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java index 6036ce50..d3ec0912 100644 --- a/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java +++ b/server/matching/src/main/java/meet_at_mensa/matching/service/ConversationStarterService.java @@ -1,7 +1,5 @@ package meet_at_mensa.matching.service; -import java.util.ArrayList; -import java.util.List; import java.util.UUID; import org.openapitools.model.ConversationStarter; @@ -11,7 +9,6 @@ import meet_at_mensa.matching.exception.GroupNotFoundException; import meet_at_mensa.matching.exception.RequestNotFoundException; import meet_at_mensa.matching.model.PromptEntity; -import meet_at_mensa.matching.model.TimeslotEntity; import meet_at_mensa.matching.repository.PromptRepository; public class ConversationStarterService { From 966c47bfd049afb79e755edd924c5a267d69fcd8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 30 Jun 2025 15:42:10 +0000 Subject: [PATCH 07/50] gen: generate code and documentation based on latest version of openapi.yaml --- server/gateway/generated/build.gradle | 2 -- .../generated/src/main/java/org/openapitools/api/GenAiApi.java | 2 +- .../src/main/java/org/openapitools/api/MatchingApi.java | 2 +- .../generated/src/main/java/org/openapitools/api/UserApi.java | 2 +- .../main/java/org/openapitools/model/ConversationStarter.java | 2 +- .../org/openapitools/model/ConversationStarterCollection.java | 2 +- .../generated/src/main/java/org/openapitools/model/Group.java | 2 +- .../src/main/java/org/openapitools/model/InviteStatus.java | 2 +- .../src/main/java/org/openapitools/model/Location.java | 2 +- .../generated/src/main/java/org/openapitools/model/Match.java | 2 +- .../src/main/java/org/openapitools/model/MatchCollection.java | 2 +- .../src/main/java/org/openapitools/model/MatchPreferences.java | 2 +- .../src/main/java/org/openapitools/model/MatchRequest.java | 2 +- .../java/org/openapitools/model/MatchRequestCollection.java | 2 +- .../src/main/java/org/openapitools/model/MatchRequestNew.java | 2 +- .../main/java/org/openapitools/model/MatchRequestUpdate.java | 2 +- .../src/main/java/org/openapitools/model/MatchStatus.java | 2 +- .../src/main/java/org/openapitools/model/RequestStatus.java | 3 ++- .../generated/src/main/java/org/openapitools/model/User.java | 2 +- .../src/main/java/org/openapitools/model/UserCollection.java | 2 +- .../src/main/java/org/openapitools/model/UserNew.java | 2 +- .../src/main/java/org/openapitools/model/UserUpdate.java | 2 +- .../generated/src/main/java/org/openapitools/api/GenAiApi.java | 2 +- .../src/main/java/org/openapitools/api/MatchingApi.java | 2 +- .../generated/src/main/java/org/openapitools/api/UserApi.java | 2 +- .../main/java/org/openapitools/model/ConversationStarter.java | 2 +- .../org/openapitools/model/ConversationStarterCollection.java | 2 +- .../generated/src/main/java/org/openapitools/model/Group.java | 2 +- .../src/main/java/org/openapitools/model/InviteStatus.java | 2 +- .../src/main/java/org/openapitools/model/Location.java | 2 +- .../generated/src/main/java/org/openapitools/model/Match.java | 2 +- .../src/main/java/org/openapitools/model/MatchCollection.java | 2 +- .../src/main/java/org/openapitools/model/MatchPreferences.java | 2 +- .../src/main/java/org/openapitools/model/MatchRequest.java | 2 +- .../java/org/openapitools/model/MatchRequestCollection.java | 2 +- .../src/main/java/org/openapitools/model/MatchRequestNew.java | 2 +- .../main/java/org/openapitools/model/MatchRequestUpdate.java | 2 +- .../src/main/java/org/openapitools/model/MatchStatus.java | 2 +- .../src/main/java/org/openapitools/model/RequestStatus.java | 2 +- .../generated/src/main/java/org/openapitools/model/User.java | 2 +- .../src/main/java/org/openapitools/model/UserCollection.java | 2 +- .../src/main/java/org/openapitools/model/UserNew.java | 2 +- .../src/main/java/org/openapitools/model/UserUpdate.java | 2 +- .../generated/src/main/java/org/openapitools/api/GenAiApi.java | 2 +- .../src/main/java/org/openapitools/api/MatchingApi.java | 2 +- .../generated/src/main/java/org/openapitools/api/UserApi.java | 2 +- .../main/java/org/openapitools/model/ConversationStarter.java | 2 +- .../org/openapitools/model/ConversationStarterCollection.java | 2 +- .../generated/src/main/java/org/openapitools/model/Group.java | 2 +- .../src/main/java/org/openapitools/model/InviteStatus.java | 2 +- .../src/main/java/org/openapitools/model/Location.java | 2 +- .../generated/src/main/java/org/openapitools/model/Match.java | 2 +- .../src/main/java/org/openapitools/model/MatchCollection.java | 2 +- .../src/main/java/org/openapitools/model/MatchPreferences.java | 2 +- .../src/main/java/org/openapitools/model/MatchRequest.java | 2 +- .../java/org/openapitools/model/MatchRequestCollection.java | 2 +- .../src/main/java/org/openapitools/model/MatchRequestNew.java | 2 +- .../main/java/org/openapitools/model/MatchRequestUpdate.java | 2 +- .../src/main/java/org/openapitools/model/MatchStatus.java | 2 +- .../src/main/java/org/openapitools/model/RequestStatus.java | 2 +- .../generated/src/main/java/org/openapitools/model/User.java | 2 +- .../src/main/java/org/openapitools/model/UserCollection.java | 2 +- .../src/main/java/org/openapitools/model/UserNew.java | 2 +- .../src/main/java/org/openapitools/model/UserUpdate.java | 2 +- 64 files changed, 64 insertions(+), 65 deletions(-) diff --git a/server/gateway/generated/build.gradle b/server/gateway/generated/build.gradle index 3886856a..5d1e3e0a 100644 --- a/server/gateway/generated/build.gradle +++ b/server/gateway/generated/build.gradle @@ -28,9 +28,7 @@ dependencies { } group = 'org.openapitools' - version = '2.1.1' - description = 'openapi-spring-gateway' java.sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/server/gateway/generated/src/main/java/org/openapitools/api/GenAiApi.java b/server/gateway/generated/src/main/java/org/openapitools/api/GenAiApi.java index 10d6938d..82793883 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/api/GenAiApi.java +++ b/server/gateway/generated/src/main/java/org/openapitools/api/GenAiApi.java @@ -35,7 +35,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") @Validated @Tag(name = "GenAI", description = "Paths belonging to the GenAI microservice") public interface GenAiApi { diff --git a/server/gateway/generated/src/main/java/org/openapitools/api/MatchingApi.java b/server/gateway/generated/src/main/java/org/openapitools/api/MatchingApi.java index 97fd6875..59e00e00 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/api/MatchingApi.java +++ b/server/gateway/generated/src/main/java/org/openapitools/api/MatchingApi.java @@ -39,7 +39,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") @Validated @Tag(name = "Matching", description = "Paths belonging to the Matching microservice") public interface MatchingApi { diff --git a/server/gateway/generated/src/main/java/org/openapitools/api/UserApi.java b/server/gateway/generated/src/main/java/org/openapitools/api/UserApi.java index c5d2183e..906369fb 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/api/UserApi.java +++ b/server/gateway/generated/src/main/java/org/openapitools/api/UserApi.java @@ -37,7 +37,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") @Validated @Tag(name = "User", description = "Paths belonging to the User microservice") public interface UserApi { diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/ConversationStarter.java b/server/gateway/generated/src/main/java/org/openapitools/model/ConversationStarter.java index b80f6d2d..0e9fcb0e 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/ConversationStarter.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/ConversationStarter.java @@ -20,7 +20,7 @@ */ @Schema(name = "ConversationStarter", description = "Object representing a conversation starter in the meet@mensa system") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class ConversationStarter { private @Nullable String prompt; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java b/server/gateway/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java index 4eec5ad7..a8cebe2b 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java @@ -24,7 +24,7 @@ */ @Schema(name = "ConversationStarterCollection", description = "Object representing a collection of conversation starters in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class ConversationStarterCollection { @Valid diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/Group.java b/server/gateway/generated/src/main/java/org/openapitools/model/Group.java index 1c5f8e39..8e1e94db 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/Group.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/Group.java @@ -30,7 +30,7 @@ */ @Schema(name = "Group", description = "Object representing a group that has been matched in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class Group { private @Nullable UUID groupID; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/InviteStatus.java b/server/gateway/generated/src/main/java/org/openapitools/model/InviteStatus.java index 5ebe17b5..23a73054 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/InviteStatus.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/InviteStatus.java @@ -20,7 +20,7 @@ * Enumerator representing the status of a Invitation | Value | Description | ---------|----------| | UNSENT | The system has not sent out this invitation yet | | SENT | The system has sent out this invitation | | CONFIRMED | The user has confirmed this invitation | | REJECTED | The user has rejected this invitation | | EXPIRED | The date for this invitation is in the past | */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public enum InviteStatus { UNSENT("UNSENT"), diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/Location.java b/server/gateway/generated/src/main/java/org/openapitools/model/Location.java index 45536151..6956e77c 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/Location.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/Location.java @@ -20,7 +20,7 @@ * Enumerator representing a mensa at which a meet can happen | Value | Description | ---------|----------| | GARCHING | The Mensa at the TUM Garching Campus | | ARCISSTR | The Mensa at the TUM Innenstadt Campus (Arcisstr. 21) | */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public enum Location { GARCHING("GARCHING"), diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/Match.java b/server/gateway/generated/src/main/java/org/openapitools/model/Match.java index d8c4957c..a0862af6 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/Match.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/Match.java @@ -24,7 +24,7 @@ */ @Schema(name = "Match", description = "Object representing a single match for a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class Match { private UUID matchID; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/MatchCollection.java b/server/gateway/generated/src/main/java/org/openapitools/model/MatchCollection.java index 512f3ae0..62e19ff9 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/MatchCollection.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/MatchCollection.java @@ -21,7 +21,7 @@ */ @Schema(name = "MatchCollection", description = "Object representing a collection of matches in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchCollection { private @Nullable Match matches; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/MatchPreferences.java b/server/gateway/generated/src/main/java/org/openapitools/model/MatchPreferences.java index 74c2f1cf..a394b2c5 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/MatchPreferences.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/MatchPreferences.java @@ -20,7 +20,7 @@ */ @Schema(name = "MatchPreferences", description = "Object Representing a set of user preferences") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchPreferences { private @Nullable Boolean degreePref; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequest.java b/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequest.java index 8b6b7e86..5e124225 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequest.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequest.java @@ -30,7 +30,7 @@ */ @Schema(name = "MatchRequest", description = "Object representing a request for matching a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequest { private UUID requestID; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java b/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java index a686a95c..e2252b6e 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java @@ -24,7 +24,7 @@ */ @Schema(name = "MatchRequestCollection", description = "Object representing a collection of match requests in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequestCollection { @Valid diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestNew.java b/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestNew.java index 7ffdac86..f22b5b13 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestNew.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestNew.java @@ -29,7 +29,7 @@ */ @Schema(name = "MatchRequestNew", description = "Object representing a request for matching a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequestNew { private UUID userID; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java b/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java index 9ccbb989..18467e5d 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java @@ -29,7 +29,7 @@ */ @Schema(name = "MatchRequestUpdate", description = "Object representing a request for matching a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequestUpdate { private @Nullable UUID userID; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/MatchStatus.java b/server/gateway/generated/src/main/java/org/openapitools/model/MatchStatus.java index aef7b209..18c2ed52 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/MatchStatus.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/MatchStatus.java @@ -22,7 +22,7 @@ * MatchStatus */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchStatus { private @Nullable UUID userID; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/RequestStatus.java b/server/gateway/generated/src/main/java/org/openapitools/model/RequestStatus.java index f273b518..2a71afa6 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/RequestStatus.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/RequestStatus.java @@ -19,7 +19,8 @@ /** * Enumerator representing the status of a MatchRequest | Value | Description | ---------|----------| | PENDING | The system has not attempted to match this request yet | | MATCHED | The system has fulfilled this request | | UNMATCHABLE | The system was unable to fulfill this request | | REMATCH | The sytem should attempt to fulfill this request again (ex: group cancelled for lacking RSVPs) | | EXPIRED | The date for this MatchRequest is in the past | */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") + +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public enum RequestStatus { PENDING("PENDING"), diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/User.java b/server/gateway/generated/src/main/java/org/openapitools/model/User.java index 6aedc7f8..0f4817f2 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/User.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/User.java @@ -26,7 +26,7 @@ */ @Schema(name = "User", description = "Object representing a student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class User { private UUID userID; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/UserCollection.java b/server/gateway/generated/src/main/java/org/openapitools/model/UserCollection.java index c0c004f1..98018115 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/UserCollection.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/UserCollection.java @@ -21,7 +21,7 @@ */ @Schema(name = "UserCollection", description = "Object representing a collection of student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class UserCollection { private @Nullable User users; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/UserNew.java b/server/gateway/generated/src/main/java/org/openapitools/model/UserNew.java index f4d20e8d..8444b9f2 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/UserNew.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/UserNew.java @@ -25,7 +25,7 @@ */ @Schema(name = "UserNew", description = "Object representing a student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class UserNew { private String email; diff --git a/server/gateway/generated/src/main/java/org/openapitools/model/UserUpdate.java b/server/gateway/generated/src/main/java/org/openapitools/model/UserUpdate.java index e94ebf50..9f1c32c3 100644 --- a/server/gateway/generated/src/main/java/org/openapitools/model/UserUpdate.java +++ b/server/gateway/generated/src/main/java/org/openapitools/model/UserUpdate.java @@ -25,7 +25,7 @@ */ @Schema(name = "UserUpdate", description = "Object representing a student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:28.287057915Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:06.096041329Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class UserUpdate { private @Nullable String email; diff --git a/server/matching/generated/src/main/java/org/openapitools/api/GenAiApi.java b/server/matching/generated/src/main/java/org/openapitools/api/GenAiApi.java index 692d48a6..6e834598 100644 --- a/server/matching/generated/src/main/java/org/openapitools/api/GenAiApi.java +++ b/server/matching/generated/src/main/java/org/openapitools/api/GenAiApi.java @@ -35,7 +35,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") @Validated @Tag(name = "GenAI", description = "Paths belonging to the GenAI microservice") public interface GenAiApi { diff --git a/server/matching/generated/src/main/java/org/openapitools/api/MatchingApi.java b/server/matching/generated/src/main/java/org/openapitools/api/MatchingApi.java index 974365b6..c3a66a40 100644 --- a/server/matching/generated/src/main/java/org/openapitools/api/MatchingApi.java +++ b/server/matching/generated/src/main/java/org/openapitools/api/MatchingApi.java @@ -39,7 +39,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") @Validated @Tag(name = "Matching", description = "Paths belonging to the Matching microservice") public interface MatchingApi { diff --git a/server/matching/generated/src/main/java/org/openapitools/api/UserApi.java b/server/matching/generated/src/main/java/org/openapitools/api/UserApi.java index cff1f6e6..14887d49 100644 --- a/server/matching/generated/src/main/java/org/openapitools/api/UserApi.java +++ b/server/matching/generated/src/main/java/org/openapitools/api/UserApi.java @@ -37,7 +37,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") @Validated @Tag(name = "User", description = "Paths belonging to the User microservice") public interface UserApi { diff --git a/server/matching/generated/src/main/java/org/openapitools/model/ConversationStarter.java b/server/matching/generated/src/main/java/org/openapitools/model/ConversationStarter.java index 539fce83..db35cd75 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/ConversationStarter.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/ConversationStarter.java @@ -20,7 +20,7 @@ */ @Schema(name = "ConversationStarter", description = "Object representing a conversation starter in the meet@mensa system") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class ConversationStarter { private @Nullable String prompt; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java b/server/matching/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java index 94fffb52..0259eda9 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java @@ -24,7 +24,7 @@ */ @Schema(name = "ConversationStarterCollection", description = "Object representing a collection of conversation starters in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class ConversationStarterCollection { @Valid diff --git a/server/matching/generated/src/main/java/org/openapitools/model/Group.java b/server/matching/generated/src/main/java/org/openapitools/model/Group.java index bf7adf30..83bc7c13 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/Group.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/Group.java @@ -30,7 +30,7 @@ */ @Schema(name = "Group", description = "Object representing a group that has been matched in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class Group { private @Nullable UUID groupID; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/InviteStatus.java b/server/matching/generated/src/main/java/org/openapitools/model/InviteStatus.java index 7d4ac9c2..098af88f 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/InviteStatus.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/InviteStatus.java @@ -20,7 +20,7 @@ * Enumerator representing the status of a Invitation | Value | Description | ---------|----------| | UNSENT | The system has not sent out this invitation yet | | SENT | The system has sent out this invitation | | CONFIRMED | The user has confirmed this invitation | | REJECTED | The user has rejected this invitation | | EXPIRED | The date for this invitation is in the past | */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public enum InviteStatus { UNSENT("UNSENT"), diff --git a/server/matching/generated/src/main/java/org/openapitools/model/Location.java b/server/matching/generated/src/main/java/org/openapitools/model/Location.java index 6083fb21..31123878 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/Location.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/Location.java @@ -20,7 +20,7 @@ * Enumerator representing a mensa at which a meet can happen | Value | Description | ---------|----------| | GARCHING | The Mensa at the TUM Garching Campus | | ARCISSTR | The Mensa at the TUM Innenstadt Campus (Arcisstr. 21) | */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public enum Location { GARCHING("GARCHING"), diff --git a/server/matching/generated/src/main/java/org/openapitools/model/Match.java b/server/matching/generated/src/main/java/org/openapitools/model/Match.java index 39fd46d5..9f08b9fd 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/Match.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/Match.java @@ -24,7 +24,7 @@ */ @Schema(name = "Match", description = "Object representing a single match for a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class Match { private UUID matchID; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/MatchCollection.java b/server/matching/generated/src/main/java/org/openapitools/model/MatchCollection.java index 6c66405f..d0562cf1 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/MatchCollection.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/MatchCollection.java @@ -21,7 +21,7 @@ */ @Schema(name = "MatchCollection", description = "Object representing a collection of matches in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchCollection { private @Nullable Match matches; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/MatchPreferences.java b/server/matching/generated/src/main/java/org/openapitools/model/MatchPreferences.java index 35e9efc5..63887a96 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/MatchPreferences.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/MatchPreferences.java @@ -20,7 +20,7 @@ */ @Schema(name = "MatchPreferences", description = "Object Representing a set of user preferences") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchPreferences { private @Nullable Boolean degreePref; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/MatchRequest.java b/server/matching/generated/src/main/java/org/openapitools/model/MatchRequest.java index 80600835..1b3dcfdf 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/MatchRequest.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/MatchRequest.java @@ -30,7 +30,7 @@ */ @Schema(name = "MatchRequest", description = "Object representing a request for matching a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequest { private UUID requestID; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java b/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java index 03b51a70..af4ff197 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java @@ -24,7 +24,7 @@ */ @Schema(name = "MatchRequestCollection", description = "Object representing a collection of match requests in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequestCollection { @Valid diff --git a/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestNew.java b/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestNew.java index baf4464e..26b0fa08 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestNew.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestNew.java @@ -29,7 +29,7 @@ */ @Schema(name = "MatchRequestNew", description = "Object representing a request for matching a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequestNew { private UUID userID; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java b/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java index 572fa77a..7bf6116d 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java @@ -29,7 +29,7 @@ */ @Schema(name = "MatchRequestUpdate", description = "Object representing a request for matching a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequestUpdate { private @Nullable UUID userID; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/MatchStatus.java b/server/matching/generated/src/main/java/org/openapitools/model/MatchStatus.java index dccb8cf8..ebc4fb41 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/MatchStatus.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/MatchStatus.java @@ -22,7 +22,7 @@ * MatchStatus */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchStatus { private @Nullable UUID userID; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/RequestStatus.java b/server/matching/generated/src/main/java/org/openapitools/model/RequestStatus.java index 3ccd91ce..15bb5489 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/RequestStatus.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/RequestStatus.java @@ -20,7 +20,7 @@ * Enumerator representing the status of a MatchRequest | Value | Description | ---------|----------| | PENDING | The system has not attempted to match this request yet | | MATCHED | The system has fulfilled this request | | UNMATCHABLE | The system was unable to fulfill this request | | REMATCH | The sytem should attempt to fulfill this request again (ex: group cancelled for lacking RSVPs) | | EXPIRED | The date for this MatchRequest is in the past | */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public enum RequestStatus { PENDING("PENDING"), diff --git a/server/matching/generated/src/main/java/org/openapitools/model/User.java b/server/matching/generated/src/main/java/org/openapitools/model/User.java index 9e624eb5..f11d32f0 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/User.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/User.java @@ -26,7 +26,7 @@ */ @Schema(name = "User", description = "Object representing a student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class User { private UUID userID; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/UserCollection.java b/server/matching/generated/src/main/java/org/openapitools/model/UserCollection.java index cc024273..1a26d1e3 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/UserCollection.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/UserCollection.java @@ -21,7 +21,7 @@ */ @Schema(name = "UserCollection", description = "Object representing a collection of student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class UserCollection { private @Nullable User users; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/UserNew.java b/server/matching/generated/src/main/java/org/openapitools/model/UserNew.java index 52b3a234..b700b55d 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/UserNew.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/UserNew.java @@ -25,7 +25,7 @@ */ @Schema(name = "UserNew", description = "Object representing a student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class UserNew { private String email; diff --git a/server/matching/generated/src/main/java/org/openapitools/model/UserUpdate.java b/server/matching/generated/src/main/java/org/openapitools/model/UserUpdate.java index 0b694021..bac85186 100644 --- a/server/matching/generated/src/main/java/org/openapitools/model/UserUpdate.java +++ b/server/matching/generated/src/main/java/org/openapitools/model/UserUpdate.java @@ -25,7 +25,7 @@ */ @Schema(name = "UserUpdate", description = "Object representing a student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:01.648093786Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:41:06.560518124Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class UserUpdate { private @Nullable String email; diff --git a/server/user/generated/src/main/java/org/openapitools/api/GenAiApi.java b/server/user/generated/src/main/java/org/openapitools/api/GenAiApi.java index e6f64642..854b1f35 100644 --- a/server/user/generated/src/main/java/org/openapitools/api/GenAiApi.java +++ b/server/user/generated/src/main/java/org/openapitools/api/GenAiApi.java @@ -35,7 +35,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") @Validated @Tag(name = "GenAI", description = "Paths belonging to the GenAI microservice") public interface GenAiApi { diff --git a/server/user/generated/src/main/java/org/openapitools/api/MatchingApi.java b/server/user/generated/src/main/java/org/openapitools/api/MatchingApi.java index 85d3f3b7..2a8c2bd0 100644 --- a/server/user/generated/src/main/java/org/openapitools/api/MatchingApi.java +++ b/server/user/generated/src/main/java/org/openapitools/api/MatchingApi.java @@ -39,7 +39,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") @Validated @Tag(name = "Matching", description = "Paths belonging to the Matching microservice") public interface MatchingApi { diff --git a/server/user/generated/src/main/java/org/openapitools/api/UserApi.java b/server/user/generated/src/main/java/org/openapitools/api/UserApi.java index 46c1eb48..57a67cf6 100644 --- a/server/user/generated/src/main/java/org/openapitools/api/UserApi.java +++ b/server/user/generated/src/main/java/org/openapitools/api/UserApi.java @@ -37,7 +37,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") @Validated @Tag(name = "User", description = "Paths belonging to the User microservice") public interface UserApi { diff --git a/server/user/generated/src/main/java/org/openapitools/model/ConversationStarter.java b/server/user/generated/src/main/java/org/openapitools/model/ConversationStarter.java index cea457d6..bf0b1c45 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/ConversationStarter.java +++ b/server/user/generated/src/main/java/org/openapitools/model/ConversationStarter.java @@ -20,7 +20,7 @@ */ @Schema(name = "ConversationStarter", description = "Object representing a conversation starter in the meet@mensa system") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class ConversationStarter { private @Nullable String prompt; diff --git a/server/user/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java b/server/user/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java index acdf7789..44e68613 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java +++ b/server/user/generated/src/main/java/org/openapitools/model/ConversationStarterCollection.java @@ -24,7 +24,7 @@ */ @Schema(name = "ConversationStarterCollection", description = "Object representing a collection of conversation starters in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class ConversationStarterCollection { @Valid diff --git a/server/user/generated/src/main/java/org/openapitools/model/Group.java b/server/user/generated/src/main/java/org/openapitools/model/Group.java index c686f598..306c8fb9 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/Group.java +++ b/server/user/generated/src/main/java/org/openapitools/model/Group.java @@ -30,7 +30,7 @@ */ @Schema(name = "Group", description = "Object representing a group that has been matched in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class Group { private @Nullable UUID groupID; diff --git a/server/user/generated/src/main/java/org/openapitools/model/InviteStatus.java b/server/user/generated/src/main/java/org/openapitools/model/InviteStatus.java index f0912aac..1dd6f77a 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/InviteStatus.java +++ b/server/user/generated/src/main/java/org/openapitools/model/InviteStatus.java @@ -20,7 +20,7 @@ * Enumerator representing the status of a Invitation | Value | Description | ---------|----------| | UNSENT | The system has not sent out this invitation yet | | SENT | The system has sent out this invitation | | CONFIRMED | The user has confirmed this invitation | | REJECTED | The user has rejected this invitation | | EXPIRED | The date for this invitation is in the past | */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public enum InviteStatus { UNSENT("UNSENT"), diff --git a/server/user/generated/src/main/java/org/openapitools/model/Location.java b/server/user/generated/src/main/java/org/openapitools/model/Location.java index c9ec19ef..a0874b91 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/Location.java +++ b/server/user/generated/src/main/java/org/openapitools/model/Location.java @@ -20,7 +20,7 @@ * Enumerator representing a mensa at which a meet can happen | Value | Description | ---------|----------| | GARCHING | The Mensa at the TUM Garching Campus | | ARCISSTR | The Mensa at the TUM Innenstadt Campus (Arcisstr. 21) | */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public enum Location { GARCHING("GARCHING"), diff --git a/server/user/generated/src/main/java/org/openapitools/model/Match.java b/server/user/generated/src/main/java/org/openapitools/model/Match.java index 1b4cf104..8acca1f7 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/Match.java +++ b/server/user/generated/src/main/java/org/openapitools/model/Match.java @@ -24,7 +24,7 @@ */ @Schema(name = "Match", description = "Object representing a single match for a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class Match { private UUID matchID; diff --git a/server/user/generated/src/main/java/org/openapitools/model/MatchCollection.java b/server/user/generated/src/main/java/org/openapitools/model/MatchCollection.java index f78a4e0b..fd2f1ec1 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/MatchCollection.java +++ b/server/user/generated/src/main/java/org/openapitools/model/MatchCollection.java @@ -21,7 +21,7 @@ */ @Schema(name = "MatchCollection", description = "Object representing a collection of matches in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchCollection { private @Nullable Match matches; diff --git a/server/user/generated/src/main/java/org/openapitools/model/MatchPreferences.java b/server/user/generated/src/main/java/org/openapitools/model/MatchPreferences.java index 5b548a72..077618d2 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/MatchPreferences.java +++ b/server/user/generated/src/main/java/org/openapitools/model/MatchPreferences.java @@ -20,7 +20,7 @@ */ @Schema(name = "MatchPreferences", description = "Object Representing a set of user preferences") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchPreferences { private @Nullable Boolean degreePref; diff --git a/server/user/generated/src/main/java/org/openapitools/model/MatchRequest.java b/server/user/generated/src/main/java/org/openapitools/model/MatchRequest.java index 25dddfe2..9370a2ed 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/MatchRequest.java +++ b/server/user/generated/src/main/java/org/openapitools/model/MatchRequest.java @@ -30,7 +30,7 @@ */ @Schema(name = "MatchRequest", description = "Object representing a request for matching a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequest { private UUID requestID; diff --git a/server/user/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java b/server/user/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java index fcb19f90..51b1e656 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java +++ b/server/user/generated/src/main/java/org/openapitools/model/MatchRequestCollection.java @@ -24,7 +24,7 @@ */ @Schema(name = "MatchRequestCollection", description = "Object representing a collection of match requests in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequestCollection { @Valid diff --git a/server/user/generated/src/main/java/org/openapitools/model/MatchRequestNew.java b/server/user/generated/src/main/java/org/openapitools/model/MatchRequestNew.java index b6dccbe7..fa1684d8 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/MatchRequestNew.java +++ b/server/user/generated/src/main/java/org/openapitools/model/MatchRequestNew.java @@ -29,7 +29,7 @@ */ @Schema(name = "MatchRequestNew", description = "Object representing a request for matching a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequestNew { private UUID userID; diff --git a/server/user/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java b/server/user/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java index 769c4996..7578540c 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java +++ b/server/user/generated/src/main/java/org/openapitools/model/MatchRequestUpdate.java @@ -29,7 +29,7 @@ */ @Schema(name = "MatchRequestUpdate", description = "Object representing a request for matching a given user on a given date in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchRequestUpdate { private @Nullable UUID userID; diff --git a/server/user/generated/src/main/java/org/openapitools/model/MatchStatus.java b/server/user/generated/src/main/java/org/openapitools/model/MatchStatus.java index abbc5026..400ff020 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/MatchStatus.java +++ b/server/user/generated/src/main/java/org/openapitools/model/MatchStatus.java @@ -22,7 +22,7 @@ * MatchStatus */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class MatchStatus { private @Nullable UUID userID; diff --git a/server/user/generated/src/main/java/org/openapitools/model/RequestStatus.java b/server/user/generated/src/main/java/org/openapitools/model/RequestStatus.java index 01b4052d..16916c81 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/RequestStatus.java +++ b/server/user/generated/src/main/java/org/openapitools/model/RequestStatus.java @@ -20,7 +20,7 @@ * Enumerator representing the status of a MatchRequest | Value | Description | ---------|----------| | PENDING | The system has not attempted to match this request yet | | MATCHED | The system has fulfilled this request | | UNMATCHABLE | The system was unable to fulfill this request | | REMATCH | The sytem should attempt to fulfill this request again (ex: group cancelled for lacking RSVPs) | | EXPIRED | The date for this MatchRequest is in the past | */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public enum RequestStatus { PENDING("PENDING"), diff --git a/server/user/generated/src/main/java/org/openapitools/model/User.java b/server/user/generated/src/main/java/org/openapitools/model/User.java index 69d879ab..fb19f712 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/User.java +++ b/server/user/generated/src/main/java/org/openapitools/model/User.java @@ -26,7 +26,7 @@ */ @Schema(name = "User", description = "Object representing a student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class User { private UUID userID; diff --git a/server/user/generated/src/main/java/org/openapitools/model/UserCollection.java b/server/user/generated/src/main/java/org/openapitools/model/UserCollection.java index bb4becdd..689d6ba3 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/UserCollection.java +++ b/server/user/generated/src/main/java/org/openapitools/model/UserCollection.java @@ -21,7 +21,7 @@ */ @Schema(name = "UserCollection", description = "Object representing a collection of student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class UserCollection { private @Nullable User users; diff --git a/server/user/generated/src/main/java/org/openapitools/model/UserNew.java b/server/user/generated/src/main/java/org/openapitools/model/UserNew.java index 7be1d02f..85cb8e6f 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/UserNew.java +++ b/server/user/generated/src/main/java/org/openapitools/model/UserNew.java @@ -25,7 +25,7 @@ */ @Schema(name = "UserNew", description = "Object representing a student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class UserNew { private String email; diff --git a/server/user/generated/src/main/java/org/openapitools/model/UserUpdate.java b/server/user/generated/src/main/java/org/openapitools/model/UserUpdate.java index c666b363..6dfd6219 100644 --- a/server/user/generated/src/main/java/org/openapitools/model/UserUpdate.java +++ b/server/user/generated/src/main/java/org/openapitools/model/UserUpdate.java @@ -25,7 +25,7 @@ */ @Schema(name = "UserUpdate", description = "Object representing a student user in the Meet@Mensa system.") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T08:36:23.620452344Z[Etc/UTC]", comments = "Generator version: 7.14.0") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2025-06-30T15:42:01.040689771Z[Etc/UTC]", comments = "Generator version: 7.14.0") public class UserUpdate { private @Nullable String email; From a2c5cc5c228ab3a8c4e8480dd69bf5eb4b08233b Mon Sep 17 00:00:00 2001 From: Guilherme Stark Date: Mon, 30 Jun 2025 17:44:57 +0200 Subject: [PATCH 08/50] spec: update api spec to v2.1.2 Marks all fields that aren't explicitly optional as required. --- api/changelogs/changelog_v2_1_2.md | 19 +++++++++++++++++++ api/openapi.yaml | 26 +++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 api/changelogs/changelog_v2_1_2.md diff --git a/api/changelogs/changelog_v2_1_2.md b/api/changelogs/changelog_v2_1_2.md new file mode 100644 index 00000000..1cc217d1 --- /dev/null +++ b/api/changelogs/changelog_v2_1_2.md @@ -0,0 +1,19 @@ +## Info +### Version +v2.1.2 +### Date +2025-06-30 +### Autor +James Stark +## Changelog: + +### Models +- Set required flag for most fields + +``` diff + +@@ All @@ ++ Set required flag for all fields where it is sensible +# This forces the generation of constructors where aplicable + +``` diff --git a/api/openapi.yaml b/api/openapi.yaml index 5fa4588d..b6816f09 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -3,7 +3,7 @@ x-stoplight: id: ceylawji1yc2t info: title: MeetAtMensa - version: 2.1.1 + version: 2.1.2 description: |- This OpenAPI specification defines the endpoints, schemas, and security mechanisms for the Meet@Mensa User micro-service. @@ -65,6 +65,8 @@ components: id: 5grlrzedrmo9k type: object description: Object representing a conversation starter in the meet@mensa system + required: + - prompt properties: prompt: type: string @@ -76,6 +78,8 @@ components: id: p1vhmcpea8fmp type: object description: Object representing a collection of conversation starters in the Meet@Mensa system. + required: + - conversationsStarters properties: conversationsStarters: type: array @@ -91,6 +95,13 @@ components: id: 67i45cu41e80g type: object description: Object representing a group that has been matched in the Meet@Mensa system. + required: + - groupID + - date + - time + - location + - userStatus + - conversationStarters properties: groupID: $ref: '#/components/schemas/groupID' @@ -204,6 +215,8 @@ components: id: 4bem9fq0uukzk type: object description: Object representing a collection of matches in the Meet@Mensa system. + required: + - matches properties: matches: $ref: '#/components/schemas/Match' @@ -222,6 +235,10 @@ components: id: azr6ciwnsz5nr type: object description: Object Representing a set of user preferences + required: + - degreePref + - agePref + - genderPref properties: degreePref: type: boolean @@ -293,6 +310,8 @@ components: id: ccqjyx1unnz6s type: object description: Object representing a collection of match requests in the Meet@Mensa system. + required: + - requests properties: requests: type: array @@ -379,6 +398,9 @@ components: x-stoplight: id: pdsvthtexm88j type: object + required: + - userID + - status properties: userID: $ref: '#/components/schemas/userID' @@ -528,6 +550,8 @@ components: id: 8qy8pit8jdvq3 type: object description: Object representing a collection of student user in the Meet@Mensa system. + required: + - users properties: users: $ref: '#/components/schemas/User' From 1b67d82002b090fbe3f04811a6783c342bfe4bc9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 30 Jun 2025 15:46:04 +0000 Subject: [PATCH 09/50] gen: generate code and documentation based on latest version of openapi.yaml --- client/src/api.ts | 32 ++++---- docs/api.html | 6 +- server/gateway/generated/build.gradle | 2 +- server/gateway/generated/pom.xml | 2 +- .../java/org/openapitools/api/GenAiApi.java | 2 +- .../org/openapitools/api/MatchingApi.java | 2 +- .../java/org/openapitools/api/UserApi.java | 2 +- .../model/ConversationStarter.java | 25 ++++-- .../model/ConversationStarterCollection.java | 17 +++- .../java/org/openapitools/model/Group.java | 82 +++++++++++-------- .../org/openapitools/model/InviteStatus.java | 2 +- .../java/org/openapitools/model/Location.java | 2 +- .../java/org/openapitools/model/Match.java | 2 +- .../openapitools/model/MatchCollection.java | 25 ++++-- .../openapitools/model/MatchPreferences.java | 51 +++++++----- .../org/openapitools/model/MatchRequest.java | 2 +- .../model/MatchRequestCollection.java | 17 +++- .../openapitools/model/MatchRequestNew.java | 2 +- .../model/MatchRequestUpdate.java | 2 +- .../org/openapitools/model/MatchStatus.java | 38 ++++++--- .../org/openapitools/model/RequestStatus.java | 2 +- .../java/org/openapitools/model/User.java | 2 +- .../openapitools/model/UserCollection.java | 25 ++++-- .../java/org/openapitools/model/UserNew.java | 2 +- .../org/openapitools/model/UserUpdate.java | 2 +- server/matching/generated/build.gradle | 2 +- server/matching/generated/pom.xml | 2 +- .../java/org/openapitools/api/GenAiApi.java | 2 +- .../org/openapitools/api/MatchingApi.java | 2 +- .../java/org/openapitools/api/UserApi.java | 2 +- .../model/ConversationStarter.java | 25 ++++-- .../model/ConversationStarterCollection.java | 17 +++- .../java/org/openapitools/model/Group.java | 82 +++++++++++-------- .../org/openapitools/model/InviteStatus.java | 2 +- .../java/org/openapitools/model/Location.java | 2 +- .../java/org/openapitools/model/Match.java | 2 +- .../openapitools/model/MatchCollection.java | 25 ++++-- .../openapitools/model/MatchPreferences.java | 51 +++++++----- .../org/openapitools/model/MatchRequest.java | 2 +- .../model/MatchRequestCollection.java | 17 +++- .../openapitools/model/MatchRequestNew.java | 2 +- .../model/MatchRequestUpdate.java | 2 +- .../org/openapitools/model/MatchStatus.java | 38 ++++++--- .../org/openapitools/model/RequestStatus.java | 2 +- .../java/org/openapitools/model/User.java | 2 +- .../openapitools/model/UserCollection.java | 25 ++++-- .../java/org/openapitools/model/UserNew.java | 2 +- .../org/openapitools/model/UserUpdate.java | 2 +- server/user/generated/build.gradle | 2 +- server/user/generated/pom.xml | 2 +- .../java/org/openapitools/api/GenAiApi.java | 2 +- .../org/openapitools/api/MatchingApi.java | 2 +- .../java/org/openapitools/api/UserApi.java | 2 +- .../model/ConversationStarter.java | 25 ++++-- .../model/ConversationStarterCollection.java | 17 +++- .../java/org/openapitools/model/Group.java | 82 +++++++++++-------- .../org/openapitools/model/InviteStatus.java | 2 +- .../java/org/openapitools/model/Location.java | 2 +- .../java/org/openapitools/model/Match.java | 2 +- .../openapitools/model/MatchCollection.java | 25 ++++-- .../openapitools/model/MatchPreferences.java | 51 +++++++----- .../org/openapitools/model/MatchRequest.java | 2 +- .../model/MatchRequestCollection.java | 17 +++- .../openapitools/model/MatchRequestNew.java | 2 +- .../model/MatchRequestUpdate.java | 2 +- .../org/openapitools/model/MatchStatus.java | 38 ++++++--- .../org/openapitools/model/RequestStatus.java | 2 +- .../java/org/openapitools/model/User.java | 2 +- .../openapitools/model/UserCollection.java | 25 ++++-- .../java/org/openapitools/model/UserNew.java | 2 +- .../org/openapitools/model/UserUpdate.java | 2 +- 71 files changed, 628 insertions(+), 340 deletions(-) diff --git a/client/src/api.ts b/client/src/api.ts index 8ac5989a..1a50571e 100644 --- a/client/src/api.ts +++ b/client/src/api.ts @@ -223,31 +223,31 @@ export interface components { * @description Object representing a conversation starter in the meet@mensa system */ ConversationStarter: { - prompt?: string; + prompt: string; }; /** * ConversationStarterCollection * @description Object representing a collection of conversation starters in the Meet@Mensa system. */ ConversationStarterCollection: { - conversationsStarters?: components["schemas"]["ConversationStarter"][]; + conversationsStarters: components["schemas"]["ConversationStarter"][]; }; /** * Group * @description Object representing a group that has been matched in the Meet@Mensa system. */ Group: { - groupID?: components["schemas"]["groupID"]; + groupID: components["schemas"]["groupID"]; /** * Format: date * @description Date the group is scheduled to meet at */ - date?: string; + date: string; /** @description Timeslot the group is scheduled to meet at */ - time?: components["schemas"]["timeslot"]; - location?: components["schemas"]["location"]; - userStatus?: components["schemas"]["MatchStatus"][]; - conversationStarters?: components["schemas"]["ConversationStarterCollection"]; + time: components["schemas"]["timeslot"]; + location: components["schemas"]["location"]; + userStatus: components["schemas"]["MatchStatus"][]; + conversationStarters: components["schemas"]["ConversationStarterCollection"]; }; /** * groupID @@ -300,7 +300,7 @@ export interface components { * @description Object representing a collection of matches in the Meet@Mensa system. */ MatchCollection: { - matches?: components["schemas"]["Match"]; + matches: components["schemas"]["Match"]; }; /** * matchID @@ -317,17 +317,17 @@ export interface components { * ---------|--------- * true | degree = same (priority) * false | degree = any (no priority) */ - degreePref?: boolean; + degreePref: boolean; /** @description Value | Meaning * ---------|--------- * true | age = same (priority) * false | age = any (no priority) */ - agePref?: boolean; + agePref: boolean; /** @description Value | Meaning * ---------|--------- * true | gender = same (priority) * false | gender = any (no priority) */ - genderPref?: boolean; + genderPref: boolean; }; /** * MatchRequest @@ -351,7 +351,7 @@ export interface components { * @description Object representing a collection of match requests in the Meet@Mensa system. */ MatchRequestCollection: { - requests?: components["schemas"]["MatchRequest"][]; + requests: components["schemas"]["MatchRequest"][]; }; /** * MatchRequestNew @@ -385,8 +385,8 @@ export interface components { }; /** MatchStatus */ MatchStatus: { - userID?: components["schemas"]["userID"]; - status?: components["schemas"]["inviteStatus"]; + userID: components["schemas"]["userID"]; + status: components["schemas"]["inviteStatus"]; }; /** * requestID @@ -483,7 +483,7 @@ export interface components { * @description Object representing a collection of student user in the Meet@Mensa system. */ UserCollection: { - users?: components["schemas"]["User"]; + users: components["schemas"]["User"]; }; /** * UserNew diff --git a/docs/api.html b/docs/api.html index b3cda8f2..6806ad4b 100644 --- a/docs/api.html +++ b/docs/api.html @@ -424,7 +424,7 @@ 55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864 -231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688, -104.0616 -231.873,-231.248 z - " fill="currentColor">

MeetAtMensa (2.1.1)

Download OpenAPI specification:

MeetAtMensa (2.1.2)

Download OpenAPI specification:

This OpenAPI specification defines the endpoints, schemas, and security mechanisms for the Meet@Mensa User micro-service.

@@ -434,7 +434,7 @@ " class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

Request a series of conversation starter prompts from the GenAI microservice. Provide infomation about users on request.

Authorizations:
auth0
Request Body schema: application/json

Request Conversation starter for these users

-
object (User)
required
object (User)

Object representing a student user in the Meet@Mensa system.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "firstname": "Max",
  • "lastname": "Mustermann",
  • "birthday": "2019-08-24",
  • "gender": "other",
  • "degree": "msc_informatics",
  • "degreeStart": 2024,
  • "interests": [
    ],
  • "bio": "string"
}

Response samples

Content type
application/json
{
  • "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa",
  • "email": "user@example.com",
  • "firstname": "Max",
  • "lastname": "Mustermann",
  • "birthday": "2019-08-24",
  • "gender": "other",
  • "degree": "msc_informatics",
  • "degreeStart": 2024,
  • "interests": [
    ],
  • "bio": "string"
}