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 GetSessionByIdRow
- type GetSessionByUserNameRow
- type GetTransfersByFromAccountIdRow
- type GetTransfersByToAccountIdRow
- type GetTransfersParams
- type GetTransfersRow
- type GetUserByUserNameRow
- type ListAccountsParams
- type ListEntriesByAccountIdParams
- 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) DeleteSession(ctx context.Context, id uuid.UUID) 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) GetEntryByAccountId(ctx context.Context, accountID int64) (Entry, error)
- func (q *Queries) GetSessionById(ctx context.Context, id uuid.UUID) (GetSessionByIdRow, error)
- func (q *Queries) GetSessionByUserName(ctx context.Context, username string) (GetSessionByUserNameRow, error)
- func (q *Queries) GetTransfer(ctx context.Context, id int64) (Transfer, error)
- func (q *Queries) GetTransfers(ctx context.Context, arg GetTransfersParams) ([]GetTransfersRow, error)
- func (q *Queries) GetTransfersByFromAccountId(ctx context.Context, fromAccountID int64) ([]GetTransfersByFromAccountIdRow, error)
- func (q *Queries) GetTransfersByToAccountId(ctx context.Context, toAccountID int64) ([]GetTransfersByToAccountIdRow, error)
- func (q *Queries) GetUserByUserName(ctx context.Context, username string) (GetUserByUserNameRow, error)
- func (q *Queries) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error)
- func (q *Queries) ListEntriesByAccountId(ctx context.Context, arg ListEntriesByAccountIdParams) ([]Entry, error)
- func (q *Queries) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error)
- func (q *Queries) UpdateEntry(ctx context.Context, arg UpdateEntryParams) (Entry, 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 pgx.Tx) *Queries
- type SQLStore
- func (store *SQLStore) CreateUserTx(ctx context.Context, arg CreateUserTxParams) (CreateUserTxResult, error)
- func (store *SQLStore) TransferTx(ctx context.Context, arg TransferTxParams) (TransferTxResult, error)
- func (store *SQLStore) VerifyUserEmailTx(ctx context.Context, arg VerifyUserEmailTxParams) (VerifyUserEmailTxResult, error)
- type Session
- type Store
- type Transfer
- type TransferTxParams
- type TransferTxResult
- type UpdateAccountParams
- type UpdateEntryParams
- type UpdateUserParams
- type UpdateVerifyEmailParams
- type User
- type VerifyEmail
- type VerifyUserEmailTxParams
- type VerifyUserEmailTxResult
Constants ¶
const ( ForeignKeyViolation = "23503" UniqueViolation = "23505" )
Variables ¶
var ( ErrRecordNotFound = pgx.ErrNoRows ErrUniqueViolation = &pgconn.PgError{ Code: UniqueViolation, } )
Functions ¶
Types ¶
type AddAccountBalanceParams ¶
type CreateAccountParams ¶
type CreateEntryParams ¶
type CreateSessionParams ¶
type CreateTransferParams ¶
type CreateUserParams ¶
type CreateUserTxParams ¶
type CreateUserTxParams struct {
CreateUserParams
AfterCreate func(user User) error
}
CreateUserTxParams contains the input parameters of the transfer transaction
type CreateUserTxResult ¶
type CreateUserTxResult struct {
User User
}
CreateUserTxResult contains the result of the transfer transaction
type CreateVerifyEmailParams ¶
type GetSessionByIdRow ¶
type GetSessionByUserNameRow ¶
type GetTransfersParams ¶
type GetTransfersRow ¶
type GetUserByUserNameRow ¶
type GetUserByUserNameRow struct {
Username string `json:"username"`
HashedPassword string `json:"hashed_password"`
Role string `json:"role"`
FullName string `json:"full_name"`
Email string `json:"email"`
IsEmailVerified bool `json:"is_email_verified"`
PasswordChangedAt time.Time `json:"password_changed_at"`
CreatedAt time.Time `json:"created_at"`
}
type ListAccountsParams ¶
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
DeleteSession(ctx context.Context, id uuid.UUID) 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)
GetEntryByAccountId(ctx context.Context, accountID int64) (Entry, error)
GetSessionById(ctx context.Context, id uuid.UUID) (GetSessionByIdRow, error)
GetSessionByUserName(ctx context.Context, username string) (GetSessionByUserNameRow, error)
GetTransfer(ctx context.Context, id int64) (Transfer, error)
GetTransfers(ctx context.Context, arg GetTransfersParams) ([]GetTransfersRow, error)
GetTransfersByFromAccountId(ctx context.Context, fromAccountID int64) ([]GetTransfersByFromAccountIdRow, error)
GetTransfersByToAccountId(ctx context.Context, toAccountID int64) ([]GetTransfersByToAccountIdRow, error)
GetUserByUserName(ctx context.Context, username string) (GetUserByUserNameRow, error)
ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error)
ListEntriesByAccountId(ctx context.Context, arg ListEntriesByAccountIdParams) ([]Entry, error)
UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error)
UpdateEntry(ctx context.Context, arg UpdateEntryParams) (Entry, 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 ¶
func (*Queries) CreateAccount ¶
func (*Queries) CreateEntry ¶
func (*Queries) CreateSession ¶
func (*Queries) CreateTransfer ¶
func (*Queries) CreateUser ¶
func (*Queries) CreateVerifyEmail ¶
func (q *Queries) CreateVerifyEmail(ctx context.Context, arg CreateVerifyEmailParams) (VerifyEmail, error)
func (*Queries) DeleteAccount ¶
func (*Queries) DeleteSession ¶
func (*Queries) GetAccount ¶
func (*Queries) GetAccountForUpdate ¶
func (*Queries) GetEntryByAccountId ¶
func (*Queries) GetSessionById ¶
func (*Queries) GetSessionByUserName ¶
func (*Queries) GetTransfer ¶
func (*Queries) GetTransfers ¶
func (q *Queries) GetTransfers(ctx context.Context, arg GetTransfersParams) ([]GetTransfersRow, error)
func (*Queries) GetTransfersByFromAccountId ¶
func (*Queries) GetTransfersByToAccountId ¶
func (*Queries) GetUserByUserName ¶
func (*Queries) ListAccounts ¶
func (*Queries) ListEntriesByAccountId ¶
func (*Queries) UpdateAccount ¶
func (*Queries) UpdateEntry ¶
func (*Queries) UpdateUser ¶
func (*Queries) UpdateVerifyEmail ¶
func (q *Queries) UpdateVerifyEmail(ctx context.Context, arg UpdateVerifyEmailParams) (VerifyEmail, error)
type SQLStore ¶
type SQLStore struct {
*Queries
// contains filtered or unexported fields
}
Store provides all functions to execute db queries and transactions
func (*SQLStore) CreateUserTx ¶
func (store *SQLStore) CreateUserTx(ctx context.Context, arg CreateUserTxParams) (CreateUserTxResult, error)
CreateUserTxParams contains the input parameters of the transfer transaction
func (*SQLStore) TransferTx ¶
func (store *SQLStore) TransferTx(ctx context.Context, arg TransferTxParams) (TransferTxResult, error)
TransferTxParams contains the input parameters of the transfer transaction
func (*SQLStore) VerifyUserEmailTx ¶
func (store *SQLStore) VerifyUserEmailTx(ctx context.Context, arg VerifyUserEmailTxParams) (VerifyUserEmailTxResult, error)
VerifyUserEmailTxParams contains the input parameters of the transfer transaction
type Session ¶
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 Store ¶
type Store interface {
Querier
TransferTx(ctx context.Context, arg TransferTxParams) (TransferTxResult, error)
CreateUserTx(ctx context.Context, arg CreateUserTxParams) (CreateUserTxResult, error)
VerifyUserEmailTx(ctx context.Context, arg VerifyUserEmailTxParams) (VerifyUserEmailTxResult, error)
}
type TransferTxParams ¶
type TransferTxParams struct {
FromAccountID int64 `json:"fromAccountId"`
ToAccountID int64 `json:"toAccountId"`
Amount int64 `json:"amount"`
}
TransferTxParams contains the input parameters of the transfer transaction
type TransferTxResult ¶
type TransferTxResult struct {
Transfer Transfer `json:"transfer"`
FromAccount Account `json:"fromAccount"`
ToAccount Account `json:"toAccount"`
FromEntry Entry `json:"fromEntry"`
ToEntry Entry `json:"toEntry"`
}
TransferTxResult contains the result of the transfer transaction
type UpdateAccountParams ¶
type UpdateEntryParams ¶
type UpdateUserParams ¶
type UpdateVerifyEmailParams ¶
type User ¶
type User struct {
Username string `json:"username"`
HashedPassword string `json:"hashed_password"`
FullName string `json:"full_name"`
Email string `json:"email"`
CreatedAt time.Time `json:"created_at"`
PasswordChangedAt time.Time `json:"password_changed_at"`
IsEmailVerified bool `json:"is_email_verified"`
Role string `json:"role"`
}
type VerifyEmail ¶
type VerifyUserEmailTxParams ¶
VerifyUserEmailTxParams contains the input parameters of the transfer transaction
type VerifyUserEmailTxResult ¶
type VerifyUserEmailTxResult struct {
User User
VerifyEmail VerifyEmail
}
VerifyUserEmailTxResult contains the result of the transfer transaction