sqlc

package
v0.1.9 Latest Latest
Warning

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

Go to latest
Published: May 31, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const CountCommentsByPost = `-- name: CountCommentsByPost :one
SELECT COUNT(*)
FROM comments
WHERE post_id = $1
`
View Source
const CountPosts = `-- name: CountPosts :one
SELECT COUNT(*)
FROM posts
`
View Source
const CountPostsByUser = `-- name: CountPostsByUser :one
SELECT COUNT(*)
FROM posts
WHERE user_id = $1
`
View Source
const CountUsers = `-- name: CountUsers :one
SELECT COUNT(*)
FROM users
`
View Source
const CreateComment = `` /* 181-byte string literal not displayed */
View Source
const CreatePost = `` /* 201-byte string literal not displayed */
View Source
const CreateUser = `` /* 157-byte string literal not displayed */
View Source
const DeleteComment = `-- name: DeleteComment :exec
DELETE FROM comments
WHERE id = $1
`
View Source
const DeletePost = `-- name: DeletePost :exec
DELETE FROM posts
WHERE id = $1
`
View Source
const DeleteUser = `-- name: DeleteUser :exec
DELETE FROM users
WHERE id = $1
`
View Source
const GetCommentByID = `` /* 243-byte string literal not displayed */
View Source
const GetCommentsByPostID = `` /* 280-byte string literal not displayed */
View Source
const GetPostByID = `` /* 252-byte string literal not displayed */
View Source
const GetPosts = `` /* 261-byte string literal not displayed */
View Source
const GetPostsByUserID = `` /* 181-byte string literal not displayed */
View Source
const GetPublishedPosts = `` /* 295-byte string literal not displayed */
View Source
const GetUserByEmail = `` /* 129-byte string literal not displayed */
View Source
const GetUserByID = `-- name: GetUserByID :one
SELECT id,
    name,
    email,
    age,
    created_at,
    updated_at
FROM users
WHERE id = $1
`
View Source
const GetUsers = `` /* 132-byte string literal not displayed */
View Source
const UpdateComment = `` /* 183-byte string literal not displayed */
View Source
const UpdatePost = `` /* 244-byte string literal not displayed */
View Source
const UpdatePostPublished = `` /* 201-byte string literal not displayed */
View Source
const UpdateUser = `` /* 195-byte string literal not displayed */

Variables

This section is empty.

Functions

This section is empty.

Types

type Category

type Category struct {
	ID          int32       `db:"id" json:"id"`
	Name        string      `db:"name" json:"name"`
	Description pgtype.Text `db:"description" json:"description"`
	Color       pgtype.Text `db:"color" json:"color"`
	CreatedAt   time.Time   `db:"created_at" json:"created_at"`
	UpdatedAt   time.Time   `db:"updated_at" json:"updated_at"`
}

type Comment

type Comment struct {
	ID        int32     `db:"id" json:"id"`
	Content   string    `db:"content" json:"content"`
	PostID    int32     `db:"post_id" json:"post_id"`
	UserID    int32     `db:"user_id" json:"user_id"`
	CreatedAt time.Time `db:"created_at" json:"created_at"`
	UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
}

type CreateCommentParams

type CreateCommentParams struct {
	Content string `db:"content" json:"content"`
	PostID  int32  `db:"post_id" json:"post_id"`
	UserID  int32  `db:"user_id" json:"user_id"`
}

type CreatePostParams

type CreatePostParams struct {
	Title     string      `db:"title" json:"title"`
	Content   string      `db:"content" json:"content"`
	UserID    int32       `db:"user_id" json:"user_id"`
	Published pgtype.Bool `db:"published" json:"published"`
}

type CreateUserParams

type CreateUserParams struct {
	Name  string      `db:"name" json:"name"`
	Email string      `db:"email" json:"email"`
	Age   pgtype.Int4 `db:"age" json:"age"`
}

type DBTX

type DBTX interface {
	Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
	Query(context.Context, string, ...interface{}) (pgx.Rows, error)
	QueryRow(context.Context, string, ...interface{}) pgx.Row
}

type GetCommentByIDRow

type GetCommentByIDRow struct {
	ID        int32     `db:"id" json:"id"`
	Content   string    `db:"content" json:"content"`
	PostID    int32     `db:"post_id" json:"post_id"`
	UserID    int32     `db:"user_id" json:"user_id"`
	CreatedAt time.Time `db:"created_at" json:"created_at"`
	UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
	UserName  string    `db:"user_name" json:"user_name"`
	UserEmail string    `db:"user_email" json:"user_email"`
}

type GetCommentsByPostIDRow

type GetCommentsByPostIDRow struct {
	ID        int32     `db:"id" json:"id"`
	Content   string    `db:"content" json:"content"`
	PostID    int32     `db:"post_id" json:"post_id"`
	UserID    int32     `db:"user_id" json:"user_id"`
	CreatedAt time.Time `db:"created_at" json:"created_at"`
	UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
	UserName  string    `db:"user_name" json:"user_name"`
	UserEmail string    `db:"user_email" json:"user_email"`
}

