Use "db" service to avoid double call of service handlers
This commit is contained in:
@@ -36,7 +36,7 @@ class RemoteHandler {
|
||||
}
|
||||
|
||||
serviceFor(entityName) {
|
||||
return this.remoteEntities[entityName] || this.service;
|
||||
return this.remoteEntities[entityName] || cds.db;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -75,6 +75,7 @@ class RemoteHandler {
|
||||
const targetService = this.serviceFor(target.name);
|
||||
|
||||
// Select target
|
||||
// REVISIT: const targetResult = await targetService.read(target.name).where({ [targetKeyFieldName]: ids }).columns(expandColumns);
|
||||
const targetQuery = SELECT.from(target.name)
|
||||
.where({ [targetKeyFieldName]: ids })
|
||||
.columns(expandColumns);
|
||||
@@ -166,6 +167,7 @@ class RemoteHandler {
|
||||
const entry = await sourceService.run(selectEntry);
|
||||
|
||||
// REVISIT: How to call service datasource w/o handlers
|
||||
// REVISIT: const result = await targetService.read(target).columns(req.query.SELECT.columns).where({ [targetKeyFieldName]: entry[keyFieldName] });
|
||||
// TODO: Seems not to respect filter for targetkeyFieldName
|
||||
const selectTarget = SELECT(req.query.SELECT.columns)
|
||||
.from(target)
|
||||
@@ -197,7 +199,7 @@ class RemoteHandler {
|
||||
}
|
||||
|
||||
isRemote(entityName) {
|
||||
return this.serviceFor(entityName) !== this.service;
|
||||
return this.serviceFor(entityName) !== cds.db;
|
||||
}
|
||||
|
||||
isSeparated(entityNameA, entityNameB) {
|
||||
|
||||
@@ -228,8 +228,9 @@ describe("Notes", () => {
|
||||
});
|
||||
});
|
||||
|
||||
// TODO: Seems not to respect filter for targetkeyFieldName
|
||||
/*
|
||||
// TODO: Seems not to respect filter for targetKeyFieldName
|
||||
/*
|
||||
|
||||
it.only("get supplier via navigation", async () => {
|
||||
const { status, data } = await GET("/notes/Notes(545A3CF9-84CF-46C8-93DC-E29F0F2BC6BE)/supplier");
|
||||
expect({ status, data }).to.containSubset({
|
||||
@@ -237,7 +238,8 @@ describe("Notes", () => {
|
||||
data: envelope("Suppliers", NotesExpandSuppliers[0].supplier )
|
||||
});
|
||||
});
|
||||
*/
|
||||
*/
|
||||
|
||||
|
||||
after(() => mockServer.close());
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user