mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-05 16:57:51 +08:00
[NET-494 / ACC-322] New free tier limits (#2495)
* Rename var * Rename consts and use iota * Use switch instead of repeated else if * Rename limits related vars * Introduce new free tier limits * Measure new limits and report on license validation * Separate usage and limits, have new ones * Don't check for hosts and clients limits, but for machines instead * Error on egress creation @ free tier w/ internet gateways * Remove clients and hosts limit from code * Rename var * Rename consts and use iota * Use switch instead of repeated else if * Rename limits related vars * Introduce new free tier limits * Measure new limits and report on license validation * Separate usage and limits, have new ones * Don't check for hosts and clients limits, but for machines instead * Error on egress creation @ free tier w/ internet gateways * Remove clients and hosts limit from code
This commit is contained in:

committed by
GitHub

parent
449f3f947b
commit
8ce7da2ce9
@@ -24,12 +24,16 @@ func serverHandlers(r *mux.Router) {
|
||||
r.HandleFunc("/api/server/status", http.HandlerFunc(getStatus)).Methods(http.MethodGet)
|
||||
r.HandleFunc("/api/server/usage", Authorize(true, false, "user", http.HandlerFunc(getUsage))).Methods(http.MethodGet)
|
||||
}
|
||||
|
||||
// TODO move to EE package? there is a function and a type there for that already
|
||||
func getUsage(w http.ResponseWriter, r *http.Request) {
|
||||
type usage struct {
|
||||
Hosts int `json:"hosts"`
|
||||
Clients int `json:"clients"`
|
||||
Networks int `json:"networks"`
|
||||
Users int `json:"users"`
|
||||
Hosts int `json:"hosts"`
|
||||
Clients int `json:"clients"`
|
||||
Networks int `json:"networks"`
|
||||
Users int `json:"users"`
|
||||
Ingresses int `json:"ingresses"`
|
||||
Egresses int `json:"egresses"`
|
||||
}
|
||||
var serverUsage usage
|
||||
hosts, err := logic.GetAllHosts()
|
||||
@@ -48,6 +52,14 @@ func getUsage(w http.ResponseWriter, r *http.Request) {
|
||||
if err == nil {
|
||||
serverUsage.Networks = len(networks)
|
||||
}
|
||||
ingresses, err := logic.GetAllIngresses()
|
||||
if err == nil {
|
||||
serverUsage.Ingresses = len(ingresses)
|
||||
}
|
||||
egresses, err := logic.GetAllEgresses()
|
||||
if err == nil {
|
||||
serverUsage.Egresses = len(egresses)
|
||||
}
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
json.NewEncoder(w).Encode(models.SuccessResponse{
|
||||
Code: http.StatusOK,
|
||||
|
Reference in New Issue
Block a user