Data.js 853 B

1234567891011121314151617181920212223242526272829303132
  1. 'use strict'
  2. import DataModel from '../models/Data'
  3. import { dbLogger, TEST_MODE } from '../../../config'
  4. import { formatLog } from '../../functions'
  5. export default class Data {
  6. static log(data) {
  7. if (!TEST_MODE) dbLogger.info(formatLog(data))
  8. }
  9. static async add(dataObj) {
  10. const doc = await DataModel.create({ data: dataObj })
  11. this.log(`New document was added. id=${doc.id}`)
  12. return doc
  13. }
  14. static async del(dataId) {
  15. const doc = await DataModel.findByIdAndDelete(dataId)
  16. this.log(`A document was deleted. id=${doc.id}`)
  17. }
  18. static async update(dataId, newDataObj) {
  19. const doc = await DataModel.findByIdAndUpdate(dataId, { $set: { data: newDataObj } }, { new: true })
  20. this.log(`A document was updated. id=${doc.id}`)
  21. return doc
  22. }
  23. static find(dataId) {
  24. return DataModel.findById(dataId)
  25. }
  26. }