feat(core): Use filters for data table upsert (no-changelog) (#19292)

This commit is contained in:
Daria
2025-09-08 14:41:09 +03:00
committed by GitHub
parent 70254526bb
commit 9b06648edc
17 changed files with 218 additions and 609 deletions

View File

@@ -7,6 +7,6 @@ import {
} from '../../schemas/data-store.schema';
export class AddDataStoreRowsDto extends Z.class({
returnData: z.boolean().default(false),
returnData: z.boolean().optional().default(false),
data: z.array(z.record(dataStoreColumnNameSchema, dataStoreColumnValueSchema)),
}) {}

View File

@@ -18,7 +18,7 @@ const updateDataTableRowShape = {
.refine((obj) => Object.keys(obj).length > 0, {
message: 'data must not be empty',
}),
returnData: z.boolean().default(false),
returnData: z.boolean().optional().default(false),
};
export class UpdateDataTableRowDto extends Z.class(updateDataTableRowShape) {}

View File

@@ -0,0 +1,24 @@
import { z } from 'zod';
import { Z } from 'zod-class';
import {
dataStoreColumnNameSchema,
dataStoreColumnValueSchema,
} from '../../schemas/data-store.schema';
import { dataTableFilterSchema } from '../../schemas/data-table-filter.schema';
const upsertFilterSchema = dataTableFilterSchema.refine((filter) => filter.filters.length > 0, {
message: 'filter must not be empty',
});
const upsertDataStoreRowShape = {
filter: upsertFilterSchema,
data: z
.record(dataStoreColumnNameSchema, dataStoreColumnValueSchema)
.refine((obj) => Object.keys(obj).length > 0, {
message: 'data must not be empty',
}),
returnData: z.boolean().optional().default(false),
};
export class UpsertDataStoreRowDto extends Z.class(upsertDataStoreRowShape) {}

View File

@@ -1,15 +0,0 @@
import { z } from 'zod';
import { Z } from 'zod-class';
import {
dataStoreColumnNameSchema,
dataStoreColumnValueSchema,
} from '../../schemas/data-store.schema';
const upsertDataStoreRowsShape = {
rows: z.array(z.record(dataStoreColumnNameSchema, dataStoreColumnValueSchema)),
matchFields: z.array(dataStoreColumnNameSchema).min(1),
returnData: z.boolean().optional().default(false),
};
export class UpsertDataStoreRowsDto extends Z.class(upsertDataStoreRowsShape) {}

View File

@@ -86,7 +86,7 @@ export { OidcConfigDto } from './oidc/config.dto';
export { CreateDataStoreDto } from './data-store/create-data-store.dto';
export { UpdateDataStoreDto } from './data-store/update-data-store.dto';
export { UpdateDataTableRowDto } from './data-store/update-data-store-row.dto';
export { UpsertDataStoreRowsDto } from './data-store/upsert-data-store-rows.dto';
export { UpsertDataStoreRowDto } from './data-store/upsert-data-store-row.dto';
export { ListDataStoreQueryDto } from './data-store/list-data-store-query.dto';
export { ListDataStoreContentQueryDto } from './data-store/list-data-store-content-query.dto';
export { CreateDataStoreColumnDto } from './data-store/create-data-store-column.dto';