Skip to content

Commit 1e49074

Browse files
committed
Enhance getMetaItems and getMetaItem methods to normalize singular/plural types for improved item retrieval
1 parent 11bc78c commit 1e49074

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

packages/objectql/src/protocol.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,29 @@ export class ObjectStackProtocolImplementation implements ObjectStackProtocol {
5959
}
6060

6161
async getMetaItems(request: { type: string; packageId?: string }) {
62+
let items = SchemaRegistry.listItems(request.type, request.packageId);
63+
// Normalize singular/plural: REST uses singular ('app') but registry may store as plural ('apps')
64+
if (items.length === 0) {
65+
const alt = request.type.endsWith('s') ? request.type.slice(0, -1) : request.type + 's';
66+
items = SchemaRegistry.listItems(alt, request.packageId);
67+
}
6268
return {
6369
type: request.type,
64-
items: SchemaRegistry.listItems(request.type, request.packageId)
70+
items
6571
};
6672
}
6773

6874
async getMetaItem(request: { type: string, name: string }) {
75+
let item = SchemaRegistry.getItem(request.type, request.name);
76+
// Normalize singular/plural
77+
if (item === undefined) {
78+
const alt = request.type.endsWith('s') ? request.type.slice(0, -1) : request.type + 's';
79+
item = SchemaRegistry.getItem(alt, request.name);
80+
}
6981
return {
7082
type: request.type,
7183
name: request.name,
72-
item: SchemaRegistry.getItem(request.type, request.name)
84+
item
7385
};
7486
}
7587

0 commit comments

Comments
 (0)