package mail import ( "strconv" mailService "dove/services/mail" "dove/utils/meta" "dove/utils/shortcuts" "github.com/gofiber/fiber/v2" ) func NewUser(context *fiber.Ctx) error { meta.SetPageTitle(context, "New User") return shortcuts.Render(context, "mail/newuser", nil) } func EditUser(context *fiber.Ctx) error { userID, parseError := strconv.ParseUint(meta.Request(context).Param("id"), 10, 64) if parseError != nil { return shortcuts.BadRequestError(context, parseError) } formData, serviceError := mailService.EditUserFormData(uint(userID)) if serviceError != nil { return shortcuts.HandleError(context, serviceError) } meta.SetPageTitle(context, "Edit User") return shortcuts.Render(context, "mail/edituser", formData) } func Users(context *fiber.Ctx) error { meta.SetPageTitle(context, "Users") pagination := meta.Paginate(context) sorting := meta.Sort(context, []string{"username", "display_name", "created_at"}, "created_at") search := context.Query("search") return shortcuts.Render(context, "mail/users", mailService.ListUsers(pagination, sorting, search)) }