add env and fix data
This commit is contained in:
parent
4418e009e0
commit
d947557373
@ -26,6 +26,7 @@ func (hq *Handlers) GetTVShow(c *fiber.Ctx) error {
|
|||||||
|
|
||||||
var title string
|
var title string
|
||||||
var scraperEpisodes []scraper.Episode
|
var scraperEpisodes []scraper.Episode
|
||||||
|
var sqlcTvShow sqlc.TvShow
|
||||||
var sqlcEpisodes []sqlc.Episode
|
var sqlcEpisodes []sqlc.Episode
|
||||||
var totalVoteCount int32
|
var totalVoteCount int32
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ func (hq *Handlers) GetTVShow(c *fiber.Ctx) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
title, scraperEpisodes = scraper.ScrapeEpisodes(ttShowID)
|
title, scraperEpisodes = scraper.ScrapeEpisodes(ttShowID)
|
||||||
//TODO: make transactional
|
//TODO: make transactional
|
||||||
ttShow, err := hq.queries.CreateTVShow(c.Context(), sqlc.CreateTVShowParams{
|
sqlcTvShow, err = hq.queries.CreateTVShow(c.Context(), sqlc.CreateTVShowParams{
|
||||||
TtImdb: ttShowID,
|
TtImdb: ttShowID,
|
||||||
Name: title,
|
Name: title,
|
||||||
})
|
})
|
||||||
@ -42,14 +43,15 @@ func (hq *Handlers) GetTVShow(c *fiber.Ctx) error {
|
|||||||
return c.SendStatus(http.StatusInternalServerError)
|
return c.SendStatus(http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
|
|
||||||
slog.Info("ttshowid", "id", ttShow.ID)
|
slog.Info("ttshowid", "id", sqlcTvShow.ID)
|
||||||
for _, episode := range scraperEpisodes {
|
for _, episode := range scraperEpisodes {
|
||||||
sqlcEpisodesParams := episode.ToEpisodeParams(ttShow.ID)
|
sqlcEpisodesParams := episode.ToEpisodeParams(sqlcTvShow.ID)
|
||||||
sqlcEpisode, err := hq.queries.CreateEpisodes(c.Context(), sqlcEpisodesParams)
|
sqlcEpisode, err := hq.queries.CreateEpisodes(c.Context(), sqlcEpisodesParams)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("failed to create episodes", "ttid", ttShowID, "error", err)
|
slog.Error("failed to create episodes", "ttid", ttShowID, "error", err)
|
||||||
return c.SendStatus(http.StatusInternalServerError)
|
return c.SendStatus(http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
|
totalVoteCount += int32(episode.VoteCount)
|
||||||
sqlcEpisodes = append(sqlcEpisodes, sqlcEpisode)
|
sqlcEpisodes = append(sqlcEpisodes, sqlcEpisode)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,7 +78,6 @@ func (hq *Handlers) GetTVShow(c *fiber.Ctx) error {
|
|||||||
return c.SendStatus(http.StatusInternalServerError)
|
return c.SendStatus(http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
|
|
||||||
// calculate avg rating for the show
|
|
||||||
avgRatingShow, err := hq.queries.TvShowAverageRating(c.Context(), sqlcTvShow.ID)
|
avgRatingShow, err := hq.queries.TvShowAverageRating(c.Context(), sqlcTvShow.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("failed to calculate avg rating for the show", "ttid", ttShowID, "error", err)
|
slog.Error("failed to calculate avg rating for the show", "ttid", ttShowID, "error", err)
|
||||||
|
|||||||
@ -4,10 +4,23 @@ services:
|
|||||||
core:
|
core:
|
||||||
container_name: rating-orama
|
container_name: rating-orama
|
||||||
image: rating-orama:latest
|
image: rating-orama:latest
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_started
|
||||||
environment:
|
environment:
|
||||||
DRIVERNAME: pgx
|
DRIVERNAME: pgx
|
||||||
DATASOURCE: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?sslmode=disable
|
DATASOURCE: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?sslmode=disable
|
||||||
MIGRATE: true
|
MIGRATE: true
|
||||||
|
TITLE_SELECTOR: ${TITLE_SELECTOR}
|
||||||
|
SEASON_SELECTOR: ${SEASON_SELECTOR}
|
||||||
|
EPISODE_CARD_SELECTOR: ${EPISODE_CARD_SELECTOR}
|
||||||
|
SEASON_EPISODE_AND_TITLE_SELECTOR: ${SEASON_EPISODE_AND_TITLE_SELECTOR}
|
||||||
|
RELEASED_DATE_SELECTOR: ${RELEASED_DATE_SELECTOR}
|
||||||
|
PLOT_SELECTOR: ${PLOT_SELECTOR}
|
||||||
|
STAR_RATING_SELECTOR: ${STAR_RATING_SELECTOR}
|
||||||
|
VOTE_COUNT_SELECTOR: ${VOTE_COUNT_SELECTOR}
|
||||||
|
IMDB_EPISODES_URL: ${IMDB_EPISODES_URL}
|
||||||
|
VISIT_URL: ${VISIT_URL}
|
||||||
ports:
|
ports:
|
||||||
- "8086:8080"
|
- "8086:8080"
|
||||||
networks:
|
networks:
|
||||||
@ -29,3 +42,4 @@ networks:
|
|||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
ratingorama_data:
|
ratingorama_data:
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user