add: CRUD shift

This commit is contained in:
Muhammad Afif
2025-10-13 10:54:39 +07:00
parent 95189e2014
commit 662038d953
8 changed files with 350 additions and 2 deletions

View File

@@ -0,0 +1,42 @@
// ========================
// Device Validation
const Joi = require("joi");
// ========================
const timePattern = /^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?$/;
const insertShiftSchema = Joi.object({
shift_name: Joi.string().max(100).required(),
start_time: Joi.string()
.pattern(timePattern)
.required()
.messages({
"string.pattern.base": "start_time harus dalam format HH:mm atau HH:mm:ss",
}),
end_time: Joi.string()
.pattern(timePattern)
.required()
.messages({
"string.pattern.base": "end_time harus dalam format HH:mm atau HH:mm:ss",
}),
});
const updateShiftSchema = Joi.object({
shift_name: Joi.string().max(100),
start_time: Joi.string()
.pattern(timePattern)
.messages({
"string.pattern.base": "start_time harus dalam format HH:mm atau HH:mm:ss",
}),
end_time: Joi.string()
.pattern(timePattern)
.messages({
"string.pattern.base": "end_time harus dalam format HH:mm atau HH:mm:ss",
}),
}).min(1);
module.exports = {
insertShiftSchema,
updateShiftSchema,
};