LEARN_ENGLISH plans unlock LMS only; IELTS and DUOLINGO unlock matching exam-prep catalog courses. Enable category subscription gating, restrict programs to Learn English, and treat Duolingo subscriptions as non-expiring one-time purchases. Co-authored-by: Cursor <cursoragent@cursor.com>
17 lines
670 B
Go
17 lines
670 B
Go
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, publishedOnly bool, category string, 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
|
|
}
|