robot-control-manager/routers/api/v1/permitjoin/permitjoin.go

55 lines
1.3 KiB
Go

package permitjoin
import (
"jannex/robot-control-manager/modules/cache"
"jannex/robot-control-manager/modules/logger"
"jannex/robot-control-manager/modules/structs"
"git.ex.umbach.dev/Alex/roese-utils/rsutils"
"github.com/gofiber/fiber/v2"
"github.com/rs/zerolog/log"
)
func SetPermitJoin(c *fiber.Ctx) error {
// swagger:operation POST /permitjoin/{enabled} permitjoin setPermitJoin
// ---
// summary: Set permit join.
// description: |
// This is used to enable or disable permit join.
// parameters:
// - in: path
// name: enabled
// description: Enable or disable permit join. 0 = disable, 1 = enable.
// required: true
// schema:
// type: integer
// enum: [0, 1]
// responses:
// "200":
// description: Permit join set
// "400":
// description: Invalid request body
var params structs.PermitJoinParam
if err := rsutils.ParamsParserHelper(c, &params); err != nil {
return c.SendStatus(fiber.StatusBadRequest)
}
if params.Enabled == 0 {
cache.SetPermitJoin(false)
log.Debug().Msgf("Permit join disabled")
logger.AddSystemLog("Permit join disabled")
} else {
cache.SetPermitJoin(true)
log.Debug().Msgf("Permit join enabled")
logger.AddSystemLog("Permit join enabled")
}
return c.SendStatus(fiber.StatusOK)
}