Get XSWD permissions from local Graviton tree and sorted wallet methods
()
| 3401 | |
| 3402 | // Get XSWD permissions from local Graviton tree and sorted wallet methods |
| 3403 | func getPermissions() (handler map[string]xswd.Permission, methods []string) { |
| 3404 | cyberdeck.WS.Lock() |
| 3405 | defer cyberdeck.WS.Unlock() |
| 3406 | |
| 3407 | cyberdeck.WS.global.permissions = SetDefaultPermissions() |
| 3408 | |
| 3409 | stored, err := GetEncryptedValue("XSWD", []byte("Globals")) |
| 3410 | if err != nil { |
| 3411 | logger.Debugf("[Engram] getPermissions: %s\n", err) |
| 3412 | } else { |
| 3413 | if err := json.Unmarshal(stored, &cyberdeck.WS.global.permissions); err != nil { |
| 3414 | logger.Errorf("[Engram] getPermissions: %s\n", err) |
| 3415 | } |
| 3416 | } |
| 3417 | |
| 3418 | for k := range cyberdeck.WS.global.permissions { |
| 3419 | methods = append(methods, k) |
| 3420 | } |
| 3421 | |
| 3422 | sort.Strings(methods) |
| 3423 | |
| 3424 | return cyberdeck.WS.global.permissions, methods |
| 3425 | } |
| 3426 | |
| 3427 | // Start a permissioned web socket server to allow decentralized application communication |
| 3428 | func toggleXSWD(endpoint string) { |
no test coverage detected