Esempio n. 1
0
    def get(_, lang, event_id):
        if lang == 'ja':
            cached_event = Cache.get('api_event_' + str(event_id))
            if cached_event is None:
                event = Topic.get_event_published_by_id(event_id)
                if event is None:
                    return JsonResponse({
                        'message': 'Not Found'
                    }, status=404)

                res = EventSerializer(event).data
                Cache.set('api_event_' + str(event_id), res)
            else:
                res = cached_event

        elif lang == 'en':
            cached_event_en = Cache.get('api_event_en_' + str(event_id))
            if cached_event_en is None:
                event = TopicEn.get_event_published_by_id(event_id)
                if event is None:
                    return JsonResponse({
                        'message': 'Not Found'
                    }, status=404)
                res = EventEnSerializer(event).data
                Cache.set('api_event_en_' + str(event_id), res)
            else:
                res = cached_event_en

        else:
            return JsonResponse({
                'message': 'Not Found'
            }, status=404)

        return JsonResponse(res, safe=False)