Browse Source

fix: missing pk handling (#8749)

* fix: handle null case

* fix: missing required field
pull/8751/head
Mert E 6 months ago committed by GitHub
parent
commit
486c29bdd4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 7
      packages/nocodb/src/db/BaseModelSqlv2.ts
  2. 4
      packages/nocodb/src/helpers/catchError.ts

7
packages/nocodb/src/db/BaseModelSqlv2.ts

@ -7504,10 +7504,11 @@ export function _wherePk(
}
export function getCompositePkValue(primaryKeys: Column[], row) {
if (typeof row !== 'object') return row;
if (row === null)
if (row === null || row === undefined) {
NcError.requiredFieldMissing(primaryKeys.map((c) => c.title).join(','));
}
if (typeof row !== 'object') return row;
return primaryKeys.map((c) => row[c.title] ?? row[c.column_name]).join('___');
}

4
packages/nocodb/src/helpers/catchError.ts

@ -670,7 +670,9 @@ export class NcError {
id: string | string[] | Record<string, string> | Record<string, string>[],
args?: NcErrorArgs,
) {
if (typeof id === 'string') {
if (!id) {
id = 'unknown';
} else if (typeof id === 'string') {
id = [id];
} else if (Array.isArray(id)) {
if (id.every((i) => typeof i === 'string')) {

Loading…
Cancel
Save