| 1234567891011121314151617181920212223242526272829303132333435 |
- import { ObjectId } from 'mongodb'
- import config from 'config'
- export const RPO = parseInt(config.get('backupRPOInMS'), 10)
- /**
- * @param {Date} time
- * @return {ObjectId}
- */
- export function objectIdFromDate(time) {
- return ObjectId.createFromTime(time.getTime() / 1000)
- }
- /**
- * @param {number} [factor] - Multiply RPO by this factor, default is 1
- * @return {Date}
- */
- export function getEndDateForRPO(factor = 1) {
- return new Date(Date.now() - RPO * factor)
- }
- /**
- * Creates a startDate, endDate pair that checks a period of time before the RPO horizon
- *
- * @param {number} offset - How many seconds we should check
- * @return {{endDate: Date, startDate: Date}}
- */
- export function getDatesBeforeRPO(offset) {
- const now = new Date()
- const endDate = new Date(now.getTime() - RPO)
- return {
- endDate,
- startDate: new Date(endDate.getTime() - offset * 1000),
- }
- }
|