import { logger, loggerTagsFactory } from '@server/helpers/logger'
import { PeerTubeRequestError } from '@server/helpers/requests'
-import { MVideoPlaylistOwner } from '@server/types/models'
-import { HttpStatusCode } from '@shared/core-utils'
+import { JobQueue } from '@server/lib/job-queue'
+import { MVideoPlaylist, MVideoPlaylistOwner } from '@server/types/models'
+import { HttpStatusCode } from '@shared/models'
import { createOrUpdateVideoPlaylist } from './create-update'
import { fetchRemoteVideoPlaylist } from './shared'
+function scheduleRefreshIfNeeded (playlist: MVideoPlaylist) {
+ if (!playlist.isOutdated()) return
+
+ JobQueue.Instance.createJob({ type: 'activitypub-refresher', payload: { type: 'video-playlist', url: playlist.url } })
+}
+
async function refreshVideoPlaylistIfNeeded (videoPlaylist: MVideoPlaylistOwner): Promise<MVideoPlaylistOwner> {
if (!videoPlaylist.isOutdated()) return videoPlaylist
return videoPlaylist
}
- const byAccount = videoPlaylist.OwnerAccount
- await createOrUpdateVideoPlaylist(playlistObject, byAccount, playlistObject.to)
+ await createOrUpdateVideoPlaylist(playlistObject)
return videoPlaylist
} catch (err) {
}
export {
+ scheduleRefreshIfNeeded,
refreshVideoPlaylistIfNeeded
}