diff --git a/backend/__debug_bin3572908368 b/backend/__debug_bin3572908368 new file mode 100644 index 0000000..e69de29 diff --git a/backend/__debug_bin457628671 b/backend/__debug_bin457628671 deleted file mode 100755 index acfa16c..0000000 Binary files a/backend/__debug_bin457628671 and /dev/null differ diff --git a/backend/modules/medias/controller.go b/backend/modules/medias/controller.go index 96849fa..70f693c 100644 --- a/backend/modules/medias/controller.go +++ b/backend/modules/medias/controller.go @@ -25,6 +25,16 @@ func (c *Controller) List(ctx fiber.Ctx) error { } claim := ctx.Locals(consts.CtxKeyClaim).(*jwt.Claims) + if filter.Offset != "" { + model, err := c.svc.GetMediaByHash(ctx.Context(), claim.TenantID, filter.Offset) + if err != nil { + log.WithField("action", "medias.Show").WithError(err).Error("GetMediaByHash") + return err + } + + filter.OffsetID = model.ID + } + items, err := c.svc.List(ctx.Context(), claim.TenantID, claim.UserID, &filter) if err != nil { return err diff --git a/backend/modules/medias/service.go b/backend/modules/medias/service.go index 67467dd..b7ebc3b 100644 --- a/backend/modules/medias/service.go +++ b/backend/modules/medias/service.go @@ -81,7 +81,7 @@ func (svc *Service) GetMediaByID(ctx context.Context, tenantId, userId, id int64 } func (svc *Service) ModelToListItem(ctx context.Context, m *model.Medias) *ListItem { - return &ListItem{ + item := &ListItem{ ID: m.ID, Poster: fmt.Sprintf("/static/%s/poster.jpg", m.Hash), Hash: m.Hash, @@ -93,7 +93,10 @@ func (svc *Service) ModelToListItem(ctx context.Context, m *model.Medias) *ListI Resources: m.Resources, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, + Bought: false, } + + return item } // List @@ -146,7 +149,11 @@ func (svc *Service) List(ctx context.Context, tenantId, userId int64, filter *Li } items := lo.Map(dest, func(m model.Medias, _ int) *ListItem { - return svc.ModelToListItem(ctx, &m) + item := svc.ModelToListItem(ctx, &m) + if lo.Contains(boughtIDs, m.ID) { + item.Bought = true + } + return item }) return items, nil diff --git a/frontend/src/views/tabs/BoughtView.vue b/frontend/src/views/tabs/BoughtView.vue index 52bf2be..8367bfa 100644 --- a/frontend/src/views/tabs/BoughtView.vue +++ b/frontend/src/views/tabs/BoughtView.vue @@ -1,112 +1,95 @@ - - - diff --git a/frontend/src/views/tabs/HomeView.vue b/frontend/src/views/tabs/HomeView.vue index 86b44d8..11edfcd 100644 --- a/frontend/src/views/tabs/HomeView.vue +++ b/frontend/src/views/tabs/HomeView.vue @@ -17,6 +17,10 @@ + +