1
0
Fork 0
This repository has been archived on 2025-09-02. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
mareshq-yggdrasil/pkg/training/repository.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
}