database

package
v0.0.0-...-2f6d66b Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2024 License: GPL-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreatePostParams

type CreatePostParams struct {
	Body   string    `json:"body"`
	UserID uuid.UUID `json:"user_id"`
}

type CreateRefreshTokenParams

type CreateRefreshTokenParams struct {
	Token  string    `json:"token"`
	UserID uuid.UUID `json:"user_id"`
}

type CreateUserParams

type CreateUserParams struct {
	Email    string `json:"email"`
	Password string `json:"password"`
}

type CreateUserRow

type CreateUserRow struct {
	ID          uuid.UUID `json:"id"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	Email       string    `json:"email"`
	IsChirpyRed bool      `json:"is_chirpy_red"`
}

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 Post

type Post struct {
	ID        uuid.UUID `json:"id"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
	Body      string    `json:"body"`
	UserID    uuid.UUID `json:"user_id"`
}

type Queries

type Queries struct {
	// contains filtered or unexported fields
}

func New

func New(db DBTX) *Queries

func (*Queries) CreatePost

func (q *Queries) CreatePost(ctx context.Context, arg CreatePostParams) (Post, error)

func (*Queries) CreateRefreshToken

func (q *Queries) CreateRefreshToken(ctx context.Context, arg CreateRefreshTokenParams) (RefreshToken, error)

func (*Queries) CreateUser

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

func (*Queries) DeletePostByID

func (q *Queries) DeletePostByID(ctx context.Context, id uuid.UUID) error

func (*Queries) GetPostByID

func (q *Queries) GetPostByID(ctx context.Context, id uuid.UUID) (Post, error)

func (*Queries) GetUserByEmail

func (q *Queries) GetUserByEmail(ctx context.Context, email string) (User, error)

func (*Queries) GetUserFromRefreshToken

func (q *Queries) GetUserFromRefreshToken(ctx context.Context, token string) (uuid.UUID, error)

func (*Queries) GetValidRefreshTokenForUser

func (q *Queries) GetValidRefreshTokenForUser(ctx context.Context, userID uuid.UUID) (string, error)

func (*Queries) ListPosts

func (q *Queries) ListPosts(ctx context.Context) ([]Post, error)

func (*Queries) ListPostsFromUser

func (q *Queries) ListPostsFromUser(ctx context.Context, userID uuid.UUID) ([]Post, error)

func (*Queries) ResetUsers

func (q *Queries) ResetUsers(ctx context.Context) error

func (*Queries) RevokeRefreshToken

func (q *Queries) RevokeRefreshToken(ctx context.Context, token string) (RevokeRefreshTokenRow, error)

func (*Queries) UpdatePassword

func (q *Queries) UpdatePassword(ctx context.Context, arg UpdatePasswordParams) (UpdatePasswordRow, error)

func (*Queries) UpgradeUserToRed

func (q *Queries) UpgradeUserToRed(ctx context.Context, id uuid.UUID) error

func (*Queries) WithTx

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

type RefreshToken

type RefreshToken struct {
	Token     string       `json:"token"`
	CreatedAt time.Time    `json:"created_at"`
	UpdatedAt time.Time    `json:"updated_at"`
	UserID    uuid.UUID    `json:"user_id"`
	ExpiresAt time.Time    `json:"expires_at"`
	RevokedAt sql.NullTime `json:"revoked_at"`
}

type RevokeRefreshTokenRow

type RevokeRefreshTokenRow struct {
	Token     string       `json:"token"`
	RevokedAt sql.NullTime `json:"revoked_at"`
}

type UpdatePasswordParams

type UpdatePasswordParams struct {
	Password string    `json:"password"`
	Email    string    `json:"email"`
	ID       uuid.UUID `json:"id"`
}

type UpdatePasswordRow

type UpdatePasswordRow struct {
	ID          uuid.UUID `json:"id"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	Email       string    `json:"email"`
	IsChirpyRed bool      `json:"is_chirpy_red"`
}

type User

type User struct {
	ID          uuid.UUID `json:"id"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	Email       string    `json:"email"`
	Password    string    `json:"password"`
	IsChirpyRed bool      `json:"is_chirpy_red"`
}

Jump to

Keyboard shortcuts

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