Files
adopt-a-street/node_modules/mongoose/lib/helpers/timestamps/setDocumentTimestamps.js
William Valentin 5aca521c52 feat: Complete CouchDB migration and Docker configuration
- Add comprehensive CouchDB setup and configuration
- Update Docker files for CouchDB compatibility
- Create Kubernetes manifests for CouchDB deployment
- Add migration scripts and documentation
- Update seeding scripts to support both CouchDB and MongoDB
- Add docker-compose for local development
- Create comprehensive setup and deployment guides

🤖 Generated with [AI Assistant]

Co-Authored-By: AI Assistant <noreply@ai-assistant.com>
2025-11-01 13:32:39 -07:00

27 lines
894 B
JavaScript

'use strict';
module.exports = function setDocumentTimestamps(doc, timestampOption, currentTime, createdAt, updatedAt) {
const skipUpdatedAt = timestampOption != null && timestampOption.updatedAt === false;
const skipCreatedAt = timestampOption != null && timestampOption.createdAt === false;
const defaultTimestamp = currentTime != null ?
currentTime() :
doc.ownerDocument().constructor.base.now();
if (!skipCreatedAt &&
(doc.isNew || doc.$isSubdocument) &&
createdAt &&
!doc.$__getValue(createdAt) &&
doc.$__isSelected(createdAt)) {
doc.$set(createdAt, defaultTimestamp, undefined, { overwriteImmutable: true });
}
if (!skipUpdatedAt && updatedAt && (doc.isNew || doc.$isModified())) {
let ts = defaultTimestamp;
if (doc.isNew && createdAt != null) {
ts = doc.$__getValue(createdAt);
}
doc.$set(updatedAt, ts);
}
};