HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/ehbo.today/app/KommaApp/Users/UserCourseService.php
<?php


namespace App\KommaApp\Users;


use App\KommaApp\Courses\Models\Course;
use App\KommaApp\Users\Models\User;

class UserCourseService
{
    /**
     * @param $user
     * @param $course
     * @param $subscribe
     */
    public function subscribeUser(User $user, Course $course, bool $subscribed)
    {
        if(!$subscribed) {
            $existingCourse = $user->courses()->withPivot(['user_status'])->where('course_id', '=', $course->id)->first();
            if($existingCourse) {
                $user->courses()->updateExistingPivot($existingCourse->id, ['user_status' => Course::UserStatusSubscribed]);
            } else {
                $user->courses()->save($course, ['user_status' => Course::UserStatusSubscribed]);
            }
        } else { //Unsubscribe
            $existingCourse = $user->courses()->where('course_id', '=', $course->id)->first();
            if($existingCourse) {
                $user->courses()->detach($existingCourse->id);
            }
        }
    }
}