mirror of
https://github.com/netbirdio/netbird.git
synced 2024-11-21 23:53:14 +01:00
fix: minor HTTP bugs
This commit is contained in:
parent
0fa15e6920
commit
49800a6d03
3
.gitignore
vendored
3
.gitignore
vendored
@ -2,4 +2,5 @@
|
||||
*.iml
|
||||
dist/
|
||||
.env
|
||||
conf.json
|
||||
conf.json
|
||||
http-cmds.sh
|
@ -58,6 +58,7 @@ func (h *Peers) deletePeer(accountId string, peer *server.Peer, w http.ResponseW
|
||||
http.Redirect(w, r, "/", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
writeJSONObject(w, "")
|
||||
}
|
||||
|
||||
func (h *Peers) HandlePeer(w http.ResponseWriter, r *http.Request) {
|
||||
|
@ -27,6 +27,7 @@ type SetupKeyResponse struct {
|
||||
Revoked bool
|
||||
UsedTimes int
|
||||
LastUsed time.Time
|
||||
State string
|
||||
}
|
||||
|
||||
// SetupKeyRequest is a request sent by client. This object contains fields that can be modified
|
||||
@ -183,6 +184,16 @@ func writeSuccess(w http.ResponseWriter, key *server.SetupKey) {
|
||||
}
|
||||
|
||||
func toResponseBody(key *server.SetupKey) *SetupKeyResponse {
|
||||
var state string
|
||||
if key.IsExpired() {
|
||||
state = "expired"
|
||||
} else if key.IsRevoked() {
|
||||
state = "revoked"
|
||||
} else if key.IsOverUsed() {
|
||||
state = "overused"
|
||||
} else {
|
||||
state = "valid"
|
||||
}
|
||||
return &SetupKeyResponse{
|
||||
Id: key.Id,
|
||||
Key: key.Key,
|
||||
@ -193,5 +204,6 @@ func toResponseBody(key *server.SetupKey) *SetupKeyResponse {
|
||||
Revoked: key.Revoked,
|
||||
UsedTimes: key.UsedTimes,
|
||||
LastUsed: key.LastUsed,
|
||||
State: state,
|
||||
}
|
||||
}
|
||||
|
@ -50,6 +50,7 @@ func (key *SetupKey) Copy() *SetupKey {
|
||||
ExpiresAt: key.ExpiresAt,
|
||||
Revoked: key.Revoked,
|
||||
UsedTimes: key.UsedTimes,
|
||||
LastUsed: key.LastUsed,
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,9 +64,22 @@ func (key *SetupKey) IncrementUsage() *SetupKey {
|
||||
|
||||
// IsValid is true if the key was not revoked, is not expired and used not more than it was supposed to
|
||||
func (key *SetupKey) IsValid() bool {
|
||||
expired := time.Now().After(key.ExpiresAt)
|
||||
overUsed := key.Type == SetupKeyOneOff && key.UsedTimes >= 1
|
||||
return !key.Revoked && !expired && !overUsed
|
||||
return !key.IsRevoked() && !key.IsExpired() && !key.IsOverUsed()
|
||||
}
|
||||
|
||||
// IsRevoked if key was revoked
|
||||
func (key *SetupKey) IsRevoked() bool {
|
||||
return key.Revoked
|
||||
}
|
||||
|
||||
// IsExpired if key was expired
|
||||
func (key *SetupKey) IsExpired() bool {
|
||||
return time.Now().After(key.ExpiresAt)
|
||||
}
|
||||
|
||||
// IsOverUsed if key was used too many times
|
||||
func (key *SetupKey) IsOverUsed() bool {
|
||||
return key.Type == SetupKeyOneOff && key.UsedTimes >= 1
|
||||
}
|
||||
|
||||
// GenerateSetupKey generates a new setup key
|
||||
|
Loading…
Reference in New Issue
Block a user