fix(data-store): add missing imports and async fixes for V3 code lookup
This commit is contained in:
@@ -2,6 +2,7 @@ import datetime, pytz, time
|
||||
from fastapi import APIRouter, Body, Depends, Header, HTTPException, Path, Query, Response, status
|
||||
from pydantic import BaseModel, EmailStr, Field
|
||||
from typing import Dict, List, Optional, Set, Union
|
||||
import asyncio
|
||||
|
||||
from app.lib_general import log, logging, common_route_params, Common_Route_Params
|
||||
from app.config import settings
|
||||
@@ -15,6 +16,9 @@ from app.models.common_field_schema import default_num_bytes
|
||||
from app.models.data_store_models import Data_Store_Base
|
||||
from app.models.response_models import Resp_Body_Base, mk_resp
|
||||
|
||||
# V3 Imports
|
||||
from app.lib_general_v3 import AccountContext, get_account_context, SerializationParams, StatusFilterParams, DelayParams, PaginationParams
|
||||
from app.models.api_crud_models import SearchFilter, SearchQuery
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@@ -134,8 +138,6 @@ async def get_data_store_obj(
|
||||
# ### BEGIN ### API Data Store ### get_v3_data_store_obj_w_code() ###
|
||||
# NEW V3 Endpoint for Code Lookup
|
||||
# Updated 2026-01-28
|
||||
from app.lib_general_v3 import AccountContext, get_account_context, SerializationParams, StatusFilterParams
|
||||
|
||||
@router.get('/v3/data_store/code/{data_store_code}', response_model=Resp_Body_Base, tags=['Data Store V3'])
|
||||
async def get_v3_data_store_obj_w_code(
|
||||
data_store_code: str = Path(min_length=3, max_length=50),
|
||||
@@ -195,7 +197,7 @@ async def get_data_store_obj_w_code_path(
|
||||
log.debug(locals())
|
||||
log.info('Using path parameters')
|
||||
# ### SECTION ### Call generic function to get the data_store object
|
||||
return handle_get_data_store_obj_w_code(
|
||||
return await handle_get_data_store_obj_w_code(
|
||||
data_store_code = data_store_code,
|
||||
for_type = for_type,
|
||||
for_id = for_id,
|
||||
@@ -217,7 +219,7 @@ async def get_data_store_obj_w_code_query(
|
||||
log.debug(locals())
|
||||
log.info('Using query parameters')
|
||||
# ### SECTION ### Call generic function to get the data_store object
|
||||
return handle_get_data_store_obj_w_code(
|
||||
return await handle_get_data_store_obj_w_code(
|
||||
data_store_code = data_store_code,
|
||||
for_type = for_type,
|
||||
for_id = for_id,
|
||||
@@ -226,8 +228,6 @@ async def get_data_store_obj_w_code_query(
|
||||
)
|
||||
|
||||
|
||||
from app.models.api_crud_models import SearchFilter, SearchQuery
|
||||
|
||||
@router.post('/v3/data_store/code/{data_store_code}/search', response_model=Resp_Body_Base, tags=['Data Store V3'])
|
||||
async def search_v3_data_store_obj_w_code(
|
||||
data_store_code: str,
|
||||
@@ -272,16 +272,19 @@ async def search_v3_data_store_obj_w_code(
|
||||
return mk_resp(data=sql_result)
|
||||
|
||||
|
||||
def handle_get_data_store_obj_w_code(
|
||||
async def handle_get_data_store_obj_w_code(
|
||||
data_store_code: str,
|
||||
for_type: Optional[str],
|
||||
for_id: Optional[str],
|
||||
commons: Common_Route_Params,
|
||||
limit: int = 1,
|
||||
delay: Optional[DelayParams] = None,
|
||||
):
|
||||
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if delay and delay.sleep_time_s > 0: await asyncio.sleep(delay.sleep_time_s)
|
||||
|
||||
# ### SECTION ### Secondary data validation
|
||||
if for_type and for_id:
|
||||
if for_id := redis_lookup_id_random(record_id_random=for_id, table_name=for_type): pass
|
||||
@@ -354,4 +357,4 @@ async def get_account_obj_data_store_list(
|
||||
else:
|
||||
log.warning('Likely bad request')
|
||||
return mk_resp(data=False, status_code=400, response=commons.response) # Bad Request
|
||||
# ### END ### API Data Store ### get_account_obj_data_store_list() ###
|
||||
# ### END ### API Data Store ### get_account_obj_data_store_list() ###
|
||||
Reference in New Issue
Block a user