diff options
author | Julien Le Bras <julien.lb.pro@gmail.com> | 2018-03-28 23:38:52 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-03-30 08:52:58 +0200 |
commit | 2922e048de95738b3319054ce0778f873a34a0ee (patch) | |
tree | ee35b2e8bf9e1967b7d08974d6680697b2965472 /server/controllers/api/videos | |
parent | 2920281946cffd62ce5046b661d63f9867ab0654 (diff) | |
download | PeerTube-2922e048de95738b3319054ce0778f873a34a0ee.tar.gz PeerTube-2922e048de95738b3319054ce0778f873a34a0ee.tar.zst PeerTube-2922e048de95738b3319054ce0778f873a34a0ee.zip |
Add publishedAt field for video model.
* New field added in the `video` table + migration script
* `publishedAt` updated to NOW when privacy changes from private to
public/unlisted (default = NOW)
* Models updated to handle the new attribute
* Client interface updated to use `publishedAt` instead of `createdAt`
except in My Account > My Videos view
Diffstat (limited to 'server/controllers/api/videos')
-rw-r--r-- | server/controllers/api/videos/index.ts | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/server/controllers/api/videos/index.ts b/server/controllers/api/videos/index.ts index 552e5edac..244099015 100644 --- a/server/controllers/api/videos/index.ts +++ b/server/controllers/api/videos/index.ts | |||
@@ -307,10 +307,17 @@ async function updateVideo (req: express.Request, res: express.Response) { | |||
307 | if (videoInfoToUpdate.licence !== undefined) videoInstance.set('licence', videoInfoToUpdate.licence) | 307 | if (videoInfoToUpdate.licence !== undefined) videoInstance.set('licence', videoInfoToUpdate.licence) |
308 | if (videoInfoToUpdate.language !== undefined) videoInstance.set('language', videoInfoToUpdate.language) | 308 | if (videoInfoToUpdate.language !== undefined) videoInstance.set('language', videoInfoToUpdate.language) |
309 | if (videoInfoToUpdate.nsfw !== undefined) videoInstance.set('nsfw', videoInfoToUpdate.nsfw) | 309 | if (videoInfoToUpdate.nsfw !== undefined) videoInstance.set('nsfw', videoInfoToUpdate.nsfw) |
310 | if (videoInfoToUpdate.privacy !== undefined) videoInstance.set('privacy', parseInt(videoInfoToUpdate.privacy.toString(), 10)) | ||
311 | if (videoInfoToUpdate.support !== undefined) videoInstance.set('support', videoInfoToUpdate.support) | 310 | if (videoInfoToUpdate.support !== undefined) videoInstance.set('support', videoInfoToUpdate.support) |
312 | if (videoInfoToUpdate.description !== undefined) videoInstance.set('description', videoInfoToUpdate.description) | 311 | if (videoInfoToUpdate.description !== undefined) videoInstance.set('description', videoInfoToUpdate.description) |
313 | if (videoInfoToUpdate.commentsEnabled !== undefined) videoInstance.set('commentsEnabled', videoInfoToUpdate.commentsEnabled) | 312 | if (videoInfoToUpdate.commentsEnabled !== undefined) videoInstance.set('commentsEnabled', videoInfoToUpdate.commentsEnabled) |
313 | if (videoInfoToUpdate.privacy !== undefined) { | ||
314 | const newPrivacy = parseInt(videoInfoToUpdate.privacy.toString(), 10) | ||
315 | videoInstance.set('privacy', newPrivacy) | ||
316 | |||
317 | if (wasPrivateVideo === true && newPrivacy !== VideoPrivacy.PRIVATE) { | ||
318 | videoInstance.set('publishedAt', new Date()) | ||
319 | } | ||
320 | } | ||
314 | 321 | ||
315 | const videoInstanceUpdated = await videoInstance.save(sequelizeOptions) | 322 | const videoInstanceUpdated = await videoInstance.save(sequelizeOptions) |
316 | 323 | ||