import json
import os
from typing import Dict
import requests
from rest_framework.viewsets import GenericViewSet
from rest_framework.response import Response
from rest_framework.request import Request
from rest_framework.status import *
from drf_spectacular.utils import extend_schema
from management.models import *
from management.models.base import objJsonDecode
from management.serializer import *
from management.utils.auth_token_decorator import get_token_auth_header, requires_auth
from rest_framework.authentication import TokenAuthentication
from management.utils.graph import get_group_members
from management.repositories import *
from management.utils.error_handling import GenericError, handle_exception
from rest_framework.response import Response
from django.core.paginator import Paginator
from rest_framework.views import APIView
from rest_framework import status
from management.receipt.receipt_check import ReceiptCheck
from management.receipt.doc_intelligence_analyze import DocIntelAnalyzer
from management.receipt.open_ai_request import OpenApiRequest
import asyncio
from django.http import JsonResponse


def encode_special_chars(input_string):
    if input_string != None:
        return input_string.replace("'", "/").replace("&", "&amp;")
    return None

def decode_special_chars(input_string):
    if input_string != None:
        return input_string.replace("/", "'").replace("&amp;", "&")
    return None