Я использую CQRS, DDD и чистую архитектуру с NodeJs, и в моей части запросов мне нужно использовать некоторые бизнес-правила (вычисление, здесь getNetRealEstateAssets ()) для возврата некоторой информации из моего API.
У меня есть класс GetTenantsQuery и класс GetTenantsHandler:
export default class GetPerformancesHandler {
async execute(query) {
const tenants = tenantRepository.find();
return tenants; // array of TenantQueryModel
}
}
class TenantQueryModel {
constructor(){
this.rents = [];
this.grossAssets = xxx;
this.liabilities = xxx;
}
getNetRealEstateAssets = () => {
if (!this.grossAssets || !this.liabilities) return null;
const round = (amount, roundLevel) => (amount / roundLevel).toFixed() * roundLevel;
let netRealEstateAssets = this.grossAssets - this.liabilities;
netRealEstateAssets =
netRealEstateAssets > 10000 ? round(netRealEstateAssets, 1000) : round(netRealEstateAssets, 100);
return netRealEstateAssets;
};
}
В запросах не используется слой домена, поэтому где я могу разместить эти бизнес-правила? (возможно, позже то же самое в доменном слое для команд)
Спасибо.