|
|
@@ -8,6 +8,8 @@ const {
|
|
|
TEMPLATE_REMINDER,
|
|
|
} = require('../utils/constanta')
|
|
|
const moment = require('moment')
|
|
|
+const autoSaveModel = require('../model/autoSave.model')
|
|
|
+const { cekSatuDataSanksi, cekSatuDataLaporan } = require('../utils/cekData')
|
|
|
|
|
|
exports.keberatan = handleError(async (req, res) => {
|
|
|
const dataSanksi = await sanksiModel
|
|
|
@@ -126,7 +128,7 @@ exports.reminderKeberatan = handleError(async (req, res) => {
|
|
|
if (
|
|
|
e.batas_waktu.jawaban_keberatan &&
|
|
|
new Date() >
|
|
|
- moment(e.batas_waktu.jawaban_keberatan).add(-7, 'days').toDate() &&
|
|
|
+ moment(e.batas_waktu.jawaban_keberatan).add(-7, 'days').toDate() &&
|
|
|
new Date() < e.batas_waktu.jawaban_keberatan
|
|
|
) {
|
|
|
const dayLeft = moment(e.batas_waktu.jawaban_keberatan).diff(
|
|
|
@@ -193,7 +195,7 @@ exports.reminderBanding = handleError(async (req, res) => {
|
|
|
if (
|
|
|
e.batas_waktu.jawaban_banding &&
|
|
|
new Date() >
|
|
|
- moment(e.batas_waktu.jawaban_banding).add(-7, 'days').toDate() &&
|
|
|
+ moment(e.batas_waktu.jawaban_banding).add(-7, 'days').toDate() &&
|
|
|
new Date() < e.batas_waktu.jawaban_banding
|
|
|
) {
|
|
|
const dayLeft = moment(e.batas_waktu.jawaban_banding).diff(
|
|
|
@@ -261,3 +263,72 @@ exports.updateStatusSanksi = handleError(async (req, res) => {
|
|
|
message: 'update status sanksi berhasil',
|
|
|
})
|
|
|
})
|
|
|
+
|
|
|
+exports.save = handleError(async (req, res) => {
|
|
|
+ const { id } = req.params
|
|
|
+ const { laporan: isLaporan, sanksi: isSanksi } = req.query
|
|
|
+ const user = req.user
|
|
|
+
|
|
|
+ let autoData = null;
|
|
|
+ let laporan = null;
|
|
|
+ let sanksi = null;
|
|
|
+ if (isLaporan === 'true') {
|
|
|
+ laporan = await cekSatuDataLaporan(res, user, id, { all: true });
|
|
|
+ if (!laporan) return
|
|
|
+ autoData = await autoSaveModel.findOne({ laporan_id: laporan._id });
|
|
|
+ } else if (isSanksi === 'true') {
|
|
|
+ sanksi = await cekSatuDataSanksi(res, user, id, { all: true });
|
|
|
+ if (!sanksi) return
|
|
|
+ autoData = await autoSaveModel.findOne({ sanksi_id: sanksi._id });
|
|
|
+ } else {
|
|
|
+ return response.error(res, {
|
|
|
+ message: 'query harus sanksi atau laporan yg bernilai true',
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ if (autoData) {
|
|
|
+ if (isLaporan) {
|
|
|
+ await autoSaveModel.updateOne({ laporan_id: laporan._id }, { laporan: req.body })
|
|
|
+ } else {
|
|
|
+ await autoSaveModel.updateOne({ sanksi_id: sanksi._id }, { sanksi: req.body })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (isLaporan) {
|
|
|
+ await autoSaveModel.create({ laporan_id: laporan._id, laporan: req.body })
|
|
|
+ } else {
|
|
|
+ await autoSaveModel.create({ sanksi_id: sanksi._id, sanksi: req.body })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return response.success(res, {
|
|
|
+ message: 'Berhasil menyimpan data auto save',
|
|
|
+ })
|
|
|
+})
|
|
|
+
|
|
|
+exports.getSave = handleError(async (req, res) => {
|
|
|
+ const { id } = req.params
|
|
|
+ const { laporan: isLaporan, sanksi: isSanksi } = req.query
|
|
|
+ const user = req.user
|
|
|
+
|
|
|
+ let data = null;
|
|
|
+ let laporan = null;
|
|
|
+ let sanksi = null;
|
|
|
+ if (isLaporan === 'true') {
|
|
|
+ laporan = await cekSatuDataLaporan(res, user, id, { all: true });
|
|
|
+ if (!laporan) return
|
|
|
+ data = (await autoSaveModel.findOne({ laporan_id: laporan._id})).laporan;
|
|
|
+ } else if (isSanksi === 'true') {
|
|
|
+ sanksi = await cekSatuDataSanksi(res, user, id, { all: true });
|
|
|
+ if (!sanksi) return
|
|
|
+ data = (await autoSaveModel.findOne({ sanksi_id: sanksi._id})).sanksi;
|
|
|
+ } else {
|
|
|
+ return response.error(res, {
|
|
|
+ message: 'harus terdapat query sanksi atau laporan yg bernilai true',
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ return response.success(res, {
|
|
|
+ message: 'Berhasil mengambil data auto save',
|
|
|
+ data: data
|
|
|
+ })
|
|
|
+})
|