package ports import ( "Yimaru-Backend/internal/domain" "context" ) type ProgramStore interface { CreateProgram(ctx context.Context, input domain.CreateProgramInput) (domain.Program, error) GetProgramByID(ctx context.Context, id int64) (domain.Program, error) ListPrograms(ctx context.Context, limit, offset int32) ([]domain.Program, int64, error) ListAllProgramIDs(ctx context.Context) ([]int64, error) ReorderPrograms(ctx context.Context, orderedIDs []int64) error UpdateProgram(ctx context.Context, id int64, input domain.UpdateProgramInput) (domain.Program, error) DeleteProgram(ctx context.Context, id int64) error }