mirror of
https://github.com/ngoduykhanh/wireguard-ui.git
synced 2025-07-28 20:10:50 +03:00
Merge 97e7ead5fd
into e73047b14f
This commit is contained in:
commit
2dbbb8a098
9 changed files with 268 additions and 6 deletions
|
@ -840,6 +840,22 @@ func GlobalSettings(db store.IStore) echo.HandlerFunc {
|
|||
}
|
||||
}
|
||||
|
||||
// ClientDefaultSettings handler
|
||||
func ClientDefaultSettings(db store.IStore) echo.HandlerFunc {
|
||||
return func(c echo.Context) error {
|
||||
|
||||
clientDefaultSettings, err := db.GetClientDefaultSettings()
|
||||
if err != nil {
|
||||
log.Error("Cannot get client default settings: ", err)
|
||||
}
|
||||
|
||||
return c.Render(http.StatusOK, "client_default_settings.html", map[string]interface{}{
|
||||
"baseData": model.BaseData{Active: "client-default-settings", CurrentUser: currentUser(c), Admin: isAdmin(c)},
|
||||
"clientDefaultSettings": clientDefaultSettings,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// Status handler
|
||||
func Status(db store.IStore) echo.HandlerFunc {
|
||||
type PeerVM struct {
|
||||
|
@ -964,6 +980,36 @@ func GlobalSettingSubmit(db store.IStore) echo.HandlerFunc {
|
|||
}
|
||||
}
|
||||
|
||||
// ClientDefaultSettingsSubmit handler to update the client default settings
|
||||
func ClientDefaultSettingsSubmit(db store.IStore) echo.HandlerFunc {
|
||||
return func(c echo.Context) error {
|
||||
|
||||
var clientDefaultSettings model.ClientDefaults
|
||||
c.Bind(&clientDefaultSettings)
|
||||
|
||||
// validate the input allowed ips list
|
||||
if util.ValidateCIDRList(clientDefaultSettings.AllowedIps, true) == false {
|
||||
log.Warnf("Invalid Allowed IPs list input from user: %v", clientDefaultSettings.AllowedIps)
|
||||
return c.JSON(http.StatusBadRequest, jsonHTTPResponse{false, "Allowed IPs must be in CIDR format"})
|
||||
}
|
||||
|
||||
// validate the input extra allowed ips list
|
||||
if util.ValidateCIDRList(clientDefaultSettings.ExtraAllowedIps, true) == false {
|
||||
log.Warnf("Invalid Extra Allowed IPs list input from user: %v", clientDefaultSettings.ExtraAllowedIps)
|
||||
return c.JSON(http.StatusBadRequest, jsonHTTPResponse{false, "Extra Allowed IPs must be in CIDR format"})
|
||||
}
|
||||
|
||||
// write config to the database
|
||||
if err := db.SaveClientDefaultSettings(clientDefaultSettings); err != nil {
|
||||
return c.JSON(http.StatusInternalServerError, jsonHTTPResponse{false, "Error saving client default settings"})
|
||||
}
|
||||
|
||||
log.Infof("Updated client default settings: %v", clientDefaultSettings)
|
||||
|
||||
return c.JSON(http.StatusOK, jsonHTTPResponse{true, "Updated client default settings successfully"})
|
||||
}
|
||||
}
|
||||
|
||||
// MachineIPAddresses handler to get local interface ip addresses
|
||||
func MachineIPAddresses() echo.HandlerFunc {
|
||||
return func(c echo.Context) error {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue