adjust validation from week 19

This commit is contained in:
giovanni
2026-04-09 17:00:03 +07:00
parent 3d75251c96
commit 3eb225cca8
@@ -386,11 +386,11 @@ func (s *uniformityService) CreateOne(c *fiber.Ctx, req *validation.Create, file
weekBase = config.LayingWeekStart() weekBase = config.LayingWeekStart()
} }
if req.Week < weekBase { if req.Week < weekBase {
if isLayingCategory { if !isLayingCategory {
return nil, fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("week must start from %d for laying projects", weekBase))
}
return nil, fiber.NewError(fiber.StatusBadRequest, "week must start from 1 for growing projects") return nil, fiber.NewError(fiber.StatusBadRequest, "week must start from 1 for growing projects")
} }
// return nil, fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("week must start from %d for laying projects", weekBase))
}
var latestWeek int var latestWeek int
if err := s.Repository.DB().WithContext(c.Context()). if err := s.Repository.DB().WithContext(c.Context()).
@@ -401,11 +401,11 @@ func (s *uniformityService) CreateOne(c *fiber.Ctx, req *validation.Create, file
return nil, fiber.NewError(fiber.StatusInternalServerError, "Failed to validate uniformity week sequence") return nil, fiber.NewError(fiber.StatusInternalServerError, "Failed to validate uniformity week sequence")
} }
if latestWeek == 0 && req.Week != weekBase { if latestWeek == 0 && req.Week != weekBase {
if isLayingCategory { if !isLayingCategory {
return nil, fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("week must start from %d for laying projects", weekBase))
}
return nil, fiber.NewError(fiber.StatusBadRequest, "week must start from 1 for growing projects") return nil, fiber.NewError(fiber.StatusBadRequest, "week must start from 1 for growing projects")
} }
// return nil, fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("week must start from %d for laying projects", weekBase))
}
// if latestWeek > 0 && req.Week > latestWeek+1 { // if latestWeek > 0 && req.Week > latestWeek+1 {
// return nil, fiber.NewError(fiber.StatusBadRequest, "week must be sequential without skipping") // return nil, fiber.NewError(fiber.StatusBadRequest, "week must be sequential without skipping")
// } // }
@@ -582,11 +582,11 @@ func (s uniformityService) UpdateOne(c *fiber.Ctx, req *validation.Update, id ui
weekBase = config.LayingWeekStart() weekBase = config.LayingWeekStart()
} }
if targetWeek < weekBase { if targetWeek < weekBase {
if isLayingCategory { if !isLayingCategory {
return nil, fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("week must start from %d for laying projects", weekBase))
}
return nil, fiber.NewError(fiber.StatusBadRequest, "week must start from 1 for growing projects") return nil, fiber.NewError(fiber.StatusBadRequest, "week must start from 1 for growing projects")
} }
return nil, fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("week must start from %d for laying projects", weekBase))
}
} }
if targetDate != nil { if targetDate != nil {
if err := s.ensureUniqueUniformity(c.Context(), id, targetPFKID, targetWeek); err != nil { if err := s.ensureUniqueUniformity(c.Context(), id, targetPFKID, targetWeek); err != nil {