Work on better way to update objects. A lot of work!

This commit is contained in:
Scott Idem
2021-06-10 17:03:12 -04:00
parent b8da9d99eb
commit 717db418f9
14 changed files with 664 additions and 32 deletions

View File

@@ -9,7 +9,7 @@ from app.db_sql import *
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.event_methods import load_event_obj
from app.methods.event_methods import load_event_obj, update_event_obj
from app.models.event_models import Event_Base
from app.models.response_models import *
@@ -68,6 +68,45 @@ async def patch_event_obj(
return result
# ### BEGIN ### API Event ### patch_event_json() ###
@router.patch('/{event_id}/json', response_model=Resp_Body_Base)
async def patch_event_json(
event_obj: Event_Base,
event_id: str = Query(..., min_length=1, max_length=22),
create_missing_obj: bool = False,
x_account_id: Optional[str] = Header(..., ),
return_obj: Optional[bool] = True,
by_alias: Optional[bool] = True,
include: Optional[list] = [],
exclude: Optional[list] = [],
exclude_unset: Optional[bool] = True,
exclude_none: Optional[bool] = True,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass
else:
return mk_resp(data=None, status_code=404)
if event_obj_up_result := update_event_obj(
event_id=event_id,
event_obj_up=event_obj,
create_missing_obj=create_missing_obj,
):
log.debug(event_obj_up_result)
if return_obj:
event_obj = load_event_obj(event_id=event_id)
event_dict = event_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset)
return mk_resp(data=event_dict)
else:
return mk_resp(data=event_obj_up_result)
else:
return mk_resp(data=False, status_code=400) # Bad Request
# ### END ### API Event ### patch_event_json() ###
# @router.get('/list', response_model=Resp_Body_Base)
# async def get_event_obj_li(
# for_obj_type: Optional[str] = Query(None, min_length=2, max_length=50),

View File

@@ -1,17 +1,15 @@
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 app.lib_general import log, logging
#from ..log import *
from app.config import settings
from app.db_sql import *
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.event_person_methods import create_event_person_obj, load_event_person_obj
from app.methods.event_person_methods import create_event_person_obj, load_event_person_obj, update_event_person_obj
from app.methods.person_methods import create_person_obj, load_person_obj
from app.methods.user_methods import create_user_obj, load_user_obj
@@ -170,6 +168,45 @@ async def post_event_person_new(
# ### BEGIN ### API Event Person Route ### post_event_person_new() ###
# ### BEGIN ### API Event Person ### patch_event_person_json() ###
@router.patch('/{event_person_id}/json', response_model=Resp_Body_Base)
async def patch_event_person_json(
event_person_obj: Event_Person_Base,
event_person_id: str = Query(..., min_length=1, max_length=22),
create_missing_obj: bool = False,
x_account_id: Optional[str] = Header(..., ),
return_obj: Optional[bool] = True,
by_alias: Optional[bool] = True,
include: Optional[list] = [],
exclude: Optional[list] = [],
exclude_unset: Optional[bool] = True,
exclude_none: Optional[bool] = True,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_person_id := redis_lookup_id_random(record_id_random=event_person_id, table_name='event_person'): pass
else:
return mk_resp(data=None, status_code=404)
if event_person_obj_up_result := update_event_person_obj(
event_person_id=event_person_id,
event_person_obj_up=event_person_obj,
create_missing_obj=create_missing_obj,
):
log.debug(event_person_obj_up_result)
if return_obj:
event_person_obj = load_event_person_obj(event_person_id=event_person_id)
event_person_dict = event_person_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset)
return mk_resp(data=event_person_dict)
else:
return mk_resp(data=event_person_obj_up_result)
else:
return mk_resp(data=False, status_code=400) # Bad Request
# ### END ### API Event Person ### patch_event_person_json() ###
# ### BEGIN ### API Event Person ### get_event_person_obj() ###
# Working well as of 2021-06-04. Using as a template for other routes.
@router.get('/{event_person_id}', response_model=Resp_Body_Base)

View File

@@ -70,6 +70,43 @@ async def patch_event_presentation_obj(
return result
# ### BEGIN ### API Event Presentation ### patch_event_presentation_json() ###
@router.patch('/{event_presentation_id}/json', response_model=Resp_Body_Base)
async def patch_event_presentation_json(
event_presentation_obj: Event_Presentation_Base,
event_presentation_id: str = Query(..., min_length=1, max_length=22),
create_missing_obj: bool = False,
x_account_id: Optional[str] = Header(..., ),
return_obj: Optional[bool] = True,
by_alias: Optional[bool] = True,
include: Optional[list] = [],
exclude: Optional[list] = [],
exclude_unset: Optional[bool] = True,
exclude_none: Optional[bool] = True,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_presentation_id := redis_lookup_id_random(record_id_random=event_presentation_id, table_name='event_presentation'): pass
else:
return mk_resp(data=None, status_code=404)
if event_presentation_obj_up_result := update_event_presentation_obj(
event_presentation_id=event_presentation_id,
event_presentation_obj_up=event_presentation_obj,
create_missing_obj=create_missing_obj,
):
log.debug(event_presentation_obj_up_result)
if return_obj:
event_presentation_obj = load_event_presentation_obj(event_presentation_id=event_presentation_id)
event_presentation_dict = event_presentation_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset)
return mk_resp(data=event_presentation_dict)
else:
return mk_resp(data=event_presentation_obj_up_result)
else:
return mk_resp(data=False, status_code=400) # Bad Request
# ### END ### API Event Presentation ### patch_event_presentation_json() ###
# ### BEGIN ### API Event Presentation ### get_event_presentation_obj() ###

View File

@@ -11,7 +11,7 @@ from app.db_sql import *
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.event_presenter_methods import load_event_presenter_obj
from app.methods.event_presenter_methods import load_event_presenter_obj, update_event_presenter_obj
from app.models.event_presenter_models import Event_Presenter_Base
from app.models.response_models import *
@@ -70,6 +70,45 @@ async def patch_event_presenter_obj(
return result
# ### BEGIN ### API Event Presenter ### patch_event_presenter_json() ###
@router.patch('/{event_presenter_id}/json', response_model=Resp_Body_Base)
async def patch_event_presenter_json(
event_presenter_obj: Event_Presenter_Base,
event_presenter_id: str = Query(..., min_length=1, max_length=22),
create_missing_obj: bool = False,
x_account_id: Optional[str] = Header(..., ),
return_obj: Optional[bool] = True,
by_alias: Optional[bool] = True,
include: Optional[list] = [],
exclude: Optional[list] = [],
exclude_unset: Optional[bool] = True,
exclude_none: Optional[bool] = True,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_presenter_id := redis_lookup_id_random(record_id_random=event_presenter_id, table_name='event_presenter'): pass
else:
return mk_resp(data=None, status_code=404)
if event_presenter_obj_up_result := update_event_presenter_obj(
event_presenter_id=event_presenter_id,
event_presenter_obj_up=event_presenter_obj,
create_missing_obj=create_missing_obj,
):
log.debug(event_presenter_obj_up_result)
if return_obj:
event_presenter_obj = load_event_presenter_obj(event_presenter_id=event_presenter_id)
event_presenter_dict = event_presenter_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset)
return mk_resp(data=event_presenter_dict)
else:
return mk_resp(data=event_presenter_obj_up_result)
else:
return mk_resp(data=False, status_code=400) # Bad Request
# ### END ### API Event Presenter ### patch_event_presenter_json() ###
@router.get('/list', response_model=Resp_Body_Base)
async def get_event_presenter_obj_li(
for_obj_type: Optional[str] = Query(None, min_length=2, max_length=50), # account
@@ -150,7 +189,7 @@ async def get_event_presenter_obj_li(
event_presenter_id=event_presenter_id,
enabled=enabled,
inc_event_abstract_list=inc_event_abstract_list,
inc_event_badge_list=inc_event_badge,
inc_event_badge=inc_event_badge,
inc_event_device_list=inc_event_device_list,
inc_event_file_list=inc_event_file_list,
inc_event_person=inc_event_person,

View File

@@ -70,6 +70,45 @@ async def patch_event_session_obj(
return result
# ### BEGIN ### API Event Session ### patch_event_session_json() ###
@router.patch('/{event_session_id}/json', response_model=Resp_Body_Base)
async def patch_event_session_json(
event_session_obj: Event_Session_Base,
event_session_id: str = Query(..., min_length=1, max_length=22),
create_missing_obj: bool = False,
x_account_id: Optional[str] = Header(..., ),
return_obj: Optional[bool] = True,
by_alias: Optional[bool] = True,
include: Optional[list] = [],
exclude: Optional[list] = [],
exclude_unset: Optional[bool] = True,
exclude_none: Optional[bool] = True,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_session_id := redis_lookup_id_random(record_id_random=event_session_id, table_name='event_session'): pass
else:
return mk_resp(data=None, status_code=404)
if event_session_obj_up_result := update_event_session_obj(
event_session_id=event_session_id,
event_session_obj_up=event_session_obj,
create_missing_obj=create_missing_obj,
):
log.debug(event_session_obj_up_result)
if return_obj:
event_session_obj = load_event_session_obj(event_session_id=event_session_id)
event_session_dict = event_session_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset)
return mk_resp(data=event_session_dict)
else:
return mk_resp(data=event_session_obj_up_result)
else:
return mk_resp(data=False, status_code=400) # Bad Request
# ### END ### API Event Session ### patch_event_session_json() ###
# @router.get('/list', response_model=Resp_Body_Base)
# async def get_event_session_obj_li(
# for_obj_type: Optional[str] = Query(None, min_length=2, max_length=50),