model

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxUserAPITokenDescriptionLength = 255
	UserAPITokenPrefix               = "sdu_"
)

Variables

View Source
var (
	ErrUserAPITokenDescriptionRequired = errors.New("API token description is required")
	ErrUserAPITokenDescriptionTooLong  = errors.New("API token description is too long")
)
View Source
var ErrShieldQuotaBlown = errors.New("Shield Quota Suprassed")

Functions

func IsUserAPIToken added in v0.2.0

func IsUserAPIToken(plainToken string) bool

Types

type PublicIDGenerator

type PublicIDGenerator struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*PublicIDGenerator) GetNewPublicID

func (pig *PublicIDGenerator) GetNewPublicID() (string, error)

type Shield

type Shield struct {
	ShieldID  int64
	PublicID  string
	ShieldKey string
	UserID    int64

	Name string

	Title string
	Text  string
	Color string

	Secret string

	Created time.Time
	Updated time.Time
}

type ShieldMapper

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

func NewShieldMapper

func NewShieldMapper(db *sql.DB) *ShieldMapper

func (*ShieldMapper) Delete

func (sm *ShieldMapper) Delete(n *Shield) error

func (*ShieldMapper) GetFromID

func (sm *ShieldMapper) GetFromID(id int64) (*Shield, error)

func (*ShieldMapper) GetFromPublicID

func (sm *ShieldMapper) GetFromPublicID(publicID string) (*Shield, error)

func (*ShieldMapper) GetFromSecret

func (sm *ShieldMapper) GetFromSecret(secret string) (*Shield, error)

func (*ShieldMapper) GetFromUserID

func (sm *ShieldMapper) GetFromUserID(userID int64) ([]*Shield, error)

func (*ShieldMapper) GetFromUserIDAndID

func (sm *ShieldMapper) GetFromUserIDAndID(userID, id int64) (*Shield, error)

func (*ShieldMapper) GetFromUserIDAndShieldKey added in v0.2.0

func (sm *ShieldMapper) GetFromUserIDAndShieldKey(userID int64, shieldKey string) (*Shield, error)

func (*ShieldMapper) New

func (sm *ShieldMapper) New(userID int64) (*Shield, error)

func (*ShieldMapper) Save

func (sm *ShieldMapper) Save(n *Shield) error

type User

type User struct {
	UserID int64
	Login  string
	Email  string
}

type UserAPIToken added in v0.2.0

type UserAPIToken struct {
	APITokenID  int64
	UserID      int64
	Description string
	Created     time.Time
	LastUsed    *time.Time
}

UserAPIToken is the metadata shown to its owner. Token hashes and plaintext token values are deliberately excluded from this type.

type UserAPITokenMapper added in v0.2.0

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

func NewUserAPITokenMapper added in v0.2.0

func NewUserAPITokenMapper(db *sql.DB) *UserAPITokenMapper

func (*UserAPITokenMapper) Create added in v0.2.0

func (tm *UserAPITokenMapper) Create(userID int64, description string) (*UserAPIToken, string, error)

Create returns the public metadata and the plaintext user token. The plaintext token is never stored and must be shown to the owner only now.

func (*UserAPITokenMapper) DeleteFromUserIDAndID added in v0.2.0

func (tm *UserAPITokenMapper) DeleteFromUserIDAndID(userID, apiTokenID int64) error

func (*UserAPITokenMapper) GetFromToken added in v0.2.0

func (tm *UserAPITokenMapper) GetFromToken(plainToken string) (*UserAPIToken, error)

GetFromToken finds a token from its plaintext value without exposing its stored hash to callers.

func (*UserAPITokenMapper) GetFromUserID added in v0.2.0

func (tm *UserAPITokenMapper) GetFromUserID(userID int64) ([]*UserAPIToken, error)

func (*UserAPITokenMapper) GetFromUserIDAndID added in v0.2.0

func (tm *UserAPITokenMapper) GetFromUserIDAndID(userID, apiTokenID int64) (*UserAPIToken, error)

func (*UserAPITokenMapper) MarkUsed added in v0.2.0

func (tm *UserAPITokenMapper) MarkUsed(apiTokenID int64) error

type UserMapper

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

func NewUserMapper

func NewUserMapper(db *sql.DB) *UserMapper

func (*UserMapper) GetDebugUser

func (um *UserMapper) GetDebugUser() *User

func (*UserMapper) Save

func (um *UserMapper) Save(u *User) error

Jump to

Keyboard shortcuts

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