diff --git a/app/database/entity/bookmarks.entity.go b/app/database/entity/bookmarks.entity.go index 562c5f7..d7d6dd1 100644 --- a/app/database/entity/bookmarks.entity.go +++ b/app/database/entity/bookmarks.entity.go @@ -16,5 +16,5 @@ type Bookmarks struct { UpdatedAt time.Time `json:"updated_at" gorm:"default:now()"` // Relations - Article Articles `json:"article" gorm:"foreignKey:ArticleId"` + Article Articles `json:"article" gorm:"foreignKey:ArticleId;references:ID"` } diff --git a/app/module/bookmarks/repository/bookmarks.repository.go b/app/module/bookmarks/repository/bookmarks.repository.go index 86fe75f..0c4b8ce 100644 --- a/app/module/bookmarks/repository/bookmarks.repository.go +++ b/app/module/bookmarks/repository/bookmarks.repository.go @@ -41,14 +41,13 @@ func NewBookmarksRepository(db *database.Database, log zerolog.Logger, cfg *conf func (_i *bookmarksRepository) GetAll(clientId *uuid.UUID, req request.BookmarksQueryRequest) (bookmarks []*entity.Bookmarks, paging paginator.Pagination, err error) { var count int64 - query := _i.DB.DB.Model(&entity.Bookmarks{}).Preload("User").Preload("Article") + query := _i.DB.DB.Model(&entity.Bookmarks{}).Preload("Article") // Apply client filter if clientId != nil && _i.Cfg.App.PrimaryClientKey != clientId.String() { query = query.Where("client_id = ?", clientId) } - // Apply filters if req.UserId != nil { query = query.Where("user_id = ?", *req.UserId) } @@ -83,7 +82,7 @@ func (_i *bookmarksRepository) GetAll(clientId *uuid.UUID, req request.Bookmarks } func (_i *bookmarksRepository) FindOne(clientId *uuid.UUID, id uint) (bookmark *entity.Bookmarks, err error) { - query := _i.DB.DB.Model(&entity.Bookmarks{}).Preload("User").Preload("Article") + query := _i.DB.DB.Model(&entity.Bookmarks{}).Preload("Article") // Apply client filter if clientId != nil { @@ -160,7 +159,7 @@ func (_i *bookmarksRepository) Delete(clientId *uuid.UUID, id uint) (err error) func (_i *bookmarksRepository) GetByUserId(clientId *uuid.UUID, userId uint, req request.BookmarksQueryRequest) (bookmarks []*entity.Bookmarks, paging paginator.Pagination, err error) { var count int64 - query := _i.DB.DB.Model(&entity.Bookmarks{}).Preload("User").Preload("Article") + query := _i.DB.DB.Model(&entity.Bookmarks{}).Preload("Article") // Apply client filter if clientId != nil { diff --git a/app/module/bookmarks/service/bookmarks.service.go b/app/module/bookmarks/service/bookmarks.service.go index ebc08a1..a3f5110 100644 --- a/app/module/bookmarks/service/bookmarks.service.go +++ b/app/module/bookmarks/service/bookmarks.service.go @@ -59,17 +59,11 @@ func (_i *bookmarksService) All(authToken string, req request.BookmarksQueryRequ user := utilSvc.GetUserInfo(_i.Log, _i.UsersRepo, authToken) if user != nil && user.ClientId != nil { clientId = user.ClientId + req.UserId = &user.ID _i.Log.Info().Interface("clientId", clientId).Msg("Extracted clientId from auth token") } } - user := utilSvc.GetUserInfo(_i.Log, _i.UsersRepo, authToken) - if user == nil { - _i.Log.Error().Msg("User not found from auth token") - return nil, paging, errors.New("user not found") - } - req.UserId = &user.ID - bookmarksEntity, paging, err := _i.Repo.GetAll(clientId, req) if err != nil { _i.Log.Error().Err(err).Msg("Failed to get all bookmarks")