49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
Supervisor Web App用のAPI
|
||
認証なしでアクセス可能
|
||
"""
|
||
|
||
from rest_framework.decorators import api_view, permission_classes
|
||
from rest_framework.permissions import AllowAny
|
||
from rest_framework.response import Response
|
||
from rest_framework import status
|
||
|
||
from rog.models import NewEvent2
|
||
from rog.serializers import NewEvent2Serializer
|
||
import logging
|
||
|
||
logger = logging.getLogger(__name__)
|
||
|
||
@api_view(['GET'])
|
||
@permission_classes([AllowAny])
|
||
def get_events_for_supervisor(request):
|
||
"""
|
||
Supervisor用のイベント一覧取得API
|
||
認証なし・CSRF保護なし(urls.pyでcsrf_exemptを適用)
|
||
"""
|
||
try:
|
||
events = NewEvent2.objects.all()
|
||
data = []
|
||
|
||
for event in events:
|
||
data.append({
|
||
'id': event.id,
|
||
'code': event.event_name,
|
||
'name': event.event_name,
|
||
'event_name': event.event_name,
|
||
'start_datetime': event.start_datetime,
|
||
'end_datetime': event.end_datetime,
|
||
'status': event.status,
|
||
'public': event.public
|
||
})
|
||
|
||
return Response(data, status=status.HTTP_200_OK)
|
||
|
||
except Exception as e:
|
||
logger.error(f"Error in get_events_for_supervisor: {str(e)}")
|
||
return Response(
|
||
{'error': 'イベント取得中にエラーが発生しました'},
|
||
status=status.HTTP_500_INTERNAL_SERVER_ERROR
|
||
)
|