type GetPostByIDRow

type GetPostByIDRow struct {
	ID        int32       `db:"id" json:"id"`
	Title     string      `db:"title" json:"title"`
	Content   string      `db:"content" json:"content"`
	UserID    int32       `db:"user_id" json:"user_id"`
	Published pgtype.Bool `db:"published" json:"published"`
	CreatedAt time.Time   `db:"created_at" json:"created_at"`
	UpdatedAt time.Time   `db:"updated_at" json:"updated_at"`
	UserName  string      `db:"user_name" json:"user_name"`
	UserEmail string      `db:"user_email" json:"user_email"`
}

type GetPostsRow

type GetPostsRow struct {
	ID        int32       `db:"id" json:"id"`
	Title     string      `db:"title" json:"title"`
	Content   string      `db:"content" json:"content"`
	UserID    int32       `db:"user_id" json:"user_id"`
	Published pgtype.Bool `db:"published" json:"published"`
	CreatedAt time.Time   `db:"created_at" json:"created_at"`
	UpdatedAt time.Time   `db:"updated_at" json:"updated_at"`
	UserName  string      `db:"user_name" json:"user_name"`
	UserEmail string      `db:"user_email" json:"user_email"`
}

type GetPublishedPostsRow

type GetPublishedPostsRow struct {
	ID        int32       `db:"id" json:"id"`
	Title     string      `db:"title" json:"title"`
	Content   string      `db:"content" json:"content"`
	UserID    int32       `db:"user_id" json:"user_id"`
	Published pgtype.Bool `db:"published" json:"published"`
	CreatedAt time.Time   `db:"created_at" json:"created_at"`
	UpdatedAt time.Time   `db:"updated_at" json:"updated_at"`
	UserName  string      `db:"user_name" json:"user_name"`
	UserEmail string      `db:"user_email" json:"user_email"`
}

type Post

type Post struct {
	ID        int32       `db:"id" json:"id"`
	Title     string      `db:"title" json:"title"`
	Content   string      `db:"content" json:"content"`
	UserID    int32       `db:"user_id" json:"user_id"`
	Published pgtype.Bool `db:"published" json:"published"`
	CreatedAt time.Time   `db:"created_at" json:"created_at"`
	UpdatedAt time.Time   `db:"updated_at" json:"updated_at"`
}

type PostCategory

type PostCategory struct {
	PostID     int32 `db:"post_id" json:"post_id"`
	CategoryID int32 `db:"category_id" json:"category_id"`
}

type PostTag

type PostTag struct {
	PostID int32 `db:"post_id" json:"post_id"`
	TagID  int32 `db:"tag_id" json:"tag_id"`
}

type Querier

type Querier interface {
	CountCommentsByPost(ctx context.Context, postID int32) (int64, error)
	CountPosts(ctx context.Context) (int64, error)
	CountPostsByUser(ctx context.Context, userID int32) (int64, error)
	CountUsers(ctx context.Context) (int64, error)
	CreateComment(ctx context.Context, arg CreateCommentParams) (*Comment, error)
	CreatePost(ctx context.Context, arg CreatePostParams) (*Post, error)
	CreateUser(ctx context.Context, arg CreateUserParams) (*User, error)
	DeleteComment(ctx context.Context, id int32) error
	DeletePost(ctx context.Context, id int32) error
	DeleteUser(ctx context.Context, id int32) error
	GetCommentByID(ctx context.Context, id int32) (*GetCommentByIDRow, error)
	GetCommentsByPostID(ctx context.Context, postID int32) ([]*GetCommentsByPostIDRow, error)
	GetPostByID(ctx context.Context, id int32) (*GetPostByIDRow, error)
	GetPosts(ctx context.Context) ([]*GetPostsRow, error)
	GetPostsByUserID(ctx context.Context, userID int32) ([]*Post, error)
	GetPublishedPosts(ctx context.Context) ([]*GetPublishedPostsRow, error)
	GetUserByEmail(ctx context.Context, email string) (*User, error)
	GetUserByID(ctx context.Context, id int32) (*User, error)
	GetUsers(ctx context.Context) ([]*User, error)
	UpdateComment(ctx context.Context, arg UpdateCommentParams) (*Comment, error)
	UpdatePost(ctx context.Context, arg UpdatePostParams) (*Post, error)
	UpdatePostPublished(ctx context.Context, arg UpdatePostPublishedParams) (*Post, error)
	UpdateUser(ctx context.Context, arg UpdateUserParams) (*User, error)
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) CountCommentsByPost

func (q *Queries) CountCommentsByPost(ctx context.Context, postID int32) (int64, error)

func (*Queries) CountPosts

func (q *Queries) CountPosts(ctx context.Context) (int64, error)

