Compare commits

..

No commits in common. "00fddfdef96f07289d179ea118568f040f58ab25" and "b7bedb8dfc8b42d25ffabcbec40ef1c8bbd47da0" have entirely different histories.

3 changed files with 6 additions and 28 deletions

View File

@ -78,24 +78,6 @@ func createBoost(c *fiber.Ctx) error {
} }
} }
func activateBoost(c *fiber.Ctx) error {
user := c.Locals("nex_user").(*sec.UserInfo)
boostId, _ := c.ParamsInt("boostId", 0)
boost, err := services.GetBoostByID(uint(boostId))
if err != nil {
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
} else if boost.AccountID != user.ID {
return fiber.NewError(fiber.StatusNotFound, "record not created by you")
}
if err := services.ActivateBoost(boost); err != nil {
return fiber.NewError(fiber.StatusBadRequest, err.Error())
} else {
return c.JSON(boost)
}
}
func updateBoost(c *fiber.Ctx) error { func updateBoost(c *fiber.Ctx) error {
user := c.Locals("nex_user").(*sec.UserInfo) user := c.Locals("nex_user").(*sec.UserInfo)
boostId, _ := c.ParamsInt("boostId", 0) boostId, _ := c.ParamsInt("boostId", 0)

View File

@ -13,10 +13,9 @@ func MapAPIs(app *fiber.App, baseURL string) {
boost := api.Group("/boosts").Name("Boosts API") boost := api.Group("/boosts").Name("Boosts API")
{ {
boost.Get("/", listBoostByUser) boost.Get("/", listBoostByUser)
boost.Get("/:boostId", getBoost) boost.Get("/:id", getBoost)
boost.Post("/", sec.ValidatorMiddleware, createBoost) boost.Post("/", sec.ValidatorMiddleware, createBoost)
boost.Post("/:boostId/activate", sec.ValidatorMiddleware, activateBoost) boost.Put("/:id", sec.ValidatorMiddleware, updateBoost)
boost.Put("/:boostId", sec.ValidatorMiddleware, updateBoost)
} }
pools := api.Group("/pools").Name("Pools API") pools := api.Group("/pools").Name("Pools API")

View File

@ -74,7 +74,7 @@ func CreateBoost(user *sec.UserInfo, source models.Attachment, destination int)
} }
} }
if err := database.C.Save(&boost).Error; err != nil { if err := database.C.Create(&boost).Error; err != nil {
return boost, err return boost, err
} }
@ -84,25 +84,22 @@ func CreateBoost(user *sec.UserInfo, source models.Attachment, destination int)
return boost, nil return boost, nil
} }
func ActivateBoost(boost models.AttachmentBoost) error { func ActivateBoost(boost models.AttachmentBoost) {
log.Debug().Any("boost", boost).Msg("Activating boost...")
dests := cast.ToSlice(viper.Get("destinations")) dests := cast.ToSlice(viper.Get("destinations"))
if boost.Destination >= len(dests) { if boost.Destination >= len(dests) {
log.Warn().Any("boost", boost).Msg("Unable to activate boost, invalid destination...") log.Warn().Any("boost", boost).Msg("Unable to activate boost, invalid destination...")
database.C.Model(&boost).Update("status", models.BoostStatusError) database.C.Model(&boost).Update("status", models.BoostStatusError)
return fmt.Errorf("invalid destination: %d", boost.Destination) return
} }
if err := ReUploadFile(boost.Attachment, boost.Destination); err != nil { if err := ReUploadFile(boost.Attachment, boost.Destination); err != nil {
log.Warn().Any("boost", boost).Err(err).Msg("Unable to activate boost...") log.Warn().Any("boost", boost).Err(err).Msg("Unable to activate boost...")
database.C.Model(&boost).Update("status", models.BoostStatusError) database.C.Model(&boost).Update("status", models.BoostStatusError)
return err return
} }
log.Info().Any("boost", boost).Msg("Boost was activated successfully.") log.Info().Any("boost", boost).Msg("Boost was activated successfully.")
database.C.Model(&boost).Update("status", models.BoostStatusActive) database.C.Model(&boost).Update("status", models.BoostStatusActive)
return nil
} }
func UpdateBoostStatus(boost models.AttachmentBoost, status int) (models.AttachmentBoost, error) { func UpdateBoostStatus(boost models.AttachmentBoost, status int) (models.AttachmentBoost, error) {