models

package
v0.0.0-...-b9171e1 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2024 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusFailed  = "FAILED"
	StatusSuccess = "SUCCESS"
	StatusPending = "PENDING"

	VerificationTypeNewUser    = "NEW_USER"
	VerificationTypeDeleteUser = "DELETE_USER"
	VerificationTypeNewPasskey = "NEW_PASSKEY"
)

Variables

View Source
var NilUUID = uuid.Nil

Functions

This section is empty.

Types

type AccessLog

type AccessLog struct {
	gorm.Model
	ID             uuid.UUID `gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	UserID         uuid.UUID `gorm:"index:idx_access_logs"`
	TokenID        uuid.UUID `gorm:"index:idx_access_logs"`
	RequestID      uuid.UUID `gorm:"index:idx_access_logs"`
	Path           string    `gorm:"index:idx_access_logs"`
	ClientIP       string
	Method         string    `gorm:"index:idx_access_logs"`
	StatusCode     int       `gorm:"index:idx_access_logs"`
	BillID         uuid.UUID `gorm:"index:idx_access_logs"`
	Billed         bool
	ResponseTime   int64
	ResponseSize   int
	ServerHostname string
	RawQuery       string
}

type AccessToken

type AccessToken struct {
	gorm.Model
	ID          uuid.UUID `gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	UserID      uuid.UUID `gorm:"index:idx_access_token"`
	PasskeyID   uuid.UUID `gorm:"index:idx_access_token"`
	ChallengeID uuid.UUID `gorm:"index:idx_access_token"`
	Token       string    `gorm:"index:idx_access_token"`
	Disabled    bool      `gorm:"index:idx_access_token"`
	Expiry      time.Time `gorm:"index:idx_access_token"`
	Desciption  string
}

type Args

type Args map[string]interface{}

type Challenge

type Challenge struct {
	gorm.Model
	ID        uuid.UUID `gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	PasskeyID uuid.UUID `gorm:"index"`
	UserID    uuid.UUID `gorm:"index"`
	Operand1  int
	Operand2  int
	Operator  string    // +/*
	Status    string    // 'FAILED','SUCCESS','PENDING'
	Expiry    time.Time `gorm:"index"`
}

type Event

type Event struct {
	gorm.Model
	ID        uuid.UUID `gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	EventName string
	RequestID uuid.UUID
	Data      string
}

type Passkey

type Passkey struct {
	gorm.Model
	ID         uuid.UUID `gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	UserID     uuid.UUID `gorm:"index"`
	Desciption string
	PublicKey  string `gorm:"index:idx_public,unique"`
	Verified   bool
}

type User

type User struct {
	gorm.Model
	ID       uuid.UUID      `gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	Email    string         `gorm:"index:idx_email,unique"`
	Roles    pq.StringArray `gorm:"type:text[]"`
	Name     string
	Verified bool
}

type Verification

type Verification struct {
	gorm.Model
	ID             uuid.UUID `gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	Email          string
	EntityID       uuid.UUID
	UserID         uuid.UUID
	Type           string // NEW_USER, DELETE_USER, NEW_PASSKEY
	Expiry         time.Time
	Status         string // 'FAILED','SUCCESS','PENDING'
	Code           string
	EmailMessageID string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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