Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractLinks ¶
func MatchesWeek ¶
func SanitizeFilename ¶
Types ¶
type EventCallback ¶
type EventCallback func(event model.MaterialEvent)
type GitLabDownloader ¶
type LMSClient ¶
type LMSClient interface {
ResolveCourse(ctx context.Context, query string) (int, string, error)
GetCourseOverview(ctx context.Context, courseID int) (*cu.CourseOverview, error)
GetLongReadContent(ctx context.Context, longReadID int) (*cu.MaterialsResponse, error)
DownloadFile(ctx context.Context, material cu.Material, destDir string) (string, error)
}
type UseCase ¶
type UseCase struct {
// contains filtered or unexported fields
}
func New ¶
func New(lms LMSClient, gitlab GitLabDownloader) *UseCase
func (*UseCase) Download ¶
func (uc *UseCase) Download( ctx context.Context, in model.MaterialsDownloadInput, onEvent EventCallback, ) (*model.MaterialsDownloadOutput, error)
Click to show internal directories.
Click to hide internal directories.