models

package
v0.0.0-...-9756ea5 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Auditorium

type Auditorium struct {
	ID      primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
	Name    string             `json:"name" validate:"required"`
	MovieID string             `json:"movie_id" validate:"required"`
	NoSeats int                `json:"no_seats" validate:"required"`
	Rows    int                `json:"rows" validate:"required"`
	Columns int                `json:"columns" validate:"required"`

	Seats         []Seat `json:"seats" bson:"seats" validate:"required"`
	SelectedSeats []Seat `json:"selected_seats" bson:"selected_seats" validate:"required"`

	CreatedAt time.Time `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt time.Time `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
}

Auditorium is a struct that represents the auditorium model

type Booking

type Booking struct {
	ID            primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
	TransactionId int                `json:"transaction_id"`
	UserId        int                `json:"user_id"`
	SeatId        int                `json:"seat_id"`
	ScreeningId   int                `json:"screening_id"`
	Status        bool               `json:"status"`
	Seat          []Seat             `json:"seat"`
	CreatedAt     time.Time          `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt     time.Time          `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
}

type Movie

type Movie struct {
	ID               primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
	Type             string             `json:"type" bson:"type" validate:"required"`
	Adult            bool               `json:"adult" validate:"required"`
	BackdropPath     string             `json:"backdrop_path" validate:"required"`
	GenreIds         []int              `json:"genre_ids" validate:"required"`
	OriginalLanguage string             `json:"original_language" validate:"required"`
	OriginalTitle    string             `json:"original_title" validate:"required"`
	Overview         string             `json:"overview" validate:"required"`
	Popularity       float64            `json:"popularity" validate:"required"`
	PosterPath       string             `json:"poster_path" validate:"required"`
	ReleaseDate      string             `json:"release_date" validate:"required"`
	Title            string             `json:"title" validate:"required"`
	Video            bool               `json:"video" validate:"required"`
	VoteAverage      float64            `json:"vote_average" validate:"required"`
	VoteCount        int                `json:"vote_count" validate:"required"`
	MovieID          int                `json:"movie_id,omitempty" bson:"movie_id" validate:"required" unique:"true"`
	CreatedAt        time.Time          `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt        time.Time          `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
}

Movie is a struct that represents the movie model

type MovieDetails

type MovieDetails struct {
	ID                  primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
	Adult               bool               `json:"adult" validate:"required"`
	BackdropPath        string             `json:"backdrop_path" validate:"required"`
	BelongsToCollection interface{}        `json:"belongs_to_collection" bson:"belongs_to_collection"`
	Budget              int                `json:"budget" validate:"required"`
	Genres              []struct {
		ID   int    `json:"id" validate:"required"`
		Name string `json:"name" validate:"required"`
	} `json:"genres" validate:"required"`
	Homepage            string   `json:"homepage" validate:"required"`
	ImdbID              string   `json:"imdb_id" validate:"required"`
	MovieID             int      `json:"movie_id" validate:"required" unique:"true"`
	OriginalCountry     []string `json:"original_country" validate:"required"`
	OriginalLanguage    string   `json:"original_language" validate:"required"`
	OriginalTitle       string   `json:"original_title" validate:"required"`
	Overview            string   `json:"overview" validate:"required"`
	Popularity          float64  `json:"popularity" validate:"required"`
	PosterPath          string   `json:"poster_path" validate:"required"`
	ProductionCompanies []struct {
		ID            int    `json:"id" validate:"required"`
		LogoPath      string `json:"logo_path" validate:"required"`
		Name          string `json:"name" validate:"required"`
		OriginCountry string `json:"origin_country" validate:"required"`
	} `json:"production_companies" validate:"required"`
	ProductionCountries []struct {
		Iso31661 string `json:"iso_3166_1" validate:"required"`
		Name     string `json:"name" validate:"required"`
	} `json:"production_countries" validate:"required"`
	ReleaseDate     string `json:"release_date" validate:"required"`
	Revenue         int    `json:"revenue" validate:"required"`
	Runtime         int    `json:"runtime" validate:"required"`
	SpokenLanguages []struct {
		EnglishName string `json:"english_name" validate:"required"`
		Iso6391     string `json:"iso_639_1" validate:"required"`
		Name        string `json:"name" validate:"required"`
	} `json:"spoken_languages" validate:"required"`
	Status      string    `json:"status" validate:"required"`
	Tagline     string    `json:"tagline" validate:"required"`
	Title       string    `json:"title" validate:"required"`
	Video       bool      `json:"video" validate:"required"`
	VoteAverage float64   `json:"vote_average" validate:"required"`
	VoteCount   int       `json:"vote_count" validate:"required"`
	CreatedAt   time.Time `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt   time.Time `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
}

