@@ -282,27 +282,31 @@ func (r *episodeResolver) Watched(ctx context.Context, obj *model.Episode) (bool
282282
283283// Context is the resolver for the context field.
284284func (r * episodeResolver ) Context (ctx context.Context , obj * model.Episode ) (model.EpisodeContextUnion , error ) {
285- var collectionId * int
286-
287285 episodeContext , err := r .getEpisodeContext (ctx , obj .ID )
288286 if err != nil {
289287 return nil , err
290288 }
291289
292- if episodeContext .CollectionID .Valid {
293- intId := int (episodeContext .CollectionID .Int64 )
294- collectionId = & intId
290+ if episodeContext .PlaylistID .Valid {
291+ playlist , err := r .Loaders .PlaylistLoader .Get (ctx , episodeContext .PlaylistID .UUID )
292+ if err != nil {
293+ return nil , err
294+ }
295+ if playlist != nil {
296+ return model .PlaylistFrom (ctx , playlist ), nil
297+ }
295298 }
296299
297- if collectionId != nil {
298- col , err := r .Loaders .CollectionLoader .Get (ctx , * collectionId )
300+ if episodeContext .CollectionID .Valid {
301+ collectionId := int (episodeContext .CollectionID .Int64 )
302+ col , err := r .Loaders .CollectionLoader .Get (ctx , collectionId )
299303 if err != nil {
300304 return nil , err
301305 }
302306 ginCtx , _ := utils .GinCtx (ctx )
303307 languages := user .GetLanguagesFromCtx (ginCtx )
304308
305- strID := strconv .Itoa (* collectionId )
309+ strID := strconv .Itoa (collectionId )
306310 return & model.ContextCollection {
307311 ID : strID ,
308312 Slug : col .Slugs .GetValueOrNil (languages ),
0 commit comments