chore: commit remaining workspace changes
This commit is contained in:
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Services\Academy;
|
||||
|
||||
use App\Models\AcademyCourse;
|
||||
use App\Models\AcademyLesson;
|
||||
use App\Models\AcademyLessonProgress;
|
||||
use App\Models\AcademyPromptTemplate;
|
||||
@@ -12,11 +13,13 @@ use App\Models\User;
|
||||
|
||||
final class AcademyProgressService
|
||||
{
|
||||
public function __construct(private readonly AcademyBadgeService $badges)
|
||||
{
|
||||
public function __construct(
|
||||
private readonly AcademyBadgeService $badges,
|
||||
private readonly AcademyCourseProgressService $courses,
|
||||
) {
|
||||
}
|
||||
|
||||
public function markLessonComplete(User $user, AcademyLesson $lesson): AcademyLessonProgress
|
||||
public function markLessonComplete(User $user, AcademyLesson $lesson, ?AcademyCourse $course = null): AcademyLessonProgress
|
||||
{
|
||||
$progress = AcademyLessonProgress::query()->updateOrCreate(
|
||||
[
|
||||
@@ -28,6 +31,11 @@ final class AcademyProgressService
|
||||
],
|
||||
);
|
||||
|
||||
if ($course instanceof AcademyCourse) {
|
||||
$this->courses->updateLastLesson($user, $course, $lesson);
|
||||
$this->courses->markCourseCompletedIfFinished($user, $course);
|
||||
}
|
||||
|
||||
$this->badges->syncForUser($user);
|
||||
|
||||
return $progress;
|
||||
|
||||
Reference in New Issue
Block a user