| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { Project } from '../../models/Project.js'
- import { callbackify } from 'node:util'
- const ProjectUpdateHandler = {
- async markAsUpdated(projectId, lastUpdatedAt, lastUpdatedBy) {
- if (!lastUpdatedAt) {
- lastUpdatedAt = new Date()
- }
- const conditions = {
- _id: projectId,
- lastUpdated: { $lt: lastUpdatedAt },
- }
- const update = {
- lastUpdated: lastUpdatedAt || new Date().getTime(),
- lastUpdatedBy,
- }
- await Project.updateOne(conditions, update, {}).exec()
- },
- async markAsOpened(projectId) {
- const conditions = { _id: projectId }
- const update = { lastOpened: Date.now() }
- await Project.updateOne(conditions, update, {}).exec()
- },
- async markAsInactive(projectId) {
- const conditions = { _id: projectId }
- const update = { active: false }
- await Project.updateOne(conditions, update, {}).exec()
- },
- async markAsActive(projectId) {
- const conditions = { _id: projectId }
- const update = { active: true }
- await Project.updateOne(conditions, update, {}).exec()
- },
- }
- export default {
- markAsUpdated: callbackify(ProjectUpdateHandler.markAsUpdated),
- markAsOpened: callbackify(ProjectUpdateHandler.markAsOpened),
- markAsInactive: callbackify(ProjectUpdateHandler.markAsInactive),
- markAsActive: callbackify(ProjectUpdateHandler.markAsActive),
- promises: ProjectUpdateHandler,
- }
|