crud: notification error sparepart
This commit is contained in:
85
services/notification_error_sparepart.service.js
Normal file
85
services/notification_error_sparepart.service.js
Normal file
@@ -0,0 +1,85 @@
|
||||
const {
|
||||
getAllNotificationErrorSparepartDb,
|
||||
getNotificationErrorSparepartByIdDb,
|
||||
createNotificationErrorSparepartDb,
|
||||
updateNotificationErrorSparepartDb,
|
||||
deleteNotificationErrorSparepartDb,
|
||||
} = require("../db/notification_error_sparepart.db");
|
||||
|
||||
const { getContactByIdDb } = require("../db/contact.db");
|
||||
const { ErrorHandler } = require("../helpers/error");
|
||||
|
||||
class NotificationErrorSparepartService {
|
||||
static _checkAccess(contactType) {
|
||||
if (contactType !== "gudang") {
|
||||
throw new ErrorHandler(
|
||||
403,
|
||||
"Akses ditolak. Hanya contact_type 'gudang' yang dapat create/update/delete."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
static async getAll(param) {
|
||||
return await getAllNotificationErrorSparepartDb(param);
|
||||
}
|
||||
|
||||
static async getById(id) {
|
||||
const result = await getNotificationErrorSparepartByIdDb(id);
|
||||
|
||||
if (result.length < 1)
|
||||
throw new ErrorHandler(404, "Notification Error Sparepart not found");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static async create(data) {
|
||||
const contactResult = await getContactByIdDb(data.contact_id);
|
||||
|
||||
if (!contactResult || contactResult.length < 1)
|
||||
throw new ErrorHandler(404, "Contact tidak ditemukan");
|
||||
|
||||
const contact = contactResult[0];
|
||||
|
||||
this._checkAccess(contact.contact_type);
|
||||
|
||||
return await createNotificationErrorSparepartDb(data);
|
||||
}
|
||||
|
||||
static async update(id, data) {
|
||||
const contactResult = await getContactByIdDb(data.contact_id);
|
||||
|
||||
if (!contactResult || contactResult.length < 1)
|
||||
throw new ErrorHandler(404, "Contact tidak ditemukan");
|
||||
|
||||
const contact = contactResult[0];
|
||||
|
||||
this._checkAccess(contact.contact_type);
|
||||
|
||||
const exist = await getNotificationErrorSparepartByIdDb(id);
|
||||
|
||||
if (exist.length < 1)
|
||||
throw new ErrorHandler(404, "Notification Error Sparepart not found");
|
||||
|
||||
return await updateNotificationErrorSparepartDb(id, data);
|
||||
}
|
||||
|
||||
static async delete(id, contact_id) {
|
||||
const contactResult = await getContactByIdDb(contact_id);
|
||||
|
||||
if (!contactResult || contactResult.length < 1)
|
||||
throw new ErrorHandler(404, "Contact tidak ditemukan");
|
||||
|
||||
const contact = contactResult[0];
|
||||
|
||||
this._checkAccess(contact.contact_type);
|
||||
|
||||
const exist = await getNotificationErrorSparepartByIdDb(id);
|
||||
|
||||
if (exist.length < 1)
|
||||
throw new ErrorHandler(404, "Notification Error Sparepart not found");
|
||||
|
||||
return await deleteNotificationErrorSparepartDb(id);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = NotificationErrorSparepartService;
|
||||
Reference in New Issue
Block a user