24 lines
870 B
Python
24 lines
870 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: experiment.condition for experiment in experiments}
|
|
},
|
|
safe=False,
|
|
)
|