database

package
v1.13.1-3 Latest Latest
Warning

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

Go to latest
Published: May 1, 2025 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DB

type DB interface {
	// Cleanup will release any release that the database created
	// No operation should be executed during or after cleanup
	Cleanup() (err error)

	ValidJTI(jti string) (bool, error)
	AddJTI(jti string, expire time.Time) error
	RemoveJTI(jti string) error

	// You should not edit the record pointer
	GetFileRecord(path string) (*FileRecord, error)
	SetFileRecord(FileRecord) error
	RemoveFileRecord(path string) error
	// if the callback returns ErrStopIter, ForEach must immediately stop and returns a nil error
	// the callback should not edit the record pointer
	ForEachFileRecord(cb func(*FileRecord) error) error

	GetSubscribe(user string, client string) (*api.SubscribeRecord, error)
	SetSubscribe(api.SubscribeRecord) error
	RemoveSubscribe(user string, client string) error
	ForEachSubscribe(cb func(*api.SubscribeRecord) error) error

	GetEmailSubscription(user string, addr string) (*api.EmailSubscriptionRecord, error)
	AddEmailSubscription(api.EmailSubscriptionRecord) error
	UpdateEmailSubscription(api.EmailSubscriptionRecord) error
	RemoveEmailSubscription(user string, addr string) error
	ForEachEmailSubscription(cb func(*api.EmailSubscriptionRecord) error) error
	ForEachUsersEmailSubscription(user string, cb func(*api.EmailSubscriptionRecord) error) error
	ForEachEnabledEmailSubscription(cb func(*api.EmailSubscriptionRecord) error) error

	GetWebhook(user string, id uuid.UUID) (*api.WebhookRecord, error)
	AddWebhook(api.WebhookRecord) error
	UpdateWebhook(api.WebhookRecord) error
	UpdateEnableWebhook(user string, id uuid.UUID, enabled bool) error
	RemoveWebhook(user string, id uuid.UUID) error
	ForEachWebhook(cb func(*api.WebhookRecord) error) error
	ForEachUsersWebhook(user string, cb func(*api.WebhookRecord) error) error
	ForEachEnabledWebhook(cb func(*api.WebhookRecord) error) error
}

type FileRecord

type FileRecord struct {
	Path string
	Hash string
	Size int64
}

type MemoryDB

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

func NewMemoryDB

func NewMemoryDB() *MemoryDB

func (*MemoryDB) AddEmailSubscription

func (m *MemoryDB) AddEmailSubscription(record api.EmailSubscriptionRecord) error

func (*MemoryDB) AddJTI

func (m *MemoryDB) AddJTI(jti string, expire time.Time) error

func (*MemoryDB) AddWebhook

func (m *MemoryDB) AddWebhook(record api.WebhookRecord) (err error)

func (*MemoryDB) Cleanup

func (m *MemoryDB) Cleanup() (err error)

func (*MemoryDB) ForEachEmailSubscription

func (m *MemoryDB) ForEachEmailSubscription(cb func(*api.EmailSubscriptionRecord) error) error

func (*MemoryDB) ForEachEnabledEmailSubscription

func (m *MemoryDB) ForEachEnabledEmailSubscription(cb func(*api.EmailSubscriptionRecord) error) error

func (*MemoryDB) ForEachEnabledWebhook

func (m *MemoryDB) ForEachEnabledWebhook(cb func(*api.WebhookRecord) error) error

func (*MemoryDB) ForEachFileRecord

func (m *MemoryDB) ForEachFileRecord(cb func(*FileRecord) error) error

func (*MemoryDB) ForEachSubscribe

func (m *MemoryDB) ForEachSubscribe(cb func(*api.SubscribeRecord) error) error

func (*MemoryDB) ForEachUsersEmailSubscription

func (m *MemoryDB) ForEachUsersEmailSubscription(user string, cb func(*api.EmailSubscriptionRecord) error) error

func (*MemoryDB) ForEachUsersWebhook

func (m *MemoryDB) ForEachUsersWebhook(user string, cb func(*api.WebhookRecord) error) error

func (*MemoryDB) ForEachWebhook

func (m *MemoryDB) ForEachWebhook(cb func(*api.WebhookRecord) error) error

func (*MemoryDB) GetEmailSubscription

func (m *MemoryDB) GetEmailSubscription(user string, addr string) (*api.EmailSubscriptionRecord, error)

func (*MemoryDB) GetFileRecord

func (m *MemoryDB) GetFileRecord(path string) (*FileRecord, error)

func (*MemoryDB) GetSubscribe

func (m *MemoryDB) GetSubscribe(user string, client string) (*api.SubscribeRecord, error)

func (*MemoryDB) GetWebhook

func (m *MemoryDB) GetWebhook(user string, id uuid.UUID) (*api.WebhookRecord, error)

func (*MemoryDB) RemoveEmailSubscription

func (m *MemoryDB) RemoveEmailSubscription(user string, addr string) error

func (*MemoryDB) RemoveFileRecord

func (m *MemoryDB) RemoveFileRecord(path string) error

func (*MemoryDB) RemoveJTI

func (m *MemoryDB) RemoveJTI(jti string) error

func (*MemoryDB) RemoveSubscribe

