UNPKG

@tduniec/backstage-plugin-time-saver-backend

Version:

This plugin provides an implementation of charts and statistics related to your time savings that are coming from usage of your templates. Plugins is built from frontend and backend part. Backend plugin is responsible for scheduled stats parsing process a

82 lines (78 loc) 2.94 kB
'use strict'; var utils = require('../utils.cjs.js'); const DEFAULT_DB_CREATED_AT_VALUE = ""; class TemplateTimeSavingsMap { static toPersistence(templateTimeSavings) { return { team: templateTimeSavings.team, role: templateTimeSavings.role, created_at: utils.isoDateFromDateTime(templateTimeSavings.createdAt) || DEFAULT_DB_CREATED_AT_VALUE, created_by: templateTimeSavings.createdBy, time_saved: templateTimeSavings.timeSaved, template_name: templateTimeSavings.templateName, template_task_id: templateTimeSavings.templateTaskId, template_task_status: templateTimeSavings.templateTaskStatus }; } static toDTO(templateTimeSavingsDbRow) { return { id: templateTimeSavingsDbRow.id, team: templateTimeSavingsDbRow.team, role: templateTimeSavingsDbRow.role, createdAt: utils.dateTimeFromIsoDate(templateTimeSavingsDbRow.created_at), createdBy: templateTimeSavingsDbRow.created_by, timeSaved: utils.roundNumericValues(templateTimeSavingsDbRow.time_saved), templateName: templateTimeSavingsDbRow.template_name, templateTaskId: templateTimeSavingsDbRow.template_task_id, templateTaskStatus: templateTimeSavingsDbRow.template_task_status }; } } class TemplateTimeSavingsCollectionMap { static toDTO(templateTimeSavingsDbRows) { return templateTimeSavingsDbRows.map((e) => TemplateTimeSavingsMap.toDTO(e)); } static distinctToDTO(templateTimeSavingsDbRows) { if (!(templateTimeSavingsDbRows && templateTimeSavingsDbRows.length)) { return void 0; } const key = Object.keys(templateTimeSavingsDbRows[0])[0]; const values = templateTimeSavingsDbRows.map((e) => Object.values(e)[0]); return { [key]: [...values] }; } } class TimeSavedStatisticsMap { static toDTO(timeSavedStatisticsDbRow) { return { team: timeSavedStatisticsDbRow?.team, templateName: timeSavedStatisticsDbRow?.template_name, timeSaved: parseInt(timeSavedStatisticsDbRow?.time_saved || "0", 10) }; } } class GroupSavingsDivisionMap { static toDTO(groupSavingsDivisionDbRow) { return { team: groupSavingsDivisionDbRow?.team, percentage: utils.roundNumericValues(groupSavingsDivisionDbRow.percentage) }; } } class TimeSummaryMap { static toDTO(timeSummaryDbRow) { return { team: timeSummaryDbRow?.team, templateName: timeSummaryDbRow?.template_name, date: utils.dateTimeFromIsoDate(timeSummaryDbRow.date), totalTimeSaved: utils.roundNumericValues(timeSummaryDbRow.total_time_saved) || 0 }; } } exports.GroupSavingsDivisionMap = GroupSavingsDivisionMap; exports.TemplateTimeSavingsCollectionMap = TemplateTimeSavingsCollectionMap; exports.TemplateTimeSavingsMap = TemplateTimeSavingsMap; exports.TimeSavedStatisticsMap = TimeSavedStatisticsMap; exports.TimeSummaryMap = TimeSummaryMap; //# sourceMappingURL=mappers.cjs.js.map