mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-22 14:25:45 +00:00
feat(BE): add file size validation and improve document indexing for transfer creation
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user