Skip to content

Commit a682d40

Browse files
committed
use typeMap instead of dynamic calls to getIdFields()
1 parent 42adde0 commit a682d40

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

packages/server/src/api/rest/index.ts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1241,7 +1241,7 @@ class RequestHandler extends APIHandlerBase {
12411241
const linkers: Record<string, Linker<any>> = {};
12421242

12431243
for (const model of Object.keys(modelMeta.models)) {
1244-
const ids = this.getIdFields(modelMeta, model);
1244+
const ids = this.typeMap[model].idFields;
12451245
const mappedModel = this.mapModelName(model);
12461246

12471247
if (ids.length < 1) {
@@ -1251,7 +1251,7 @@ class RequestHandler extends APIHandlerBase {
12511251
const linker = new Linker((items) =>
12521252
Array.isArray(items)
12531253
? this.makeLinkUrl(`/${mappedModel}`)
1254-
: this.makeLinkUrl(`/${mappedModel}/${this.getId(model, items, modelMeta)}`)
1254+
: this.makeLinkUrl(`/${mappedModel}/${this.getId(model, items)}`)
12551255
);
12561256
linkers[model] = linker;
12571257

@@ -1293,7 +1293,7 @@ class RequestHandler extends APIHandlerBase {
12931293
if (!fieldSerializer) {
12941294
continue;
12951295
}
1296-
const fieldIds = this.getIdFields(modelMeta, fieldMeta.type);
1296+
const fieldIds = this.typeMap[fieldMeta.type].idFields;
12971297
if (fieldIds.length > 0) {
12981298
const mappedModel = this.mapModelName(model);
12991299

@@ -1306,16 +1306,13 @@ class RequestHandler extends APIHandlerBase {
13061306
relatedName: field,
13071307
linkers: {
13081308
related: new Linker((primary) =>
1309-
this.makeLinkUrl(
1310-
`/${lowerCaseFirst(model)}/${this.getId(model, primary, modelMeta)}/${field}`
1311-
)
1309+
this.makeLinkUrl(`/${lowerCaseFirst(model)}/${this.getId(model, primary)}/${field}`)
13121310
),
13131311
relationship: new Linker((primary) =>
13141312
this.makeLinkUrl(
13151313
`/${lowerCaseFirst(mappedModel)}/${this.getId(
13161314
model,
1317-
primary,
1318-
modelMeta
1315+
primary
13191316
)}/relationships/${field}`
13201317
)
13211318
),
@@ -1329,11 +1326,11 @@ class RequestHandler extends APIHandlerBase {
13291326
}
13301327
}
13311328

1332-
private getId(model: string, data: any, modelMeta: ModelMeta) {
1329+
private getId(model: string, data: any) {
13331330
if (!data) {
13341331
return undefined;
13351332
}
1336-
const ids = this.getIdFields(modelMeta, model);
1333+
const ids = this.typeMap[model].idFields;
13371334
if (ids.length === 0) {
13381335
return undefined;
13391336
} else {

0 commit comments

Comments
 (0)