sunrise-cms/handlers/dashboard-get/dashboard.js

36 lines
1.2 KiB
JavaScript

import { dateToString } from '@cityssm/utils-datetime';
import getContracts from '../../database/getContracts.js';
import getWorkOrderMilestones from '../../database/getWorkOrderMilestones.js';
import { getWorkOrders } from '../../database/getWorkOrders.js';
export default async function handler(_request, response) {
const currentDateString = dateToString(new Date());
const workOrderMilestones = await getWorkOrderMilestones({
workOrderMilestoneDateFilter: 'date',
workOrderMilestoneDateString: currentDateString
}, {
orderBy: 'completion',
includeWorkOrders: true
});
const workOrderResults = await getWorkOrders({
workOrderOpenDateString: currentDateString
}, {
limit: 1, // only using the count
offset: 0
});
const contractResults = await getContracts({
contractStartDateString: currentDateString
}, {
limit: 1, // only using the count
offset: 0,
includeFees: false,
includeInterments: false,
includeTransactions: false
});
response.render('dashboard', {
headTitle: 'Dashboard',
workOrderMilestones,
workOrderCount: workOrderResults.count,
contractCount: contractResults.count
});
}