import datetime from fastapi import APIRouter, Body, Depends, Header, HTTPException, Query, Response, 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 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.methods.membership_cfg_methods import load_membership_cfg_obj from app.models.response_models import Resp_Body_Base, mk_resp router = APIRouter() # ### BEGIN ### API Membership Cfg ### get_account_obj_membership_cfg() ### # Updated 2021-07-13 @router.get('/account/{account_id}/membership/cfg', response_model=Resp_Body_Base) async def get_account_obj_membership_cfg( account_id: str = Query(..., min_length=1, max_length=22), x_account_id: str = Header(...), by_alias: Optional[bool] = True, exclude_unset: Optional[bool] = True, response: Response = Response, ): log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(locals()) if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass else: return mk_resp(data=None, status_code=404) if membership_cfg_result := load_membership_cfg_obj( account_id = account_id, by_alias = by_alias, exclude_unset = exclude_unset, model_as_dict = True, ): response_data = membership_cfg_result else: return mk_resp(data=False, status_code=400, response=response) # Bad Request return mk_resp(data=response_data) # ### END ### API Membership Cfg ### get_account_obj_membership_cfg() ###