EscolaLMS/Courses

View on GitHub
src/ValueObjects/Contracts/CourseProgressCollectionContract.php

Summary

Maintainability
A
0 mins
Test Coverage
F
0%
<?php


namespace EscolaLms\Courses\ValueObjects\Contracts;


use Carbon\Carbon;
use EscolaLms\Courses\Models\Course;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Support\Collection;

interface CourseProgressCollectionContract
{
    public function getUser(): Authenticatable;

    public function getCourse(): Course;

    public function isFinished(): bool;

    public function getProgress(): Collection;

    public function setProgress(array $progress): self;

    public function getTotalSpentTime(): int;

    public function getFinishDate(): ?Carbon;

}