mirror of
https://github.com/phishingclub/phishingclub.git
synced 2026-09-24 09:50:55 +02:00
Initial open source release
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/phishingclub/phishingclub/data"
|
||||
"github.com/phishingclub/phishingclub/model"
|
||||
"github.com/phishingclub/phishingclub/service"
|
||||
)
|
||||
|
||||
// Option is a Option controller
|
||||
type Option struct {
|
||||
Common
|
||||
OptionService *service.Option
|
||||
}
|
||||
|
||||
// Get a update option
|
||||
func (c *Option) Get(g *gin.Context) {
|
||||
// handle session
|
||||
session, _, ok := c.handleSession(g)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
// parse request
|
||||
key := g.Param("key")
|
||||
if key == "" {
|
||||
c.Response.BadRequestMessage(g, "option is required")
|
||||
return
|
||||
}
|
||||
ctx := g.Request.Context()
|
||||
option, err := c.OptionService.GetOption(
|
||||
ctx,
|
||||
session,
|
||||
key,
|
||||
)
|
||||
if ok := handleServerError(g, c.Response, err); !ok {
|
||||
return
|
||||
}
|
||||
if key == data.OptionKeyAdminSSOLogin {
|
||||
option, err = c.OptionService.MaskSSOSecret(option)
|
||||
if ok := handleServerError(g, c.Response, err); !ok {
|
||||
return
|
||||
}
|
||||
}
|
||||
c.Response.OK(g, option)
|
||||
}
|
||||
|
||||
// Update sets a option
|
||||
func (c *Option) Update(g *gin.Context) {
|
||||
session, _, ok := c.handleSession(g)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
// parse req
|
||||
var req model.Option
|
||||
if ok := c.handleParseRequest(g, &req); !ok {
|
||||
return
|
||||
}
|
||||
err := c.OptionService.SetOptionByKey(g, session, &req)
|
||||
// handle response
|
||||
if ok := c.handleErrors(g, err); !ok {
|
||||
return
|
||||
}
|
||||
c.Response.OK(
|
||||
g,
|
||||
gin.H{},
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user