Files
OSIT-AE-API-FastAPI/app/routers/lookup.py
2021-05-28 03:52:31 -04:00

49 lines
1.7 KiB
Python

import datetime
#from datetime import datetime, time, timedelta
from fastapi import APIRouter, Body, Depends, Header, HTTPException, Query, status
from pydantic import BaseModel, EmailStr, Field
from typing import Dict, List, Optional, Set, Union
from app.lib_general import *
from app.config import settings
from app.db_sql import *
from .api_crud import delete_obj_template, get_obj_template, get_obj_li_template, patch_obj_template, post_obj_template
from app.models.response_models import *
#from app.models.lookup_models import Lookup_Base
router = APIRouter()
@router.get('/{for_lookup_name}/list', response_model=Resp_Body_Base)
async def get_lookup_li(
for_lookup_name: Optional[str] = Query(None, min_length=2, max_length=50),
#for_lookup_id: Optional[str] = Query(None, min_length=1, max_length=22),
#x_account_id: str = Header(...),
#by_alias: Optional[bool] = True,
#include: Optional[list] = [],
#exclude: Optional[list] = [],
#exclude_unset: Optional[bool] = True,
#exclude_none: Optional[bool] = True,
):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
print('HERE')
allowed_lookup_tables = ['country', 'country_subdivision', 'event_session_type', 'file_purpose', 'membership_status', 'order_status', 'user_status']
if for_lookup_name in allowed_lookup_tables:
table_name = f'lu_{for_lookup_name}'
else:
return mk_resp(data=False, status_code=400)
sql_result = sql_select(table_name=table_name)
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(sql_result)
return mk_resp(data=sql_result)