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