Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
91fac0c3bd
31
hub_api/buildings.py
Normal file
31
hub_api/buildings.py
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
import json
|
||||||
|
from flask import Response, request
|
||||||
|
from flask_restful import Resource
|
||||||
|
|
||||||
|
from hub_api.helpers.session_helper import active_session, refresh_session
|
||||||
|
from hub_api.config import Config
|
||||||
|
|
||||||
|
class GetBuildings(Resource, Config):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
|
||||||
|
def get(self):
|
||||||
|
'''
|
||||||
|
API call for requesting a specified list of enriched buildings
|
||||||
|
'''
|
||||||
|
session_id = request.headers.get('session_id', None)
|
||||||
|
token = request.headers.get('token', None)
|
||||||
|
application_uuid = request.headers.get('application_uuid', None)
|
||||||
|
|
||||||
|
if(active_session(session_id, token, application_uuid)):
|
||||||
|
refresh_session(session_id)
|
||||||
|
|
||||||
|
building_ids = request.get_json()
|
||||||
|
buildings = self.export_db_factory.get_buildings_by_id(building_ids)
|
||||||
|
|
||||||
|
if(bool(buildings)):
|
||||||
|
return(Response(json.dumps(buildings), status=200))
|
||||||
|
|
||||||
|
return Response(json.dumps({'result': 'buildings not found'}), status=204)
|
||||||
|
|
||||||
|
return Response(json.dumps({'error': 'unauthorized'}), status=403)
|
|
@ -5,6 +5,8 @@ Copyright © 2023 Project Peter Yefi peteryefi@gmail.com
|
||||||
"""
|
"""
|
||||||
import pickle
|
import pickle
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
import platform
|
||||||
|
import os
|
||||||
|
|
||||||
from hub.city_model_structure.city import City
|
from hub.city_model_structure.city import City
|
||||||
from hub.exports.db_factory import DBFactory as CityExportFactory
|
from hub.exports.db_factory import DBFactory as CityExportFactory
|
||||||
|
@ -14,7 +16,11 @@ from hub.imports.db_factory import DBFactory
|
||||||
class Config:
|
class Config:
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
if platform.system() == 'Linux':
|
||||||
dotenv_path = Path('/usr/local/etc/hub/.env').resolve()
|
dotenv_path = Path('/usr/local/etc/hub/.env').resolve()
|
||||||
|
elif platform.system() == 'Windows':
|
||||||
|
dotenv_path = "{}/.env".format(os.path.expanduser('~'))
|
||||||
|
|
||||||
environment = 'TEST'
|
environment = 'TEST'
|
||||||
database_name = 'persistence_test'
|
database_name = 'persistence_test'
|
||||||
|
|
||||||
|
|
|
@ -97,3 +97,6 @@ def refresh_session(session_id, token, application_uuid):
|
||||||
return sessions[session_id]
|
return sessions[session_id]
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
def active_session(session_id, token, application_uuid):
|
||||||
|
return _validate_session(session_id = session_id, token = token, application_uuid = application_uuid)
|
Loading…
Reference in New Issue
Block a user