28 lines
1 KiB
Go
28 lines
1 KiB
Go
package training
|
|
|
|
type TrainingRepository interface {
|
|
Create(training *Training) error
|
|
FindByID(id TrainingID) (*Training, error)
|
|
FindAll() ([]Training, error)
|
|
Update(training *Training) error
|
|
Delete(id TrainingID) error
|
|
}
|
|
|
|
type TrainingDateRepository interface {
|
|
Create(trainingID TrainingID, trainingDate *TrainingDate) error
|
|
FindByID(id TrainingDateID) (*TrainingDate, error)
|
|
FindAll() ([]TrainingDate, error)
|
|
FindAllByTrainingID(trainingID TrainingID) ([]TrainingDate, error)
|
|
FindUpcomingByTrainingID(trainingID TrainingID) ([]TrainingDate, error)
|
|
Update(trainingDate *TrainingDate) error
|
|
Delete(id TrainingDateID) error
|
|
}
|
|
|
|
type TrainingDateAttendeeRepository interface {
|
|
Create(trainingDateID TrainingDateID, attendee *TrainingDateAttendee) error
|
|
FindByID(id TrainingDateAttendeeID) (*TrainingDateAttendee, error)
|
|
FindAll() ([]TrainingDateAttendee, error)
|
|
FindAllByTrainingDateID(trainingDateID TrainingDateID) ([]TrainingDateAttendee, error)
|
|
Update(attendee *TrainingDateAttendee) error
|
|
Delete(id TrainingDateAttendeeID) error
|
|
}
|