mirror of
https://github.com/gravitl/netmaker.git
synced 2024-09-23 00:36:40 +08:00
38 lines
1.2 KiB
Go
38 lines
1.2 KiB
Go
package promodels
|
|
|
|
// NetworkUserID - ID field for a network user
|
|
type NetworkUserID string
|
|
|
|
// NetworkUser - holds fields for a network user
|
|
type NetworkUser struct {
|
|
AccessLevel int `json:"accesslevel" bson:"accesslevel" yaml:"accesslevel"`
|
|
ClientLimit int `json:"clientlimit" bson:"clientlimit" yaml:"clientlimit"`
|
|
NodeLimit int `json:"nodelimit" bson:"nodelimit" yaml:"nodelimit"`
|
|
ID NetworkUserID `json:"id" bson:"id" yaml:"id"`
|
|
Clients []string `json:"clients" bson:"clients" yaml:"clients"`
|
|
Nodes []string `json:"nodes" bson:"nodes" yaml:"nodes"`
|
|
}
|
|
|
|
// NetworkUserMap - map of network users
|
|
type NetworkUserMap map[NetworkUserID]NetworkUser
|
|
|
|
// NetworkUserMap.Delete - deletes a network user struct from a given map in memory
|
|
func (N NetworkUserMap) Delete(ID NetworkUserID) {
|
|
delete(N, ID)
|
|
}
|
|
|
|
// NetworkUserMap.Add - adds a network user struct to given network user map in memory
|
|
func (N NetworkUserMap) Add(User *NetworkUser) {
|
|
N[User.ID] = *User
|
|
}
|
|
|
|
// SetDefaults - adds the defaults to network user
|
|
func (U *NetworkUser) SetDefaults() {
|
|
if U.Clients == nil {
|
|
U.Clients = []string{}
|
|
}
|
|
if U.Nodes == nil {
|
|
U.Nodes = []string{}
|
|
}
|
|
}
|