Versions in this module Expand all Collapse all v3 v3.0.1 Apr 1, 2020 v3.0.0 Mar 26, 2020 Changes in this version + const CurrentCellKeySignedVersion + const CurrentCellKeyVersion + const CurrentEncryptedGrantVersion + const CurrentGrantKeySignedVersion + const CurrentGrantKeyVersion + const CurrentRoleAssignmentSignedVersion + const CurrentRoleAssignmentVersion + const CurrentRoleSignedVersion + const CurrentRoleVersion + const CurrentUserSignedVersion + const CurrentUserVersion + var ErrNotFound = errors.New("not found") + var ErrorAlreadyExists = errors.New("already exists") + type MariaDBPureStorage struct + Serializer *ModelSerializer + func NewMariaDBPureStorage(url string) (*MariaDBPureStorage, error) + func (m *MariaDBPureStorage) CleanDB() error + func (m *MariaDBPureStorage) DeleteCellKey(userID, dataID string) error + func (m *MariaDBPureStorage) DeleteGrantKey(userID string, keyID []byte) error + func (m *MariaDBPureStorage) DeleteRoleAssignments(roleName string, userIDs ...string) error + func (m *MariaDBPureStorage) DeleteUser(userID string, cascade bool) error + func (m *MariaDBPureStorage) ExecuteSQL(stmt string) error + func (m *MariaDBPureStorage) InitDB(cleanGrantKeysIntervalSeconds int) error + func (m *MariaDBPureStorage) InsertCellKey(key *models.CellKey) error + func (m *MariaDBPureStorage) InsertGrantKey(key *models.GrantKey) error + func (m *MariaDBPureStorage) InsertRole(role *models.Role) error + func (m *MariaDBPureStorage) InsertRoleAssignments(assignments ...*models.RoleAssignment) error + func (m *MariaDBPureStorage) InsertUser(record *models.UserRecord) error + func (m *MariaDBPureStorage) SelectCellKey(userID, dataID string) (*models.CellKey, error) + func (m *MariaDBPureStorage) SelectGrantKey(userID string, keyID []byte) (*models.GrantKey, error) + func (m *MariaDBPureStorage) SelectGrantKeys(recordVersion uint32) ([]*models.GrantKey, error) + func (m *MariaDBPureStorage) SelectRoleAssignment(roleName, userID string) (*models.RoleAssignment, error) + func (m *MariaDBPureStorage) SelectRoleAssignments(userID string) ([]*models.RoleAssignment, error) + func (m *MariaDBPureStorage) SelectRoles(roleNames ...string) ([]*models.Role, error) + func (m *MariaDBPureStorage) SelectUser(userID string) (*models.UserRecord, error) + func (m *MariaDBPureStorage) SelectUsers(userIDs ...string) ([]*models.UserRecord, error) + func (m *MariaDBPureStorage) SelectUsersByVersion(version uint32) ([]*models.UserRecord, error) + func (m *MariaDBPureStorage) SetSerializer(serializer *ModelSerializer) + func (m *MariaDBPureStorage) UpdateCellKey(key *models.CellKey) error + func (m *MariaDBPureStorage) UpdateGrantKeys(keys ...*models.GrantKey) error + func (m *MariaDBPureStorage) UpdateUser(record *models.UserRecord) error + func (m *MariaDBPureStorage) UpdateUsers(records []*models.UserRecord, previousRecordVersion uint32) error + type ModelSerializer struct + Crypto *crypto.Crypto + SigningKey crypto.PrivateKey + func (m *ModelSerializer) GenerateSignature(data []byte) ([]byte, error) + func (m *ModelSerializer) ParseCellKey(key *protos.CellKey) (*models.CellKey, error) + func (m *ModelSerializer) ParseGrantKey(key *protos.GrantKey) (*models.GrantKey, error) + func (m *ModelSerializer) ParseRole(role *protos.Role) (*models.Role, error) + func (m *ModelSerializer) ParseRoleAssignment(ra *protos.RoleAssignment) (*models.RoleAssignment, error) + func (m *ModelSerializer) ParseUserRecord(rec *protos.UserRecord) (*models.UserRecord, error) + func (m *ModelSerializer) SerializeCellKey(key *models.CellKey) (*protos.CellKey, error) + func (m *ModelSerializer) SerializeGrantKey(key *models.GrantKey) (*protos.GrantKey, error) + func (m *ModelSerializer) SerializeRole(role *models.Role) (*protos.Role, error) + func (m *ModelSerializer) SerializeRoleAssignment(ra *models.RoleAssignment) (*protos.RoleAssignment, error) + func (m *ModelSerializer) SerializeUserRecord(rec *models.UserRecord) (*protos.UserRecord, error) + func (m *ModelSerializer) ValidateSignature(data, signature []byte) error + type PureStorage interface + DeleteCellKey func(userID, dataID string) error + DeleteGrantKey func(userID string, keyID []byte) error + DeleteRoleAssignments func(roleName string, userIDs ...string) error + DeleteUser func(userID string, cascade bool) error + InsertCellKey func(key *models.CellKey) error + InsertGrantKey func(key *models.GrantKey) error + InsertRole func(role *models.Role) error + InsertRoleAssignments func(assignments ...*models.RoleAssignment) error + InsertUser func(record *models.UserRecord) error + SelectCellKey func(userID, dataID string) (*models.CellKey, error) + SelectGrantKey func(userID string, keyID []byte) (*models.GrantKey, error) + SelectGrantKeys func(recordVersion uint32) ([]*models.GrantKey, error) + SelectRoleAssignment func(roleName, userID string) (*models.RoleAssignment, error) + SelectRoleAssignments func(userID string) ([]*models.RoleAssignment, error) + SelectRoles func(roleNames ...string) ([]*models.Role, error) + SelectUser func(userID string) (*models.UserRecord, error) + SelectUsers func(userIDs ...string) ([]*models.UserRecord, error) + SelectUsersByVersion func(version uint32) ([]*models.UserRecord, error) + UpdateCellKey func(key *models.CellKey) error + UpdateGrantKeys func(keys ...*models.GrantKey) error + UpdateUser func(record *models.UserRecord) error + UpdateUsers func(records []*models.UserRecord, previousRecordVersion uint32) error + type SerializerDependentStorage interface + SetSerializer func(serializer *ModelSerializer) + type VirgilCloudPureStorage struct + Client *clients.PureClient + Serializer *ModelSerializer + func (v *VirgilCloudPureStorage) DeleteCellKey(userID, dataID string) error + func (v *VirgilCloudPureStorage) DeleteGrantKey(userID string, keyID []byte) error + func (v *VirgilCloudPureStorage) DeleteRoleAssignments(roleName string, userIDs ...string) error + func (v *VirgilCloudPureStorage) DeleteUser(userID string, cascade bool) error + func (v *VirgilCloudPureStorage) InsertCellKey(key *models.CellKey) error + func (v *VirgilCloudPureStorage) InsertGrantKey(key *models.GrantKey) error + func (v *VirgilCloudPureStorage) InsertRole(role *models.Role) error + func (v *VirgilCloudPureStorage) InsertRoleAssignments(assignments ...*models.RoleAssignment) error + func (v *VirgilCloudPureStorage) InsertUser(record *models.UserRecord) error + func (v *VirgilCloudPureStorage) SelectCellKey(userID, dataID string) (*models.CellKey, error) + func (v *VirgilCloudPureStorage) SelectGrantKey(userID string, keyID []byte) (*models.GrantKey, error) + func (v *VirgilCloudPureStorage) SelectGrantKeys(recordVersion uint32) ([]*models.GrantKey, error) + func (v *VirgilCloudPureStorage) SelectRoleAssignment(roleName, userID string) (*models.RoleAssignment, error) + func (v *VirgilCloudPureStorage) SelectRoleAssignments(userID string) ([]*models.RoleAssignment, error) + func (v *VirgilCloudPureStorage) SelectRoles(roleNames ...string) ([]*models.Role, error) + func (v *VirgilCloudPureStorage) SelectUser(userID string) (*models.UserRecord, error) + func (v *VirgilCloudPureStorage) SelectUsers(userIDs ...string) ([]*models.UserRecord, error) + func (v *VirgilCloudPureStorage) SelectUsersByVersion(version uint32) ([]*models.UserRecord, error) + func (v *VirgilCloudPureStorage) SetSerializer(serializer *ModelSerializer) + func (v *VirgilCloudPureStorage) UpdateCellKey(key *models.CellKey) error + func (v *VirgilCloudPureStorage) UpdateGrantKeys(keys ...*models.GrantKey) error + func (v *VirgilCloudPureStorage) UpdateUser(record *models.UserRecord) error + func (v *VirgilCloudPureStorage) UpdateUsers(records []*models.UserRecord, previousRecordVersion uint32) error