Work on event sessions and related files. Internal use is a new thing.
This commit is contained in:
@@ -106,6 +106,7 @@ def get_event_file_rec_list(
|
|||||||
for_id: int|str, # NOTE: This is not for_obj_id because the field name is actually for_id
|
for_id: int|str, # NOTE: This is not for_obj_id because the field name is actually for_id
|
||||||
file_purpose_id: int = None, # NOTE: Not prefixed with lu_
|
file_purpose_id: int = None, # NOTE: Not prefixed with lu_
|
||||||
file_purpose: str = None,
|
file_purpose: str = None,
|
||||||
|
internal_use: bool = None, # Default to False instead of None
|
||||||
priority: bool = None,
|
priority: bool = None,
|
||||||
group: str = None,
|
group: str = None,
|
||||||
# event_id: str = None,
|
# event_id: str = None,
|
||||||
@@ -128,6 +129,7 @@ def get_event_file_rec_list(
|
|||||||
data['for_id'] = for_id
|
data['for_id'] = for_id
|
||||||
data['file_purpose_id'] = file_purpose_id
|
data['file_purpose_id'] = file_purpose_id
|
||||||
data['file_purpose'] = file_purpose
|
data['file_purpose'] = file_purpose
|
||||||
|
data['internal_use'] = internal_use
|
||||||
data['priority'] = priority
|
data['priority'] = priority
|
||||||
# data['sort'] = sort
|
# data['sort'] = sort
|
||||||
data['group'] = group # Same or similar as file purpose?
|
data['group'] = group # Same or similar as file purpose?
|
||||||
@@ -144,6 +146,13 @@ def get_event_file_rec_list(
|
|||||||
else:
|
else:
|
||||||
sql_file_purpose = ''
|
sql_file_purpose = ''
|
||||||
|
|
||||||
|
if internal_use:
|
||||||
|
sql_internal_use = f'AND `event_file`.internal_use = 1'
|
||||||
|
elif internal_use is False:
|
||||||
|
sql_internal_use = f'AND (`event_file`.internal_use IS NULL OR `event_file`.internal_use = 0)'
|
||||||
|
else:
|
||||||
|
sql_internal_use = ''
|
||||||
|
|
||||||
if priority:
|
if priority:
|
||||||
sql_priority = f'AND `event_file`.priority = :priority'
|
sql_priority = f'AND `event_file`.priority = :priority'
|
||||||
else:
|
else:
|
||||||
@@ -164,6 +173,7 @@ def get_event_file_rec_list(
|
|||||||
{sql_for_type_id}
|
{sql_for_type_id}
|
||||||
{sql_file_purpose_id}
|
{sql_file_purpose_id}
|
||||||
{sql_file_purpose}
|
{sql_file_purpose}
|
||||||
|
{sql_internal_use}
|
||||||
{sql_priority}
|
{sql_priority}
|
||||||
{sql_group}
|
{sql_group}
|
||||||
{sql_enabled}
|
{sql_enabled}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ def load_event_session_obj(
|
|||||||
inc_event_badge_list: bool = False,
|
inc_event_badge_list: bool = False,
|
||||||
inc_event_device_list: bool = False,
|
inc_event_device_list: bool = False,
|
||||||
inc_event_file_list: bool = False,
|
inc_event_file_list: bool = False,
|
||||||
|
inc_event_file_internal_use_list: bool = False,
|
||||||
inc_event_location: bool = False,
|
inc_event_location: bool = False,
|
||||||
inc_event_person: bool = False,
|
inc_event_person: bool = False,
|
||||||
inc_event_person_profile: bool = False,
|
inc_event_person_profile: bool = False,
|
||||||
@@ -98,6 +99,7 @@ def load_event_session_obj(
|
|||||||
for_id = event_session_id,
|
for_id = event_session_id,
|
||||||
file_purpose_id = event_file_file_purpose_id,
|
file_purpose_id = event_file_file_purpose_id,
|
||||||
file_purpose = event_file_file_purpose,
|
file_purpose = event_file_file_purpose,
|
||||||
|
internal_use = False,
|
||||||
priority = event_file_priority,
|
priority = event_file_priority,
|
||||||
group = event_file_group,
|
group = event_file_group,
|
||||||
enabled = enabled,
|
enabled = enabled,
|
||||||
@@ -123,14 +125,41 @@ def load_event_session_obj(
|
|||||||
else:
|
else:
|
||||||
event_session_obj.event_file_list = None
|
event_session_obj.event_file_list = None
|
||||||
|
|
||||||
# if event_file_dict_list := load_event_file_obj_list(
|
if inc_event_file_internal_use_list:
|
||||||
# event_session_id = event_session_id,
|
log.info('Need to include event file internal use list...')
|
||||||
# limit = limit,
|
|
||||||
# model_as_dict = model_as_dict,
|
from app.methods.event_file_methods import get_event_file_rec_list, load_event_file_obj
|
||||||
# enabled = enabled,
|
if event_file_rec_list_result := get_event_file_rec_list(
|
||||||
# ):
|
for_type = 'event_session',
|
||||||
# event_session_obj.event_file_list = event_file_dict_list
|
for_id = event_session_id,
|
||||||
# else: event_session_obj.event_file_list = []
|
file_purpose_id = event_file_file_purpose_id,
|
||||||
|
file_purpose = event_file_file_purpose,
|
||||||
|
internal_use = True,
|
||||||
|
priority = event_file_priority,
|
||||||
|
group = event_file_group,
|
||||||
|
enabled = enabled,
|
||||||
|
limit = limit,
|
||||||
|
):
|
||||||
|
event_file_result_list = []
|
||||||
|
for event_file_rec in event_file_rec_list_result:
|
||||||
|
if load_event_file_result := load_event_file_obj(
|
||||||
|
event_file_id = event_file_rec.get('event_file_id', None),
|
||||||
|
enabled = enabled,
|
||||||
|
inc_hosted_file = inc_hosted_file,
|
||||||
|
# model_as_dict = True,
|
||||||
|
# by_alias = by_alias,
|
||||||
|
# exclude_unset = False,
|
||||||
|
):
|
||||||
|
event_file_result_list.append(load_event_file_result)
|
||||||
|
else:
|
||||||
|
event_file_result_list.append(None)
|
||||||
|
log.debug(event_file_result_list)
|
||||||
|
event_session_obj.event_file_internal_use_list = event_file_result_list
|
||||||
|
elif isinstance(event_file_rec_list_result, list):
|
||||||
|
event_session_obj.event_file_internal_use_list = []
|
||||||
|
else:
|
||||||
|
event_session_obj.event_file_internal_use_list = None
|
||||||
|
|
||||||
|
|
||||||
log.debug(f'Get event location? Include Event Location: {inc_event_location} Event Location ID: {event_location_id}')
|
log.debug(f'Get event location? Include Event Location: {inc_event_location} Event Location ID: {event_location_id}')
|
||||||
if inc_event_location and event_location_id:
|
if inc_event_location and event_location_id:
|
||||||
@@ -400,14 +429,14 @@ def create_update_event_session_obj_v4(
|
|||||||
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass
|
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass
|
||||||
else:
|
else:
|
||||||
log.error('Missing or invalid Event ID passed. Not required. Ignoring.')
|
log.error('Missing or invalid Event ID passed. Not required. Ignoring.')
|
||||||
log.info(f'Event ID: {event_id}')
|
# log.info(f'Event ID: {event_id}')
|
||||||
|
|
||||||
log.info('Attempting to get Event ID from related object.')
|
# log.info('Attempting to get Event ID from related object.')
|
||||||
from app.methods.event_methods import get_event_id_w_for_type_id
|
# from app.methods.event_methods import get_event_id_w_for_type_id
|
||||||
if event_id := get_event_id_w_for_type_id(for_type='event_session', for_id=event_session_id): pass
|
# if event_id := get_event_id_w_for_type_id(for_type='event_session', for_id=event_session_id): pass
|
||||||
else:
|
# else:
|
||||||
log.error('Unable to get Event ID from related object.')
|
# log.error('Unable to get Event ID from related object.')
|
||||||
False
|
# False
|
||||||
else:
|
else:
|
||||||
log.info('No Event Session ID passed. Create new Event Session. Required: Account ID, Event ID')
|
log.info('No Event Session ID passed. Create new Event Session. Required: Account ID, Event ID')
|
||||||
|
|
||||||
|
|||||||
@@ -54,10 +54,10 @@ class Event_Device_Base(BaseModel):
|
|||||||
|
|
||||||
trigger_open_filename: Optional[str] # The file hash filename
|
trigger_open_filename: Optional[str] # The file hash filename
|
||||||
trigger_open_extension: Optional[str] # The file hash extension part
|
trigger_open_extension: Optional[str] # The file hash extension part
|
||||||
trigger_open_internal_os: Optional[str] # Use internal_os for win vs mac
|
trigger_open_open_in_os: Optional[str] # Use open_in_os for win vs mac
|
||||||
|
|
||||||
trigger_open_file_id: Optional[str] # The file ID random; use along with filename, extension, and internal_os
|
trigger_open_file_id: Optional[str] # The file ID random; use along with filename, extension, and open_in_os
|
||||||
trigger_open_hash_file: Optional[str] # The file hash; use along with filename, extension, and internal_os
|
trigger_open_hash_file: Optional[str] # The file hash; use along with filename, extension, and open_in_os
|
||||||
trigger_open_file_path: Optional[str] # Use along with filename
|
trigger_open_file_path: Optional[str] # Use along with filename
|
||||||
|
|
||||||
trigger_open_session_id: Optional[str]
|
trigger_open_session_id: Optional[str]
|
||||||
|
|||||||
@@ -59,12 +59,15 @@ class Event_File_Base(BaseModel):
|
|||||||
lu_file_purpose_id: Optional[int]
|
lu_file_purpose_id: Optional[int]
|
||||||
file_purpose: Optional[str]
|
file_purpose: Optional[str]
|
||||||
|
|
||||||
|
# New internal use fields to help with logistics and planning 2022-09-15
|
||||||
|
internal_use: Optional[bool] # Will hide from moderators, presenters, non support people, etc
|
||||||
|
|
||||||
#### NOTE ***** NOTE
|
#### NOTE ***** NOTE
|
||||||
internal_os: Optional[str]
|
open_in_os: Optional[str]
|
||||||
public_use: Optional[bool] = False
|
public_use: Optional[bool] = False
|
||||||
public: Optional[bool]
|
public: Optional[bool]
|
||||||
approve: Optional[bool]
|
approve: Optional[bool]
|
||||||
#### internal_os needs to be set
|
#### open_in_os needs to be set
|
||||||
#### Are other important fields missing????
|
#### Are other important fields missing????
|
||||||
publish_optout: Optional[bool]
|
publish_optout: Optional[bool]
|
||||||
#### NOTE ^^^^^ NOTE
|
#### NOTE ^^^^^ NOTE
|
||||||
|
|||||||
@@ -75,15 +75,25 @@ class Event_Session_Base(BaseModel):
|
|||||||
rehearsal_phone_passcode: Optional[str]
|
rehearsal_phone_passcode: Optional[str]
|
||||||
rehearsal_text: Optional[str]
|
rehearsal_text: Optional[str]
|
||||||
|
|
||||||
image_path: Optional[str]
|
image_path: Optional[str] # Not currently in use. For a banner or logo
|
||||||
presentation_file_path: Optional[str]
|
# presentation_file_path: Optional[str] # No longer used 2022-09-15
|
||||||
presentation_file_size: Optional[str]
|
# presentation_file_size: Optional[str] # No longer used 2022-09-15
|
||||||
|
|
||||||
enable_event_file_approval_option: Optional[bool]
|
enable_event_file_approval_option: Optional[bool]
|
||||||
# enable_event_file_approval_option: Optional[bool] = Field(default=False)
|
# enable_event_file_approval_option: Optional[bool] = Field(default=False)
|
||||||
# enable_event_file_approval_option: Optional[bool] = False # Setting a default to try and prevent client side null value issues.
|
# enable_event_file_approval_option: Optional[bool] = False # Setting a default to try and prevent client side null value issues.
|
||||||
|
|
||||||
|
# New internal use fields to help with logistics and planning 2022-09-15
|
||||||
|
internal_use: Optional[bool] # Will hide from moderators, presenters, non support people, etc
|
||||||
|
internal_notes: Optional[str] # general notes
|
||||||
|
internal_notes_access: Optional[str] # accessibility
|
||||||
|
internal_notes_av: Optional[str] # audio video
|
||||||
|
internal_notes_fb: Optional[str] # food and beverage
|
||||||
|
internal_notes_it: Optional[str] # IT and networking
|
||||||
|
internal_notes_staff: Optional[str] # staffing and labor
|
||||||
|
|
||||||
file_count: Optional[int]
|
file_count: Optional[int]
|
||||||
|
internal_use_count: Optional[int]
|
||||||
|
|
||||||
status: Optional[int]
|
status: Optional[int]
|
||||||
review: Optional[bool]
|
review: Optional[bool]
|
||||||
@@ -130,6 +140,7 @@ class Event_Session_Base(BaseModel):
|
|||||||
event_badge_list: Optional[list] # Optional[Event_Abstract_Base]
|
event_badge_list: Optional[list] # Optional[Event_Abstract_Base]
|
||||||
event_device_list: Optional[list] # Optional[Event_Device_Base]
|
event_device_list: Optional[list] # Optional[Event_Device_Base]
|
||||||
event_file_list: Optional[list] # Optional[Event_File_Base]
|
event_file_list: Optional[list] # Optional[Event_File_Base]
|
||||||
|
event_file_internal_use_list: Optional[list] # Optional[Event_File_Base]
|
||||||
event_location: Optional[Union[Event_Location_Base, None]]
|
event_location: Optional[Union[Event_Location_Base, None]]
|
||||||
event_person_list: Optional[list]
|
event_person_list: Optional[list]
|
||||||
event_presenter_cat: Optional[Union[str, None]]
|
event_presenter_cat: Optional[Union[str, None]]
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from fastapi import APIRouter, Body, Depends, Header, HTTPException, Query, Resp
|
|||||||
from pydantic import BaseModel, EmailStr, Field
|
from pydantic import BaseModel, EmailStr, Field
|
||||||
from typing import Dict, List, Optional, Set, Union
|
from typing import Dict, List, Optional, Set, Union
|
||||||
|
|
||||||
from app.lib_general import *
|
from app.lib_general import log, logging, common_route_params, Common_Route_Params, common_route_params_min, Common_Route_Params_Min
|
||||||
from app.config import settings
|
from app.config import settings
|
||||||
from app.db_sql import sql_insert, sql_update, sql_insert_or_update, sql_select, sql_delete, redis_lookup_id_random, lookup_id_random_pop
|
from app.db_sql import sql_insert, sql_update, sql_insert_or_update, sql_select, sql_delete, redis_lookup_id_random, lookup_id_random_pop
|
||||||
|
|
||||||
|
|||||||
@@ -100,7 +100,9 @@ async def create_from_hosted_file(
|
|||||||
else:
|
else:
|
||||||
event_file_data['extension'] = hosted_file_obj.extension
|
event_file_data['extension'] = hosted_file_obj.extension
|
||||||
|
|
||||||
event_file_data['internal_os'] = event_file_obj.internal_os
|
event_file_data['open_in_os'] = event_file_obj.open_in_os
|
||||||
|
|
||||||
|
event_file_data['internal_use'] = hosted_file_obj.internal_use
|
||||||
|
|
||||||
# event_file_data['public_use'] = hosted_file_obj.public_use
|
# event_file_data['public_use'] = hosted_file_obj.public_use
|
||||||
|
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ async def patch_event_session_obj_exist_v4(
|
|||||||
data = {}
|
data = {}
|
||||||
data['event_session_id'] = event_session_id
|
data['event_session_id'] = event_session_id
|
||||||
data['event_session_id_random'] = event_session_id_random
|
data['event_session_id_random'] = event_session_id_random
|
||||||
return mk_resp(data=data, response=response, status_message='The event session was created.')
|
return mk_resp(data=data, response=response, status_message='The event session was created or updated.')
|
||||||
else:
|
else:
|
||||||
return mk_resp(data=False, status_code=400, response=response, status_message='The result from trying to create an event session was unexpected.')
|
return mk_resp(data=False, status_code=400, response=response, status_message='The result from trying to create an event session was unexpected.')
|
||||||
# ### END ### API Event Session ### patch_event_session_obj_exist_v4() ###
|
# ### END ### API Event Session ### patch_event_session_obj_exist_v4() ###
|
||||||
@@ -474,6 +474,7 @@ async def get_event_session_obj(
|
|||||||
inc_event_badge_list: bool = False,
|
inc_event_badge_list: bool = False,
|
||||||
inc_event_device_list: bool = False,
|
inc_event_device_list: bool = False,
|
||||||
inc_event_file_list: bool = False,
|
inc_event_file_list: bool = False,
|
||||||
|
inc_event_file_internal_use_list: bool = False,
|
||||||
inc_event_location: bool = False,
|
inc_event_location: bool = False,
|
||||||
inc_event_person: bool = False, # Under event_presenter
|
inc_event_person: bool = False, # Under event_presenter
|
||||||
inc_event_person_profile: bool = False, # Under event_person
|
inc_event_person_profile: bool = False, # Under event_person
|
||||||
@@ -515,6 +516,7 @@ async def get_event_session_obj(
|
|||||||
inc_event_badge_list = inc_event_badge_list,
|
inc_event_badge_list = inc_event_badge_list,
|
||||||
inc_event_device_list = inc_event_device_list,
|
inc_event_device_list = inc_event_device_list,
|
||||||
inc_event_file_list = inc_event_file_list,
|
inc_event_file_list = inc_event_file_list,
|
||||||
|
inc_event_file_internal_use_list = inc_event_file_internal_use_list,
|
||||||
inc_event_location = inc_event_location,
|
inc_event_location = inc_event_location,
|
||||||
inc_event_person = inc_event_person,
|
inc_event_person = inc_event_person,
|
||||||
inc_event_person_profile = inc_event_person_profile,
|
inc_event_person_profile = inc_event_person_profile,
|
||||||
|
|||||||
Reference in New Issue
Block a user