|
20 | 20 | from django.views.decorators.http import require_http_methods |
21 | 21 | from cohorts.decorators import api_auth |
22 | 22 |
|
23 | | -from cohorts.utils_api_v1 import get_idc_data_version |
| 23 | +from cohorts.utils_api_v2 import get_idc_data_version |
24 | 24 |
|
25 | 25 | from solr_helpers import * |
26 | 26 |
|
@@ -139,7 +139,7 @@ def attributes_list_api(request): |
139 | 139 |
|
140 | 140 | try: |
141 | 141 | data_version = get_idc_data_version('') |
142 | | - response = {"idc_data_version": data_version.version_number, "data_sources": []} |
| 142 | + response = {"data_sources": []} |
143 | 143 | sources = data_version.dataversion_set.filter(active=True).get_data_sources().filter(source_type='B').distinct() |
144 | 144 | for source in sources: |
145 | 145 | attributes = sorted(source.get_attr(for_faceting=False).filter(default_ui_display=True), key=lambda d: d.name.lower()) |
@@ -180,14 +180,25 @@ def attributes_list_api(request): |
180 | 180 |
|
181 | 181 | @api_auth |
182 | 182 | @require_http_methods(["GET"]) |
183 | | -def queryfields_list_api(request): |
| 183 | +def queryfields_list_api(request, version=""): |
184 | 184 | try: |
185 | | - data_version = get_idc_data_version('') |
186 | | - response = {"idc_data_version": data_version.version_number, "data_sources": []} |
187 | | - |
188 | | - |
189 | | - sources = ImagingDataCommonsVersion.objects.get(active=True).get_data_sources(active=True, |
190 | | - source_type=DataSource.BIGQUERY) |
| 185 | + if version == 'current': |
| 186 | + version = "" |
| 187 | + try: |
| 188 | + data_version = get_idc_data_version(version) |
| 189 | + except: |
| 190 | + response = { |
| 191 | + "message": f"Supplied idc_data_version '{version}' is invalid. Query the /versions endpoint for defined versions.", |
| 192 | + "code": 400 |
| 193 | + } |
| 194 | + return JsonResponse(response) |
| 195 | + response = { |
| 196 | + "idc_data_version": data_version.version_number, |
| 197 | + "data_sources": [], |
| 198 | + "code": 200 |
| 199 | + } |
| 200 | + sources = ImagingDataCommonsVersion.objects.filter(version_number=data_version.version_number) \ |
| 201 | + .get_data_sources(source_type=DataSource.BIGQUERY) |
191 | 202 |
|
192 | 203 | # Get the ANCILLARY (TCGA) query fields |
193 | 204 | image_sources = sources.prefetch_related('data_sets').filter(data_sets__data_type=DataSetType.ANCILLARY_DATA) |
|
0 commit comments