func (m *MemoryDB) RemoveSubscribe(user string, client string) error

func (*MemoryDB) RemoveWebhook

func (m *MemoryDB) RemoveWebhook(user string, id uuid.UUID) error

func (*MemoryDB) SetFileRecord

func (m *MemoryDB) SetFileRecord(record FileRecord) error

func (*MemoryDB) SetSubscribe

func (m *MemoryDB) SetSubscribe(record api.SubscribeRecord) error

func (*MemoryDB) UpdateEmailSubscription

func (m *MemoryDB) UpdateEmailSubscription(record api.EmailSubscriptionRecord) error

func (*MemoryDB) UpdateEnableWebhook

func (m *MemoryDB) UpdateEnableWebhook(user string, id uuid.UUID, enabled bool) error

func (*MemoryDB) UpdateWebhook

func (m *MemoryDB) UpdateWebhook(record api.WebhookRecord) error

func (*MemoryDB) ValidJTI

func (m *MemoryDB) ValidJTI(jti string) (bool, error)

type SqlDB

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

func NewSqlDB

func NewSqlDB(driverName string, dataSourceName string) (db *SqlDB, err error)

func (*SqlDB) AddEmailSubscription

func (db *SqlDB) AddEmailSubscription(rec api.EmailSubscriptionRecord) (err error)

func (*SqlDB) AddJTI

func (db *SqlDB) AddJTI(jti string, expire time.Time) (err error)

func (*SqlDB) AddWebhook

func (db *SqlDB) AddWebhook(rec api.WebhookRecord) (err error)

func (*SqlDB) Cleanup

func (db *SqlDB) Cleanup() (err error)

func (*SqlDB) ForEachEmailSubscription

func (db *SqlDB) ForEachEmailSubscription(cb func(*api.EmailSubscriptionRecord) error) (err error)

func (*SqlDB) ForEachEnabledEmailSubscription

func (db *SqlDB) ForEachEnabledEmailSubscription(cb func(*api.EmailSubscriptionRecord) error) (err error)

func (*SqlDB) ForEachEnabledWebhook

func (db *SqlDB) ForEachEnabledWebhook(cb func(*api.WebhookRecord) error) (err error)

func (*SqlDB) ForEachFileRecord

func (db *SqlDB) ForEachFileRecord(cb func(*FileRecord) error) (err error)

func (*SqlDB) ForEachSubscribe

func (db *SqlDB) ForEachSubscribe(cb func(*api.SubscribeRecord) error) (err error)

func (*SqlDB) ForEachUsersEmailSubscription

func (db *SqlDB) ForEachUsersEmailSubscription(user string, cb func(*api.EmailSubscriptionRecord) error) (err error)

func (*SqlDB) ForEachUsersWebhook

func (db *SqlDB) ForEachUsersWebhook(user string, cb func(*api.WebhookRecord) error) (err error)

func (*SqlDB) ForEachWebhook

func (db *SqlDB) ForEachWebhook(cb func(*api.WebhookRecord) error) (err error)

func (*SqlDB) GetEmailSubscription

func (db *SqlDB) GetEmailSubscription(user string, addr string) (rec *api.EmailSubscriptionRecord, err error)

func (*SqlDB) GetFileRecord

func (db *SqlDB) GetFileRecord(path string) (rec *FileRecord, err error)

func (*SqlDB) GetSubscribe

func (db *SqlDB) GetSubscribe(user string, client string) (rec *api.SubscribeRecord, err error)

func (*SqlDB) GetWebhook

func (db *SqlDB) GetWebhook(user string, id uuid.UUID) (rec *api.WebhookRecord, err error)

func (*SqlDB) RemoveEmailSubscription

func (db *SqlDB) RemoveEmailSubscription(user string, addr string) (err error)

func (*SqlDB) RemoveFileRecord

func (db *SqlDB) RemoveFileRecord(path string) (err error)

func (*SqlDB) RemoveJTI

func (db *SqlDB) RemoveJTI(jti string) (err error)

func (*SqlDB) RemoveSubscribe

func (db *SqlDB) RemoveSubscribe(user string, client string) (err error)

func (*SqlDB) RemoveWebhook

func (db *SqlDB) RemoveWebhook(user string, id uuid.UUID) (err error)

func (*SqlDB) SetFileRecord

func (db *SqlDB) SetFileRecord(rec FileRecord) (err error)

func (*SqlDB) SetSubscribe

func (db *SqlDB) SetSubscribe(rec api.SubscribeRecord) (err error)

func (*SqlDB) UpdateEmailSubscription

func (db *SqlDB) UpdateEmailSubscription(rec api.EmailSubscriptionRecord) (err error)

func (*SqlDB) UpdateEnableEmailSubscription

func (db *SqlDB) UpdateEnableEmailSubscription(user string, addr string, enabled bool) (err error)

func (*SqlDB) UpdateEnableWebhook

func (db *SqlDB) UpdateEnableWebhook(user string, id uuid.UUID, enabled bool) (err error)

func (*SqlDB) UpdateWebhook

func (db *SqlDB) UpdateWebhook(rec api.WebhookRecord) (err error)

func (*SqlDB) ValidJTI

func (db *SqlDB) ValidJTI(jti string) (has bool, err error)

Jump to

Keyboard shortcuts

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