Work on event files and related

This commit is contained in:
Scott Idem
2022-08-19 17:46:19 -04:00
parent 4048bd3a51
commit f3f53e73b4
9 changed files with 282 additions and 25 deletions

View File

@@ -1,12 +1,12 @@
from __future__ import annotations
import datetime, hashlib, os, pathlib, shutil, time
from fastapi import File, UploadFile
from typing import Dict, List, Optional, Set, Union
from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator
from app.db_sql import get_id_random, redis_lookup_id_random, sql_enable_part, sql_insert, sql_limit_offset_part, sql_select, sql_update
from app.lib_general import log, logging
from app.db_sql import get_id_random, redis_lookup_id_random, sql_delete, sql_enable_part, sql_insert, sql_limit_offset_part, sql_select, sql_update
# from app.lib_general import log, logging, logger_reset
from app.log import log, logging, logger_reset
from app.methods.hosted_file_methods import load_hosted_file_obj
@@ -14,17 +14,24 @@ from app.models.event_file_models import Event_File_Base
# ### BEGIN ### API Event File Methods ### create_event_file_obj() ###
def create_event_file_obj(event_file_obj_new:Event_File_Base):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
@logger_reset
def create_event_file_obj(event_file_obj_new: Event_File_Base):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
# event_file_obj_data = event_file_obj_new.dict(by_alias=False, exclude_defaults=False, exclude_unset=True, exclude={'created_on', 'updated_on'})
event_file_obj_data = event_file_obj_new.dict(by_alias=False, exclude_defaults=False, exclude_unset=True, exclude={'saved', 'already_exists', 'copy_timer', 'created_on', 'updated_on'})
try:
# event_file_obj_data = event_file_obj_new.dict(by_alias=False, exclude_defaults=False, exclude_unset=True, exclude={'created_on', 'updated_on'})
event_file_obj_data = event_file_obj_new.dict(by_alias=False, exclude_defaults=False, exclude_unset=True, exclude={'saved', 'already_exists', 'copy_timer', 'created_on', 'updated_on'})
except Exception as e:
log.exception(e)
if event_file_obj_in_result := sql_insert(data=event_file_obj_data, table_name='event_file', rm_id_random=True, id_random_length=8): pass
log.debug(event_file_obj_data)
if event_file_obj_in_result := sql_insert(data=event_file_obj_data, table_name='event_file', rm_id_random=True): pass
else:
return False
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_file_obj_in_result)
event_file_id = event_file_obj_in_result
@@ -35,6 +42,7 @@ def create_event_file_obj(event_file_obj_new:Event_File_Base):
# ### BEGIN ### API Event File Methods ### load_event_file_obj() ###
@logger_reset
def load_event_file_obj(
event_file_id: int|str,
model_as_dict: bool = False, # This was defaulted to True 2022-03-07
@@ -51,7 +59,7 @@ def load_event_file_obj(
# NOTE: What table or view should be used here???
if event_file_rec := sql_select(table_name='v_event_file_simple', record_id=event_file_id):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_file_rec)
else:
return False
@@ -92,6 +100,7 @@ def load_event_file_obj(
# ### BEGIN ### API Event File Methods ### get_event_file_rec_list() ###
# Updated 2021-09-10
@logger_reset
def get_event_file_rec_list(
for_type: str, # NOTE: This is not for_obj_type because the field name is actually for_type
for_id: int|str, # NOTE: This is not for_obj_id because the field name is actually for_id
@@ -180,6 +189,7 @@ def get_event_file_rec_list(
# ### BEGIN ### API Event File Methods ### load_event_file_obj_list() ###
@logger_reset
def load_event_file_obj_list(
event_id: int|str|None = None,
event_session_id: int|str|None = None,
@@ -244,3 +254,43 @@ def load_event_file_obj_list(
return event_file_result_li
# ### END ### API Event Methods ### load_event_file_obj_list() ###
# ### BEGIN ### API Event File Methods ### handle_delete_event_file() ###
# Updated 2022-08-18
@logger_reset
def handle_delete_event_file(
event_file_id: int|str,
link_to_type: str = None,
link_to_id: int|str = None,
rm_all_links: bool = False,
rm_orphan: bool = False,
):
log.setLevel(logging.DEBUG) # 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 False
if event_file_id := redis_lookup_id_random(record_id_random=event_file_id, table_name='event_file'): pass
else: return False
# log.debug(event_file_id)
# try:
# print('Trying to SQL DELETE!!!!')
# event_file_delete_result = sql_delete(table_name='event_file', record_id=event_file_id)
# print('SQL DELETE ran')
# log.debug(event_file_delete_result)
# except e:
# log.exception(e)
if event_file_delete_result := sql_delete(table_name='event_file', record_id=event_file_id, log_lvl=logging.DEBUG):
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.info(f'Deleted Event File ID: {event_file_id}')
return True
else:
log.error(f'Something went wrong will trying to delete Event File ID: {event_file_id}')
return False