db

package
v0.0.0-...-4d9db6b Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2022 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Overview

package db contains models and functions required to connect to database

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connect

func Connect()

Types

type Account

type Account struct {
	AccountID   uuid.UUID      `json:"account_id"`
	AccountName string         `json:"account_name"`
	Dob         time.Time      `json:"dob"`
	Address     sql.NullString `json:"address"`
	Status      sql.NullString `json:"status"`
	Description sql.NullString `json:"description"`
	CreatedAt   sql.NullTime   `json:"created_at"`
	CreatedBy   uuid.UUID      `json:"created_by"`
}

type CreateAccountParams

type CreateAccountParams struct {
	AccountName string         `json:"account_name"`
	Dob         time.Time      `json:"dob"`
	Address     sql.NullString `json:"address"`
	Description sql.NullString `json:"description"`
	CreatedBy   uuid.UUID      `json:"created_by"`
}

type CreateUserParams

type CreateUserParams struct {
	FirstName string         `json:"first_name"`
	LastName  sql.NullString `json:"last_name"`
	Email     string         `json:"email"`
	Password  string         `json:"password"`
}

type DBTX

type DBTX interface {
	ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
	PrepareContext(context.Context, string) (*sql.Stmt, error)
	QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
	QueryRowContext(context.Context, string, ...interface{}) *sql.Row
}

type DeleteAccountParams

type DeleteAccountParams struct {
	AccountID uuid.UUID `json:"account_id"`
	CreatedBy uuid.UUID `json:"created_by"`
}

type FindUserRow

type FindUserRow struct {
	UserID   uuid.UUID `json:"user_id"`
	Email    string    `json:"email"`
	Password string    `json:"password"`
}

type NullRelationStatus

type NullRelationStatus struct {
	RelationStatus RelationStatus
	Valid          bool // Valid is true if String is not NULL
}

func (*NullRelationStatus) Scan

func (ns *NullRelationStatus) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullRelationStatus) Value

func (ns NullRelationStatus) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Querier

type Querier interface {
	CreateAccount(ctx context.Context, arg CreateAccountParams) (uuid.UUID, error)
	CreateUser(ctx context.Context, arg CreateUserParams) (User, error)
	DeleteAccount(ctx context.Context, arg DeleteAccountParams) error
	FindUser(ctx context.Context, lower string) (FindUserRow, error)
	ReadAccount(ctx context.Context, arg ReadAccountParams) (ReadAccountRow, error)
	ReadAllAccount(ctx context.Context, arg ReadAllAccountParams) ([]ReadAllAccountRow, error)
	UpdateAccount(ctx context.Context, arg UpdateAccountParams) (uuid.UUID, error)
}

type Queries

type Queries struct {
	// contains filtered or unexported fields
}
var DBQuery *Queries

func New

func New(db DBTX) *Queries

func (*Queries) CreateAccount

func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (uuid.UUID, error)

func (*Queries) CreateUser

func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error)

func (*Queries) DeleteAccount

func (q *Queries) DeleteAccount(ctx context.Context, arg DeleteAccountParams) error

func (*Queries) FindUser

func (q *Queries) FindUser(ctx context.Context, lower string) (FindUserRow, error)

func (*Queries) ReadAccount

func (q *Queries) ReadAccount(ctx context.Context, arg ReadAccountParams) (ReadAccountRow, error)

func (*Queries) ReadAllAccount

func (q *Queries) ReadAllAccount(ctx context.Context, arg ReadAllAccountParams) ([]ReadAllAccountRow, error)

func (*Queries) UpdateAccount

func (q *Queries) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (uuid.UUID, error)

func (*Queries) WithTx

func (q *Queries) WithTx(tx *sql.Tx) *Queries

type ReadAccountParams

type ReadAccountParams struct {
	AccountID uuid.UUID `json:"account_id"`
	CreatedBy uuid.UUID `json:"created_by"`
}

type ReadAccountRow

type ReadAccountRow struct {
	AccountID   uuid.UUID      `json:"account_id"`
	AccountName string         `json:"account_name"`
	Dob         time.Time      `json:"dob"`
	Address     sql.NullString `json:"address"`
	Description sql.NullString `json:"description"`
	CreatedAt   sql.NullTime   `json:"created_at"`
}

type ReadAllAccountParams

type ReadAllAccountParams struct {
	CreatedBy uuid.UUID `json:"created_by"`
	Offset    int32     `json:"offset"`
	Limit     int32     `json:"limit"`
}

type ReadAllAccountRow

type ReadAllAccountRow struct {
	AccountID   uuid.UUID      `json:"account_id"`
	AccountName string         `json:"account_name"`
	Dob         time.Time      `json:"dob"`
	Address     sql.NullString `json:"address"`
	Description sql.NullString `json:"description"`
	CreatedAt   sql.NullTime   `json:"created_at"`
}

type Relation

type Relation struct {
	ObserverID uuid.UUID      `json:"observer_id"`
	ObservedID uuid.UUID      `json:"observed_id"`
	Status     RelationStatus `json:"status"`
}

type RelationStatus

type RelationStatus string
const (
	RelationStatusFollow RelationStatus = "follow"
)

func (*RelationStatus) Scan

func (e *RelationStatus) Scan(src interface{}) error

type UpdateAccountParams

type UpdateAccountParams struct {
	AccountName string         `json:"account_name"`
	Dob         time.Time      `json:"dob"`
	Address     sql.NullString `json:"address"`
	Description sql.NullString `json:"description"`
	AccountID   uuid.UUID      `json:"account_id"`
	CreatedBy   uuid.UUID      `json:"created_by"`
}

type User

type User struct {
	UserID    uuid.UUID      `json:"user_id"`
	FirstName string         `json:"first_name"`
	LastName  sql.NullString `json:"last_name"`
	Email     string         `json:"email"`
	Password  string         `json:"password"`
	CreatedAt sql.NullTime   `json:"created_at"`
	UpdatedAt sql.NullTime   `json:"updated_at"`
}

Jump to

Keyboard shortcuts

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