prepare for update method

This commit is contained in:
Pavel 2024-07-25 18:47:03 +03:00
parent e49ec0e1cc
commit 27d09e02a7
2 changed files with 27 additions and 1 deletions

@ -113,7 +113,28 @@ func (t *TariffInternal) Delete(ctx *fiber.Ctx) error {
} }
func (t *TariffInternal) Update(ctx *fiber.Ctx) error { func (t *TariffInternal) Update(ctx *fiber.Ctx) error {
return nil var req models.Tariff
if err := ctx.BodyParser(&req); err != nil {
return ctx.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "Invalid request payload"})
}
id := ctx.Params("id")
objID, err := primitive.ObjectIDFromHex(id)
if err != nil {
return ctx.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "no valid object tariff id"})
}
result, err := t.repo.Update(ctx.Context(), objID, req)
if err != nil {
switch {
case errors.Is(err, our_errors.ErrNotFound):
return ctx.Status(fiber.StatusNotFound).JSON(fiber.Map{"error": "Tariff not found"})
default:
return ctx.Status(fiber.StatusInternalServerError).JSON(fiber.Map{"error": err.Error()})
}
}
return ctx.Status(fiber.StatusOK).JSON(result)
} }
func (t *TariffInternal) Restore(ctx *fiber.Ctx) error { func (t *TariffInternal) Restore(ctx *fiber.Ctx) error {

@ -118,3 +118,8 @@ func (t *Tariff) SoftDelete(ctx context.Context, tariffID primitive.ObjectID) (m
return tariff, nil return tariff, nil
} }
func (t *Tariff) Update(ctx context.Context, tariffID primitive.ObjectID, req models.Tariff) (models.Tariff, error) {
var tariff models.Tariff
return tariff, nil
}