storage

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2021 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Memory

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

func NewMemory

func NewMemory() *Memory

func (*Memory) Delete

func (m *Memory) Delete(key *api.Key) error

func (*Memory) Get

func (m *Memory) Get(key *api.Key) (*api.Message, error)

func (*Memory) GetAll

func (m *Memory) GetAll(key *api.Key) ([]*api.Message, error)

func (*Memory) Put

func (m *Memory) Put(msg *api.Message) error

puts a message in storage

type Message

type Message struct {
	CreatedAt time.Time      `gorm:""`
	UpdatedAt time.Time      `gorm:""`
	DeletedAt gorm.DeletedAt `gorm:"index"`
	Type      string         `gorm:"primaryKey;autoIncrement:false;notNull"`
	Name      string         `gorm:"primaryKey;autoIncrement:false;notNull"`
	Namespace string         `gorm:"primaryKey;autoIncrement:false;notNull"`
	Content   string         `gorm:"notNull;default:''"`
	UserName  string         `gorm:"notNull"`
	User      *User          `gorm:"foreignKey:UserName;references:Name;notNull"`
}

type MessageStorage

type MessageStorage interface {
	Put(message *api.Message) error
	Delete(key *api.Key) error
	DeleteAll(key *api.Key) error
	Get(key *api.Key) (*api.Message, error)
	GetAll(key *api.Key) ([]*api.Message, error)
}

type Rule

type Rule struct {
	gorm.Model
	Method    api.Method    `gorm:"notNull;default:0"`
	Type      string        `gorm:"notNull;default:''"`
	Name      string        `gorm:"notNull;default:''"`
	Namespace string        `gorm:"notNull;default:''"`
	Role      string        `gorm:"notNull;default:''"`
	Character api.Character `gorm:"notNull;default:0"`
}

type RuleStorage

type RuleStorage interface {
	GetRules(character api.Character, role string, method api.Method) ([]*api.Key, error)
}

type Sqlite

type Sqlite struct {
	*gorm.DB
	// contains filtered or unexported fields
}

func NewSqlite

func NewSqlite(path string, config *config.Config) (*Sqlite, error)

func (*Sqlite) Delete

func (s *Sqlite) Delete(key *api.Key) error

func (*Sqlite) DeleteAll

func (s *Sqlite) DeleteAll(key *api.Key) error

func (*Sqlite) Get

func (s *Sqlite) Get(key *api.Key) (*api.Message, error)

func (*Sqlite) GetAll

func (s *Sqlite) GetAll(key *api.Key) ([]*api.Message, error)

func (*Sqlite) GetRules

func (s *Sqlite) GetRules(character api.Character, role string, method api.Method) ([]*api.Key, error)

func (*Sqlite) GetUserWithName

func (s *Sqlite) GetUserWithName(n string) (*api.User, error)

func (*Sqlite) GetUserWithToken

func (s *Sqlite) GetUserWithToken(t string) (*api.User, error)

func (*Sqlite) GetUsers

func (s *Sqlite) GetUsers(n *string, t *string, c *api.Character, r *string, rd *bool, st *api.Status) ([]*api.User, error)

func (*Sqlite) Put

func (s *Sqlite) Put(message *api.Message) error

func (*Sqlite) UpdateUserReadiness

func (s *Sqlite) UpdateUserReadiness(name string, readiness bool) error

func (*Sqlite) UpdateUserStatus

func (s *Sqlite) UpdateUserStatus(name string, st api.Status) error

type User

type User struct {
	CreatedAt            time.Time      `gorm:""`
	UpdatedAt            time.Time      `gorm:""`
	DeletedAt            gorm.DeletedAt `gorm:"index"`
	Name                 string         `gorm:"primaryKey;autoIncrement:false;notNull"`
	Token                string         `gorm:"unique;index;notNull"`
	Role                 string         `gorm:"notNull;default:''"`
	Readiness            bool           `gorm:"notNull;default:false"`
	Character            api.Character  `gorm:"notNull;default:0"`
	Status               api.Status     `gorm:"notNull;default:0"`
	LastStatusUpdateTime time.Time      `gorm:""`
}

/////////////////////////////////////////// ///////////////////////////////// Types /// ///////////////////////////////////////////

type UserStorage

type UserStorage interface {
	GetUsers(name *string, token *string, character *api.Character, role *string, readiness *bool, status *api.Status) ([]*api.User, error)
	GetUserWithToken(token string) (*api.User, error)
	GetUserWithName(name string) (*api.User, error)
	UpdateUserStatus(name string, status api.Status) error
	UpdateUserReadiness(name string, readiness bool) error
}

Jump to

Keyboard shortcuts

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