store

package
v0.15.2 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2018 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Close

func Close() error

Close terminates connection to persistent storage.

func DecodeUid added in v0.14.2

func DecodeUid(uid types.Uid) int64

DecodeUid takes an XTEA encrypted Uid and decrypts it into an int64. This is needed for sql compatibility. Tte original int64 values are generated by snowflake which ensures that the top bit is unset.

func EncodeUid added in v0.14.2

func EncodeUid(id int64) types.Uid

EncodeUid applies XTEA encryption to an int64 value. It's the inverse of DecodeUid.

func GetAdapterName added in v0.14.6

func GetAdapterName() string

GetAdapterName returns the name of the current adater.

func GetAuthHandler

func GetAuthHandler(name string) auth.AuthHandler

GetAuthHandler returns an auth handler by name.

func GetMediaHandler added in v0.15.2

func GetMediaHandler() media.Handler

func GetUid

func GetUid() types.Uid

GetUid generates a unique ID suitable for use as a primary key.

func GetUidString

func GetUidString() string

GetUidString generate unique ID as string

func GetValidator added in v0.14.4

func GetValidator(name string) validate.Validator

GetValidator returns registered validator by name.

func InitDb

func InitDb(jsonconf string, reset bool) error

InitDb creates a new database instance. If 'reset' is true it will first attempt to drop existing database. If jsconf is nil it will assume that the connection is already open. If it's non-nil, it will use the config string to open the DB connection first.

func IsOpen

func IsOpen() bool

IsOpen checks if persistent storage connection has been initialized.

func Open

func Open(workerId int, jsonconf string) error

Open initializes the persistence system. Adapter holds a connection pool for a database instance.

	 name - name of the adapter rquested in the config file
  jsonconf - configuration string

func RegisterAdapter added in v0.14.2

func RegisterAdapter(name string, a adapter.Adapter)

RegisterAdapter makes a persistence adapter available. If Register is called twice or if the adapter is nil, it panics.

func RegisterAuthScheme

func RegisterAuthScheme(name string, handler auth.AuthHandler)

RegisterAuthScheme registers an authentication scheme handler.

func RegisterMediaHandler added in v0.15.2

func RegisterMediaHandler(name string, mh media.Handler)

func RegisterValidator added in v0.14.4

func RegisterValidator(name string, v validate.Validator)

RegisterValidator registers validation scheme.

func UseMediaHandler added in v0.15.2

func UseMediaHandler(name, config string) error

Types

type DeviceMapper

type DeviceMapper struct{}

DeviceMapper is a struct to map methods used for handling device IDs, used to generate push notifications.

var Devices DeviceMapper

Devices is an instance of DeviceMapper to map methods to.

func (DeviceMapper) Delete

func (DeviceMapper) Delete(uid types.Uid, deviceID string) error

Delete deletes device record for a given user.

func (DeviceMapper) GetAll

func (DeviceMapper) GetAll(uid ...types.Uid) (map[types.Uid][]types.DeviceDef, int, error)

GetAll returns all known device IDS for a given list of user IDs.

func (DeviceMapper) Update

func (DeviceMapper) Update(uid types.Uid, oldDeviceID string, dev *types.DeviceDef) error

Update updates a device record.

type FileMapper added in v0.15.2

type FileMapper struct{}

FileMapper is a struct to map methods used for file handling.

var Files FileMapper

Files is an instance of FileMapper to be used for handling file uploads.

func (FileMapper) DeleteUnused added in v0.15.2

func (FileMapper) DeleteUnused(olderThan time.Time, limit int) error

DeleteUnused removes unused attachments.

func (FileMapper) FinishUpload added in v0.15.2

func (FileMapper) FinishUpload(fid string, success bool, size int64) (*types.FileDef, error)

FinishUpload marks started upload as successfully finished.

func (FileMapper) Get added in v0.15.2

func (FileMapper) Get(fid string) (*types.FileDef, error)

Get fetches a file record for a unique file id.

func (FileMapper) StartUpload added in v0.15.2

func (FileMapper) StartUpload(fd *types.FileDef) error

StartUpload records that the given user initiated a file upload

type MessagesObjMapper

