db

package
v0.0.0-...-01627f8 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	DBHost     string `json:"DB_HOST" envconfig:"DB_HOST"`
	DBPort     string `json:"DB_PORT" envconfig:"DB_PORT"`
	DBName     string `json:"DB_NAME" envconfig:"DB_NAME"`
	DBUser     string `json:"DB_USER" envconfig:"DB_USER"`
	DBPassword string `json:"DB_PASSWORD" envconfig:"DB_PASSWORD"`
	DBSslMode  string `json:"DB_SSL_MODE" envconfig:"DB_SSL_MODE"`
}

type DB

type DB struct {
	Conn *gorm.DB
	User User
}

func (*DB) DeleteTokens

func (db *DB) DeleteTokens(ctx context.Context, userID uint, accessToken string) error

func (*DB) GetUser

func (db *DB) GetUser(ctx context.Context, username string) (*User, error)

func (*DB) GetUserByUserID

func (db *DB) GetUserByUserID(ctx context.Context, userID uint) (*User, error)

func (*DB) RegisterUser

func (db *DB) RegisterUser(ctx context.Context, usr *User) error

func (*DB) StoreTokens

func (db *DB) StoreTokens(ctx context.Context, tokens *Token) error

func (*DB) TokenExistInDB

func (db *DB) TokenExistInDB(ctx context.Context, userID uint, accessToken string) error

func (*DB) UpdateAccessToken

func (db *DB) UpdateAccessToken(ctx context.Context, tokens *Token) error

type Service

type Service interface {
	RegisterUser(ctx context.Context, usr *User) error
	GetUser(ctx context.Context, username string) (*User, error)
	StoreTokens(ctx context.Context, tokens *Token) error
	UpdateAccessToken(ctx context.Context, tokens *Token) error
	DeleteTokens(ctx context.Context, userID uint, accessToken string) error
	GetUserByUserID(ctx context.Context, userID uint) (*User, error)
	TokenExistInDB(ctx context.Context, userID uint, accessToken string) error
}

func New

func New(ctx context.Context, conf *Config) Service

type Token

type Token struct {
	UserID         uint
	AccessToken    string
	RefreshToken   string `json:"refresh_token"`
	ExpirationTime time.Time
}

type User

type User struct {
	UserID       uint   `gorm:"primaryKey"`
	Username     string `json:"username"`
	Email        string `json:"email"`
	PasswordHash string `json:"password"`
}

type UserResponse

type UserResponse struct {
	UserID   uint   `gorm:"primaryKey"`
	Username string `json:"username"`
	Email    string `json:"email"`
	Password string
}

Jump to

Keyboard shortcuts

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