/** @type {import('./$types').LayoutLoad} */ import { api } from '$lib/api'; import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores'; import type { key_val } from '$lib/ae_stores'; import { get } from 'svelte/store'; async function handle_load_ae_obj_id__site_domain({fqdn, try_cache=false}) { console.log(`*** handle_load_ae_obj_id__site_domain() *** fqdn=${fqdn}`); let params = {}; // ae_loc.hub.site_domain_id_qry_status = 'loading'; let ae_site_domain_obj_get_promise = api.get_ae_obj_id_crud({ api_cfg: get(ae_api), no_account_id: true, obj_type: 'site_domain', obj_id: fqdn, // NOTE: This is the FQDN, not normally the 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: true, // NOTE: This will use the base_name_alt value instead of the base_name value in the API config. params: params, log_lvl: 1 }) .then(function (site_domain_obj_get_result) { if (site_domain_obj_get_result) { // slct.site_domain_obj = site_domain_obj_get_result; // console.log(`site_domain object:`, get(slct).site_domain_obj); // ae_loc.account_id = $slct.site_domain_obj.account_id_random; // ae_loc.site_id = $slct.site_domain_obj.site_id_random; // ae_loc.site_domain_id = $slct.site_domain_obj.site_domain_id_random; return site_domain_obj_get_result; } else { console.log('No results returned.'); return null; } }) .catch(function (error) { console.log('No results returned or failed.', error); }); return ae_site_domain_obj_get_promise; } // let ds_obj_get_promises: key_val = {}; async function handle_get_data_store_obj_w_code({ code=null, data_type='text' }) { console.log(`*** handle_get_data_store_obj_w_code() *** code=${code}`); if (!code) { console.log('No code provided.'); return; } let data_store_obj_get_promise = api.get_data_store_obj_w_code({ api_cfg: get(ae_api), data_store_code: code, data_type: data_type, log_lvl: 0 }) .then(function (get_data_store_result) { let return_this = null; if (get_data_store_result) { if (data_type == 'text') { // console.log(get_data_store_result.text); return_this = get_data_store_result.text; } else if (data_type == 'json') { // console.log(get_data_store_result.json); return_this = get_data_store_result.json; } } else { console.log('No results returned.'); return_this = null; } return return_this; }) .catch(function (error) { console.log('No results returned or failed.', error); }); return data_store_obj_get_promise; } export async function load({ params, url }) { // route console.log(`Svelte root layout.ts data = params:`, params); // console.log(`Svelte root layout.ts data = route:`, route); console.log(`Svelte root layout.ts data = url:`, url); let ae_loc_tmp = get(ae_loc); console.log(`ae_loc = `, ae_loc_tmp); let ds_code_li: null|key_val = ae_loc_tmp.ds; console.log(`ae_ ds_code_li = `, ds_code_li); let ds_code: null|string = null; let data_struct = { ae_init: ae_loc_tmp, // ae_core: ae_core, params: params, sections: [ { slug: 'new', title: 'New Test' }, { slug: 'manage', title: 'Manage Test' }, { slug: 'test', title: 'Test Test' }, ], url: url, }; let loading_results = null; let access_code_li_json = null; // First do a site_domain look up to check if it is valid and get the account_id. if (url.host) { // ae_loc.url_host = data.url.host; // Use this to look up? sub.example.com:123 // ae_loc.fqdn = url.host; // Use this to look up? sub.example.com:123 // ae_loc.url_hostname = data.url.hostname; // sub.example.com // ae_loc.url_origin = data.url.origin; // Use this to look up? https://sub.example.com:123 // ae_loc.site_domain = data.url.origin; // console.log(`ae_loc = `, ae_loc); loading_results = await handle_load_ae_obj_id__site_domain({fqdn: url.host, try_cache: false}) .then(function (site_domain_results) { if (site_domain_results) { // console.log(`ae_ site_domain_results = `, site_domain_results); let ae_api_tmp = get(ae_api); ae_api_tmp['account_id'] = site_domain_results.account_id_random; ae_api_tmp['headers']['x-account-id'] = site_domain_results.account_id_random; ae_api_tmp['headers']['x-no-account-id'] = null; ae_api.set(ae_api_tmp); console.log(`ae_api = `, get(ae_api)); ae_loc_tmp['account_id'] = site_domain_results.account_id_random; ae_loc_tmp['site_id'] = site_domain_results.site_id_random; ae_loc_tmp['site_domain_id'] = site_domain_results.site_domain_id_random; ae_loc_tmp['enable'] = site_domain_results.enable; ae_loc_tmp['style_href'] = site_domain_results.style_href; ae_loc_tmp['google_tracking_id'] = site_domain_results.google_tracking_id; // Get updated the data just in case. // ae_loc_tmp = get(ae_loc); // ae_loc_tmp.account_id = site_domain_results.account_id_random; // ae_loc_tmp.core = ae_core; // ae_loc.set(ae_loc_tmp); // console.log(`ae_loc = `, get(ae_loc)); } return true; }) .then(async function (results) { ds_code = 'hub__page__access_code_li_json'; await handle_get_data_store_obj_w_code({code: ds_code, data_type: 'json'}) .then(function (access_code_li_json_results) { if (access_code_li_json_results) { // console.log(`ae_ access_code_li_json_results = `, access_code_li_json_results); // ae_loc_tmp = get(ae_loc); ae_loc_tmp = { ...ae_loc_tmp, 'access_code_li': access_code_li_json_results, } // ae_loc_tmp = get(ae_loc); // let code = 'hub__page__access_code_li_json'; ds_code_li[ds_code] = access_code_li_json_results; // ae_loc.set(ae_loc_tmp); // console.log(`ae_loc = `, get(ae_loc)); } } ); return true; }) .then(async function (results) { // We are intentionally loading these in series, not parallel to limit the number of simultaneous requests. // let ae_loc_tmp = get(ae_loc); // Loading the header and footer in series, not parallel. ds_code = 'hub__site__appshell_header'; await handle_get_data_store_obj_w_code({code: ds_code}) .then(function (ds_hub_site_header_results) { if (ds_hub_site_header_results) { console.log(`ae_ ds_hub_site_header_results = `, ds_hub_site_header_results); // let ae_loc_tmp = get(ae_loc); ds_code_li[ds_code] = ds_hub_site_header_results; // ae_loc.set(ae_loc_tmp); // console.log(`ae_loc = `, get(ae_loc)); } }) .then(async function () { ds_code = 'hub__site__appshell_footer'; await handle_get_data_store_obj_w_code({code: ds_code}) .then(function (ds_hub_site_footer_results) { if (ds_hub_site_footer_results) { // console.log(`ae_ hub__site__appshell_footer = `, ds_hub_site_footer_results); // let ae_loc_tmp = get(ae_loc); ds_code_li[ds_code] = ds_hub_site_footer_results; // ae_loc.set(ae_loc_tmp); // console.log(`ae_loc = `, get(ae_loc)); } }); }) .then(async function () { ds_code = 'hub__site__root_page_content'; await handle_get_data_store_obj_w_code({code: ds_code}) .then(function (ds_code_results) { if (ds_code_results) { console.log(`ae_ hub__site__root_page_content = `, ds_code_results); // let ae_loc_tmp = get(ae_loc); ds_code_li[ds_code] = ds_code_results; // ae_loc.set(ae_loc_tmp); // console.log(`ae_loc = `, get(ae_loc)); } }); }) .then(async function () { // Loading the header and footer in series, not parallel. ds_code = 'hub__page__appshell_header_lead'; await handle_get_data_store_obj_w_code({code: ds_code}) .then(function (ds_code_results) { if (ds_code_results) { // console.log(`ae_ hub__page__appshell_header_lead = `, ds_code_results); // let ae_loc_tmp = get(ae_loc); ds_code_li[ds_code] = ds_code_results; // ae_loc.set(ae_loc_tmp); // console.log(`ae_loc = `, get(ae_loc)); } }); }) .then(async function () { ds_code = 'hub__page__appshell_header_trail'; await handle_get_data_store_obj_w_code({code: ds_code}) .then(function (ds_code_results) { if (ds_code_results) { // console.log(`hub__page__appshell_header_trail = `, ds_code_results); // let ae_loc_tmp = get(ae_loc); ds_code_li[ds_code] = ds_code_results; // ae_loc.set(ae_loc_tmp); // console.log(`ae_loc = `, get(ae_loc)); } }); }); }) .finally(function () { let iframe = url.searchParams.get('iframe'); console.log(`iframe = `, iframe); if (iframe == 'true') { data_struct['iframe'] = iframe; ae_loc_tmp.iframe = iframe; } else if (iframe == 'false') { data_struct['iframe'] = false; ae_loc_tmp.iframe = false; } console.log(`ae_ ds_code_li = `, ds_code_li); ae_loc_tmp = { ...ae_loc_tmp, 'ds': ds_code_li, } console.log(`ae_loc_tmp = `, ae_loc_tmp); data_struct['ae_init'] = ae_loc_tmp; ae_loc.set(ae_loc_tmp); console.log(`ae_loc = `, get(ae_loc)); console.log(`root layout.ts finally load...`); return true; }); // let ae_loc_tmp = get(ae_loc); // let iframe = url.searchParams.get('iframe'); // console.log(`iframe = `, iframe); // if (iframe == 'true') { // data_struct['iframe'] = iframe; // ae_loc_tmp.iframe = iframe; // } else if (iframe == 'false') { // data_struct['iframe'] = false; // ae_loc_tmp.iframe = false; // } // ae_loc.set(ae_loc_tmp); // if (site_domain_results) { // console.log(`site_domain_results = `, site_domain_results); // ae_api['account_id'] = site_domain_results.account_id_random; // // ae_api['headers']['account_id'] = site_domain_results.account_id_random; // ae_api.set(ae_api); // console.log(`ae_api = `, ae_api); // ae_core = { // 'account_id': site_domain_results.account_id_random, // 'site_id': site_domain_results.site_id_random, // 'site_domain_id': site_domain_results.site_domain_id_random, // 'enable': site_domain_results.enable, // 'style_href': site_domain_results.style_href, // 'google_tracking_id': site_domain_results.google_tracking_id, // } // access_code_li_json = handle_get_data_store_obj_w_code({code: 'hub__page__access_code_li_json', data_type: 'json'}); // if (access_code_li_json) { // console.log(`access_code_li_json = `, access_code_li_json); // ae_core = { // ...ae_core, // 'access_code_li': access_code_li_json, // } // } // } // data_struct['ae_init'] = loading_results; return data_struct; } console.log(`ae_root layout.ts load is finally finished`); return data_struct; } // export const ssr = false; // export const prerender = true; /// export const trailingSlash = 'always'; // 'never' | 'always' | 'ignore'