type MessagesObjMapper struct{}

MessagesObjMapper is a struct to hold methods for persistence mapping for the Message object.

var Messages MessagesObjMapper

Messages is an instance of MessagesObjMapper to map methods to.

func (MessagesObjMapper) DeleteList

func (MessagesObjMapper) DeleteList(topic string, delID int, forUser types.Uid, ranges []types.Range) error

DeleteList deletes multiple messages defined by a list of ranges.

func (MessagesObjMapper) GetAll

func (MessagesObjMapper) GetAll(topic string, forUser types.Uid, opt *types.QueryOpt) ([]types.Message, error)

GetAll returns multiple messages.

func (MessagesObjMapper) GetDeleted added in v0.14.2

func (MessagesObjMapper) GetDeleted(topic string, forUser types.Uid, opt *types.QueryOpt) ([]types.Range, int, error)

GetDeleted returns the ranges of deleted messages and the largest DelId reported in the list.

func (MessagesObjMapper) Save

func (MessagesObjMapper) Save(msg *types.Message) error

Save message

type SubsObjMapper

type SubsObjMapper struct{}

SubsObjMapper is A struct to hold methods for persistence mapping for the Subscription object.

var Subs SubsObjMapper

Subs is an instance of SubsObjMapper to map methods to.

func (SubsObjMapper) Create

func (SubsObjMapper) Create(subs ...*types.Subscription) error

Create creates multiple subscriptions

func (SubsObjMapper) Delete

func (SubsObjMapper) Delete(topic string, user types.Uid) error

Delete deletes a subscription

func (SubsObjMapper) Get

func (SubsObjMapper) Get(topic string, user types.Uid) (*types.Subscription, error)

Get given subscription

func (SubsObjMapper) Update

func (SubsObjMapper) Update(topic string, user types.Uid, update map[string]interface{}, updateTS bool) error

Update values of topic's subscriptions.

type TopicsObjMapper

type TopicsObjMapper struct{}

TopicsObjMapper is a struct to hold methods for persistence mapping for the topic object.

var Topics TopicsObjMapper

Topics is an instance of TopicsObjMapper to map methods to.

func (TopicsObjMapper) Create

func (TopicsObjMapper) Create(topic *types.Topic, owner types.Uid, private interface{}) error

Create creates a topic and owner's subscription to it.

func (TopicsObjMapper) CreateP2P

func (TopicsObjMapper) CreateP2P(initiator, invited *types.Subscription) error

CreateP2P creates a P2P topic by generating two user's subsciptions to each other.

func (TopicsObjMapper) Delete

func (TopicsObjMapper) Delete(topic string) error

Delete deletes topic, messages, attachments, and subscriptions.

func (TopicsObjMapper) Get

func (TopicsObjMapper) Get(topic string) (*types.Topic, error)

Get a single topic with a list of relevant users de-normalized into it

func (TopicsObjMapper) GetSubs

func (TopicsObjMapper) GetSubs(topic string, opts *types.QueryOpt) ([]types.Subscription, error)

GetSubs loads a list of subscriptions to the given topic, user.Public and deleted subscriptions are not loaded

func (TopicsObjMapper) GetUsers

func (TopicsObjMapper) GetUsers(topic string, opts *types.QueryOpt) ([]types.Subscription, error)

GetUsers loads subscriptions for topic plus loads user.Public

func (TopicsObjMapper) GetUsersAny

func (TopicsObjMapper) GetUsersAny(topic string, opts *types.QueryOpt) ([]types.Subscription, error)

GetUsersAny is the same as GetUsers, except it loads deleted subscriptions too.

func (TopicsObjMapper) Update

func (TopicsObjMapper) Update(topic string, update map[string]interface{}) error

Update is a generic topic update.

type UsersObjMapper

type UsersObjMapper struct{}

UsersObjMapper is a users struct to hold methods for persistence mapping for the User object.

var Users UsersObjMapper

Users is the ancor for storing/retrieving User objects

func (UsersObjMapper) AddAuthRecord

func (UsersObjMapper) AddAuthRecord(uid types.Uid, authLvl auth.Level, scheme, unique string, secret []byte,
	expires time.Time) (bool, error)

AddAuthRecord creates a new authentication record for the given user.

func (UsersObjMapper) ConfirmCred added in v0.14.4

func (UsersObjMapper) ConfirmCred(id types.Uid, method string) error

ConfirmCred marks credential as confirmed.

func (UsersObjMapper) Create

func (UsersObjMapper) Create(user *types.User, private interface{}) (*types.User, error)

Create inserts User object into a database, updates creation time and assigns UID

func (UsersObjMapper) DelAuthRecords added in v0.14.4

func (UsersObjMapper) DelAuthRecords(uid types.Uid, scheme string) error

DelAuthRecords deletes user's all auth records of the given scheme.

func (UsersObjMapper) Delete

func (UsersObjMapper) Delete(id types.Uid, soft bool) error

Delete deletes user records.

func (UsersObjMapper) FailCred added in v0.14.4

func (UsersObjMapper) FailCred(id types.Uid, method string) error

FailCred increments fail count.

func (UsersObjMapper) FindSubs

func (UsersObjMapper) FindSubs(id types.Uid, required, optional []string) ([]types.Subscription, error)

FindSubs find a list of users and topics for the given tags. Results are formatted as subscriptions.

func (UsersObjMapper) Get

func (UsersObjMapper) Get(uid types.Uid) (*types.User, error)

Get returns a user object for the given user id

func (UsersObjMapper) GetAll

func (UsersObjMapper) GetAll(uid ...types.Uid) ([]types.User, error)

GetAll returns a slice of user objects for the given user ids

func (UsersObjMapper) GetAllCred added in v0.14.4

func (UsersObjMapper) GetAllCred(id types.Uid) ([]*types.Credential, error)

GetAllCred retrieves all confimed credential for the given user.

func (UsersObjMapper) GetAuthRecord

func (UsersObjMapper) GetAuthRecord(user types.Uid, scheme string) (string, auth.Level, []byte, time.Time, error)

GetAuthRecord takes a user ID and a authentication scheme name, fetches unique scheme-dependent identifier and authentication secret.

func (UsersObjMapper) GetAuthUniqueRecord added in v0.14.6

func (UsersObjMapper) GetAuthUniqueRecord(scheme, unique string) (types.Uid, auth.Level, []byte, time.Time, error)

GetAuthUniqueRecord takes a unique identifier and a authentication scheme name, fetches user ID and authentication secret.

func (UsersObjMapper) GetCred added in v0.14.4

func (UsersObjMapper) GetCred(id types.Uid, method string) (*types.Credential, error)

GetCred gets a list of confirmed credentials.

func (UsersObjMapper) GetSubs

func (UsersObjMapper) GetSubs(id types.Uid, opts *types.QueryOpt) ([]types.Subscription, error)

GetSubs loads a list of subscriptions for the given user

func (UsersObjMapper) GetTopics

func (UsersObjMapper) GetTopics(id types.Uid, opts *types.QueryOpt) ([]types.Subscription, error)

GetTopics load a list of user's subscriptions with Public field copied to subscription

func (UsersObjMapper) GetTopicsAny

func (UsersObjMapper) GetTopicsAny(id types.Uid, opts *types.QueryOpt) ([]types.Subscription, error)

GetTopicsAny load a list of user's subscriptions with Public field copied to subscription. Deleted topics are returned too.

func (UsersObjMapper) SaveCred added in v0.14.4

func (UsersObjMapper) SaveCred(cred *types.Credential) error

SaveCred saves a credential validation request.

func (UsersObjMapper) Update

func (UsersObjMapper) Update(uid types.Uid, update map[string]interface{}) error

Update is a generic user data update.

func (UsersObjMapper) UpdateAuthRecord

func (UsersObjMapper) UpdateAuthRecord(uid types.Uid, authLvl auth.Level, scheme, unique string,
	secret []byte, expires time.Time) (bool, error)

UpdateAuthRecord updates authentication record with a new secret and expiration time.

func (UsersObjMapper) UpdateLastSeen

func (UsersObjMapper) UpdateLastSeen(uid types.Uid, userAgent string, when time.Time) error

UpdateLastSeen updates LastSeen and UserAgent.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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