17 lines
736 B
Go
17 lines
736 B
Go
package ports
|
|
|
|
import (
|
|
"Yimaru-Backend/internal/domain"
|
|
"context"
|
|
)
|
|
|
|
type ModuleStore interface {
|
|
CreateModule(ctx context.Context, programID, courseID int64, input domain.CreateModuleInput) (domain.Module, error)
|
|
GetModuleByID(ctx context.Context, id int64) (domain.Module, error)
|
|
ListModulesByProgramAndCourse(ctx context.Context, programID, courseID int64, limit, offset int32) ([]domain.Module, int64, error)
|
|
ListModuleIDsByCourse(ctx context.Context, courseID int64) ([]int64, error)
|
|
ReorderModulesInCourse(ctx context.Context, courseID int64, orderedIDs []int64) error
|
|
UpdateModule(ctx context.Context, id int64, input domain.UpdateModuleInput) (domain.Module, error)
|
|
DeleteModule(ctx context.Context, id int64) error
|
|
}
|