from django.contrib.auth import get_user_model
from rest_framework import serializers
from notifications.models import *
from users.audit_log_helper import update_audit_details
from organisations.serializers import *
from datetime import datetime
import datetime as datetime_timedelta
from django.utils.timezone import make_aware
from ledgers.models import SystemTransactions
import json


class NotificationSerializer(serializers.ModelSerializer):
    class Meta:
        model = Notifications
        fields = '__all__'

class NotificationSubscriptionSerializer(serializers.ModelSerializer):
    user = serializers.PrimaryKeyRelatedField(read_only=True, required=False)
    type = serializers.PrimaryKeyRelatedField(read_only=True, required=False)
    class Meta:
        model = NotificationSubscribers
        fields = '__all__'

class NotificationTypesSerializer(serializers.ModelSerializer):
    class Meta:
        model = NotificationTypes
        fields = '__all__'

class UserNotificationSerializer(serializers.ModelSerializer):
    notification = NotificationSerializer(read_only=True, required=False)
    class Meta:
        model = UserNotifications
        fields = '__all__'
