postgres

package
v0.0.0-...-a1f93fc Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Connection

type Connection struct {
	Conn *pgxpool.Pool
	*Queries
}

func Connect

func Connect(connString string) (*Connection, error)

func (*Connection) Migrate

func (q *Connection) Migrate() error

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 InsertMovieParams

type InsertMovieParams struct {
	Name             string             `json:"name"`
	MovieTime        int16              `json:"movieTime"`
	Genres           []string           `json:"genres"`
	PremiereTime     pgtype.Timestamptz `json:"premiereTime"`
	PremiereFromDate pgtype.Date        `json:"premiereFromDate"`
	PremiereToDate   pgtype.Date        `json:"premiereToDate"`
}

type InsertSeatParams

type InsertSeatParams struct {
	TicketID   int64 `json:"ticketId"`
	SeatNumber int16 `json:"seatNumber"`
}

type InsertTicketParams

type InsertTicketParams struct {
	UserID       int64              `json:"userId"`
	MovieID      int64              `json:"movieId"`
	PremiereDate pgtype.Date        `json:"premiereDate"`
	PremiereTime pgtype.Timestamptz `json:"premiereTime"`
}

type InsertUserParams

type InsertUserParams struct {
	FullName string `json:"fullName"`
	Email    string `json:"email"`
	Password string `json:"password"`
}

type Movie

type Movie struct {
	ID               int64              `json:"id"`
	Name             string             `json:"name"`
	MovieTime        int16              `json:"movieTime"`
	Genres           []string           `json:"genres"`
	PremiereTime     pgtype.Timestamptz `json:"premiereTime"`
	PremiereFromDate pgtype.Date        `json:"premiereFromDate"`
	PremiereToDate   pgtype.Date        `json:"premiereToDate"`
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) InsertMovie

func (q *Queries) InsertMovie(ctx context.Context, arg InsertMovieParams) error

func (*Queries) InsertSeat

func (q *Queries) InsertSeat(ctx context.Context, arg InsertSeatParams) error

func (*Queries) InsertTicket

func (q *Queries) InsertTicket(ctx context.Context, arg InsertTicketParams) (int64, error)

func (*Queries) InsertUser

func (q *Queries) InsertUser(ctx context.Context, arg InsertUserParams) (int64, error)

func (*Queries) SelectMovie

func (q *Queries) SelectMovie(ctx context.Context, id int64) (SelectMovieRow, error)

func (*Queries) SelectMovieReservedSeats

func (q *Queries) SelectMovieReservedSeats(ctx context.Context, arg SelectMovieReservedSeatsParams) ([]int16, error)

func (*Queries) SelectMovies

func (q *Queries) SelectMovies(ctx context.Context) ([]SelectMoviesRow, error)

func (*Queries) SelectTicket

func (q *Queries) SelectTicket(ctx context.Context, arg SelectTicketParams) (SelectTicketRow, error)

func (*Queries) SelectUser

func (q *Queries) SelectUser(ctx context.Context, id int64) (User, error)

func (*Queries) SelectUserByEmail

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

func (*Queries) SelectUserTickets

func (q *Queries) SelectUserTickets(ctx context.Context, userID int64) ([]SelectUserTicketsRow, error)

func (*Queries) WithTx

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

type Seat

type Seat struct {
	ID         int64 `json:"id"`
	TicketID   int64 `json:"ticketId"`
	SeatNumber int16 `json:"seatNumber"`
}

type SelectMovieReservedSeatsParams

type SelectMovieReservedSeatsParams struct {
	MovieID      int64       `json:"movieId"`
	PremiereDate pgtype.Date `json:"premiereDate"`
}

type SelectMovieRow

type SelectMovieRow struct {
	ID               int64              `json:"id"`
	Name             string             `json:"name"`
	MovieTime        int16              `json:"movieTime"`
	Genres           []string           `json:"genres"`
	PremiereFromDate pgtype.Date        `json:"premiereFromDate"`
	PremiereToDate   pgtype.Date        `json:"premiereToDate"`
	PremiereTime     pgtype.Timestamptz `json:"premiereTime"`
}

type SelectMoviesRow

type SelectMoviesRow struct {
	ID           int64              `json:"id"`
	Name         string             `json:"name"`
	PremiereTime pgtype.Timestamptz `json:"premiereTime"`
}

type SelectTicketParams

type SelectTicketParams struct {
	ID     int64 `json:"id"`
	UserID int64 `json:"userId"`
}

type SelectTicketRow

type SelectTicketRow struct {
	MovieID       int64              `json:"movieId"`
	MovieName     string             `json:"movieName"`
	MovieTime     int16              `json:"movieTime"`
	MovieGenres   []string           `json:"movieGenres"`
	ReservedAt    pgtype.Timestamptz `json:"reservedAt"`
	PremiereDate  pgtype.Date        `json:"premiereDate"`
	PremiereTime  pgtype.Timestamptz `json:"premiereTime"`
	ReservedSeats []int16            `json:"reservedSeats"`
}

type SelectUserTicketsRow

type SelectUserTicketsRow struct {
	MovieID      int64              `json:"movieId"`
	TicketID     int64              `json:"ticketId"`
	MovieName    string             `json:"movieName"`
	PremiereDate pgtype.Date        `json:"premiereDate"`
	PremiereTime pgtype.Timestamptz `json:"premiereTime"`
}

type Ticket

type Ticket struct {
	ID           int64              `json:"id"`
	UserID       int64              `json:"userId"`
	MovieID      int64              `json:"movieId"`
	ReservedAt   pgtype.Timestamptz `json:"reservedAt"`
	PremiereDate pgtype.Date        `json:"premiereDate"`
	PremiereTime pgtype.Timestamptz `json:"premiereTime"`
}

type User

type User struct {
	ID       int64  `json:"id"`
	FullName string `json:"fullName"`
	Email    string `json:"email"`
	Password string `json:"password"`
}

Jump to

Keyboard shortcuts

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