from django.utils import timezone

from django.contrib.auth.models import User
from core.models import CourseActivity, Course

def add_course_activity(course_id, user_id, type):
    try:
        course = Course.objects.get(id=course_id)
    except Course.DoesNotExist:
        print('add_course_activity: Course does not exist.')
        return

    try:
        user = User.objects.get(id=user_id)
    except User.DoesNotExist:
        print('add_course_activity: User does not exist.')
        return

    course_activity, created = CourseActivity.objects.get_or_create(course=course, user=user)

    if type == 'participation':
        course_activity.last_participation = timezone.now()
        course_activity.participation_count += 1
        course_activity.save()
    elif type == 'content_view':
        course_activity.last_content_view = timezone.now()
        course_activity.content_view_count += 1
        course_activity.save()
