21 lines
711 B
Go
21 lines
711 B
Go
package training
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
type Repository interface {
|
|
FindAll(ctx context.Context) ([]Training, error)
|
|
FindByID(ctx context.Context, id ID) (*Training, error)
|
|
Create(ctx context.Context, training *Training) error
|
|
Update(ctx context.Context, training *Training) error
|
|
Publish(ctx context.Context, id ID) error
|
|
Unpublish(ctx context.Context, id ID) error
|
|
Retire(ctx context.Context, id ID) error
|
|
}
|
|
|
|
type PricingRepository interface {
|
|
UpdateForCurrency(ctx context.Context, trainingID ID, currency string, price float64) error
|
|
AddCurrency(ctx context.Context, trainingID ID, currency string, price float64) error
|
|
RemoveCurrency(ctx context.Context, trainingID ID, currency string) error
|
|
}
|