Documentation
¶
Index ¶
- Constants
- Variables
- func ErrorCode(err error) string
- type Account
- type AddAccountBalanceParams
- type CreateAccountParams
- type CreateEntryParams
- type CreateSessionParams
- type CreateTransferParams
- type CreateUserParams
- type CreateUserTxParams
- type CreateUserTxResult
- type CreateVerifyEmailParams
- type DBTX
- type Entry
- type ListAccountsParams
- type ListTransfersParams
- type Querier
- type Queries
- func (q *Queries) AddAccountBalance(ctx context.Context, arg AddAccountBalanceParams) (Account, error)
- func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error)
- func (q *Queries) CreateEntry(ctx context.Context, arg CreateEntryParams) (Entry, error)
- func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error)
- func (q *Queries) CreateTransfer(ctx context.Context, arg CreateTransferParams) (Transfer, error)
- func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error)
- func (q *Queries) CreateVerifyEmail(ctx context.Context, arg CreateVerifyEmailParams) (VerifyEmail, error)
- func (q *Queries) DeleteAccount(ctx context.Context, id int64) error
- func (q *Queries) DeleteEntry(ctx context.Context, id int64) error
- func (q *Queries) DeleteTransfer(ctx context.Context, id int64) error
- func (q *Queries) GetAccount(ctx context.Context, id int64) (Account, error)
- func (q *Queries) GetAccountForUpdate(ctx context.Context, id int64) (Account, error)
- func (q *Queries) GetEntry(ctx context.Context, id int64) (Entry, error)
- func (q *Queries) GetSession(ctx context.Context, username string) (Session, error)
- func (q *Queries) GetTransfer(ctx context.Context, id int64) (Transfer, error)
- func (q *Queries) GetUser(ctx context.Context, username string) (User, error)
- func (q *Queries) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error)
- func (q *Queries) ListEEntry(ctx context.Context) ([]Entry, error)
- func (q *Queries) ListTransferById(ctx context.Context) ([]Transfer, error)
- func (q *Queries) ListTransfers(ctx context.Context, arg ListTransfersParams) ([]Transfer, error)
- func (q *Queries) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error)
- func (q *Queries) UpdateEntry(ctx context.Context, arg UpdateEntryParams) error
- func (q *Queries) UpdateTransfer(ctx context.Context, arg UpdateTransferParams) error
- func (q *Queries) UpdateUser(ctx context.Context, arg UpdateUserParams) (User, error)
- func (q *Queries) UpdateVerifyEmail(ctx context.Context, arg UpdateVerifyEmailParams) (VerifyEmail, error)
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type Session
- type SqlStore
- func (sqlStore *SqlStore) CreateUserTx(ctx context.Context, arg CreateUserTxParams) (CreateUserTxResult, error)
- func (sqlStore *SqlStore) TransferTx(ctx context.Context, arg TransferTxParams) (TransferTxResult, error)
- func (sqlStore *SqlStore) VerifyEmailTx(ctx context.Context, arg VerifyEmailTxParams) (VerifyEmailTxResult, error)
- type Store
- type Transfer
- type TransferTxParams
- type TransferTxResult
- type UpdateAccountParams
- type UpdateEntryParams
- type UpdateTransferParams
- type UpdateUserParams
- type UpdateVerifyEmailParams
- type User
- type VerifyEmail
- type VerifyEmailTxParams
- type VerifyEmailTxResult
Constants ¶
View Source
const ( ForeignKeyViolation = "23503" UniqueViolation = "23505" )
mappeng database erorr code
Variables ¶
View Source
var ErrRecordNotFound = pgx.ErrNoRows
View Source
var ErrUniqueViolation = &pgconn.PgError{ Code: UniqueViolation, }
Functions ¶
Types ¶
type AddAccountBalanceParams ¶ added in v0.4.0
type CreateAccountParams ¶
type CreateEntryParams ¶ added in v0.2.0
type CreateSessionParams ¶ added in v1.0.0
type CreateTransferParams ¶
type CreateUserParams ¶ added in v0.7.3
type CreateUserTxParams ¶ added in v1.0.0
type CreateUserTxParams struct {
CreateUserParams
AfterCreate func(user User) error
}
type CreateUserTxResult ¶ added in v1.0.0
type CreateUserTxResult struct {
User User
}
type CreateVerifyEmailParams ¶ added in v1.0.0
type ListAccountsParams ¶ added in v0.2.0
type ListTransfersParams ¶ added in v0.2.0
type Querier ¶
type Querier interface {
AddAccountBalance(ctx context.Context, arg AddAccountBalanceParams) (Account, error)
CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error)
CreateEntry(ctx context.Context, arg CreateEntryParams) (Entry, error)
CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error)
CreateTransfer(ctx context.Context, arg CreateTransferParams) (Transfer, error)
CreateUser(ctx context.Context, arg CreateUserParams) (User, error)
CreateVerifyEmail(ctx context.Context, arg CreateVerifyEmailParams) (VerifyEmail, error)
DeleteAccount(ctx context.Context, id int64) error
DeleteEntry(ctx context.Context, id int64) error
DeleteTransfer(ctx context.Context, id int64) error
GetAccount(ctx context.Context, id int64) (Account, error)
GetAccountForUpdate(ctx context.Context, id int64) (Account, error)
GetEntry(ctx context.Context, id int64) (Entry, error)
GetSession(ctx context.Context, username string) (Session, error)
GetTransfer(ctx context.Context, id int64) (Transfer, error)
GetUser(ctx context.Context, username string) (User, error)
ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error)
ListEEntry(ctx context.Context) ([]Entry, error)
ListTransferById(ctx context.Context) ([]Transfer, error)
ListTransfers(ctx context.Context, arg ListTransfersParams) ([]Transfer, error)
UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error)
UpdateEntry(ctx context.Context, arg UpdateEntryParams) error
UpdateTransfer(ctx context.Context, arg UpdateTransferParams) error
UpdateUser(ctx context.Context, arg UpdateUserParams) (User, error)
UpdateVerifyEmail(ctx context.Context, arg UpdateVerifyEmailParams) (VerifyEmail, error)
}
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) AddAccountBalance ¶ added in v0.4.0
func (*Queries) CreateAccount ¶
func (*Queries) CreateEntry ¶ added in v0.2.0
func (*Queries) CreateSession ¶ added in v1.0.0
func (*Queries) CreateTransfer ¶
func (*Queries) CreateUser ¶ added in v0.7.3
func (*Queries) CreateVerifyEmail ¶ added in v1.0.0
func (q *Queries) CreateVerifyEmail(ctx context.Context, arg CreateVerifyEmailParams) (VerifyEmail, error)
func (*Queries) DeleteAccount ¶
func (*Queries) DeleteEntry ¶ added in v0.2.0
func (*Queries) DeleteTransfer ¶ added in v0.2.0
func (*Queries) GetAccount ¶
func (*Queries) GetAccountForUpdate ¶ added in v0.4.0
func (*Queries) GetSession ¶ added in v1.0.0
func (*Queries) GetTransfer ¶ added in v0.2.0
func (*Queries) ListAccounts ¶ added in v0.2.0
func (*Queries) ListEEntry ¶ added in v0.2.0
func (*Queries) ListTransferById ¶ added in v0.2.0
func (*Queries) ListTransfers ¶ added in v0.2.0
func (*Queries) UpdateAccount ¶ added in v0.2.0
func (*Queries) UpdateEntry ¶ added in v0.2.0
func (q *Queries) UpdateEntry(ctx context.Context, arg UpdateEntryParams) error
func (*Queries) UpdateTransfer ¶ added in v0.2.0
func (q *Queries) UpdateTransfer(ctx context.Context, arg UpdateTransferParams) error
func (*Queries) UpdateUser ¶ added in v1.0.0
func (*Queries) UpdateVerifyEmail ¶ added in v1.0.0
func (q *Queries) UpdateVerifyEmail(ctx context.Context, arg UpdateVerifyEmailParams) (VerifyEmail, error)
type Session ¶ added in v1.0.0
type Session struct {
ID uuid.UUID `json:"id"`
Username string `json:"username"`
RefreshToken string `json:"refresh_token"`
UserAgent string `json:"user_agent"`
ClientIp string `json:"client_ip"`
IsBlocked bool `json:"is_blocked"`
ExpiresAt time.Time `json:"expires_at"`
CreatedAt time.Time `json:"created_at"`
}
type SqlStore ¶ added in v0.7.0
type SqlStore struct {
*Queries
// contains filtered or unexported fields
}
Store Embedding Queries and sq.DB to make a struct that can call queries and db to do transaction
func (*SqlStore) CreateUserTx ¶ added in v1.0.0
func (sqlStore *SqlStore) CreateUserTx(ctx context.Context, arg CreateUserTxParams) (CreateUserTxResult, error)
CreataUserTx create user with transaction to rollback
func (*SqlStore) TransferTx ¶ added in v0.7.0
func (sqlStore *SqlStore) TransferTx(ctx context.Context, arg TransferTxParams) (TransferTxResult, error)
TransferTx performs transfer moeny from one account to other account
func (*SqlStore) VerifyEmailTx ¶ added in v1.0.0
func (sqlStore *SqlStore) VerifyEmailTx(ctx context.Context, arg VerifyEmailTxParams) (VerifyEmailTxResult, error)
CreataUserTx create user with transaction to rollback
type Store ¶ added in v0.2.0
type Store interface {
Querier
TransferTx(ctx context.Context, arg TransferTxParams) (TransferTxResult, error)
CreateUserTx(ctx context.Context, arg CreateUserTxParams) (CreateUserTxResult, error)
VerifyEmailTx(ctx context.Context, arg VerifyEmailTxParams) (VerifyEmailTxResult, error)
}
Store interface for mock testing need
type TransferTxParams ¶ added in v0.2.0
type TransferTxParams struct {
FromAccountID int64 `json:"from_account_id"`
ToAccountID int64 `json:"to_account_id"`
Amount int64 `json:"amount"`
}
TransferTxParams contains of input param needed to do TransferTX
type TransferTxResult ¶ added in v0.2.0
type TransferTxResult struct {
Transfer Transfer `json:"transfer"`
FromAccount Account `json:"from_account_id"`
ToAccount Account `json:"to_account_id"`
FromEntry Entry `json:"from_entry"`
ToEntry Entry `json:"to_entry"`
}
TransferTxResult contains of result of TransferTx
type UpdateAccountParams ¶ added in v0.2.0
type UpdateEntryParams ¶ added in v0.2.0
type UpdateTransferParams ¶ added in v0.2.0
type UpdateUserParams ¶ added in v1.0.0
type UpdateUserParams struct {
HashedPassword sql.NullString `json:"hashed_password"`
PasswordChangedAt sql.NullTime `json:"password_changed_at"`
FullName sql.NullString `json:"full_name"`
Email sql.NullString `json:"email"`
IsEmailVerified sql.NullBool `json:"is_email_verified"`
Username string `json:"username"`
}
type UpdateVerifyEmailParams ¶ added in v1.0.0
type User ¶ added in v0.7.3
type User struct {
Username string `json:"username"`
HashedPassword string `json:"hashed_password"`
FullName string `json:"full_name"`
Email string `json:"email"`
PasswordChangedAt time.Time `json:"password_changed_at"`
CreatedAt time.Time `json:"created_at"`
IsEmailVerified bool `json:"is_email_verified"`
}
type VerifyEmail ¶ added in v1.0.0
type VerifyEmailTxParams ¶ added in v1.0.0
type VerifyEmailTxResult ¶ added in v1.0.0
type VerifyEmailTxResult struct {
User User
VerifyEmail VerifyEmail
}
Click to show internal directories.
Click to hide internal directories.