Skip to content

Commit c7dd9e1

Browse files
committed
fix: serialization of resources with same ids
1 parent 4664144 commit c7dd9e1

File tree

4 files changed

+8158
-2
lines changed

4 files changed

+8158
-2
lines changed

packages/resource-jsonapi/src/serialization/document.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ export class DocumentSerializer {
116116
private addDocumentToIncluded (resource: Resource, include: IncludeQuery[]) {
117117
const document = this.serializeOneTopDocument(resource, include);
118118

119-
if (resource.id && !this.included.has(resource.id)) {
120-
this.included.set(resource.id, document);
119+
if (resource.id && !this.included.has(this.makeUniqueIncludedIdForResource(resource))) {
120+
this.included.set(this.makeUniqueIncludedIdForResource(resource), document);
121121
}
122122

123123
return document;
@@ -128,4 +128,8 @@ export class DocumentSerializer {
128128
self: `${this.registry.getConfig().host}/${schema.resourceType}/${resource.id}`,
129129
};
130130
}
131+
132+
private makeUniqueIncludedIdForResource(r: Resource) {
133+
return `${r.resourceType}_${r.id}`;
134+
}
131135
}

0 commit comments

Comments
 (0)