48 lines
880 B
Go
48 lines
880 B
Go
package cache
|
|
|
|
import "sync"
|
|
|
|
var systemPermissions []string
|
|
var sp sync.RWMutex
|
|
|
|
/*
|
|
func AddSystemPermission(permission string) {
|
|
sp.Lock()
|
|
systemPermissions = append(systemPermissions, permission)
|
|
sp.Unlock()
|
|
} */
|
|
|
|
func AddSystemPermissions(permissions []string) {
|
|
sp.Lock()
|
|
|
|
for _, permission := range permissions {
|
|
systemPermissions = append(systemPermissions, permission)
|
|
}
|
|
|
|
sp.Unlock()
|
|
}
|
|
|
|
func DeleteSystemPermission(permission string) {
|
|
sp.Lock()
|
|
|
|
for i := 0; i < len(systemPermissions); i++ {
|
|
if systemPermissions[i] == permission {
|
|
systemPermissions = removeSystemPermission(systemPermissions, i)
|
|
break
|
|
}
|
|
}
|
|
|
|
sp.Unlock()
|
|
}
|
|
|
|
func removeSystemPermission(permissions []string, i int) []string {
|
|
return append(permissions[:i], permissions[i+1:]...)
|
|
}
|
|
|
|
func GetSystemPermissions() []string {
|
|
sp.RLock()
|
|
defer sp.RUnlock()
|
|
|
|
return systemPermissions
|
|
}
|