Applied consistent code formatting across the project using Prettier, now configured to use 4-space indentation instead of tabs.
173 lines
5.7 KiB
TypeScript
173 lines
5.7 KiB
TypeScript
import type { key_val } from '$lib/stores/ae_stores';
|
|
import { get_object } from './api_get_object';
|
|
|
|
// Updated 2023-12-01
|
|
export async function get_ae_obj_id_crud({
|
|
api_cfg,
|
|
no_account_id = false,
|
|
obj_type,
|
|
obj_id,
|
|
use_alt_table = false,
|
|
use_alt_base = false,
|
|
inc = {},
|
|
enabled = 'enabled',
|
|
hidden = 'not_hidden',
|
|
limit = 999999,
|
|
offset = 0,
|
|
data = {},
|
|
// key,
|
|
// jwt = null,
|
|
headers = {},
|
|
params = {},
|
|
timeout = 25000,
|
|
return_meta = false,
|
|
log_lvl = 0
|
|
}: {
|
|
api_cfg: any;
|
|
no_account_id?: boolean;
|
|
obj_type: string;
|
|
obj_id: string;
|
|
use_alt_table?: boolean;
|
|
use_alt_base?: boolean;
|
|
inc?: any;
|
|
enabled?: 'enabled' | 'all' | 'not_enabled' | undefined;
|
|
hidden?: 'hidden' | 'all' | 'not_hidden' | undefined;
|
|
limit?: number;
|
|
offset?: number;
|
|
data?: any;
|
|
// key: string,
|
|
// jwt?: string,
|
|
headers?: any;
|
|
params?: key_val;
|
|
timeout?: number;
|
|
return_meta?: boolean;
|
|
log_lvl?: number;
|
|
}) {
|
|
if (log_lvl) {
|
|
console.log('*** get_ae_obj_id_crud() ***');
|
|
}
|
|
|
|
// data = {};
|
|
// data['super_key'] = key;
|
|
// data['jwt'] = jwt;
|
|
// NOTE: The key and or JWT should be in the header of the DELETE, GET, PATCH, POST
|
|
|
|
let endpoint = '';
|
|
if (obj_type == 'account') {
|
|
endpoint = `/crud/account/${obj_id}`;
|
|
} else if (obj_type == 'address') {
|
|
endpoint = `/crud/address/${obj_id}`;
|
|
} else if (obj_type == 'archive') {
|
|
endpoint = `/crud/archive/${obj_id}`;
|
|
} else if (obj_type == 'archive_content') {
|
|
endpoint = `/crud/archive/content/${obj_id}`;
|
|
} else if (obj_type == 'contact') {
|
|
endpoint = `/crud/contact/${obj_id}`;
|
|
} else if (obj_type == 'data_store') {
|
|
endpoint = `/crud/data_store/${obj_id}`;
|
|
} else if (obj_type == 'event') {
|
|
endpoint = `/crud/event/${obj_id}`;
|
|
} else if (obj_type == 'event_abstract') {
|
|
endpoint = `/crud/event/abstract/${obj_id}`;
|
|
} else if (obj_type == 'event_badge') {
|
|
endpoint = `/crud/event/badge/${obj_id}`;
|
|
} else if (obj_type == 'event_device') {
|
|
endpoint = `/crud/event/device/${obj_id}`;
|
|
} else if (obj_type == 'event_exhibit') {
|
|
endpoint = `/crud/event/exhibit/${obj_id}`;
|
|
} else if (obj_type == 'event_exhibit_tracking') {
|
|
endpoint = `/crud/event/exhibit/tracking/${obj_id}`;
|
|
} else if (obj_type == 'event_file') {
|
|
endpoint = `/crud/event/file/${obj_id}`;
|
|
} else if (obj_type == 'event_location') {
|
|
endpoint = `/crud/event/location/${obj_id}`;
|
|
} else if (obj_type == 'event_person') {
|
|
endpoint = `/crud/event/person/${obj_id}`;
|
|
} else if (obj_type == 'event_presentation') {
|
|
endpoint = `/crud/event/presentation/${obj_id}`;
|
|
} else if (obj_type == 'event_presenter') {
|
|
endpoint = `/crud/event/presenter/${obj_id}`;
|
|
} else if (obj_type == 'event_session') {
|
|
endpoint = `/crud/event/session/${obj_id}`;
|
|
} else if (obj_type == 'event_track') {
|
|
endpoint = `/crud/event/track/${obj_id}`;
|
|
} else if (obj_type == 'grant') {
|
|
endpoint = `/crud/grant/${obj_id}`;
|
|
} else if (obj_type == 'hosted_file') {
|
|
endpoint = `/crud/hosted_file/${obj_id}`;
|
|
} else if (obj_type == 'journal') {
|
|
endpoint = `/crud/journal/${obj_id}`;
|
|
} else if (obj_type == 'journal_entry') {
|
|
endpoint = `/crud/journal/entry/${obj_id}`;
|
|
} else if (obj_type == 'order') {
|
|
endpoint = `/crud/order/${obj_id}`;
|
|
} else if (obj_type == 'order_line') {
|
|
endpoint = `/crud/order/line/${obj_id}`;
|
|
} else if (obj_type == 'page') {
|
|
endpoint = `/crud/page/${obj_id}`;
|
|
} else if (obj_type == 'person') {
|
|
endpoint = `/crud/person/${obj_id}`;
|
|
} else if (obj_type == 'post') {
|
|
endpoint = `/crud/post/${obj_id}`;
|
|
} else if (obj_type == 'post_comment') {
|
|
endpoint = `/crud/post/comment/${obj_id}`;
|
|
} else if (obj_type == 'site') {
|
|
endpoint = `/crud/site/${obj_id}`;
|
|
} else if (obj_type == 'site_domain') {
|
|
endpoint = `/crud/site/domain/${obj_id}`;
|
|
} else if (obj_type == 'sponsorship_cfg') {
|
|
endpoint = `/crud/sponsorship/cfg/${obj_id}`;
|
|
} else if (obj_type == 'sponsorship') {
|
|
endpoint = `/crud/sponsorship/${obj_id}`;
|
|
// } else if (obj_type == 'user') {
|
|
// endpoint = `/crud/user/${obj_id}`;
|
|
} else {
|
|
console.log(`Unknown object type: ${obj_type}`);
|
|
return false;
|
|
}
|
|
if (log_lvl) {
|
|
console.log('Endpoint:', endpoint);
|
|
}
|
|
|
|
params['use_alt_table'] = use_alt_table;
|
|
params['use_alt_base'] = use_alt_base;
|
|
|
|
if (log_lvl) {
|
|
console.log('Params:', params);
|
|
}
|
|
|
|
if (no_account_id) {
|
|
headers['x-no-account-id'] = 'Nothing to See Here';
|
|
delete headers['x-account-id'];
|
|
delete api_cfg['headers']['x-account-id'];
|
|
// headers['x-account-id'] = null;
|
|
// headers['x-account-id'] = '_XY7DXtc9Mxx';
|
|
// params['x_no_account_id_token'] = 'Nothing to See Here';
|
|
|
|
// Remove the x-account-id header
|
|
// if (headers['x-account-id']) {
|
|
// delete headers['x-account-id'];
|
|
// }
|
|
|
|
// headers['x-account-id'] = null;
|
|
// headers['x-no-account-id-token'] = 'Nothing to See Here'; // get_object() will fix the underscores to dashes
|
|
}
|
|
|
|
const object_obj_get_promise = await get_object({
|
|
api_cfg: api_cfg,
|
|
endpoint: endpoint,
|
|
headers: headers,
|
|
params: params,
|
|
timeout: timeout,
|
|
log_lvl: log_lvl
|
|
}).catch(function (error: any) {
|
|
console.log('API GET CRUD object ID request failed.', error);
|
|
});
|
|
|
|
if (log_lvl > 1) {
|
|
console.log('GET Object result =', object_obj_get_promise);
|
|
}
|
|
|
|
return object_obj_get_promise;
|
|
}
|