@open-mercato/shared 0.6.7-develop.6600.1.49a5df927f → 0.6.7-develop.6603.1.78e5b7a65d
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/dist/lib/crud/factory.js +4 -3
- package/dist/lib/crud/factory.js.map +2 -2
- package/dist/lib/crud/ids.js +11 -2
- package/dist/lib/crud/ids.js.map +2 -2
- package/dist/lib/version.js +1 -1
- package/dist/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/src/lib/crud/__tests__/ids.test.ts +31 -1
- package/src/lib/crud/factory.ts +4 -3
- package/src/lib/crud/ids.ts +22 -1
package/dist/lib/crud/factory.js
CHANGED
|
@@ -45,7 +45,7 @@ import { createProfiler, shouldEnableProfiler } from "@open-mercato/shared/lib/p
|
|
|
45
45
|
import { getTranslationOverlayPlugin } from "@open-mercato/shared/lib/localization/overlay-plugin";
|
|
46
46
|
import { applyResponseEnrichers, applyResponseEnricherToRecord, resolveListCacheEnricherPlan } from "./enricher-runner.js";
|
|
47
47
|
import { runApiInterceptorsAfter, runApiInterceptorsBefore } from "./interceptor-runner.js";
|
|
48
|
-
import { mergeIdFilter, parseIdsParam } from "./ids.js";
|
|
48
|
+
import { mergeIdFilter, parseIdsParam, isIdsParamProvided } from "./ids.js";
|
|
49
49
|
import { mergeAdvancedFilters } from "./advanced-filter-integration.js";
|
|
50
50
|
import { parseExtensionHeaders } from "../umes/extension-headers.js";
|
|
51
51
|
import { createGenericOptimisticLockReader } from "./optimistic-lock.js";
|
|
@@ -975,6 +975,7 @@ function makeCrudRoute(opts) {
|
|
|
975
975
|
...interceptorRequest.query ?? {}
|
|
976
976
|
};
|
|
977
977
|
const parsedIds = parseIdsParam(queryParams.ids);
|
|
978
|
+
const idsParamProvided = isIdsParamProvided(queryParams.ids);
|
|
978
979
|
await opts.hooks?.beforeList?.(validated, ctx);
|
|
979
980
|
profiler.mark("before_list_hook");
|
|
980
981
|
const availableFormats = resolveAvailableExportFormats(opts.list);
|
|
@@ -1155,7 +1156,7 @@ function makeCrudRoute(opts) {
|
|
|
1155
1156
|
const page = exportRequested ? { page: 1, pageSize: exportPageSize } : { page: requestedPage, pageSize: requestedPageSize };
|
|
1156
1157
|
const baseFilters = exportFullRequested ? {} : opts.list.buildFilters ? await opts.list.buildFilters(validated, ctx) : {};
|
|
1157
1158
|
const filters = exportFullRequested ? baseFilters : mergeAdvancedFilters(baseFilters, validated);
|
|
1158
|
-
const mergedFilters = exportFullRequested ? filters : mergeIdFilter(filters, parsedIds);
|
|
1159
|
+
const mergedFilters = exportFullRequested ? filters : mergeIdFilter(filters, parsedIds, { idsParamProvided });
|
|
1159
1160
|
const withDeleted = parseBooleanToken(queryParams.withDeleted) === true;
|
|
1160
1161
|
profiler.mark("filters_ready", { withDeleted });
|
|
1161
1162
|
if (ormCfg.orgField && ctx.organizationIds && ctx.organizationIds.length === 0 && !opts.list?.omitAutomaticTenantOrgScope) {
|
|
@@ -1412,7 +1413,7 @@ function makeCrudRoute(opts) {
|
|
|
1412
1413
|
}
|
|
1413
1414
|
const fallbackBaseFilters = exportFullRequested ? {} : opts.list.buildFilters ? await opts.list.buildFilters(validated, ctx) : {};
|
|
1414
1415
|
const fallbackFilters = exportFullRequested ? fallbackBaseFilters : mergeAdvancedFilters(fallbackBaseFilters, validated);
|
|
1415
|
-
const mergedFallbackFilters = exportFullRequested ? fallbackFilters : mergeIdFilter(fallbackFilters, parsedIds);
|
|
1416
|
+
const mergedFallbackFilters = exportFullRequested ? fallbackFilters : mergeIdFilter(fallbackFilters, parsedIds, { idsParamProvided });
|
|
1416
1417
|
const ormFilters = translateFiltersForOrm(
|
|
1417
1418
|
mergedFallbackFilters,
|
|
1418
1419
|
em,
|