Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 2x 2x | import cacheOrQuery from "../../cache/cacheOrQuery.js";
import { MONTHES } from "../../CONSTANT/MONTHES.js"
import YearlyStatisticsModel from "../../models/YearlyStatistics.js";
import SettingsController from "../../controllers/settings-controllers/SettingsController.js";
export default async function getYearStatisticsDocument(year = new Date().getFullYear(), { createDirectly, save } = {}) {
const yearStatistics = !createDirectly && await YearlyStatisticsModel.findOne({ year });
if (yearStatistics) return yearStatistics;
else E{
const storeVariables = await cacheOrQuery("store-variables", SettingsController.getStoreVariables());
const productsCategories = storeVariables.productsCategories
const newYearStatisticsDocument = new YearlyStatisticsModel({
year,
categories: productsCategories.map((category) => {
return {
category,
monthlyStatistics: MONTHES.map((month) => {
return {
month,
totalEarnings: 0,
productsSold: 0
}
})
}
})
})
if (save) {
await newYearStatisticsDocument.save()
}
return newYearStatisticsDocument;
}
} |