chore: commit remaining workspace changes

This commit is contained in:
2026-05-08 21:51:29 +02:00
parent 8d108b8a76
commit ff96ef796e
97 changed files with 18020 additions and 2196 deletions

View File

@@ -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;