Split up the giant events functions file!
This commit is contained in:
284
src/lib/ae_events__event_file.ts
Normal file
284
src/lib/ae_events__event_file.ts
Normal file
@@ -0,0 +1,284 @@
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
import { api } from '$lib/api';
|
||||
|
||||
import { db_events } from "$lib/db_events";
|
||||
|
||||
let ae_promises: key_val = {};
|
||||
|
||||
|
||||
// Updated 2024-06-14
|
||||
export async function handle_load_ae_obj_id__event_file(
|
||||
{
|
||||
api_cfg,
|
||||
event_file_id,
|
||||
try_cache=false,
|
||||
log_lvl=0
|
||||
} : {
|
||||
api_cfg: any,
|
||||
event_file_id: string,
|
||||
try_cache?: boolean,
|
||||
log_lvl?: number
|
||||
}
|
||||
) {
|
||||
console.log(`*** handle_load_ae_obj_id__event_file() *** event_file_id=${event_file_id}`);
|
||||
|
||||
let params = {};
|
||||
|
||||
ae_promises.load__event_file_obj = await api.get_ae_obj_id_crud({
|
||||
api_cfg: api_cfg,
|
||||
obj_type: 'event_file',
|
||||
obj_id: event_file_id, // NOTE: This is the FQDN, not normally the ID.
|
||||
use_alt_table: false, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config.
|
||||
use_alt_base: false, // NOTE: This will use the base_name_alt value instead of the base_name value
|
||||
params: params,
|
||||
log_lvl: log_lvl
|
||||
})
|
||||
.then(function (event_file_obj_get_result) {
|
||||
if (event_file_obj_get_result) {
|
||||
// This is expecting a list
|
||||
handle_db_save_ae_obj_li__event_file({obj_type: 'event_file', obj_li: [event_file_obj_get_result]});
|
||||
return event_file_obj_get_result;
|
||||
} else {
|
||||
console.log('No results returned.');
|
||||
return null;
|
||||
}
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.log('No results returned or failed.', error);
|
||||
});
|
||||
|
||||
return ae_promises.load__event_file_obj;
|
||||
}
|
||||
|
||||
|
||||
// Updated 2024-06-14
|
||||
export async function handle_load_ae_obj_li__event_file(
|
||||
{
|
||||
api_cfg,
|
||||
event_session_id,
|
||||
params={},
|
||||
try_cache=true,
|
||||
log_lvl=0
|
||||
} : {
|
||||
api_cfg: any,
|
||||
event_session_id: string,
|
||||
params?: key_val,
|
||||
try_cache?: boolean,
|
||||
log_lvl?: number
|
||||
}
|
||||
) {
|
||||
console.log(`*** handle_load_ae_obj_li__event_file() *** event_id=${event_session_id}`);
|
||||
|
||||
let enabled: string = (params.qry__enabled ?? 'enabled'); // all, disabled, enabled
|
||||
let hidden: string = (params.qry__hidden ?? 'not_hidden'); // all, hidden, not_hidden
|
||||
let limit: number = (params.qry__limit ?? 99); // 99
|
||||
let offset: number = (params.qry__offset ?? 0); // 0
|
||||
|
||||
let params_json: key_val = {};
|
||||
|
||||
// console.log('params_json:', params_json);
|
||||
|
||||
ae_promises.load__event_file_obj_li = await api.get_ae_obj_li_for_obj_id_crud({
|
||||
api_cfg: api_cfg,
|
||||
obj_type: 'event_file',
|
||||
for_obj_type: 'event_session',
|
||||
for_obj_id: event_session_id,
|
||||
use_alt_table: true, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config.
|
||||
use_alt_base: false, // NOTE: This will use the base_name_alt value instead of the base_name value
|
||||
enabled: enabled,
|
||||
hidden: hidden,
|
||||
order_by_li: {'priority': 'DESC', 'sort': 'DESC', 'updated_on': 'DESC', 'created_on': 'DESC'},
|
||||
limit: limit,
|
||||
offset: offset,
|
||||
params_json: params_json,
|
||||
params: params,
|
||||
log_lvl: log_lvl
|
||||
})
|
||||
.then(function (event_file_obj_li_get_result) {
|
||||
if (event_file_obj_li_get_result) {
|
||||
handle_db_save_ae_obj_li__event_file({obj_type: 'event_file', obj_li: event_file_obj_li_get_result});
|
||||
return event_file_obj_li_get_result;
|
||||
} else {
|
||||
console.log('No results returned.');
|
||||
return [];
|
||||
}
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.log('No results returned or failed.', error);
|
||||
});
|
||||
|
||||
console.log('ae_promises.load__event_file_obj_li:', ae_promises.load__event_file_obj_li);
|
||||
return ae_promises.load__event_file_obj_li;
|
||||
}
|
||||
|
||||
|
||||
// Updated 2024-06-17
|
||||
export async function handle_delete_ae_obj_id__event_file(
|
||||
{
|
||||
api_cfg,
|
||||
event_file_id,
|
||||
params={},
|
||||
log_lvl=0
|
||||
} : {
|
||||
api_cfg: any,
|
||||
event_file_id: string,
|
||||
params?: key_val,
|
||||
log_lvl?: number
|
||||
}
|
||||
) {
|
||||
console.log(`*** handle_delete_ae_obj_id__event_file() *** event_file_id=${event_file_id}`);
|
||||
|
||||
const endpoint = `/event/file/${event_file_id}/v2`;
|
||||
|
||||
params['delete_hosted_file'] = true; // This does not actually delete the hosted file from the server.
|
||||
params['rm_orphan'] = true; // This is what actually allows the hosted file to be deleted from the server.
|
||||
|
||||
ae_promises.delete__event_file_obj = await api.delete_object({
|
||||
api_cfg: api_cfg,
|
||||
endpoint: endpoint,
|
||||
params: params,
|
||||
// return_meta: return_meta,
|
||||
log_lvl: log_lvl
|
||||
});
|
||||
|
||||
db_events.files.delete(event_file_id);
|
||||
|
||||
return ae_promises.delete__event_file_obj;
|
||||
}
|
||||
|
||||
|
||||
// Updated 2024-06-14
|
||||
export async function create_event_file_obj_from_hosted_file_async(
|
||||
{
|
||||
api_cfg,
|
||||
hosted_file_id,
|
||||
params={},
|
||||
data={},
|
||||
return_obj=false,
|
||||
inc_hosted_file=false,
|
||||
return_meta=false,
|
||||
log_lvl=0
|
||||
} : {
|
||||
api_cfg: any,
|
||||
hosted_file_id: string,
|
||||
params?: key_val,
|
||||
data?: key_val,
|
||||
return_obj?: boolean,
|
||||
inc_hosted_file?: boolean,
|
||||
return_meta?: boolean,
|
||||
log_lvl?: number
|
||||
}
|
||||
|
||||
) {
|
||||
console.log('*** ae_events_functions.js: create_event_file_obj_from_hosted_file() ***');
|
||||
|
||||
let endpoint = `/event/file/from_hosted_file/${hosted_file_id}`;
|
||||
if (return_obj) {
|
||||
params['return_obj'] = true;
|
||||
}
|
||||
if (inc_hosted_file) {
|
||||
params['inc_hosted_file'] = true;
|
||||
}
|
||||
let event_file_obj_post_promise = await api.post_object({
|
||||
api_cfg: api_cfg,
|
||||
endpoint: endpoint,
|
||||
params: params,
|
||||
data: data,
|
||||
// return_obj: return_obj,
|
||||
return_meta: return_meta,
|
||||
log_lvl: log_lvl
|
||||
})
|
||||
.then(function (result) {
|
||||
console.log('POST DONE create_event_file_obj_from_hosted_file');
|
||||
console.log(result);
|
||||
return result;
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.log(error);
|
||||
return false; // Returning false since something may have gone wrong. Also more in line with what the API returns.
|
||||
// return error;
|
||||
});
|
||||
|
||||
// console.log(event_file_obj_post_promise);
|
||||
if (return_obj) {
|
||||
return event_file_obj_post_promise;
|
||||
} else {
|
||||
return event_file_obj_post_promise.event_file_id_random;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// This function will loop through the event_file_obj_li and save each one to the DB.
|
||||
export function handle_db_save_ae_obj_li__event_file(
|
||||
{
|
||||
obj_type,
|
||||
obj_li
|
||||
} : {
|
||||
obj_type: string,
|
||||
obj_li: any
|
||||
}
|
||||
) {
|
||||
console.log(`*** handle_db_save_ae_obj_li__event_file() ***`);
|
||||
|
||||
if (obj_li && obj_li.length) {
|
||||
obj_li.forEach(async function (obj: any) {
|
||||
console.log(`ae_obj ${obj_type}:`, obj);
|
||||
|
||||
try {
|
||||
const id_random = await db_events.files.put({
|
||||
id: obj.event_file_id_random,
|
||||
id_random: obj.event_file_id_random,
|
||||
event_file_id: obj.event_file_id_random,
|
||||
event_file_id_random: obj.event_file_id_random,
|
||||
|
||||
hosted_file_id: obj.hosted_file_id_random,
|
||||
hosted_file_id_random: obj.hosted_file_id_random,
|
||||
hash_sha256: obj.hash_sha256, // Renamed with alias in FastAPI model
|
||||
|
||||
for_type: obj.for_type,
|
||||
for_id: obj.for_id_id_random,
|
||||
for_id_random: obj.for_id_random,
|
||||
|
||||
event_id_random: obj.event_id_random,
|
||||
event_session_id_random: obj.event_session_id_random,
|
||||
event_presentation_id_random: obj.event_presentation_id_random,
|
||||
event_presenter_id_random: obj.event_presenter_id_random,
|
||||
event_location_id_random: obj.event_location_id_random,
|
||||
|
||||
filename: obj.filename,
|
||||
extension: obj.extension,
|
||||
|
||||
open_in_os: obj.open_in_os,
|
||||
|
||||
lu_file_purpose_id: obj.lu_file_purpose_id, // Not id_random in this case?
|
||||
lu_event_file_purpose_name: obj.lu_event_file_purpose_name,
|
||||
file_purpose: obj.file_purpose,
|
||||
|
||||
enable: obj.enable,
|
||||
hide: obj.hide,
|
||||
priority: obj.priority,
|
||||
sort: obj.sort,
|
||||
group: obj.group,
|
||||
notes: obj.notes,
|
||||
created_on: obj.created_on,
|
||||
updated_on: obj.updated_on,
|
||||
|
||||
filename_no_ext: obj.filename_no_ext,
|
||||
filename_w_ext: obj.filename_w_ext,
|
||||
hosted_file_content_type: obj.hosted_file_content_type,
|
||||
hosted_file_size: obj.hosted_file_size,
|
||||
});
|
||||
// console.log(`Put obj with ID: ${obj.event_file_id_random} or ${id_random}`);
|
||||
} catch (error) {
|
||||
let status = `Failed to put ${obj.event_file_id_random}: ${error}`;
|
||||
console.log(status);
|
||||
}
|
||||
|
||||
// const id_random = await db_events.files.put(obj);
|
||||
// console.log(`Put obj with ID: ${obj.event_file_id_random}`);
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user