platform/web/views/fetch.py
Administrator 3a6ead976f fix fetch
2024-02-11 15:37:15 +03:00

24 lines
916 B
Python

from django.http import HttpResponse, JsonResponse
from Platform import settings
from configs.models import Config
from experiments.models import Experiment
def fetch(request):
if request.headers.get("X-Security-Token") != settings.PLATFORM_SECURITY_TOKEN:
return HttpResponse('', status=403)
project = request.GET.get('project')
stage = request.GET.get('stage')
if project is None or stage is None:
return HttpResponse('', status=400)
configs = Config.objects.filter(stage=stage, project__name=project)
experiments = Experiment.objects.filter(stage=stage, project__name=project)
return JsonResponse(
data={
'configs': {config.name: config.data for config in configs},
'experiments': {experiment.name: {'enabled': experiment.enabled, 'condition': experiment.condition} for experiment in experiments}
},
safe=False,
)