mirror of
https://github.com/mediacms-io/mediacms.git
synced 2026-01-20 07:12:58 -05:00
43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
"""
|
|
REST API Serializers for LTI
|
|
|
|
Currently minimal - can be expanded for API endpoints if needed
|
|
"""
|
|
|
|
from rest_framework import serializers
|
|
|
|
from .models import LTIPlatform, LTIResourceLink, LTIUserMapping
|
|
|
|
|
|
class LTIPlatformSerializer(serializers.ModelSerializer):
|
|
"""Serializer for LTI Platform"""
|
|
|
|
class Meta:
|
|
model = LTIPlatform
|
|
fields = ['id', 'name', 'platform_id', 'active', 'enable_nrps', 'enable_deep_linking']
|
|
read_only_fields = ['id']
|
|
|
|
|
|
class LTIResourceLinkSerializer(serializers.ModelSerializer):
|
|
"""Serializer for LTI Resource Link"""
|
|
|
|
platform_name = serializers.CharField(source='platform.name', read_only=True)
|
|
category_title = serializers.CharField(source='category.title', read_only=True)
|
|
|
|
class Meta:
|
|
model = LTIResourceLink
|
|
fields = ['id', 'platform', 'platform_name', 'context_id', 'context_title', 'category', 'category_title', 'launch_count', 'last_launch']
|
|
read_only_fields = ['id', 'launch_count', 'last_launch']
|
|
|
|
|
|
class LTIUserMappingSerializer(serializers.ModelSerializer):
|
|
"""Serializer for LTI User Mapping"""
|
|
|
|
username = serializers.CharField(source='user.username', read_only=True)
|
|
platform_name = serializers.CharField(source='platform.name', read_only=True)
|
|
|
|
class Meta:
|
|
model = LTIUserMapping
|
|
fields = ['id', 'platform', 'platform_name', 'lti_user_id', 'user', 'username', 'email', 'name', 'last_login']
|
|
read_only_fields = ['id', 'last_login']
|