You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
When I changed a field value(or add some other logic) in post, I want the changed object as the final result.
Describe the solution you'd like
return data instead of result
Describe alternatives you've considered
N
Additional context
`async function _findHandler(model, _id, request, Log) {
try {
let query = Object.assign({}, request.query)
try {
if (
model.routeOptions &&
model.routeOptions.find &&
model.routeOptions.find.pre
) {
query = await model.routeOptions.find.pre(_id, query, request, Log)
}
} catch (err) {
handleError(err, 'There was a preprocessing error.', Boom.badRequest, Log)
}
let flatten = false
if (query.$flatten) {
flatten = true
}
delete query.$flatten
let mongooseQuery = model.findOne({ _id: _id })
mongooseQuery = QueryHelper.createMongooseQuery(
model,
query,
mongooseQuery,
Log
).lean()
let result = await mongooseQuery.exec()
if (result) {
let data = result
try {
if (
model.routeOptions &&
model.routeOptions.find &&
model.routeOptions.find.post
) {
data = await model.routeOptions.find.post(request, result, Log)
}
} catch (err) {
handleError(
err,
'There was a postprocessing error.',
Boom.badRequest,
Log
)
}
if (model.routeOptions) {
let associations = model.routeOptions.associations
for (let associationKey in associations) {
let association = associations[associationKey]
if (association.type === 'ONE_MANY' && data[associationKey]) {
// EXPL: we have to manually populate the return value for virtual (e.g. ONE_MANY) associations
result[associationKey] = data[associationKey]
}
if (association.type === 'MANY_MANY' && flatten === true) {
// EXPL: remove additional fields and return a flattened array
if (result[associationKey]) {
result[associationKey] = result[associationKey].map(object => {
object = object[association.model]
return object
})
}
}
}
}
if (config.enableSoftDelete && config.filterDeletedEmbeds) {
// EXPL: remove soft deleted documents from populated properties
filterDeletedEmbeds(result, {}, '', 0, Log)
}
Log.log('Result: %s', JSON.stringify(result))
return result
} else {
throw Boom.notFound('No resource was found with that id.')
}
Is your feature request related to a problem? Please describe.
When I changed a field value(or add some other logic) in
post
, I want the changed object as the final result.Describe the solution you'd like
return
data
instead ofresult
Describe alternatives you've considered
N
Additional context
`async function _findHandler(model, _id, request, Log) {
try {
let query = Object.assign({}, request.query)
try {
if (
model.routeOptions &&
model.routeOptions.find &&
model.routeOptions.find.pre
) {
query = await model.routeOptions.find.pre(_id, query, request, Log)
}
} catch (err) {
handleError(err, 'There was a preprocessing error.', Boom.badRequest, Log)
}
} catch (err) {
handleError(err, null, null, Log)
}
}`
The text was updated successfully, but these errors were encountered: