Skip to content
Snippets Groups Projects
Commit df6a884a authored by Christian Boettcher's avatar Christian Boettcher
Browse files

tuples not supported by openapi as return type, needs to be something else for the /docs to work

Switching back to dict for now, will look into it later
parent 788b7a13
No related branches found
No related tags found
No related merge requests found
# TODO list
- add testing stuff to readme
- merge and add CI Testing
- expand tests
- add authentication stuff
- find out how authentication is to be handled
\ No newline at end of file
......@@ -4,7 +4,7 @@ Main module of data catalog api
import logging
from datetime import timedelta
from enum import Enum
from typing import List, Tuple
from typing import Dict, List, Tuple
from fastapi import FastAPI, HTTPException, Request, status
from fastapi.param_functions import Depends
......@@ -84,7 +84,7 @@ async def get_specific_dataset(location_data_type: LocationDataType, dataset_id:
"""returns all information about a specific dataset, identified by id"""
return adapter.get_details(location_data_type, dataset_id)
@app.post("/{location_data_type}", response_model=Tuple[str, LocationData])
@app.post("/{location_data_type}", response_model=Dict[str, LocationData])
async def add_dataset(location_data_type: LocationDataType,
dataset: LocationData,
user: User = Depends(my_user)):
......@@ -92,7 +92,7 @@ async def add_dataset(location_data_type: LocationDataType,
return adapter.add_new(location_data_type, dataset, user.username)
@app.put("/{location_data_type}/{dataset_id}", response_model=Tuple[str, LocationData])
@app.put("/{location_data_type}/{dataset_id}", response_model=Dict[str, LocationData])
async def update_specific_dataset(location_data_type: LocationDataType,
dataset_id: str, dataset: LocationData,
user: User = Depends(my_user)):
......
......@@ -73,7 +73,7 @@ class JsonFileStorageAdapter(AbstractLocationDataStorageAdapter):
to_store = StoredData(users=[user_name], actualData=data)
with open(os.path.join(localpath, oid), 'w') as json_file:
json.dump(to_store.dict(), json_file)
return (oid, data)
return {oid : data}
def get_details(self, n_type: LocationDataType, oid: str):
full_path = self.__get_object_path(value=n_type.value, oid=oid)
......@@ -89,7 +89,7 @@ class JsonFileStorageAdapter(AbstractLocationDataStorageAdapter):
with open(full_path, 'w') as f:
json.dump(obj.dict(), f)
return (oid, data)
return {oid : data}
def delete(self, n_type: LocationDataType, oid: str, usr: str):
full_path = self.__get_object_path(value=n_type.value, oid=oid)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment