Documentation ¶
Index ¶
- func NewSeatChart(cinemaName string, baseUrl string, res SeatResponse) template.HTML
- func Service(routes *echo.Echo, collector *Collector, config *DrafthouseServiceConfig)
- type Area
- type AreaCategory
- type Cache
- type CacheItem
- type Chart
- type Cinema
- type Collector
- type Date
- func (d *Date) GetCinemas() []SimpleCinema
- func (d *Date) GetFilmNames(cinemaFilter string) []string
- func (d *Date) GetFilmSessions(filmSlug string, cinemaFilter string) []FilmSession
- func (d *Date) GetFilmTimes(filmSlug string, cinemaFilter string) map[string][]string
- func (d *Date) GetFilms(cinemaFilter string) SimpleFilms
- type DrafthouseService
- type DrafthouseServiceConfig
- type Film
- type FilmSession
- type Format
- type IndexTemplate
- type Market
- func (m *Market) GetCinemas() []SimpleCinema
- func (m *Market) GetDates() []string
- func (m *Market) GetFilmNames(date time.Time, cinemaFilter string) []string
- func (m *Market) GetFilmSessions(filmSlug string, date time.Time, cinemaFilter string) []FilmSession
- func (m *Market) GetFilmTimes(filmSlug string, date time.Time, cinemaFilter string) map[string][]string
- func (m *Market) GetSimpleFilms(date time.Time, collector *Collector, cinemaFilter string, preload bool) []SimpleFilm
- type MarketResponse
- type MetaDataResults
- type Position
- type ResponseFilms
- type ResponseMovieTimes
- type Row
- type SeatLayoutData
- type SeatPickerTemplate
- type SeatResponse
- type Seats
- type SeatsInGroup
- type Series
- type Session
- type SimpleCinema
- type SimpleFilm
- type SimpleFilms
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewSeatChart ¶
func NewSeatChart(cinemaName string, baseUrl string, res SeatResponse) template.HTML
Types ¶
type Area ¶
type Area struct { AreaCategoryCode string `json:"AreaCategoryCode"` ColumnCount int `json:"ColumnCount"` Description string `json:"Description"` DescriptionAlt string `json:"DescriptionAlt"` HasSofaSeatingEnabled bool `json:"HasSofaSeatingEnabled"` Height float64 `json:"Height"` IsAllocatedSeating bool `json:"IsAllocatedSeating"` Left int `json:"Left"` Number int `json:"Number"` NumberOfSeats int `json:"NumberOfSeats"` RowCount int `json:"RowCount"` Rows []Row `json:"Rows"` Top float64 `json:"Top"` Width int `json:"Width"` }
type AreaCategory ¶
type AreaCategory struct { AreaCategoryCode string `json:"AreaCategoryCode"` IsInSeatDeliveryEnabled bool `json:"IsInSeatDeliveryEnabled"` SeatsAllocatedCount int `json:"SeatsAllocatedCount"` SeatsNotAllocatedCount int `json:"SeatsNotAllocatedCount"` SeatsToAllocate int `json:"SeatsToAllocate"` SelectedSeats []interface{} `json:"SelectedSeats"` }
type Cache ¶
type Cache struct {
// contains filtered or unexported fields
}
Cache is a synchronised map of items that auto-expire once they hit the expiration
type Cinema ¶
type Cinema struct { CinemaID string `json:"CinemaId"` CinemaName string `json:"CinemaName"` CinemaTimeZoneATE string `json:"CinemaTimeZoneATE"` MarketName string `json:"MarketName"` CinemaSlug string `json:"CinemaSlug"` MarketSlug string `json:"MarketSlug"` Films []Film `json:"Films"` }
func (*Cinema) GetFilmNames ¶
func (*Cinema) GetFilmSessions ¶
func (c *Cinema) GetFilmSessions(filmSlug string) []FilmSession
func (*Cinema) GetFilmTimes ¶
func (*Cinema) GetFilms ¶
func (c *Cinema) GetFilms() []SimpleFilm
type Collector ¶
func (*Collector) GetFilmMetaData ¶
func (c *Collector) GetFilmMetaData(film *SimpleFilm) *MetaDataResults
func (*Collector) GetFilmSeats ¶
func (c *Collector) GetFilmSeats(film FilmSession) SeatResponse
func (*Collector) GetMarketInfo ¶
type Date ¶
type Date struct { DateID string `json:"DateId"` Date string `json:"Date"` Cinemas []Cinema `json:"Cinemas"` }
func (*Date) GetCinemas ¶
func (d *Date) GetCinemas() []SimpleCinema
func (*Date) GetFilmNames ¶
func (*Date) GetFilmSessions ¶
func (d *Date) GetFilmSessions(filmSlug string, cinemaFilter string) []FilmSession
func (*Date) GetFilmTimes ¶
func (*Date) GetFilms ¶
func (d *Date) GetFilms(cinemaFilter string) SimpleFilms
type DrafthouseService ¶
type DrafthouseService struct {
// contains filtered or unexported fields
}
func (*DrafthouseService) HandleGetFilms ¶
func (s *DrafthouseService) HandleGetFilms(c echo.Context) error
HandleGetFilms is the handler for GET /films
func (*DrafthouseService) HandleGetSingleFilm ¶
func (s *DrafthouseService) HandleGetSingleFilm(c echo.Context) error
HandleGetSingleFilm is the handler for GET /film/:film-slug
func (*DrafthouseService) HandleIndex ¶
func (s *DrafthouseService) HandleIndex(c echo.Context) error
HandleIndex is the handler for GET /
func (*DrafthouseService) HandleSeats ¶
func (s *DrafthouseService) HandleSeats(c echo.Context) error
HandleSeats is the handler for POST /seats
type DrafthouseServiceConfig ¶
type Film ¶
type Film struct { FilmID string `json:"FilmId"` FilmName string `json:"FilmName"` FilmYear string `json:"FilmYear"` FilmRating string `json:"FilmRating"` FilmRuntime string `json:"FilmRuntime"` FilmAgePolicy string `json:"FilmAgePolicy"` FilmSlug string `json:"FilmSlug"` Series []Series `json:"Series"` }
func (*Film) GetFilmSessions ¶
func (f *Film) GetFilmSessions() []FilmSession
func (*Film) GetFilmTimes ¶
type FilmSession ¶
type IndexTemplate ¶
type IndexTemplate struct { BaseUrl string IndexUrl string Dates []string Films []SimpleFilm Cinemas []SimpleCinema }
type Market ¶
type Market struct { FeedGenerated string `json:"FeedGenerated"` SessionsGenerated string `json:"SessionsGenerated"` MarketID string `json:"MarketId"` MarketName string `json:"MarketName"` MarketSlug string `json:"MarketSlug"` Dates []Date `json:"Dates"` }
func (*Market) GetCinemas ¶
func (m *Market) GetCinemas() []SimpleCinema
func (*Market) GetFilmNames ¶
func (*Market) GetFilmSessions ¶
func (*Market) GetFilmTimes ¶
func (*Market) GetSimpleFilms ¶
type MarketResponse ¶
type MarketResponse struct {
Market Market `json:"Market"`
}
type MetaDataResults ¶
type ResponseFilms ¶
type ResponseFilms struct {
Films []SimpleFilm `json:"films"`
}
type ResponseMovieTimes ¶
type SeatLayoutData ¶
type SeatLayoutData struct { AreaCategories []AreaCategory `json:"AreaCategories"` Areas []Area `json:"Areas"` BoundaryLeft int `json:"BoundaryLeft"` BoundaryRight int `json:"BoundaryRight"` BoundaryTop float64 `json:"BoundaryTop"` ScreenStart int `json:"ScreenStart"` ScreenWidth int `json:"ScreenWidth"` }
type SeatPickerTemplate ¶
type SeatPickerTemplate struct { BaseUrl string IndexUrl string Cinemas map[string][]FilmSession }
type SeatResponse ¶
type SeatResponse struct { ResponseCode int `json:"ResponseCode"` SeatLayoutData SeatLayoutData `json:"SeatLayoutData"` ErrorDescription string `json:"ErrorDescription"` }
type SeatsInGroup ¶
type Session ¶
type Session struct { SessionID string `json:"SessionId"` SessionTime string `json:"SessionTime"` SessionStatus string `json:"SessionStatus"` SessionSalesURL string `json:"SessionSalesURL"` SessionDateTime string `json:"SessionDateTime"` SessionType string `json:"SessionType"` SeatsLeft string `json:"SeatsLeft"` SeatingLow string `json:"SeatingLow"` }
type SimpleCinema ¶
type SimpleFilm ¶
type SimpleFilms ¶
type SimpleFilms []SimpleFilm
func (SimpleFilms) Len ¶
func (slice SimpleFilms) Len() int
func (SimpleFilms) Less ¶
func (slice SimpleFilms) Less(i, j int) bool
func (SimpleFilms) Swap ¶
func (slice SimpleFilms) Swap(i, j int)
Click to show internal directories.
Click to hide internal directories.