Working on general POST, PATCH, SELECT list, SELECT, and DELETE template functions.
This commit is contained in:
@@ -127,7 +127,7 @@ async def get_obj_li(
|
||||
obj_type_l1: str=None,
|
||||
obj_type_l2: str=None,
|
||||
obj_type_l3: str=None,
|
||||
obj_id: str=None,
|
||||
#obj_id: str=None,
|
||||
for_obj_type: Optional[str] = Query(None, max_length=50),
|
||||
for_obj_id: Optional[str] = Query(None, max_length=22),
|
||||
x_account_id: str = Header(...),
|
||||
@@ -141,7 +141,7 @@ async def get_obj_li(
|
||||
debug_data['obj_type_l1'] = obj_type_l1
|
||||
debug_data['obj_type_l2'] = obj_type_l2
|
||||
debug_data['obj_type_l3'] = obj_type_l3
|
||||
debug_data['obj_id'] = obj_id
|
||||
#debug_data['obj_id'] = obj_id
|
||||
debug_data['for_obj_type'] = for_obj_type
|
||||
debug_data['for_obj_id'] = for_obj_id
|
||||
|
||||
@@ -349,7 +349,7 @@ async def delete_obj(
|
||||
|
||||
|
||||
def post_obj_template(
|
||||
table_name_insert:str=None,
|
||||
obj_type:str=None,
|
||||
data:dict=None,
|
||||
return_obj:bool=True,
|
||||
by_alias:bool=True,
|
||||
@@ -360,8 +360,9 @@ def post_obj_template(
|
||||
|
||||
obj_data_dict = data
|
||||
obj_data = lookup_id_random_pop(obj_data_dict)
|
||||
table_name_select = obj_type_li[table_name_insert]['table_name']
|
||||
base_name = obj_type_li[table_name_insert]['base_name']
|
||||
table_name_insert = obj_type
|
||||
table_name_select = obj_type_li[obj_type]['table_name']
|
||||
base_name = obj_type_li[obj_type]['base_name']
|
||||
|
||||
if sql_insert_result := sql_insert(table_name=table_name_insert, data=obj_data):
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
@@ -384,7 +385,7 @@ def post_obj_template(
|
||||
|
||||
|
||||
def patch_obj_template(
|
||||
table_name_update:str=None,
|
||||
obj_type:str=None,
|
||||
data:dict=None,
|
||||
obj_id:str=None,
|
||||
return_obj:bool=True,
|
||||
@@ -395,12 +396,14 @@ def patch_obj_template(
|
||||
log.debug(locals())
|
||||
|
||||
obj_data_dict = data
|
||||
#obj_data_dict['id'] = redis_lookup_id_random(record_id_random=obj_id, table_name=table_name_update)
|
||||
#obj_data_dict['id'] = redis_lookup_id_random(record_id_random=obj_id, table_name=obj_type)
|
||||
obj_data_dict['id_random'] = obj_id # NOTE: Adding this in so the id_random is NOT updated
|
||||
log.debug(obj_data_dict)
|
||||
|
||||
obj_data = lookup_id_random_pop(obj_data_dict)
|
||||
table_name_select = obj_type_li[table_name_update]['table_name']
|
||||
base_name = obj_type_li[table_name_update]['base_name']
|
||||
table_name_update = obj_type
|
||||
table_name_select = obj_type_li[obj_type]['table_name']
|
||||
base_name = obj_type_li[obj_type]['base_name']
|
||||
|
||||
if sql_update_result := sql_update(table_name=table_name_update, data=obj_data):
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
@@ -420,4 +423,91 @@ def patch_obj_template(
|
||||
return mk_resp(data=resp_data)
|
||||
else:
|
||||
log.debug(sql_select_result)
|
||||
return mk_resp(data=False, status_code=404)
|
||||
|
||||
|
||||
def get_obj_li_template(
|
||||
obj_type: str = Query(None, max_length=50),
|
||||
for_obj_type: Optional[str] = Query(None, max_length=50),
|
||||
for_obj_id: Optional[str] = Query(None, max_length=22),
|
||||
x_account_id: str = Header(...),
|
||||
by_alias: Optional[bool] = True,
|
||||
exclude_unset: Optional[bool] = True,
|
||||
):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
table_name_select = obj_type_li[obj_type]['table_name']
|
||||
|
||||
if for_obj_type and for_obj_id:
|
||||
for_obj_id = redis_lookup_id_random(record_id_random=for_obj_id, table_name=for_obj_type)
|
||||
field_name = f'{for_obj_type}_id'
|
||||
|
||||
sql_result = sql_select(table_name=table_name_select, field_name=field_name, field_value=for_obj_id)
|
||||
else:
|
||||
sql_result = sql_select(table_name=table_name_select)
|
||||
|
||||
log.debug(sql_result)
|
||||
|
||||
base_name = obj_type_li[obj_type]['base_name']
|
||||
|
||||
resp_data_li = []
|
||||
for record in sql_result:
|
||||
resp_data = base_name(**record).dict(by_alias=by_alias, exclude_unset=exclude_unset)
|
||||
resp_data_li.append(resp_data)
|
||||
|
||||
return mk_resp(data=resp_data_li)
|
||||
|
||||
|
||||
def get_obj_template(
|
||||
obj_type: str = Query(None, max_length=50),
|
||||
obj_id: str = Query(None, max_length=22),
|
||||
by_alias: Optional[bool] = True,
|
||||
exclude_unset: Optional[bool] = True,
|
||||
):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
debug_data = {}
|
||||
debug_data['obj_type'] = obj_type
|
||||
debug_data['obj_id'] = obj_id
|
||||
|
||||
log.debug(debug_data)
|
||||
|
||||
table_name_select = obj_type_li[obj_type]['table_name']
|
||||
|
||||
# NOTE: Add a check for the object ID... assuming it is a random ID string for now.
|
||||
if sql_result := sql_select(table_name=table_name_select, record_id_random=obj_id):
|
||||
log.debug(sql_result)
|
||||
|
||||
base_name = obj_type_li[obj_type]['base_name']
|
||||
resp_data = base_name(**sql_result).dict(by_alias=by_alias, exclude_unset=exclude_unset)
|
||||
|
||||
return mk_resp(data=resp_data) #, details=debug_data)
|
||||
else:
|
||||
log.debug(sql_result)
|
||||
return mk_resp(data=False, status_code=404)
|
||||
|
||||
|
||||
def delete_obj_template(
|
||||
obj_type: str = Query(None, max_length=50),
|
||||
obj_id: str = Query(None, max_length=22),
|
||||
):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
debug_data = {}
|
||||
debug_data['obj_type'] = obj_type
|
||||
debug_data['obj_id'] = obj_id
|
||||
|
||||
log.debug(debug_data)
|
||||
|
||||
table_name_delete = obj_type # NOTE: Not using the table name from the object type list because it may be a view (v_*).
|
||||
|
||||
# NOTE: Add a check for the object ID... assuming it is a random ID string for now.
|
||||
if sql_result := sql_delete(table_name=table_name_delete, record_id_random=obj_id):
|
||||
log.debug(sql_result)
|
||||
return mk_resp(data=True)
|
||||
else:
|
||||
log.debug(sql_result)
|
||||
return mk_resp(data=False, status_code=404)
|
||||
Reference in New Issue
Block a user