Now able to search the Journal Entries!

This commit is contained in:
Scott Idem
2025-06-04 17:54:37 -04:00
parent 8c9f0afc02
commit ac81aadd6f
4 changed files with 202 additions and 10 deletions

View File

@@ -332,6 +332,137 @@ export async function delete_ae_obj_id__journal_entry(
}
// This new function is using CRUD v2. This should allow for more flexibility in the queries.
// Updated 2025-06-04
export async function qry__journal_entry(
{
api_cfg,
journal_id,
qry_str = null, // Example: 'name:contains:"test"'
qry_created_on = null, // Example greater than: '2024-10-24'
qry_alert = null,
qry_priority = null,
enabled = 'enabled',
hidden = 'not_hidden',
limit = 50,
offset = 0,
order_by_li = {'group': 'DESC', 'priority': 'DESC', 'sort': 'DESC', 'alert': 'DESC', 'name': 'ASC', 'updated_on': 'DESC', 'created_on': 'DESC'},
params = {},
try_cache = true,
log_lvl = 0
}: {
api_cfg: any,
journal_id: any,
qry_str?: null|string,
qry_created_on?: null|string,
qry_alert?: null|string,
qry_priority?: null|number,
enabled?: string,
hidden?: string,
limit?: number,
offset?: number,
order_by_li?: key_val,
params?: any,
try_cache?: boolean,
log_lvl?: number
}
) {
log_lvl = 1;
if (log_lvl) {
console.log(`*** qry__journal_entry() *** journal_id=${journal_id}`);
}
let params_json: key_val = {};
params_json['qry'] = [];
if (qry_str) {
console.log('qry_str:', qry_str);
// let qry_param =
// {
// type: "AND",
// field: "qry_str",
// operator: "LIKE",
// value: qry_str
// };
let qry_param =
{
type: "",
field: "default_qry_str", // default is really just the standard FT string in the DB
operator: "MATCH",
value: qry_str
};
params_json['qry'].push(qry_param);
}
if (qry_created_on) {
let qry_param =
{
type: "AND",
field: "created_on",
operator: ">",
value: qry_created_on
};
params_json['qry'].push(qry_param);
}
if (qry_priority) {
console.log('qry_priority:', qry_priority);
let qry_param =
{
type: "AND",
field: "priority",
operator: "=",
value: qry_priority
};
params_json['qry'].push(qry_param);
}
ae_promises.load__journal_entry_obj_li = await api.get_ae_obj_li_for_obj_id_crud_v2({
api_cfg: api_cfg,
obj_type: 'journal_entry',
for_obj_type: 'journal',
for_obj_id: journal_id,
use_alt_tbl: true, // NOTE: We want to use the alt table for journal entry searching???
use_alt_mdl: false,
use_alt_exp: false,
enabled: enabled,
hidden: hidden,
order_by_li: order_by_li,
limit: limit,
offset: offset,
params_json: params_json,
params: params,
log_lvl: log_lvl
})
.then(function (journal_entry_obj_li_get_result) {
if (journal_entry_obj_li_get_result) {
if (try_cache) {
db_save_ae_obj_li__journal_entry({
obj_type: 'journal_entry',
obj_li: journal_entry_obj_li_get_result
});
}
return journal_entry_obj_li_get_result;
} else {
return [];
}
});
if (log_lvl) {
console.log('ae_promises.load__journal_entry_obj_li:', ae_promises.load__journal_entry_obj_li);
}
return ae_promises.load__journal_entry_obj_li;
}
// Updated 2025-03-15
// export async function update_ae_obj__journal_entry(
// {

View File

@@ -10,12 +10,13 @@ let export_obj = {
create_ae_obj__journal: journal.create_ae_obj__journal,
delete_ae_obj_id__journal: journal.delete_ae_obj_id__journal,
update_ae_obj__journal: journal.update_ae_obj__journal,
db_save_ae_obj_li__journal: journal.db_save_ae_obj_li__journal,
// db_save_ae_obj_li__journal: journal.db_save_ae_obj_li__journal,
load_ae_obj_id__journal_entry: journal_entry.load_ae_obj_id__journal_entry,
load_ae_obj_li__journal_entry: journal_entry.load_ae_obj_li__journal_entry,
create_ae_obj__journal_entry: journal_entry.create_ae_obj__journal_entry,
delete_ae_obj_id__journal_entry: journal_entry.delete_ae_obj_id__journal_entry,
update_ae_obj__journal_entry: journal_entry.update_ae_obj__journal_entry,
db_save_ae_obj_li__journal_entry: journal_entry.db_save_ae_obj_li__journal_entry,
qry__journal_entry: journal_entry.qry__journal_entry,
// db_save_ae_obj_li__journal_entry: journal_entry.db_save_ae_obj_li__journal_entry,
};
export let journals_func = export_obj;