Compare commits
No commits in common. "17d4dca0c90bd1dff98c10e82912f9fbb90a15c9" and "4418e009e0fd6a468d1e1fa7f00bec3a879d7912" have entirely different histories.
17d4dca0c9
...
4418e009e0
@ -14,7 +14,7 @@ import (
|
|||||||
"github.com/zepyrshut/rating-orama/internal/repository"
|
"github.com/zepyrshut/rating-orama/internal/repository"
|
||||||
)
|
)
|
||||||
|
|
||||||
const version = "0.2.3-beta.20250128-27"
|
const version = "0.2.2-beta.20250128-25"
|
||||||
const appName = "rating-orama"
|
const appName = "rating-orama"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|||||||
@ -26,7 +26,6 @@ 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
|
||||||
|
|
||||||
@ -34,7 +33,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
|
||||||
sqlcTvShow, err = hq.queries.CreateTVShow(c.Context(), sqlc.CreateTVShowParams{
|
ttShow, err := hq.queries.CreateTVShow(c.Context(), sqlc.CreateTVShowParams{
|
||||||
TtImdb: ttShowID,
|
TtImdb: ttShowID,
|
||||||
Name: title,
|
Name: title,
|
||||||
})
|
})
|
||||||
@ -43,15 +42,14 @@ func (hq *Handlers) GetTVShow(c *fiber.Ctx) error {
|
|||||||
return c.SendStatus(http.StatusInternalServerError)
|
return c.SendStatus(http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
|
|
||||||
slog.Info("ttshowid", "id", sqlcTvShow.ID)
|
slog.Info("ttshowid", "id", ttShow.ID)
|
||||||
for _, episode := range scraperEpisodes {
|
for _, episode := range scraperEpisodes {
|
||||||
sqlcEpisodesParams := episode.ToEpisodeParams(sqlcTvShow.ID)
|
sqlcEpisodesParams := episode.ToEpisodeParams(ttShow.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)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,6 +76,7 @@ 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,23 +4,10 @@ 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:
|
||||||
@ -42,4 +29,3 @@ networks:
|
|||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
ratingorama_data:
|
ratingorama_data:
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user