✨ Manually active boost api
This commit is contained in:
parent
3c9b826ed2
commit
00fddfdef9
@ -78,6 +78,24 @@ 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)
|
||||||
|
@ -13,9 +13,10 @@ 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("/:id", getBoost)
|
boost.Get("/:boostId", getBoost)
|
||||||
boost.Post("/", sec.ValidatorMiddleware, createBoost)
|
boost.Post("/", sec.ValidatorMiddleware, createBoost)
|
||||||
boost.Put("/:id", sec.ValidatorMiddleware, updateBoost)
|
boost.Post("/:boostId/activate", sec.ValidatorMiddleware, activateBoost)
|
||||||
|
boost.Put("/:boostId", sec.ValidatorMiddleware, updateBoost)
|
||||||
}
|
}
|
||||||
|
|
||||||
pools := api.Group("/pools").Name("Pools API")
|
pools := api.Group("/pools").Name("Pools API")
|
||||||
|
@ -84,24 +84,25 @@ func CreateBoost(user *sec.UserInfo, source models.Attachment, destination int)
|
|||||||
return boost, nil
|
return boost, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func ActivateBoost(boost models.AttachmentBoost) {
|
func ActivateBoost(boost models.AttachmentBoost) error {
|
||||||
log.Debug().Any("boost", boost).Msg("Activating boost...")
|
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
|
return fmt.Errorf("invalid destination: %d", boost.Destination)
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user