fix lamaran magang services and controller

This commit is contained in:
2026-09-18 17:45:08 +07:00
parent 684b93ad88
commit 1450aa9833
2 changed files with 37 additions and 37 deletions
@@ -69,7 +69,10 @@ class LamaranMagangController {
async getAllLamaranMagang(req, res) { async getAllLamaranMagang(req, res) {
try { try {
const validatePayload = isValidPayload(req.query, getAllLamaranMagangModel); const validatePayload = isValidPayload(
req.query,
getAllLamaranMagangModel
);
if (validatePayload.err) { if (validatePayload.err) {
return response( return response(
@@ -83,15 +86,29 @@ class LamaranMagangController {
const query = validatePayload.data; const query = validatePayload.data;
const result = await lamaranMagangService.getAllLamaranMagang(query); const result =
await lamaranMagangService.getAllLamaranMagang(query);
if (result.err) { if (result.err) {
return response(res, 'fail', result); return response(res, 'fail', result);
} }
return paginationResponse(res, 'success', result, 'Lamaran magang berhasil diambil', SUCCESS.OK); return response(
res,
'success',
result,
'Lamaran magang berhasil diambil',
SUCCESS.OK
);
} catch (err) { } catch (err) {
return response(res, 'fail', error(new InternalServerError(err.message)), 'Terjadi kesalahan yang tidak terduga', ERROR.INTERNAL_ERROR); return response(
res,
'fail',
error(new InternalServerError(err.message)),
'Terjadi kesalahan yang tidak terduga',
ERROR.INTERNAL_ERROR
);
} }
} }
@@ -123,37 +123,20 @@ class LamaranMagangService {
async getAllLamaranMagang(query = {}) { async getAllLamaranMagang(query = {}) {
try { try {
const { const {
page = 1,
limit = 10,
posisi, posisi,
status, status,
universitas, universitas,
id_lowongan, id_lowongan,
} = query; } = query;
const offset = (page - 1) * limit;
const lamaranList = await lamaranMagangRepository.findAll({ const lamaranList = await lamaranMagangRepository.findAll({
offset,
limit,
status,
posisi,
universitas,
id_lowongan,
});
const total = await lamaranMagangRepository.countAllLamaran({
status, status,
posisi, posisi,
universitas, universitas,
id_lowongan, id_lowongan,
}); });
const totalPages = Math.ceil(total / limit); return data(lamaranList);
const meta = {
page: Number(page),
limit: Number(limit),
total,
totalPages,
};
return paginationData(lamaranList, meta);
} catch (err) { } catch (err) {
return error(err); return error(err);
} }
@@ -240,20 +223,20 @@ class LamaranMagangService {
const { nama_depan, nama_belakang } = checkResult.data.mahasiswa; const { nama_depan, nama_belakang } = checkResult.data.mahasiswa;
const fullName = [nama_depan, nama_belakang].filter(Boolean).join(" "); const fullName = [nama_depan, nama_belakang].filter(Boolean).join(" ");
await prisma.user.update({ await prisma.user.update({
where: { where: {
id: existingUser.id, id: existingUser.id,
}, },
data: { data: {
id_mahasiswa: checkResult.data.id_mahasiswa, id_mahasiswa: checkResult.data.id_mahasiswa,
id_lamaran_magang: parseInt(id_lamaran_magang), id_lamaran_magang: parseInt(id_lamaran_magang),
full_name: fullName, full_name: fullName,
email: checkResult.data.mahasiswa.email, email: checkResult.data.mahasiswa.email,
intern_position: internPosition, intern_position: internPosition,
intern_interest_group: internInterestGroup, intern_interest_group: internInterestGroup,
is_active: true is_active: true
}, },
}); });
} }
} }