func addPermissionToStorage(permission Permission, prefix string, storage *ss.SecureStorage) error { if storage == nil { return fmt.Errorf("Cannot add to storage: Storage is nil") } val, _ := json.Marshal(permission) return storage.AddItem(getEntityStoreFmt(permissionTypeStr+prefix, "", string(permission)), string(val)) }
// Add the Entity's data to disk (in JSON format) func (e *Entity) addEntityToStorage(prefix string, storage *ss.SecureStorage) error { if storage == nil { return fmt.Errorf("Cannot add to storage: Storage is nil") } val, _ := json.Marshal(e) return storage.AddItem(prefix, string(val)) }
// Add the group's data to disk (in JSON format) func (g *Group) addGroupToStorage(prefix string, storage *ss.SecureStorage) error { if storage == nil { return fmt.Errorf("Cannot add group to storage: Storage is nil") } val, _ := json.Marshal(g) return storage.AddItem(prefix, string(val)) }
func playWithSecureStorage(storage *ss.SecureStorage, secret []byte) { fileName := "try.txt" defer os.Remove(fileName) err := storage.StoreInfo(fileName) if err != nil { fmt.Println("Error while saving:", err) } fmt.Println("Original data:") fmt.Println(storage.GetDecryptStorageData()) keyText := fmt.Sprintf(keyFmt, 1) err = storage.RemoveItem(keyText) if err != nil { fmt.Println("Error while remove key:", err) } fmt.Println("After removing:") fmt.Println(storage.GetDecryptStorageData()) sd, err := ss.LoadInfo(fileName, secret) if err != nil { fmt.Println("Error while reading:", err) } fmt.Println("The data that was read from file:", fileName) fmt.Println(sd.GetDecryptStorageData()) }
// AddToStorage : Add the OCRA property information to the secure_storage func (s Serializer) AddToStorage(prefix string, data interface{}, storage *ss.SecureStorage) error { d, ok := data.(*UserOcra) if ok == false { return fmt.Errorf("Cannot store the OCRA property: Not the right type") } if storage == nil { return fmt.Errorf("Cannot add OCRA property to storage: Storage is nil") } value, _ := json.Marshal(d) err := storage.AddItem(prefix, string(value)) if err != nil { return err } return nil }
// AddToStorage : Add the ACL property information to the secure_storage func (s Serializer) AddToStorage(prefix string, data interface{}, storage *ss.SecureStorage) error { lock.Lock() defer lock.Unlock() d, ok := data.(*Acl) if ok == false { return fmt.Errorf("Cannot store the ACL property: Illegal type") } if storage == nil { return fmt.Errorf("Cannot add an ACL property to storage: Storage is nil") } value, err := json.Marshal(d) err = storage.AddItem(prefix, string(value)) if err != nil { return err } return nil }