diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/GymController.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/GymController.java index f368a70..9d08a54 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/GymController.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/GymController.java @@ -1,8 +1,8 @@ package nl.andrewlalis.gymboard_api.domains.api.controller; import nl.andrewlalis.gymboard_api.domains.api.dto.CompoundGymId; -import nl.andrewlalis.gymboard_api.domains.api.dto.SubmissionPayload; -import nl.andrewlalis.gymboard_api.domains.api.dto.SubmissionResponse; +import nl.andrewlalis.gymboard_api.domains.submission.dto.SubmissionPayload; +import nl.andrewlalis.gymboard_api.domains.submission.dto.SubmissionResponse; import nl.andrewlalis.gymboard_api.domains.api.dto.GymResponse; import nl.andrewlalis.gymboard_api.domains.api.service.GymService; import nl.andrewlalis.gymboard_api.domains.api.service.submission.ExerciseSubmissionService; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/LeaderboardController.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/LeaderboardController.java index 934c50d..f56a734 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/LeaderboardController.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/LeaderboardController.java @@ -1,6 +1,6 @@ package nl.andrewlalis.gymboard_api.domains.api.controller; -import nl.andrewlalis.gymboard_api.domains.api.dto.SubmissionResponse; +import nl.andrewlalis.gymboard_api.domains.submission.dto.SubmissionResponse; import nl.andrewlalis.gymboard_api.domains.api.service.LeaderboardService; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/UserSubmissionsController.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/UserSubmissionsController.java index 2729a5d..19abb05 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/UserSubmissionsController.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/UserSubmissionsController.java @@ -1,6 +1,6 @@ package nl.andrewlalis.gymboard_api.domains.api.controller; -import nl.andrewlalis.gymboard_api.domains.api.dto.SubmissionResponse; +import nl.andrewlalis.gymboard_api.domains.submission.dto.SubmissionResponse; import nl.andrewlalis.gymboard_api.domains.api.service.submission.UserSubmissionService; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/GymService.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/GymService.java index 85b74ab..62740af 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/GymService.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/GymService.java @@ -1,10 +1,10 @@ package nl.andrewlalis.gymboard_api.domains.api.service; import nl.andrewlalis.gymboard_api.domains.api.dto.CompoundGymId; -import nl.andrewlalis.gymboard_api.domains.api.dto.SubmissionResponse; +import nl.andrewlalis.gymboard_api.domains.submission.dto.SubmissionResponse; import nl.andrewlalis.gymboard_api.domains.api.dto.GymResponse; import nl.andrewlalis.gymboard_api.domains.api.dao.GymRepository; -import nl.andrewlalis.gymboard_api.domains.api.dao.submission.SubmissionRepository; +import nl.andrewlalis.gymboard_api.domains.submission.dao.SubmissionRepository; import nl.andrewlalis.gymboard_api.domains.api.model.Gym; import nl.andrewlalis.gymboard_api.util.PredicateBuilder; import org.slf4j.Logger; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/LeaderboardService.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/LeaderboardService.java index c5566c7..7b4293d 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/LeaderboardService.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/LeaderboardService.java @@ -1,10 +1,10 @@ package nl.andrewlalis.gymboard_api.domains.api.service; import nl.andrewlalis.gymboard_api.domains.api.dto.CompoundGymId; -import nl.andrewlalis.gymboard_api.domains.api.dto.SubmissionResponse; +import nl.andrewlalis.gymboard_api.domains.submission.dto.SubmissionResponse; import nl.andrewlalis.gymboard_api.domains.api.dao.GymRepository; import nl.andrewlalis.gymboard_api.domains.api.dao.ExerciseRepository; -import nl.andrewlalis.gymboard_api.domains.api.dao.submission.SubmissionRepository; +import nl.andrewlalis.gymboard_api.domains.submission.dao.SubmissionRepository; import nl.andrewlalis.gymboard_api.domains.api.model.Gym; import nl.andrewlalis.gymboard_api.domains.api.model.LeaderboardTimeframe; import nl.andrewlalis.gymboard_api.domains.api.model.Exercise; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/submission/ExerciseSubmissionService.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/submission/ExerciseSubmissionService.java index 14c2441..d091100 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/submission/ExerciseSubmissionService.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/submission/ExerciseSubmissionService.java @@ -2,14 +2,15 @@ package nl.andrewlalis.gymboard_api.domains.api.service.submission; import nl.andrewlalis.gymboard_api.domains.api.dao.GymRepository; import nl.andrewlalis.gymboard_api.domains.api.dao.ExerciseRepository; -import nl.andrewlalis.gymboard_api.domains.api.dao.submission.SubmissionRepository; +import nl.andrewlalis.gymboard_api.domains.submission.dao.SubmissionRepository; import nl.andrewlalis.gymboard_api.domains.api.dto.*; import nl.andrewlalis.gymboard_api.domains.api.model.Gym; import nl.andrewlalis.gymboard_api.domains.api.model.WeightUnit; import nl.andrewlalis.gymboard_api.domains.api.model.Exercise; -import nl.andrewlalis.gymboard_api.domains.api.model.submission.Submission; +import nl.andrewlalis.gymboard_api.domains.submission.dto.SubmissionPayload; +import nl.andrewlalis.gymboard_api.domains.submission.dto.SubmissionResponse; +import nl.andrewlalis.gymboard_api.domains.submission.model.Submission; import nl.andrewlalis.gymboard_api.domains.api.service.cdn_client.CdnClient; -import nl.andrewlalis.gymboard_api.domains.api.service.cdn_client.UploadsClient; import nl.andrewlalis.gymboard_api.domains.auth.dao.UserRepository; import nl.andrewlalis.gymboard_api.domains.auth.model.User; import nl.andrewlalis.gymboard_api.util.ULID; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/submission/UserSubmissionService.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/submission/UserSubmissionService.java index 4b0fd76..0a0d706 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/submission/UserSubmissionService.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/service/submission/UserSubmissionService.java @@ -1,7 +1,7 @@ package nl.andrewlalis.gymboard_api.domains.api.service.submission; -import nl.andrewlalis.gymboard_api.domains.api.dao.submission.SubmissionRepository; -import nl.andrewlalis.gymboard_api.domains.api.dto.SubmissionResponse; +import nl.andrewlalis.gymboard_api.domains.submission.dao.SubmissionRepository; +import nl.andrewlalis.gymboard_api.domains.submission.dto.SubmissionResponse; import nl.andrewlalis.gymboard_api.domains.auth.dao.UserRepository; import nl.andrewlalis.gymboard_api.domains.auth.model.User; import nl.andrewlalis.gymboard_api.domains.auth.service.UserAccessService; @@ -9,10 +9,8 @@ import nl.andrewlalis.gymboard_api.util.PredicateBuilder; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.server.ResponseStatusException; import java.util.List; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/auth/service/UserAccountDeletionService.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/auth/service/UserAccountDeletionService.java index 84d219a..1995843 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/auth/service/UserAccountDeletionService.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/auth/service/UserAccountDeletionService.java @@ -1,6 +1,6 @@ package nl.andrewlalis.gymboard_api.domains.auth.service; -import nl.andrewlalis.gymboard_api.domains.api.dao.submission.SubmissionRepository; +import nl.andrewlalis.gymboard_api.domains.submission.dao.SubmissionRepository; import nl.andrewlalis.gymboard_api.domains.auth.dao.*; import nl.andrewlalis.gymboard_api.domains.auth.model.User; import org.slf4j.Logger; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/SubmissionController.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/controller/SubmissionController.java similarity index 87% rename from gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/SubmissionController.java rename to gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/controller/SubmissionController.java index 99ccca6..09f3aaa 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/controller/SubmissionController.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/controller/SubmissionController.java @@ -1,8 +1,7 @@ -package nl.andrewlalis.gymboard_api.domains.api.controller; +package nl.andrewlalis.gymboard_api.domains.submission.controller; -import nl.andrewlalis.gymboard_api.domains.api.dto.SubmissionResponse; +import nl.andrewlalis.gymboard_api.domains.submission.dto.SubmissionResponse; import nl.andrewlalis.gymboard_api.domains.api.dto.VideoProcessingCompletePayload; -import nl.andrewlalis.gymboard_api.domains.api.service.cdn_client.UploadsClient; import nl.andrewlalis.gymboard_api.domains.api.service.submission.ExerciseSubmissionService; import nl.andrewlalis.gymboard_api.domains.auth.model.User; import org.springframework.http.ResponseEntity; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/dao/submission/SubmissionRepository.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/dao/SubmissionRepository.java similarity index 84% rename from gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/dao/submission/SubmissionRepository.java rename to gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/dao/SubmissionRepository.java index ceffc8c..cb433f2 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/dao/submission/SubmissionRepository.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/dao/SubmissionRepository.java @@ -1,6 +1,6 @@ -package nl.andrewlalis.gymboard_api.domains.api.dao.submission; +package nl.andrewlalis.gymboard_api.domains.submission.dao; -import nl.andrewlalis.gymboard_api.domains.api.model.submission.Submission; +import nl.andrewlalis.gymboard_api.domains.submission.model.Submission; import nl.andrewlalis.gymboard_api.domains.auth.model.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/dto/SubmissionPayload.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/dto/SubmissionPayload.java similarity index 76% rename from gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/dto/SubmissionPayload.java rename to gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/dto/SubmissionPayload.java index 9ac0a48..0f3f681 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/dto/SubmissionPayload.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/dto/SubmissionPayload.java @@ -1,4 +1,4 @@ -package nl.andrewlalis.gymboard_api.domains.api.dto; +package nl.andrewlalis.gymboard_api.domains.submission.dto; import java.time.LocalDateTime; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/dto/SubmissionResponse.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/dto/SubmissionResponse.java similarity index 71% rename from gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/dto/SubmissionResponse.java rename to gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/dto/SubmissionResponse.java index 5a97768..0207699 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/dto/SubmissionResponse.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/dto/SubmissionResponse.java @@ -1,6 +1,8 @@ -package nl.andrewlalis.gymboard_api.domains.api.dto; +package nl.andrewlalis.gymboard_api.domains.submission.dto; -import nl.andrewlalis.gymboard_api.domains.api.model.submission.Submission; +import nl.andrewlalis.gymboard_api.domains.api.dto.ExerciseResponse; +import nl.andrewlalis.gymboard_api.domains.api.dto.GymSimpleResponse; +import nl.andrewlalis.gymboard_api.domains.submission.model.Submission; import nl.andrewlalis.gymboard_api.domains.auth.dto.UserResponse; import nl.andrewlalis.gymboard_api.util.StandardDateFormatter; @@ -11,7 +13,9 @@ public record SubmissionResponse( ExerciseResponse exercise, UserResponse user, String performedAt, + long videoProcessingTaskId, String videoFileId, + String thumbnailFileId, double rawWeight, String weightUnit, double metricWeight, @@ -26,7 +30,9 @@ public record SubmissionResponse( new ExerciseResponse(submission.getExercise()), new UserResponse(submission.getUser()), StandardDateFormatter.format(submission.getPerformedAt()), + submission.getVideoProcessingTaskId(), submission.getVideoFileId(), + submission.getThumbnailFileId(), submission.getRawWeight().doubleValue(), submission.getWeightUnit().name(), submission.getMetricWeight().doubleValue(), diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/model/submission/Submission.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/Submission.java similarity index 94% rename from gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/model/submission/Submission.java rename to gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/Submission.java index 209a02d..0a78ced 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/model/submission/Submission.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/Submission.java @@ -1,4 +1,4 @@ -package nl.andrewlalis.gymboard_api.domains.api.model.submission; +package nl.andrewlalis.gymboard_api.domains.submission.model; import jakarta.persistence.*; import nl.andrewlalis.gymboard_api.domains.api.model.Exercise; @@ -48,6 +48,10 @@ public class Submission { @Column(length = 26) private String videoFileId = null; + /** + * The id of the thumbnail file that was generated for this submission. + * Similarly to the video file id, it refers to a file managed by the CDN. + */ @Column(length = 26) private String thumbnailFileId = null; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/SubmissionDraft.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/SubmissionDraft.java new file mode 100644 index 0000000..f9f47eb --- /dev/null +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/SubmissionDraft.java @@ -0,0 +1,129 @@ +package nl.andrewlalis.gymboard_api.domains.submission.model; + +import jakarta.persistence.*; +import nl.andrewlalis.gymboard_api.domains.api.model.Exercise; +import nl.andrewlalis.gymboard_api.domains.api.model.Gym; +import nl.andrewlalis.gymboard_api.domains.api.model.WeightUnit; +import nl.andrewlalis.gymboard_api.domains.auth.model.User; +import org.hibernate.annotations.CreationTimestamp; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * A submission draft is a temporary entity that exists while a user is + * preparing their submission. It includes all the data needed to make a + * submission, so when the user has finished editing, they can "submit" their + * draft and video processing will then begin, and once done, their submission + * will be published. + *
+ * This is not yet implemented! + *
+ */ +@Entity +@Table(name = "submission_draft") +public class SubmissionDraft { + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @CreationTimestamp + private LocalDateTime createdAt; + + @ManyToOne(optional = false, fetch = FetchType.LAZY) + private User user; + + @ManyToOne(optional = false, fetch = FetchType.LAZY) + private Gym gym; + + // All of the following properties are editable while this draft has not yet + // been submitted. They will be validated upon submission. + + @ManyToOne(fetch = FetchType.LAZY) + private Exercise exercise; + + @Column + private LocalDateTime performedAt; + + @Column(precision = 7, scale = 2) + private BigDecimal rawWeight; + + @Column @Enumerated(EnumType.STRING) + private WeightUnit weightUnit; + + @Column + private int reps; + + @Column + private long videoProcessingTaskId; + + public SubmissionDraft() {} + + public SubmissionDraft(User user, Gym gym) { + this.user = user; + this.gym = gym; + } + + public Long getId() { + return id; + } + + public LocalDateTime getCreatedAt() { + return createdAt; + } + + public User getUser() { + return user; + } + + public Gym getGym() { + return gym; + } + + public Exercise getExercise() { + return exercise; + } + + public LocalDateTime getPerformedAt() { + return performedAt; + } + + public BigDecimal getRawWeight() { + return rawWeight; + } + + public WeightUnit getWeightUnit() { + return weightUnit; + } + + public int getReps() { + return reps; + } + + public long getVideoProcessingTaskId() { + return videoProcessingTaskId; + } + + public void setExercise(Exercise exercise) { + this.exercise = exercise; + } + + public void setPerformedAt(LocalDateTime performedAt) { + this.performedAt = performedAt; + } + + public void setRawWeight(BigDecimal rawWeight) { + this.rawWeight = rawWeight; + } + + public void setWeightUnit(WeightUnit weightUnit) { + this.weightUnit = weightUnit; + } + + public void setReps(int reps) { + this.reps = reps; + } + + public void setVideoProcessingTaskId(long videoProcessingTaskId) { + this.videoProcessingTaskId = videoProcessingTaskId; + } +} diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/model/submission/SubmissionReport.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/SubmissionReport.java similarity index 89% rename from gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/model/submission/SubmissionReport.java rename to gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/SubmissionReport.java index 20cf0a0..ba5e7cb 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/model/submission/SubmissionReport.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/SubmissionReport.java @@ -1,7 +1,8 @@ -package nl.andrewlalis.gymboard_api.domains.api.model.submission; +package nl.andrewlalis.gymboard_api.domains.submission.model; import jakarta.persistence.*; import nl.andrewlalis.gymboard_api.domains.auth.model.User; +import nl.andrewlalis.gymboard_api.domains.submission.model.Submission; import org.hibernate.annotations.CreationTimestamp; import java.time.LocalDateTime; diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/model/submission/SubmissionVote.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/SubmissionVote.java similarity index 85% rename from gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/model/submission/SubmissionVote.java rename to gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/SubmissionVote.java index 171662e..8b28ff6 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/api/model/submission/SubmissionVote.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/domains/submission/model/SubmissionVote.java @@ -1,7 +1,8 @@ -package nl.andrewlalis.gymboard_api.domains.api.model.submission; +package nl.andrewlalis.gymboard_api.domains.submission.model; import jakarta.persistence.*; import nl.andrewlalis.gymboard_api.domains.auth.model.User; +import nl.andrewlalis.gymboard_api.domains.submission.model.Submission; @Entity @Table( diff --git a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/util/sample_data/SampleSubmissionGenerator.java b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/util/sample_data/SampleSubmissionGenerator.java index 16d46ce..3701be0 100644 --- a/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/util/sample_data/SampleSubmissionGenerator.java +++ b/gymboard-api/src/main/java/nl/andrewlalis/gymboard_api/util/sample_data/SampleSubmissionGenerator.java @@ -2,11 +2,11 @@ package nl.andrewlalis.gymboard_api.util.sample_data; import nl.andrewlalis.gymboard_api.domains.api.dao.ExerciseRepository; import nl.andrewlalis.gymboard_api.domains.api.dao.GymRepository; -import nl.andrewlalis.gymboard_api.domains.api.dao.submission.SubmissionRepository; +import nl.andrewlalis.gymboard_api.domains.submission.dao.SubmissionRepository; import nl.andrewlalis.gymboard_api.domains.api.model.Exercise; import nl.andrewlalis.gymboard_api.domains.api.model.Gym; import nl.andrewlalis.gymboard_api.domains.api.model.WeightUnit; -import nl.andrewlalis.gymboard_api.domains.api.model.submission.Submission; +import nl.andrewlalis.gymboard_api.domains.submission.model.Submission; import nl.andrewlalis.gymboard_api.domains.api.service.cdn_client.CdnClient; import nl.andrewlalis.gymboard_api.domains.api.service.cdn_client.UploadsClient; import nl.andrewlalis.gymboard_api.domains.auth.dao.UserRepository;