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 ..lib_general import * from ..log import * from app.config import settings from app.db_sql import * from ..models.address_model import Address_Base from ..models.response_model import * router = APIRouter() # Working on the address API CRUD - STI 2021-03-08 @router.post('') async def post_address_obj(address: Address_Base, x_account_id: str = Header(...), return_obj: Optional[bool] = True, by_alias: Optional[bool] = True, exclude_unset: Optional[bool] = True, ): log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(locals()) table_name_insert = 'address' obj_data_dict = address.dict(by_alias=False, exclude_unset=True) log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(obj_data_dict) obj_data = lookup_id_random_pop(obj_data_dict) base_name = Address_Base if sql_insert_result := sql_insert(table_name=table_name_insert, data=obj_data): log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(sql_insert_result) obj_id = sql_insert_result else: log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(sql_insert_result) return mk_resp(data=False, status_code=400) table_name_select = 'v_address' sql_select_result = sql_select(table_name=table_name_select, record_id=obj_id) log.debug(sql_select_result) resp_data = base_name(**sql_select_result).dict(by_alias=by_alias, exclude_unset=exclude_unset) return mk_resp(data=resp_data)