Я должен реорганизовать приведенный ниже код, и я это сделал (см. Изображение). Моя ведущая все еще недовольна этим LOL.
const { appTargetId, appUserTargetId, appUserId } = buildIndexKeys(input);
const fromDate = moment(input.requestDate)
.subtract(retention, 'days')
.toISOString();
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();
}
введите описание изображения здесь
Как еще можно это написать ?? Провел столько часов, пытаясь переместить, исправить и изменить этот кусок кода. Кто-нибудь может предложить лучшее решение ??