crud: brand sparepart
This commit is contained in:
106
services/brand_sparepart.service.js
Normal file
106
services/brand_sparepart.service.js
Normal file
@@ -0,0 +1,106 @@
|
||||
const {
|
||||
getAllBrandSparepartsDb,
|
||||
getBrandSparepartByIdDb,
|
||||
createBrandSparepartDb,
|
||||
updateBrandSparepartDb,
|
||||
deleteBrandSparepartDb,
|
||||
checkBrandSparepartNameExistsDb,
|
||||
} = require('../db/brand_sparepart.db');
|
||||
|
||||
const { ErrorHandler } = require('../helpers/error');
|
||||
|
||||
class BrandSparepartService {
|
||||
static async getAllBrandSparepart(param) {
|
||||
try {
|
||||
const results = await getAllBrandSparepartsDb(param);
|
||||
results.data.map((item) => {});
|
||||
return results;
|
||||
} catch (error) {
|
||||
throw new ErrorHandler(error.statusCode || 500, error.message);
|
||||
}
|
||||
}
|
||||
|
||||
static async getBrandSparepartById(id) {
|
||||
try {
|
||||
const brandSparepart = await getBrandSparepartByIdDb(id);
|
||||
if (!brandSparepart) throw new ErrorHandler(404, 'Brand sparepart not found');
|
||||
return brandSparepart;
|
||||
} catch (error) {
|
||||
throw new ErrorHandler(error.statusCode || 500, error.message);
|
||||
}
|
||||
}
|
||||
|
||||
static async createBrandSparepart(data) {
|
||||
try {
|
||||
if (!data || typeof data !== 'object') data = {};
|
||||
|
||||
if (data.sparepart_name) {
|
||||
const exists = await checkBrandSparepartNameExistsDb(data.sparepart_name);
|
||||
if (exists) throw new ErrorHandler(400, 'Brand sparepart name already exists');
|
||||
}
|
||||
|
||||
const insertData = {
|
||||
sparepart_name: data.sparepart_name,
|
||||
brand_sparepart_description: data.brand_sparepart_description,
|
||||
path_foto: data.path_foto,
|
||||
error_code_id: data.error_code_id,
|
||||
is_active: data.is_active,
|
||||
created_by: data.created_by,
|
||||
};
|
||||
|
||||
const created = await createBrandSparepartDb(insertData);
|
||||
if (!created) throw new ErrorHandler(500, 'Failed to create brand sparepart');
|
||||
|
||||
return created;
|
||||
} catch (error) {
|
||||
throw new ErrorHandler(error.statusCode || 500, error.message);
|
||||
}
|
||||
}
|
||||
|
||||
static async updateBrandSparepart(id, data) {
|
||||
try {
|
||||
const existing = await getBrandSparepartByIdDb(id);
|
||||
if (!existing) throw new ErrorHandler(404, 'Brand sparepart not found');
|
||||
|
||||
if (
|
||||
data.sparepart_name &&
|
||||
data.sparepart_name !== existing.sparepart_name
|
||||
) {
|
||||
const exists = await checkBrandSparepartNameExistsDb(data.sparepart_name, id);
|
||||
if (exists) throw new ErrorHandler(400, 'Brand sparepart name already exists');
|
||||
}
|
||||
|
||||
const updateData = {
|
||||
sparepart_name: data.sparepart_name,
|
||||
brand_sparepart_description: data.brand_sparepart_description,
|
||||
path_foto: data.path_foto || existing.path_foto,
|
||||
error_code_id: data.error_code_id,
|
||||
is_active: data.is_active ?? existing.is_active,
|
||||
updated_by: data.updated_by || null,
|
||||
};
|
||||
|
||||
const updated = await updateBrandSparepartDb(id, updateData);
|
||||
if (!updated) throw new ErrorHandler(500, 'Failed to update brand sparepart');
|
||||
|
||||
return await this.getBrandSparepartById(id);
|
||||
} catch (error) {
|
||||
throw new ErrorHandler(error.statusCode || 500, error.message);
|
||||
}
|
||||
}
|
||||
|
||||
static async deleteBrandSparepart(id, userId) {
|
||||
try {
|
||||
const existing = await getBrandSparepartByIdDb(id);
|
||||
if (!existing) throw new ErrorHandler(404, 'Brand sparepart not found');
|
||||
|
||||
const deleted = await deleteBrandSparepartDb(id, userId);
|
||||
if (!deleted) throw new ErrorHandler(500, 'Failed to delete brand sparepart');
|
||||
|
||||
return deleted;
|
||||
} catch (error) {
|
||||
throw new ErrorHandler(error.statusCode || 500, error.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = BrandSparepartService;
|
||||
Reference in New Issue
Block a user