Skip to content

Commit 85de909

Browse files
bug with constraint storing multiple values
1 parent d9f5e13 commit 85de909

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

backend/src/services/marva-profile.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ export function exportMarvaProfiles(workspaceId: string): MarvaProfileDocument[]
302302
if (hasPartRows.length > 0) {
303303
const ids = hasPartRows
304304
.map(r => r.valueShape!)
305-
.flatMap(vs => vs.split('\n').map(s => s.trim()).filter(Boolean))
305+
.flatMap(vs => vs.split(/[|\n]/).map(s => s.trim()).filter(Boolean))
306306
// Filter out starting point shape references
307307
.filter(id => !isStartingPointShape(id));
308308

@@ -366,19 +366,19 @@ export function exportMarvaProfiles(workspaceId: string): MarvaProfileDocument[]
366366
} else if (row.valueNodeType === 'bnode' && row.valueShape) {
367367
prop.type = 'resource';
368368
prop.valueConstraint.valueTemplateRefs = row.valueShape
369-
.split('\n')
369+
.split(/[|\n]/)
370370
.map(s => s.trim())
371371
.filter(Boolean);
372372
} else if (row.valueConstraintType === 'IRIstem' && row.valueConstraint) {
373373
prop.type = 'lookup';
374374
prop.valueConstraint.useValuesFrom = row.valueConstraint
375-
.split('\n')
375+
.split(/[|\n]/)
376376
.map(s => s.trim())
377377
.filter(Boolean);
378378
} else if (row.valueShape) {
379379
prop.type = 'resource';
380380
prop.valueConstraint.valueTemplateRefs = row.valueShape
381-
.split('\n')
381+
.split(/[|\n]/)
382382
.map(s => s.trim())
383383
.filter(Boolean);
384384
}
@@ -391,8 +391,8 @@ export function exportMarvaProfiles(workspaceId: string): MarvaProfileDocument[]
391391
}
392392

393393
// Handle defaults
394-
const defaultLiterals = row.lcDefaultLiteral?.split('\n').filter(Boolean) || [];
395-
const defaultURIs = row.lcDefaultURI?.split('\n').filter(Boolean) || [];
394+
const defaultLiterals = row.lcDefaultLiteral?.split(/[|\n]/).filter(Boolean) || [];
395+
const defaultURIs = row.lcDefaultURI?.split(/[|\n]/).filter(Boolean) || [];
396396
const maxDefaults = Math.max(defaultLiterals.length, defaultURIs.length);
397397

398398
for (let i = 0; i < maxDefaults; i++) {
@@ -474,13 +474,13 @@ export function exportMarvaProfiles(workspaceId: string): MarvaProfileDocument[]
474474
} else if (row.valueNodeType === 'bnode' && row.valueShape) {
475475
prop.type = 'resource';
476476
prop.valueConstraint.valueTemplateRefs = row.valueShape
477-
.split('\n')
477+
.split(/[|\n]/)
478478
.map(s => s.trim())
479479
.filter(Boolean);
480480
} else if (row.valueConstraintType === 'IRIstem' && row.valueConstraint) {
481481
prop.type = 'lookup';
482482
prop.valueConstraint.useValuesFrom = row.valueConstraint
483-
.split('\n')
483+
.split(/[|\n]/)
484484
.map(s => s.trim())
485485
.filter(Boolean);
486486
}
@@ -491,8 +491,8 @@ export function exportMarvaProfiles(workspaceId: string): MarvaProfileDocument[]
491491
};
492492
}
493493

494-
const defaultLiterals = row.lcDefaultLiteral?.split('\n').filter(Boolean) || [];
495-
const defaultURIs = row.lcDefaultURI?.split('\n').filter(Boolean) || [];
494+
const defaultLiterals = row.lcDefaultLiteral?.split(/[|\n]/).filter(Boolean) || [];
495+
const defaultURIs = row.lcDefaultURI?.split(/[|\n]/).filter(Boolean) || [];
496496
const maxDefaults = Math.max(defaultLiterals.length, defaultURIs.length);
497497

498498
for (let i = 0; i < maxDefaults; i++) {

0 commit comments

Comments
 (0)