diff --git a/modules/backend/handlers/titles.go b/modules/backend/handlers/titles.go index e5fcf18..3bbaa10 100644 --- a/modules/backend/handlers/titles.go +++ b/modules/backend/handlers/titles.go @@ -90,12 +90,10 @@ func (s Server) GetImage(ctx context.Context, id int64) (oapi.Image, error) { if err != nil { return oapi_image, fmt.Errorf("query GetImageByID: %v", err) } - //can cast and dont use brain cause all this fiels required oapi_image.Id = &sqlc_image.ID oapi_image.ImagePath = &sqlc_image.ImagePath - storageTypeStr := string(sqlc_image.StorageType) // или fmt.Sprint(...), если int - oapi_image.StorageType = &storageTypeStr + oapi_image.StorageType = (*string)(&sqlc_image.StorageType) return oapi_image, nil } @@ -152,28 +150,22 @@ func (s Server) mapTitle(ctx context.Context, title sqlc.Title) (oapi.Title, err return oapi_title, fmt.Errorf("GetStudio: %v", err) } - if title.ReleaseSeason != nil { - rs := oapi.ReleaseSeason(*title.ReleaseSeason) - oapi_title.ReleaseSeason = &rs - } else { - oapi_title.ReleaseSeason = nil + oapi_title = oapi.Title{ + + Id: title.ID, + Poster: &oapi_image, + Rating: title.Rating, + RatingCount: title.RatingCount, + ReleaseSeason: (*oapi.ReleaseSeason)(title.ReleaseSeason), + ReleaseYear: title.ReleaseYear, + Studio: &oapi_studio, + Tags: oapi_tag_names, + TitleNames: title_names, + TitleStatus: (*oapi.TitleStatus)(&title.TitleStatus), + EpisodesAired: title.EpisodesAired, + EpisodesAll: title.EpisodesAll, + EpisodesLen: &episodes_lens, } - - ts := oapi.TitleStatus(title.TitleStatus) - oapi_title.TitleStatus = &ts - - oapi_title.Id = title.ID - oapi_title.Poster = &oapi_image - oapi_title.Rating = title.Rating - oapi_title.RatingCount = title.RatingCount - oapi_title.ReleaseYear = title.ReleaseYear - oapi_title.Studio = &oapi_studio - oapi_title.Tags = oapi_tag_names - oapi_title.TitleNames = title_names - oapi_title.EpisodesAired = title.EpisodesAired - oapi_title.EpisodesAll = title.EpisodesAll - oapi_title.EpisodesLen = &episodes_lens - return oapi_title, nil } diff --git a/sql/migrations/000001_init.up.sql b/sql/migrations/000001_init.up.sql index 97f881d..669143a 100644 --- a/sql/migrations/000001_init.up.sql +++ b/sql/migrations/000001_init.up.sql @@ -24,22 +24,6 @@ CREATE TABLE images ( image_path text UNIQUE NOT NULL ); -CREATE TABLE reviews ( - id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY, - data text NOT NULL, - rating int CHECK (rating >= 0 AND rating <= 10), - illust_id bigint REFERENCES images (id), - user_id bigint REFERENCES users (id), - title_id bigint REFERENCES titles (id), - created_at timestamptz DEFAULT NOW() -); - -CREATE TABLE review_images ( - PRIMARY KEY (review_id, image_id), - review_id bigint NOT NULL REFERENCES reviews(id) ON DELETE CASCADE, - image_id bigint NOT NULL REFERENCES images(id) ON DELETE CASCADE -); - CREATE TABLE users ( id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY, avatar_id bigint REFERENCES images (id), diff --git a/sql/models.go b/sql/models.go index a36c6fa..6583b71 100644 --- a/sql/models.go +++ b/sql/models.go @@ -208,21 +208,6 @@ type Provider struct { Credentials []byte `json:"credentials"` } -type Review struct { - ID int64 `json:"id"` - Data string `json:"data"` - Rating *int32 `json:"rating"` - IllustID *int64 `json:"illust_id"` - UserID *int64 `json:"user_id"` - TitleID *int64 `json:"title_id"` - CreatedAt pgtype.Timestamptz `json:"created_at"` -} - -type ReviewImage struct { - ReviewID int64 `json:"review_id"` - ImageID int64 `json:"image_id"` -} - type Signal struct { ID int64 `json:"id"` TitleID *int64 `json:"title_id"`