Source: validation/loan-validation.js

  1. import Joi from "joi";
  2. /**
  3. * Validasi untuk peminjaman buku.
  4. *
  5. * Validasi ini memastikan bahwa data yang diterima untuk proses peminjaman buku sesuai dengan format yang benar.
  6. *
  7. * @constant {Object} loanValidation
  8. * @property {number} student_id - ID mahasiswa yang meminjam buku, wajib ada dan harus berupa angka
  9. * @property {number} book_id - ID buku yang akan dipinjam, wajib ada dan harus berupa angka
  10. * @property {string} notes - Catatan peminjaman buku yang bersifat opsional, panjang maksimal 100 karakter dan bisa kosong
  11. */
  12. const loanValidation = Joi.object({
  13. student_id: Joi.number().required(),
  14. book_id: Joi.number().required(),
  15. notes: Joi.string().max(100).optional().allow(""),
  16. });
  17. /**
  18. * Validasi untuk pengembalian buku.
  19. *
  20. * Validasi ini memastikan bahwa data yang diterima untuk proses pengembalian buku sesuai dengan format yang benar.
  21. *
  22. * @constant {Object} returnValidation
  23. * @property {number} student_id - ID mahasiswa yang mengembalikan buku, wajib ada dan harus berupa angka
  24. * @property {number} book_id - ID buku yang akan dikembalikan, wajib ada dan harus berupa angka
  25. */
  26. const returnValidation = Joi.object({
  27. student_id: Joi.number().required(),
  28. book_id: Joi.number().required(),
  29. });
  30. export { loanValidation, returnValidation };