My boss keeps asking me to refactor the below code. But How?????
First thought is to declare "query" outside the if statement.
But how will I do that as my ".query" and ".eq" have different indices.
if (input.targetId && !input.userId) {
// with target id and no user id
let query = this.model
.query('appTargetId')
.eq(appTargetId)
.where('createDate')
.ge(fromDate)
.where('status')
.not()
.eq(NotificationStatus.Delete);
/* istanbul ignore next */
if (input.subApplicationId) {
query = query.filter('subApplicationId').eq(input.subApplicationId);
}
return query.exec();
} else if (input.userId && !input.targetId) {
// with user id and no target id
return this.model
.query('appUserId')
.eq(appUserId)
.where('createDate')
.ge(fromDate)
.where('status')
.not()
.eq(NotificationStatus.Delete)
.exec();
} else {
// user id + target id
return this.model
.query('appUserTargetId')
.eq(appUserTargetId)
.where('createDate')
.ge(fromDate)
.where('status')
.not()
.eq(NotificationStatus.Delete)
.exec();
}
Aucun commentaire:
Enregistrer un commentaire