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 log, logging from app.config import settings from app.db_sql import sql_select, redis_lookup_id_random from app.routers.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()) allowed_lookup_tables = ['country', 'country_subdivision', 'event_session_type', 'file_purpose', 'membership_member_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)