Files
OSIT-AE-API-FastAPI/app/routers/membership_cfg.py
2021-08-10 18:30:37 -04:00

47 lines
1.8 KiB
Python

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) # Bad Request
return mk_resp(data=response_data)
# ### END ### API Membership Cfg ### get_account_obj_membership_cfg() ###