Documentation
¶
Index ¶
- func IsAlreadyExistsError(err error) bool
- type AlreadyExistsError
- type Config
- type IdentityStore
- type IdentityUpdate
- type IdentityUpdateKind
- type IdentityUpdateList
- type MlsStore
- type Store
- func (s *Store) CreateOrUpdateInstallation(ctx context.Context, installationId []byte, keyPackage []byte) error
- func (s *Store) FetchKeyPackages(ctx context.Context, installationIds [][]byte) ([]queries.FetchKeyPackagesRow, error)
- func (s *Store) GetInboxIds(ctx context.Context, req *identity.GetInboxIdsRequest) (*identity.GetInboxIdsResponse, error)
- func (s *Store) GetInboxLogs(ctx context.Context, batched_req *identity.GetIdentityUpdatesRequest) (*identity.GetIdentityUpdatesResponse, error)
- func (s *Store) InsertGroupMessage(ctx context.Context, groupId []byte, data []byte) (*queries.GroupMessage, error)
- func (s *Store) InsertWelcomeMessage(ctx context.Context, installationId []byte, data []byte, hpkePublicKey []byte) (*queries.WelcomeMessage, error)
- func (s *Store) PublishIdentityUpdate(ctx context.Context, req *identity.PublishIdentityUpdateRequest, ...) (*identity.PublishIdentityUpdateResponse, error)
- func (s *Store) QueryGroupMessagesV1(ctx context.Context, req *mlsv1.QueryGroupMessagesRequest) (*mlsv1.QueryGroupMessagesResponse, error)
- func (s *Store) QueryWelcomeMessagesV1(ctx context.Context, req *mlsv1.QueryWelcomeMessagesRequest) (*mlsv1.QueryWelcomeMessagesResponse, error)
- func (s *Store) RunInRepeatableReadTx(ctx context.Context, numRetries int, ...) error
- func (s *Store) RunInTx(ctx context.Context, opts *sql.TxOptions, ...) error
- type StoreOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsAlreadyExistsError ¶
Types ¶
type AlreadyExistsError ¶
type AlreadyExistsError struct {
Err error
}
func NewAlreadyExistsError ¶
func NewAlreadyExistsError(err error) *AlreadyExistsError
func (*AlreadyExistsError) Error ¶
func (e *AlreadyExistsError) Error() string
type IdentityStore ¶
type IdentityStore interface { PublishIdentityUpdate(ctx context.Context, req *identity.PublishIdentityUpdateRequest, validationService mlsvalidate.MLSValidationService) (*identity.PublishIdentityUpdateResponse, error) GetInboxLogs(ctx context.Context, req *identity.GetIdentityUpdatesRequest) (*identity.GetIdentityUpdatesResponse, error) GetInboxIds(ctx context.Context, req *identity.GetInboxIdsRequest) (*identity.GetInboxIdsResponse, error) }
type IdentityUpdate ¶
type IdentityUpdate struct { Kind IdentityUpdateKind InstallationKey []byte CredentialIdentity []byte TimestampNs uint64 }
type IdentityUpdateKind ¶
type IdentityUpdateKind int
const ( Create IdentityUpdateKind = iota Revoke )
type IdentityUpdateList ¶
type IdentityUpdateList []IdentityUpdate
Add the required methods to make a valid sort.Sort interface
func (IdentityUpdateList) Len ¶
func (a IdentityUpdateList) Len() int
func (IdentityUpdateList) Less ¶
func (a IdentityUpdateList) Less(i, j int) bool
func (IdentityUpdateList) Swap ¶
func (a IdentityUpdateList) Swap(i, j int)
type MlsStore ¶
type MlsStore interface { IdentityStore CreateOrUpdateInstallation(ctx context.Context, installationId []byte, keyPackage []byte) error FetchKeyPackages(ctx context.Context, installationIds [][]byte) ([]queries.FetchKeyPackagesRow, error) InsertGroupMessage(ctx context.Context, groupId []byte, data []byte) (*queries.GroupMessage, error) InsertWelcomeMessage(ctx context.Context, installationId []byte, data []byte, hpkePublicKey []byte) (*queries.WelcomeMessage, error) QueryGroupMessagesV1(ctx context.Context, query *mlsv1.QueryGroupMessagesRequest) (*mlsv1.QueryGroupMessagesResponse, error) QueryWelcomeMessagesV1(ctx context.Context, query *mlsv1.QueryWelcomeMessagesRequest) (*mlsv1.QueryWelcomeMessagesResponse, error) }
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
func (*Store) CreateOrUpdateInstallation ¶
func (s *Store) CreateOrUpdateInstallation(ctx context.Context, installationId []byte, keyPackage []byte) error
Creates the installation and last resort key package
func (*Store) FetchKeyPackages ¶
func (*Store) GetInboxIds ¶
func (s *Store) GetInboxIds(ctx context.Context, req *identity.GetInboxIdsRequest) (*identity.GetInboxIdsResponse, error)
func (*Store) GetInboxLogs ¶
func (s *Store) GetInboxLogs(ctx context.Context, batched_req *identity.GetIdentityUpdatesRequest) (*identity.GetIdentityUpdatesResponse, error)
func (*Store) InsertGroupMessage ¶
func (*Store) InsertWelcomeMessage ¶
func (*Store) PublishIdentityUpdate ¶
func (s *Store) PublishIdentityUpdate(ctx context.Context, req *identity.PublishIdentityUpdateRequest, validationService mlsvalidate.MLSValidationService) (*identity.PublishIdentityUpdateResponse, error)
func (*Store) QueryGroupMessagesV1 ¶
func (s *Store) QueryGroupMessagesV1(ctx context.Context, req *mlsv1.QueryGroupMessagesRequest) (*mlsv1.QueryGroupMessagesResponse, error)
func (*Store) QueryWelcomeMessagesV1 ¶
func (s *Store) QueryWelcomeMessagesV1(ctx context.Context, req *mlsv1.QueryWelcomeMessagesRequest) (*mlsv1.QueryWelcomeMessagesResponse, error)
func (*Store) RunInRepeatableReadTx ¶
type StoreOptions ¶
type StoreOptions struct { DbConnectionString string `long:"db-connection-string" description:"Connection string for MLS DB"` ReadTimeout time.Duration `long:"read-timeout" description:"Timeout for reading from the database" default:"10s"` WriteTimeout time.Duration `long:"write-timeout" description:"Timeout for writing to the database" default:"10s"` MaxOpenConns int `long:"max-open-conns" description:"Maximum number of open connections" default:"80"` }
Click to show internal directories.
Click to hide internal directories.