add env and fix data

This commit is contained in:
Pedro Pérez 2025-01-28 23:06:25 +01:00
parent 4418e009e0
commit d947557373
2 changed files with 19 additions and 4 deletions

View File

@ -26,6 +26,7 @@ func (hq *Handlers) GetTVShow(c *fiber.Ctx) error {
var title string
var scraperEpisodes []scraper.Episode
var sqlcTvShow sqlc.TvShow
var sqlcEpisodes []sqlc.Episode
var totalVoteCount int32
@ -33,7 +34,7 @@ func (hq *Handlers) GetTVShow(c *fiber.Ctx) error {
if err != nil {
title, scraperEpisodes = scraper.ScrapeEpisodes(ttShowID)
//TODO: make transactional
ttShow, err := hq.queries.CreateTVShow(c.Context(), sqlc.CreateTVShowParams{
sqlcTvShow, err = hq.queries.CreateTVShow(c.Context(), sqlc.CreateTVShowParams{
TtImdb: ttShowID,
Name: title,
})
@ -42,14 +43,15 @@ func (hq *Handlers) GetTVShow(c *fiber.Ctx) error {
return c.SendStatus(http.StatusInternalServerError)
}
slog.Info("ttshowid", "id", ttShow.ID)
slog.Info("ttshowid", "id", sqlcTvShow.ID)
for _, episode := range scraperEpisodes {
sqlcEpisodesParams := episode.ToEpisodeParams(ttShow.ID)
sqlcEpisodesParams := episode.ToEpisodeParams(sqlcTvShow.ID)
sqlcEpisode, err := hq.queries.CreateEpisodes(c.Context(), sqlcEpisodesParams)
if err != nil {
slog.Error("failed to create episodes", "ttid", ttShowID, "error", err)
return c.SendStatus(http.StatusInternalServerError)
}
totalVoteCount += int32(episode.VoteCount)
sqlcEpisodes = append(sqlcEpisodes, sqlcEpisode)
}
@ -76,7 +78,6 @@ func (hq *Handlers) GetTVShow(c *fiber.Ctx) error {
return c.SendStatus(http.StatusInternalServerError)
}
// calculate avg rating for the show
avgRatingShow, err := hq.queries.TvShowAverageRating(c.Context(), sqlcTvShow.ID)
if err != nil {
slog.Error("failed to calculate avg rating for the show", "ttid", ttShowID, "error", err)

View File

@ -4,10 +4,23 @@ services:
core:
container_name: rating-orama
image: rating-orama:latest
depends_on:
db:
condition: service_started
environment:
DRIVERNAME: pgx
DATASOURCE: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?sslmode=disable
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:
- "8086:8080"
networks:
@ -29,3 +42,4 @@ networks:
volumes:
ratingorama_data: