store

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2019 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddValidationSession

func AddValidationSession(ctx context.Context, db models.Query, medium, address, clientSecret string, mtime int64) (int64, error)

func GetAllPeers

func GetAllPeers(ctx context.Context, db models.Query) ([]models.Peer, error)

func GetAssociationsAfterID

func GetAssociationsAfterID(ctx context.Context, db models.Query, afterID int64, limit int64) ([]models.Association, error)

func GetOrCreateTokenSession

func GetOrCreateTokenSession(ctx context.Context, db models.Query, medium, address, clientSecret string) (*models.ValidationSession, error)

func GetPeerByName

func GetPeerByName(ctx context.Context, db models.Query, name string) (*models.Peer, error)

func GetSenderForToken

func GetSenderForToken(ctx context.Context, db models.Query, token string) (string, error)

func GetSessionByID

func GetSessionByID(ctx context.Context, db models.Query, sid int64) (*models.ValidationSession, error)

func GetTokenSessionByID

func GetTokenSessionByID(ctx context.Context, db models.Query, sid int64) (*models.TokenSession, error)

func GetTokens

func GetTokens(ctx context.Context, db models.Query, medium, address string) ([]models.InviteToken, error)

func GetValidatedSession

func GetValidatedSession(ctx context.Context, db models.Query, sid int64, clientSecret string) (*models.ValidationSession, error)

GetValidatedSession returns a validated session with ma matching clientSecret

func GlobalAddAssociation

func GlobalAddAssociation(ctx context.Context, db models.Query, as *models.Association, originServer string, originID int64, rawSgnAssoc string) error

func GlobalGetMxid

func GlobalGetMxid(ctx context.Context, db models.Query, medium, address string) (string, error)

func GlobalGetMxids

func GlobalGetMxids(ctx context.Context, db models.Query, ids [][]string) ([]models.Association, error)

func GlobalLastIDFromServer

func GlobalLastIDFromServer(ctx context.Context, db models.Query, originServer string) (int64, error)

func GlobalRemoveAssociation

func GlobalRemoveAssociation(ctx context.Context, db models.Query, medium, address string) error

func LocalAddOrUpdateAssociation

func LocalAddOrUpdateAssociation(ctx context.Context, db models.Query, as *models.Association) error

func LocalRemoveAssociation

func LocalRemoveAssociation(ctx context.Context, db models.Query, as *models.Association) error

func MarkTokensAsSent

func MarkTokensAsSent(ctx context.Context, db models.Query, medium, address string) error

func SetLastSentVersionAndPokeSucceeded

func SetLastSentVersionAndPokeSucceeded(ctx context.Context, db models.Query, peerName, lastSentVersion, lastPokeSucceeded string) error

func SetMtime

func SetMtime(ctx context.Context, db models.Query, sid int64, mtime int64) error

func SetSendAttemptNumber

func SetSendAttemptNumber(ctx context.Context, db models.Query, sid int64, attemptNo int64) error

func SetValidated

func SetValidated(ctx context.Context, db models.Query, sid string, validated int) error

func SignedAssociationStringForThreepid

func SignedAssociationStringForThreepid(ctx context.Context, db models.Query, medium, address string) (string, error)

func StoreEphemeralPublicKey

func StoreEphemeralPublicKey(ctx context.Context, db models.Query, publicKey string) error

func StoreToken

func StoreToken(ctx context.Context, db models.Query, token models.InviteToken) error

func ValidateEphemeralPublicKey

func ValidateEphemeralPublicKey(ctx context.Context, db models.Query, publicKey string) error

Types

type Identity

type Identity struct {
	// contains filtered or unexported fields
}

Identity contains all identity service database facing routines.

func New

func New(db models.Query, m Metric) *Identity

func (*Identity) GetAllPeers

func (id *Identity) GetAllPeers(ctx context.Context) (peers []models.Peer, err error)

func (*Identity) GetAssociationsAfterID

func (id *Identity) GetAssociationsAfterID(ctx context.Context, afterID int64, limit int64) (as []models.Association, err error)

func (*Identity) GetOrCreateTokenSession

func (id *Identity) GetOrCreateTokenSession(ctx context.Context, medium, address, clientSecret string) (session *models.ValidationSession, err error)

func (*Identity) GetPeerByName

func (id *Identity) GetPeerByName(ctx context.Context, name string) (peer *models.Peer, err error)

func (*Identity) GetSenderForToken

func (id *Identity) GetSenderForToken(ctx context.Context, token string) (tokenInfo string, err error)

func (*Identity) GetSessionByID

func (id *Identity) GetSessionByID(ctx context.Context, sid int64) (session *models.ValidationSession, err error)

func (*Identity) GetTokenSessionByID

func (id *Identity) GetTokenSessionByID(ctx context.Context, sid int64) (tokenSession *models.TokenSession, err error)

func (*Identity) GetTokens

func (id *Identity) GetTokens(ctx context.Context, medium, address string) (tokens []models.InviteToken, err error)

func (*Identity) GetValidatedSession

func (id *Identity) GetValidatedSession(ctx context.Context, sid int64, clientSecret string) (session *models.ValidationSession, err error)

func (*Identity) GlobalAddAssociation

func (id *Identity) GlobalAddAssociation(ctx context.Context, as *models.Association, originServer string, originID int64, rawSgnAssoc string) (err error)

func (*Identity) GlobalGetMxid

func (id *Identity) GlobalGetMxid(ctx context.Context, medium, address string) (mxid string, err error)

func (*Identity) GlobalGetMxids

func (id *Identity) GlobalGetMxids(ctx context.Context, ids [][]string) (mxids []models.Association, err error)

func (*Identity) GlobalLastIDFromServer

func (id *Identity) GlobalLastIDFromServer(ctx context.Context, originServer string) (lastID int64, err error)

func (*Identity) GlobalRemoveAssociation

func (id *Identity) GlobalRemoveAssociation(ctx context.Context, medium, address string) (err error)

func (*Identity) LocalAddOrUpdateAssociation

func (id *Identity) LocalAddOrUpdateAssociation(ctx context.Context, as *models.Association) (err error)

func (*Identity) LocalRemoveAssociation

func (id *Identity) LocalRemoveAssociation(ctx context.Context, as *models.Association) (err error)

func (*Identity) MarkTokensAsSent

func (id *Identity) MarkTokensAsSent(ctx context.Context, medium, address string) (err error)

func (*Identity) SetLastSentVersionAndPokeSucceeded

func (id *Identity) SetLastSentVersionAndPokeSucceeded(ctx context.Context, peerName, lastSentVersion, lastPokeSucceeded string) (err error)

func (*Identity) SetMtime

func (id *Identity) SetMtime(ctx context.Context, sid int64, mtime int64) (err error)

func (*Identity) SetSendAttemptNumber

func (id *Identity) SetSendAttemptNumber(ctx context.Context, sid int64, attemptNo int64) (err error)

func (*Identity) SetValidated

func (id *Identity) SetValidated(ctx context.Context, sid string, validated int) (err error)

func (*Identity) SignedAssociationStringForThreepid

func (id *Identity) SignedAssociationStringForThreepid(ctx context.Context, medium, address string) (ass string, err error)

func (*Identity) StoreEphemeralPublicKey

func (id *Identity) StoreEphemeralPublicKey(ctx context.Context, publicKey string) (err error)

func (*Identity) StoreToken

func (id *Identity) StoreToken(ctx context.Context, token models.InviteToken) (err error)

func (*Identity) ValidateEphemeralPublicKey

func (id *Identity) ValidateEphemeralPublicKey(ctx context.Context, publicKey string) (err error)

type Matrix

type Matrix struct {
	*Identity
	// contains filtered or unexported fields
}

Matrix universal database handler for the matrix services.

func NewStore

func NewStore(db models.SQL, m Metric) *Matrix

func (*Matrix) DB

func (m *Matrix) DB() models.SQL

func (*Matrix) Metric

func (m *Matrix) Metric() Metric

type Metric

type Metric struct {
	Enabled bool
	Vec     *prometheus.HistogramVec
}

func NewMetric

func NewMetric(opts prometheus.Opts) Metric

type Store

type Store interface {
	StoreToken(ctx context.Context, token models.InviteToken) error
	GetTokens(ctx context.Context, medium, address string) ([]models.InviteToken, error)
	MarkTokensAsSent(ctx context.Context, medium, address string) error
	StoreEphemeralPublicKey(ctx context.Context, publicKey string) error
	ValidateEphemeralPublicKey(ctx context.Context, publicKey string) error
	GetSenderForToken(ctx context.Context, token string) (string, error)

	SignedAssociationStringForThreepid(ctx context.Context, medium, address string) (string, error)
	GlobalGetMxid(ctx context.Context, medium, address string) (string, error)
	GlobalGetMxids(ctx context.Context, ids [][]string) ([]models.Association, error)
	GlobalRemoveAssociation(ctx context.Context, medium, address string) error
	GlobalAddAssociation(ctx context.Context, as *models.Association, originServer string, originID int64, rawSgnAssoc string) error
	LocalAddOrUpdateAssociation(ctx context.Context, as *models.Association) error
	LocalRemoveAssociation(ctx context.Context, as *models.Association) error
	GetAssociationsAfterID(ctx context.Context, afterID int64, limit int64) ([]models.Association, error)

	GetPeerByName(ctx context.Context, name string) (*models.Peer, error)
	GetAllPeers(ctx context.Context) ([]models.Peer, error)
	SetLastSentVersionAndPokeSucceeded(ctx context.Context, peerName, lastSentVersion, lastPokeSucceeded string) error

	SetSendAttemptNumber(ctx context.Context, sid int64, attemptNo int64) error
	SetValidated(ctx context.Context, sid string, validated int) error
	SetMtime(ctx context.Context, sid int64, mtime int64) error
	GetSessionByID(ctx context.Context, sid int64) (*models.ValidationSession, error)
	GetTokenSessionByID(ctx context.Context, sid int64) (*models.TokenSession, error)
	GlobalLastIDFromServer(ctx context.Context, originServer string) (int64, error)
	GetOrCreateTokenSession(ctx context.Context, medium, address, clientSecret string) (*models.ValidationSession, error)
	GetValidatedSession(ctx context.Context, sid int64, clientSecret string) (*models.ValidationSession, error)

	DB() models.SQL
	Metric() Metric
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL