store

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2022 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Hashkey added in v1.0.0

func Hashkey(globalNamespace string, appID apps.AppID, userID, appNamespace, key string) (string, error)

func ParseHashkey added in v1.0.0

func ParseHashkey(key string) (globalNamespace string, appID apps.AppID, userID, appNamespace, idhash string, err error)

func SortApps

func SortApps(appsMap map[apps.AppID]apps.App) []apps.App

Types

type AppKVStore added in v0.3.0

type AppKVStore interface {
	Set(r *incoming.Request, appID apps.AppID, actingUserID, prefix, id string, data []byte) (bool, error)
	Get(r *incoming.Request, appID apps.AppID, actingUserID, prefix, id string) ([]byte, error)
	Delete(r *incoming.Request, appID apps.AppID, actingUserID, prefix, id string) error
	List(r *incoming.Request, appID apps.AppID, actingUserID, namespace string, processf func(key string) error) error
}

type AppStore

type AppStore interface {
	config.Configurable

	InitBuiltin(...apps.App)

	Get(r *incoming.Request, appID apps.AppID) (*apps.App, error)
	AsMap(r *incoming.Request) map[apps.AppID]apps.App
	Save(r *incoming.Request, app apps.App) error
	Delete(r *incoming.Request, appID apps.AppID) error
}

type ManifestStore

type ManifestStore interface {
	config.Configurable

	StoreLocal(r *incoming.Request, m apps.Manifest) error
	Get(r *incoming.Request, appID apps.AppID) (*apps.Manifest, error)
	GetFromS3(r *incoming.Request, appID apps.AppID, version apps.AppVersion) (*apps.Manifest, error)
	AsMap(r *incoming.Request) map[apps.AppID]apps.Manifest
	DeleteLocal(r *incoming.Request, appID apps.AppID) error
}

type OAuth2Store added in v0.3.0

type OAuth2Store interface {
	CreateState(r *incoming.Request, actingUserID string) (string, error)
	ValidateStateOnce(r *incoming.Request, urlState, actingUserID string) error
	SaveUser(r *incoming.Request, appID apps.AppID, actingUserID string, data []byte) error
	GetUser(r *incoming.Request, appID apps.AppID, actingUserID string) ([]byte, error)
}

type Service

type Service struct {
	App          AppStore
	Subscription SubscriptionStore
	Manifest     ManifestStore
	AppKV        AppKVStore
	OAuth2       OAuth2Store
	Session      SessionStore
	// contains filtered or unexported fields
}

func MakeService added in v1.0.0

func MakeService(log utils.Logger, confService config.Service, httpOut httpout.Service) (*Service, error)

type SessionStore added in v1.0.0

type SessionStore interface {
	Get(r *incoming.Request, appID apps.AppID, userID string) (*model.Session, error)
	ListForApp(r *incoming.Request, appID apps.AppID) ([]*model.Session, error)
	ListForUser(r *incoming.Request, userID string) ([]*model.Session, error)
	Save(r *incoming.Request, appID apps.AppID, userID string, session *model.Session) error
	Delete(r *incoming.Request, appID apps.AppID, userID string) error
	DeleteAllForApp(r *incoming.Request, appID apps.AppID) error
	DeleteAllForUser(r *incoming.Request, userID string) error
}

type SubscriptionStore

type SubscriptionStore interface {
	Get(r *incoming.Request, subject apps.Subject, teamID, channelID string) ([]apps.Subscription, error)
	List(r *incoming.Request) ([]apps.Subscription, error)
	ListByUserID(r *incoming.Request, appID apps.AppID, userID string) ([]apps.Subscription, error)
	Save(r *incoming.Request, sub apps.Subscription) error
	Delete(r *incoming.Request, sub apps.Subscription) error
}

Jump to

Keyboard shortcuts

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