func (*Queries) CountPostsByUser

func (q *Queries) CountPostsByUser(ctx context.Context, userID int32) (int64, error)

func (*Queries) CountUsers

func (q *Queries) CountUsers(ctx context.Context) (int64, error)

func (*Queries) CreateComment

func (q *Queries) CreateComment(ctx context.Context, arg CreateCommentParams) (*Comment, error)

func (*Queries) CreatePost

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

func (*Queries) CreateUser

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

func (*Queries) DeleteComment

func (q *Queries) DeleteComment(ctx context.Context, id int32) error

func (*Queries) DeletePost

func (q *Queries) DeletePost(ctx context.Context, id int32) error

func (*Queries) DeleteUser

func (q *Queries) DeleteUser(ctx context.Context, id int32) error

func (*Queries) GetCommentByID

func (q *Queries) GetCommentByID(ctx context.Context, id int32) (*GetCommentByIDRow, error)

func (*Queries) GetCommentsByPostID

func (q *Queries) GetCommentsByPostID(ctx context.Context, postID int32) ([]*GetCommentsByPostIDRow, error)

func (*Queries) GetPostByID

func (q *Queries) GetPostByID(ctx context.Context, id int32) (*GetPostByIDRow, error)

func (*Queries) GetPosts

func (q *Queries) GetPosts(ctx context.Context) ([]*GetPostsRow, error)

func (*Queries) GetPostsByUserID

func (q *Queries) GetPostsByUserID(ctx context.Context, userID int32) ([]*Post, error)

func (*Queries) GetPublishedPosts

func (q *Queries) GetPublishedPosts(ctx context.Context) ([]*GetPublishedPostsRow, error)

func (*Queries) GetUserByEmail

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

func (*Queries) GetUserByID

func (q *Queries) GetUserByID(ctx context.Context, id int32) (*User, error)

func (*Queries) GetUsers

func (q *Queries) GetUsers(ctx context.Context) ([]*User, error)

func (*Queries) UpdateComment

func (q *Queries) UpdateComment(ctx context.Context, arg UpdateCommentParams) (*Comment, error)

func (*Queries) UpdatePost

func (q *Queries) UpdatePost(ctx context.Context, arg UpdatePostParams) (*Post, error)

func (*Queries) UpdatePostPublished

func (q *Queries) UpdatePostPublished(ctx context.Context, arg UpdatePostPublishedParams) (*Post, error)

func (*Queries) UpdateUser

func (q *Queries) UpdateUser(ctx context.Context, arg UpdateUserParams) (*User, error)

func (*Queries) WithTx

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

type Tag

type Tag struct {
	ID        int32     `db:"id" json:"id"`
	Name      string    `db:"name" json:"name"`
	Slug      string    `db:"slug" json:"slug"`
	CreatedAt time.Time `db:"created_at" json:"created_at"`
	UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
}

type UpdateCommentParams

type UpdateCommentParams struct {
	ID      int32  `db:"id" json:"id"`
	Content string `db:"content" json:"content"`
}

type UpdatePostParams

type UpdatePostParams struct {
	ID        int32       `db:"id" json:"id"`
	Title     string      `db:"title" json:"title"`
	Content   string      `db:"content" json:"content"`
	UserID    int32       `db:"user_id" json:"user_id"`
	Published pgtype.Bool `db:"published" json:"published"`
}

type UpdatePostPublishedParams

type UpdatePostPublishedParams struct {
	ID        int32       `db:"id" json:"id"`
	Published pgtype.Bool `db:"published" json:"published"`
}

type UpdateUserParams

type UpdateUserParams struct {
	ID    int32       `db:"id" json:"id"`
	Name  string      `db:"name" json:"name"`
	Email string      `db:"email" json:"email"`
	Age   pgtype.Int4 `db:"age" json:"age"`
}

type User

type User struct {
	ID        int32       `db:"id" json:"id"`
	Name      string      `db:"name" json:"name"`
	Email     string      `db:"email" json:"email"`
	Age       pgtype.Int4 `db:"age" json:"age"`
	CreatedAt time.Time   `db:"created_at" json:"created_at"`
	UpdatedAt time.Time   `db:"updated_at" json:"updated_at"`
}

type UserProfile

type UserProfile struct {
	UserID    int32       `db:"user_id" json:"user_id"`
	Bio       pgtype.Text `db:"bio" json:"bio"`
	Avatar    pgtype.Text `db:"avatar" json:"avatar"`
	Website   pgtype.Text `db:"website" json:"website"`
	Location  pgtype.Text `db:"location" json:"location"`
	BirthDate pgtype.Date `db:"birth_date" json:"birth_date"`
	CreatedAt time.Time   `db:"created_at" json:"created_at"`
	UpdatedAt time.Time   `db:"updated_at" json:"updated_at"`
}

Jump to

Keyboard shortcuts

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