Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async wrapExecution(
reqData: GeneralUserEntityRequestData,
session: Session,
execution: RestApiExecution
): Promise {
const resData = await execution(reqData, session);
return await switchByRequestMethod(reqData, {
find: async (query: ForeignWhereQuery) => {
if (resData.type !== "find" || query.foreign == null) return resData;
const foreignEntitiesById = await this.getForeignEntities(
resData.payload.entities,
query.foreign
);
const { $set, $docPath } = $bind();
return update(
resData,
// @ts-ignore: has no foreign key
$set($docPath("payload", "foreign", "entities"), foreignEntitiesById)
);
},
findOne: async (query: ForeignWhereQuery) => {
if (resData.type !== "findOne" || query.foreign == null) return resData;
async validation(
reqData: GeneralRequestData,
): Promise {
// eslint-disable-line no-unused-vars
return switchByRequestMethod(reqData, {
async find(query: ForeignWhereQuery) {
assertValidForeignQuery(query.foreign, "ForeignWhereQuery");
},
async findOne(query: ForeignWhereQuery) {
assertValidForeignQuery(query.foreign, "ForeignWhereQuery");
},
async get(query: ForeignIdQuery) {
assertValidForeignQuery(query.foreign, "ForeignIdQuery");
},
async getByIds(query: ForeignIdsQuery) {
assertValidForeignQuery(query.foreign, "ForeignIdsQuery");
},
async handleDefault() {
// eslint-disable-line no-unused-vars
return;
}