feat(BE): add file size validation and improve document indexing for transfer creation

This commit is contained in:
aguhh18
2026-01-08 18:52:12 +07:00
parent 2650e919e7
commit 7af78d04dd
3 changed files with 28 additions and 14 deletions
@@ -75,6 +75,8 @@ func (u *TransferController) GetOne(c *fiber.Ctx) error {
func (u *TransferController) CreateOne(c *fiber.Ctx) error {
data := c.FormValue("data")
const maxFileSize = 5 * 1024 * 1024
var req validation.TransferRequest
if err := json.Unmarshal([]byte(data), &req); err != nil {
return fiber.NewError(fiber.StatusBadRequest, "Invalid request body")
@@ -87,9 +89,11 @@ func (u *TransferController) CreateOne(c *fiber.Ctx) error {
files := form.File["documents"]
if len(files) != len(req.Deliveries) {
return fiber.NewError(fiber.StatusBadRequest,
fiber.NewError(fiber.StatusBadRequest, "Jumlah dokumen harus sama dengan jumlah deliveries").Message)
for i, file := range files {
if file.Size > maxFileSize {
return fiber.NewError(fiber.StatusBadRequest,
"Dokumen ke-"+strconv.Itoa(i+1)+" melebihi ukuran maksimal 5MB")
}
}
result, err := u.TransferService.CreateOne(c, &req, files)