mirror of
https://codeberg.org/jsilveira/br.dev.jsilveira.coresync.git
synced 2026-06-11 18:05:06 +00:00
Refactor architecture into user, workout, and session domains
- Move domain models and exceptions into their corresponding modules - Fix typos in interface names, renaming 'UserCase' to 'UseCase' - Reorganize input and output ports for each specific domain - Create dedicated web controllers and Mongo persistence adapters for the new modules - Clean up unused application ports and legacy adapters
This commit is contained in:
parent
d97cdf49c2
commit
6f7a44e87b
83 changed files with 224 additions and 291 deletions
|
|
@ -1,4 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.adapter.in.web
|
||||
|
||||
class TrainingController {
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.adapter.out.persistence
|
||||
|
||||
class MongoTrainingAdapter {
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.User
|
||||
|
||||
interface CreateUserUseCase {
|
||||
User execute(String name, String email)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutPlan
|
||||
|
||||
interface CreateWorkoutPlanUserCase {
|
||||
WorkoutPlan(String name, UUID userId)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.User
|
||||
|
||||
interface DisableUserEmailVerifiedUseCase {
|
||||
User execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.User
|
||||
|
||||
interface DisableUserUseCase {
|
||||
User execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutDay
|
||||
|
||||
interface DisableWorkoutDayRestUserCase {
|
||||
WorkoutDay execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutPlan
|
||||
|
||||
interface DisableWorkoutPlanUserCase {
|
||||
WorkoutPlan execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.User
|
||||
|
||||
interface EnableUserEmailVerifiedUseCase {
|
||||
User execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.User
|
||||
|
||||
interface EnableUserUseCase {
|
||||
User execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutDay
|
||||
|
||||
interface EnableWorkoutDayRestUserCase {
|
||||
WorkoutDay execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutPlan
|
||||
|
||||
interface EnableWorkoutPlanUserCase {
|
||||
WorkoutPlan execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.User
|
||||
|
||||
interface UpdateUserEmailUseCase {
|
||||
User execute(UUID id, String email)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.User
|
||||
|
||||
interface UpdateUserImageUseCase {
|
||||
User execute(UUID id, String image)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.User
|
||||
|
||||
interface UpdateUserNameUseCase {
|
||||
User execute(UUID id, String name)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.User
|
||||
|
||||
interface UpdateUserUpdatedAtUseCase {
|
||||
User execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.UserWorkoutSession
|
||||
|
||||
import java.time.LocalDateTime
|
||||
|
||||
interface UpdateUserWorkoutSessionCompletedAtUserCase {
|
||||
UserWorkoutSession execute(UUID id, LocalDateTime completedAt)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutDay
|
||||
|
||||
interface UpdateWorkoutDayDurationUserCase {
|
||||
WorkoutDay execute(UUID id, Integer estimatedDurationInSeconds)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutDay
|
||||
|
||||
interface UpdateWorkoutDayNameUserCase {
|
||||
WorkoutDay execute(UUID id, String name)
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutDay
|
||||
|
||||
import java.time.LocalDateTime
|
||||
|
||||
interface UpdateWorkoutDayUpdatedAtUserCase {
|
||||
WorkoutDay execute(UUID id, LocalDateTime updatedAt)
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WeekDay
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutDay
|
||||
|
||||
interface UpdateWorkoutDayWeekDayUserCase {
|
||||
WorkoutDay execute(UUID id, WeekDay weekDay)
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutDay
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutExercise
|
||||
|
||||
interface UpdateWorkoutDayWorkoutExercisesUserCase {
|
||||
WorkoutDay execute(UUID id, List<WorkoutExercise> workoutExercises )
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutExercise
|
||||
|
||||
interface UpdateWorkoutExerciseNameUserCase {
|
||||
WorkoutExercise execute(UUID id, String name)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutExercise
|
||||
|
||||
interface UpdateWorkoutExerciseOrderUserCase {
|
||||
WorkoutExercise execute(UUID id, Integer order)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutExercise
|
||||
|
||||
interface UpdateWorkoutExerciseRepsUserCase {
|
||||
WorkoutExercise execute(UUID id, Integer reps)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutExercise
|
||||
|
||||
interface UpdateWorkoutExerciseRestTimeUserCase {
|
||||
WorkoutExercise execute(UUID id, Integer restTime)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutExercise
|
||||
|
||||
interface UpdateWorkoutExerciseSetsUserCase {
|
||||
WorkoutExercise execute(UUID id, Integer sets)
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutExercise
|
||||
|
||||
import java.time.LocalDateTime
|
||||
|
||||
interface UpdateWorkoutExerciseUpdatedAtUserCase {
|
||||
WorkoutExercise execute(UUID id, LocalDateTime updatedAt)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutExercise
|
||||
|
||||
interface UpdateWorkoutPlanNameUserCase {
|
||||
WorkoutExercise execute(UUID id, String name)
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutPlan
|
||||
|
||||
import java.time.LocalDateTime
|
||||
|
||||
interface UpdateWorkoutPlanUpdateAtUserCase {
|
||||
WorkoutPlan execute(UUID id, LocalDateTime updateAt)
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutDay
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutPlan
|
||||
|
||||
interface UpdateWorkoutPlanWorkoutDaysUserCase {
|
||||
WorkoutPlan execute(UUID id, List<WorkoutDay> workoutDays)
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.out
|
||||
|
||||
interface GetUserEmailUserCase {
|
||||
String execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.out
|
||||
|
||||
interface GetUserEmailVerifiedUserCase {
|
||||
Boolean execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.out
|
||||
|
||||
interface GetUserImageUserCase {
|
||||
String execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.out
|
||||
|
||||
interface GetUserIsActiveUserCase {
|
||||
Boolean execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.out
|
||||
|
||||
interface GetUserNameUserCase {
|
||||
String execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.out
|
||||
|
||||
interface GetWorkoutPlanIsActiveUserCase {
|
||||
Boolean execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutPlan
|
||||
|
||||
interface GetWorkoutPlanNameUserCase {
|
||||
String execute(UUID id)
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
package br.dev.jsilveira.coresync.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.model.WorkoutDay
|
||||
|
||||
interface GetWorkoutPlanWorkoutDaysUserCase {
|
||||
List<WorkoutDay> execute(UUID id)
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
package br.dev.jsilveira.coresync.session.adapter.in.web
|
||||
|
|
@ -0,0 +1 @@
|
|||
package br.dev.jsilveira.coresync.session.adapter.out.persistence
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.session.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.session.domain.model.UserWorkoutSession
|
||||
|
||||
interface UpdateUserWorkoutSessionCompletedAtUseCase {
|
||||
UserWorkoutSession execute(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.session.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.session.domain.model.UserWorkoutSession
|
||||
|
||||
interface LoadUserWorkoutSessionPort {
|
||||
UserWorkoutSession load(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.session.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.session.domain.model.UserWorkoutSession
|
||||
|
||||
interface SaveUserWorkoutSessionPort {
|
||||
void save(UserWorkoutSession userWorkoutSession)
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.domain.exception;
|
||||
package br.dev.jsilveira.coresync.session.domain.exception;
|
||||
|
||||
public class UserWorkoutSessionException extends RuntimeException {
|
||||
public UserWorkoutSessionException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
package br.dev.jsilveira.coresync.domain.model
|
||||
package br.dev.jsilveira.coresync.session.domain.model
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.exception.UserWorkoutSessionException
|
||||
import br.dev.jsilveira.coresync.session.domain.exception.UserWorkoutSessionException
|
||||
import java.time.LocalDateTime
|
||||
import java.time.Duration
|
||||
import java.util.UUID
|
||||
|
||||
record UserWorkoutSession(
|
||||
UUID id,
|
||||
|
|
@ -0,0 +1 @@
|
|||
package br.dev.jsilveira.coresync.user.adapter.in.web
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
package br.dev.jsilveira.coresync.user.adapter.out.persistence
|
||||
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.user.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.user.domain.model.User
|
||||
|
||||
interface CreateUserUseCase {
|
||||
User execute(String name, String email)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.user.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.user.domain.model.User
|
||||
|
||||
interface DisableUserEmailVerifiedUseCase {
|
||||
User execute(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.user.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.user.domain.model.User
|
||||
|
||||
interface DisableUserUseCase {
|
||||
User execute(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.user.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.user.domain.model.User
|
||||
|
||||
interface EnableUserEmailVerifiedUseCase {
|
||||
User execute(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.user.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.user.domain.model.User
|
||||
|
||||
interface EnableUserUseCase {
|
||||
User execute(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.user.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.user.domain.model.User
|
||||
|
||||
interface UpdateUserEmailUseCase {
|
||||
User execute(UUID id, String email)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.user.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.user.domain.model.User
|
||||
|
||||
interface UpdateUserImageUseCase {
|
||||
User execute(UUID id, String image)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.user.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.user.domain.model.User
|
||||
|
||||
interface UpdateUserNameUseCase {
|
||||
User execute(UUID id, String name)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.user.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.user.domain.model.User
|
||||
|
||||
interface LoadUserPort {
|
||||
User load(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.user.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.user.domain.model.User
|
||||
|
||||
interface SaveUserPort {
|
||||
void save(User user)
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.domain.exception;
|
||||
package br.dev.jsilveira.coresync.user.domain.exception;
|
||||
|
||||
public class UserException extends RuntimeException {
|
||||
public UserException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
package br.dev.jsilveira.coresync.domain.model
|
||||
package br.dev.jsilveira.coresync.user.domain.model
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.exception.UserException
|
||||
import br.dev.jsilveira.coresync.user.domain.exception.UserException
|
||||
|
||||
import java.time.LocalDateTime
|
||||
import java.util.UUID
|
||||
|
||||
record User(
|
||||
UUID id,
|
||||
|
|
@ -0,0 +1 @@
|
|||
package br.dev.jsilveira.coresync.workout.adapter.in.web
|
||||
|
|
@ -0,0 +1 @@
|
|||
package br.dev.jsilveira.coresync.workout.adapter.out.persistence
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutPlan
|
||||
|
||||
interface CreateWorkoutPlanUseCase {
|
||||
WorkoutPlan execute(String name, UUID userId)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutDay
|
||||
|
||||
interface DisableWorkoutDayRestUseCase {
|
||||
WorkoutDay execute(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutPlan
|
||||
|
||||
interface DisableWorkoutPlanUseCase {
|
||||
WorkoutPlan execute(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutDay
|
||||
|
||||
interface EnableWorkoutDayRestUseCase {
|
||||
WorkoutDay execute(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutPlan
|
||||
|
||||
interface EnableWorkoutPlanUseCase {
|
||||
WorkoutPlan execute(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutDay
|
||||
|
||||
interface UpdateWorkoutDayNameUseCase {
|
||||
WorkoutDay execute(UUID id, String name)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutExercise
|
||||
|
||||
interface UpdateWorkoutExerciseNameUseCase {
|
||||
WorkoutExercise execute(UUID id, String name)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.in
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutPlan
|
||||
|
||||
interface UpdateWorkoutPlanNameUseCase {
|
||||
WorkoutPlan execute(UUID id, String name)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutDay
|
||||
|
||||
interface LoadWorkoutDayPort {
|
||||
WorkoutDay load(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutExercise
|
||||
|
||||
interface LoadWorkoutExercisePort {
|
||||
WorkoutExercise load(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutPlan
|
||||
|
||||
interface LoadWorkoutPlanPort {
|
||||
WorkoutPlan load(UUID id)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutDay
|
||||
|
||||
interface SaveWorkoutDayPort {
|
||||
void save(WorkoutDay workoutDay)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutExercise
|
||||
|
||||
interface SaveWorkoutExercisePort {
|
||||
void save(WorkoutExercise workoutExercise)
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.workout.application.port.out
|
||||
|
||||
import br.dev.jsilveira.coresync.workout.domain.model.WorkoutPlan
|
||||
|
||||
interface SaveWorkoutPlanPort {
|
||||
void save(WorkoutPlan workoutPlan)
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.domain.exception;
|
||||
package br.dev.jsilveira.coresync.workout.domain.exception;
|
||||
|
||||
public class WorkoutDayException extends RuntimeException {
|
||||
public WorkoutDayException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.domain.exception;
|
||||
package br.dev.jsilveira.coresync.workout.domain.exception;
|
||||
|
||||
public class WorkoutExerciseException extends RuntimeException {
|
||||
public WorkoutExerciseException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package br.dev.jsilveira.coresync.domain.exception;
|
||||
package br.dev.jsilveira.coresync.workout.domain.exception;
|
||||
|
||||
public class WorkoutPlanException extends RuntimeException {
|
||||
public WorkoutPlanException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package br.dev.jsilveira.coresync.domain.model
|
||||
package br.dev.jsilveira.coresync.workout.domain.model
|
||||
|
||||
enum WeekDay {
|
||||
DOMINGO(1),
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
package br.dev.jsilveira.coresync.domain.model
|
||||
package br.dev.jsilveira.coresync.workout.domain.model
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.exception.WorkoutDayException
|
||||
import br.dev.jsilveira.coresync.workout.domain.exception.WorkoutDayException
|
||||
|
||||
import java.time.LocalDateTime
|
||||
import java.util.UUID
|
||||
|
||||
record WorkoutDay(
|
||||
UUID id,
|
||||
|
|
@ -50,5 +51,4 @@ record WorkoutDay(
|
|||
int calculateTotalTime() {
|
||||
return workoutExercises.sum { it.estimatedTime() } ?: 0 as int
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
package br.dev.jsilveira.coresync.domain.model
|
||||
package br.dev.jsilveira.coresync.workout.domain.model
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.exception.WorkoutExerciseException
|
||||
import br.dev.jsilveira.coresync.workout.domain.exception.WorkoutExerciseException
|
||||
|
||||
import java.time.LocalDateTime
|
||||
import java.util.UUID
|
||||
|
||||
record WorkoutExercise(
|
||||
UUID id,
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
package br.dev.jsilveira.coresync.domain.model
|
||||
package br.dev.jsilveira.coresync.workout.domain.model
|
||||
|
||||
import br.dev.jsilveira.coresync.domain.exception.WorkoutPlanException
|
||||
import br.dev.jsilveira.coresync.workout.domain.exception.WorkoutPlanException
|
||||
|
||||
import java.time.LocalDateTime
|
||||
import java.util.UUID
|
||||
|
||||
record WorkoutPlan(
|
||||
UUID id,
|
||||
|
|
@ -10,7 +11,7 @@ record WorkoutPlan(
|
|||
UUID userId,
|
||||
Boolean isActive = Boolean.FALSE,
|
||||
LocalDateTime createdAt = LocalDateTime.now(),
|
||||
LocalDateTime updateAt = LocaDateTime.now(),
|
||||
LocalDateTime updateAt = LocalDateTime.now(),
|
||||
List<WorkoutDay> workoutDays = []
|
||||
) {
|
||||
public WorkoutPlan {
|
||||
Loading…
Reference in a new issue