@opengis/fastify-table 1.4.62 → 1.4.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengis/fastify-table",
3
- "version": "1.4.62",
3
+ "version": "1.4.64",
4
4
  "type": "module",
5
5
  "description": "core-plugins",
6
6
  "keywords": [
@@ -54,7 +54,7 @@ export default async function filterAPI(req, reply, iscalled) {
54
54
 
55
55
  filters?.forEach?.(el => Object.assign(el, { id: el.id || el.name, title: el.title || el.ua, extra: extraColumns.includes(el.id || el.name) }));
56
56
 
57
- await Promise.all(filters.filter((el) => el.id && el.type !== 'Autocomplete' && !el.sql).map(async (el) => {
57
+ await Promise.all(filters.filter((el) => el.id && el.type !== 'Autocomplete' && !el.sql && !el.options?.find?.(item => item.sql)).map(async (el) => {
58
58
  const cls = el.data ? await getSelect(el.data, pg) : null;
59
59
 
60
60
  if (!cls && !el.type?.includes?.('Check')) return;
@@ -88,7 +88,7 @@ export default async function filterAPI(req, reply, iscalled) {
88
88
 
89
89
  const options = countArr.rows.map(cel => {
90
90
  const data = cls?.arr?.find?.(c => c.id?.toString?.() === cel.id?.toString?.()) || { text: clsData?.[cel.id]?.text || clsData?.[cel.id] || cel.id };
91
- return { ...cel, ...data };
91
+ return { ...cel, id: cel.id === null ? 'null' : cel.id, ...data };
92
92
  });
93
93
  Object.assign(el, { options });
94
94
  }));
@@ -1,4 +1,4 @@
1
- function onCheck(rule, data) {
1
+ function onCheck(rule, data = {}) {
2
2
  const val = data[rule[0]];
3
3
  // console.log(val, rule[1], rule[2])
4
4
  if (rule[1] === '==') return val === rule[2];
@@ -182,11 +182,12 @@ export default async function dataAPI(req, reply, called) {
182
182
 
183
183
  const offset = query.page && query.page > 0 && !objectId ? ` offset ${(query.page - 1) * limit}` : '';
184
184
  // id, query, filter
185
- const [orderColumn, orderDir] = (query.order || loadTable?.order || '').split(/[- ]/);
185
+ const [orderColumn, orderDir] = called && query.order ? [query.order] : (query.order || loadTable?.order || '').split(/[- ]/);
186
186
 
187
- const order = query.order && columnList.includes(orderColumn) && orderColumn?.length
188
- ? `order by ${orderColumn} ${query.desc || orderDir === 'desc' ? 'desc' : ''} nulls last`
187
+ const order = query.order && (columnList.includes(orderColumn) && orderColumn?.length || called)
188
+ ? `order by ${orderColumn} ${query.desc || orderDir === 'desc' ? 'desc' : ''} ${!called ? 'nulls last' : ''}`
189
189
  : `order by ${(loadTable?.order || 'true::boolean')} nulls last`;
190
+
190
191
  const search = loadTable?.meta?.search && query.search
191
192
  ? `(${loadTable?.meta?.search?.split(',')?.map(el => `${el} ilike '%${query.search.replace(/%/g, '\\%').replace(/'/g, "''")}%'`).join(' or ')})`
192
193
  : null;
@@ -84,7 +84,7 @@ export default async function widgetSet(req, reply) {
84
84
  link: req.path,
85
85
  id,
86
86
  objectid,
87
- session,
87
+ user,
88
88
  type,
89
89
  payload: data,
90
90
  });