diff --git a/src/lib/ae_api/api_post__crud_obj_v3.ts b/src/lib/ae_api/api_post__crud_obj_v3.ts index c6b4827c..6df62fb3 100644 --- a/src/lib/ae_api/api_post__crud_obj_v3.ts +++ b/src/lib/ae_api/api_post__crud_obj_v3.ts @@ -30,11 +30,20 @@ export async function create_ae_obj_v3({ console.log('Fields:', fields); } + // Standard Aether Pattern: Auto-serialize any key ending in _json + const cleaned_fields = { ...fields }; + for (const key in cleaned_fields) { + if (key.endsWith('_json') && cleaned_fields[key] !== null && typeof cleaned_fields[key] === 'object') { + if (log_lvl > 1) console.log(`Auto-serializing field: ${key}`); + cleaned_fields[key] = JSON.stringify(cleaned_fields[key]); + } + } + return await post_object({ api_cfg, endpoint, params, - data: fields, + data: cleaned_fields, log_lvl }); } @@ -66,11 +75,19 @@ export async function create_nested_obj_v3({ console.log('Fields:', fields); } + // Standard Aether Pattern: Auto-serialize any key ending in _json + const cleaned_fields = { ...fields }; + for (const key in cleaned_fields) { + if (key.endsWith('_json') && cleaned_fields[key] !== null && typeof cleaned_fields[key] === 'object') { + cleaned_fields[key] = JSON.stringify(cleaned_fields[key]); + } + } + return await post_object({ api_cfg, endpoint, params, - data: fields, + data: cleaned_fields, log_lvl }); } @@ -104,11 +121,20 @@ export async function update_ae_obj_v3({ console.log('Fields:', fields); } + // Standard Aether Pattern: Auto-serialize any key ending in _json + const cleaned_fields = { ...fields }; + for (const key in cleaned_fields) { + if (key.endsWith('_json') && cleaned_fields[key] !== null && typeof cleaned_fields[key] === 'object') { + if (log_lvl > 1) console.log(`Auto-serializing field: ${key}`); + cleaned_fields[key] = JSON.stringify(cleaned_fields[key]); + } + } + return await patch_object({ api_cfg, endpoint, params, - data: fields, + data: cleaned_fields, log_lvl }); } @@ -142,11 +168,19 @@ export async function update_nested_obj_v3({ console.log('Fields:', fields); } + // Standard Aether Pattern: Auto-serialize any key ending in _json + const cleaned_fields = { ...fields }; + for (const key in cleaned_fields) { + if (key.endsWith('_json') && cleaned_fields[key] !== null && typeof cleaned_fields[key] === 'object') { + cleaned_fields[key] = JSON.stringify(cleaned_fields[key]); + } + } + return await patch_object({ api_cfg, endpoint, params, - data: fields, + data: cleaned_fields, log_lvl }); }