sqlc

package
v0.0.0-...-d1a39b7 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreatePropertyParams

type CreatePropertyParams struct {
	ID         uuid.UUID `json:"id"`
	HostID     uuid.UUID `json:"host_id"`
	Title      string    `json:"title"`
	Location   string    `json:"location"`
	DailyPrice int32     `json:"daily_price"`
	Amenities  []byte    `json:"amenities"`
}

type CreateReservationParams

type CreateReservationParams struct {
	ID         uuid.UUID `json:"id"`
	PropertyID uuid.UUID `json:"property_id"`
	GuestID    uuid.UUID `json:"guest_id"`
	HostID     uuid.UUID `json:"host_id"`
	TotalPrice int32     `json:"total_price"`
	Status     string    `json:"status"`
	CheckIn    time.Time `json:"check_in"`
	CheckOut   time.Time `json:"check_out"`
}

type CreateUserParams

type CreateUserParams struct {
	ID           uuid.UUID `json:"id"`
	Name         string    `json:"name"`
	Email        string    `json:"email"`
	PasswordHash string    `json:"password_hash"`
	Role         string    `json:"role"`
}

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 FindByIDAndGuestIDParams

type FindByIDAndGuestIDParams struct {
	ID      uuid.UUID `json:"id"`
	GuestID uuid.UUID `json:"guest_id"`
}

type FindByIDAndHostIDParams

type FindByIDAndHostIDParams struct {
	ID     uuid.UUID `json:"id"`
	HostID uuid.UUID `json:"host_id"`
}

type IsPropertyAvailableParams

type IsPropertyAvailableParams struct {
	PropertyID uuid.UUID `json:"property_id"`
	CheckOut   time.Time `json:"check_out"`
	CheckIn    time.Time `json:"check_in"`
}

type ListByHostParams

type ListByHostParams struct {
	HostID uuid.UUID `json:"host_id"`
	Offset int32     `json:"offset"`
	Limit  int32     `json:"limit"`
}

type ListPropertiesCountParams

type ListPropertiesCountParams struct {
	Location pgtype.Text `json:"location"`
	MinPrice pgtype.Int4 `json:"min_price"`
	MaxPrice pgtype.Int4 `json:"max_price"`
}

type ListPropertiesParams

type ListPropertiesParams struct {
	Location pgtype.Text `json:"location"`
	MinPrice pgtype.Int4 `json:"min_price"`
	MaxPrice pgtype.Int4 `json:"max_price"`
	Offset   int32       `json:"offset"`
	Limit    int32       `json:"limit"`
}

type ListReservationsByUserParams

type ListReservationsByUserParams struct {
	GuestID uuid.UUID `json:"guest_id"`
	Offset  int32     `json:"offset"`
	Limit   int32     `json:"limit"`
}

type Property

type Property struct {
	ID         uuid.UUID `json:"id"`
	HostID     uuid.UUID `json:"host_id"`
	Title      string    `json:"title"`
	Location   string    `json:"location"`
	DailyPrice int32     `json:"daily_price"`
	Amenities  []byte    `json:"amenities"`
	CreatedAt  time.Time `json:"created_at"`
	UpdatedAt  time.Time `json:"updated_at"`
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) CancelReservation

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

func (*Queries) ConfirmReservation

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

func (*Queries) CountByHost

func (q *Queries) CountByHost(ctx context.Context, hostID uuid.UUID) (int64, error)

func (*Queries) CountReservationsByUser

func (q *Queries) CountReservationsByUser(ctx context.Context, guestID uuid.UUID) (int64, error)

func (*Queries) CreateProperty

func (q *Queries) CreateProperty(ctx context.Context, arg CreatePropertyParams) (Property, error)

func (*Queries) CreateReservation

func (q *Queries) CreateReservation(ctx context.Context, arg CreateReservationParams) (Reservation, error)

func (*Queries) CreateUser

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

func (*Queries) DeleteProperty

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

func (*Queries) DeleteUser

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

func (*Queries) FindByIDAndGuestID

func (q *Queries) FindByIDAndGuestID(ctx context.Context, arg FindByIDAndGuestIDParams) (Reservation, error)

func (*Queries) FindByIDAndHostID

func (q *Queries) FindByIDAndHostID(ctx context.Context, arg FindByIDAndHostIDParams) (Reservation, error)

func (*Queries) GetPropertyByID

func (q *Queries) GetPropertyByID(ctx context.Context, id uuid.UUID) (Property, 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 uuid.UUID) (User, error)

func (*Queries) IsPropertyAvailable

func (q *Queries) IsPropertyAvailable(ctx context.Context, arg IsPropertyAvailableParams) (bool, error)

func (*Queries) ListByHost

func (q *Queries) ListByHost(ctx context.Context, arg ListByHostParams) ([]Property, error)

func (*Queries) ListProperties

func (q *Queries) ListProperties(ctx context.Context, arg ListPropertiesParams) ([]Property, error)

func (*Queries) ListPropertiesCount

func (q *Queries) ListPropertiesCount(ctx context.Context, arg ListPropertiesCountParams) (int64, error)

func (*Queries) ListReservationsByUser

func (q *Queries) ListReservationsByUser(ctx context.Context, arg ListReservationsByUserParams) ([]Reservation, error)

func (*Queries) WithTx

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

type Reservation

type Reservation struct {
	ID         uuid.UUID `json:"id"`
	GuestID    uuid.UUID `json:"guest_id"`
	HostID     uuid.UUID `json:"host_id"`
	PropertyID uuid.UUID `json:"property_id"`
	CheckIn    time.Time `json:"check_in"`
	CheckOut   time.Time `json:"check_out"`
	TotalPrice int32     `json:"total_price"`
	Status     string    `json:"status"`
	CreatedAt  time.Time `json:"created_at"`
	UpdatedAt  time.Time `json:"updated_at"`
}

type User

type User struct {
	ID           uuid.UUID `json:"id"`
	Name         string    `json:"name"`
	Email        string    `json:"email"`
	PasswordHash string    `json:"password_hash"`
	Role         string    `json:"role"`
	CreatedAt    time.Time `json:"created_at"`
	UpdatedAt    time.Time `json:"updated_at"`
}

Jump to

Keyboard shortcuts

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