MovieDetails is a struct that represents the movie details model

type Screening

type Screening struct {
	ID           primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
	AuditoriumId int                `json:"auditorium_id" validate:"required"`
	CinemaId     int                `json:"cinema_id" validate:"required"`
	MovieId      int                `json:"movie_id" validate:"required"`
	StartTime    time.Time          `json:"start_time" validate:"required"`
	Auditorium   []Auditorium       `json:"auditorium"`
	Theater      []Theater          `json:"theater"`
	Movie        []Movie            `json:"movie"`
	Bookable     bool               `json:"bookable"`
	CreatedAt    time.Time          `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt    time.Time          `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
}

type Seat

type Seat struct {
	Id           int       `gorm:"primary_key" json:"id"`
	AuditoriumId int       `gorm:"column:auditorium_id" json:"auditorium_id"`
	Row          int       `gorm:"column:row" json:"row"`
	Number       int       `gorm:"column:number" json:"number"`
	Available    bool      `gorm:"column:available" json:"available"`
	Price        int64     `gorm:"column:price" json:"price"`
	Type         string    `gorm:"column:type" json:"type"`
	CreatedAt    time.Time `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt    time.Time `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
}

type Theater

type Theater struct {
	ID         primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
	Name       string             `json:"name" validate:"required"`
	Address    string             `json:"address" validate:"required"`
	Auditorium []Auditorium       `json:"auditorium"`
	CreatedAt  time.Time          `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt  time.Time          `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
}

Theater is a struct that represents the theater model

type Ticket

type Ticket struct {
	ID        primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
	Name      string             `json:"name" bson:"name" validate:"required"`
	Date      string             `json:"date" bson:"date" validate:"required"`
	Time      string             `json:"time" bson:"time" validate:"required"`
	Day       string             `json:"day" bson:"day" validate:"required"`
	Price     string             `json:"price" bson:"price" validate:"required"`
	Location  string             `json:"location" bson:"location" validate:"required"`
	Seats     string             `json:"seats" bson:"seats" validate:"required"`
	Row       string             `json:"row" bson:"row" validate:"required"`
	Theatre   string             `json:"theatre" bson:"theatre" validate:"required"`
	CreatedAt time.Time          `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt time.Time          `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
}

Movie is a struct that represents the movie model

type Transaction

type Transaction struct {
	ID        primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
	TicketID  int                `json:"ticket_id" bson:"ticket_id" validate:"required"`
	UserID    int                `json:"user_id" bson:"user_id" validate:"required"`
	Quantity  int                `json:"quantity" bson:"quantity" validate:"required"`
	Total     float64            `json:"total" bson:"total" validate:"required"`
	Paid      bool               `json:"paid" bson:"paid" validate:"required"`
	Ticket    []Ticket           `json:"ticket,omitempty" bson:"ticket,omitempty"`
	Booking   []Booking          `json:"booking,omitempty" bson:"booking,omitempty"`
	CreatedAt time.Time          `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt time.Time          `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
}

Transaction is a struct that represents the transaction model

type User

type User struct {
	ID           primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
	First_name   string             `json:"first_name" binding:"required" bson:"first_name"`
	Last_name    string             `json:"last_name" binding:"required" bson:"last_name"`
	Email        string             `json:"email" binding:"required" bson:"email"`
	Password     string             `json:"password" binding:"required" bson:"password"`
	Phone        string             `json:"phone" binding:"required" bson:"phone"`
	Role         string             `json:"role" validate:"eq=Admin|eq=User" bson:"role"`
	CreatedAt    time.Time          `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt    time.Time          `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
	User_id      string             `json:"user_id" bson:"user_id"`
	Token        string             `json:"token,omitempty" bson:"token,omitempty"`
	RefreshToken string             `json:"refresh_token,omitempty" bson:"refresh_token,omitempty"`
}

Jump to

Keyboard shortcuts

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