diff options
author | Chocobozzz <me@florianbigard.com> | 2021-11-10 14:34:02 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2021-11-10 14:34:02 +0100 |
commit | 5cf027bdc46f1bf214c4cf26eee17ebda228004f (patch) | |
tree | 69695db464f3b775ddd5dd91dec71ac83f7b3b7b | |
parent | d78b51aa4ed74bd2e6598b771fcff6391d7d9a3e (diff) | |
download | PeerTube-5cf027bdc46f1bf214c4cf26eee17ebda228004f.tar.gz PeerTube-5cf027bdc46f1bf214c4cf26eee17ebda228004f.tar.zst PeerTube-5cf027bdc46f1bf214c4cf26eee17ebda228004f.zip |
Force video updatedAt update on update
-rw-r--r-- | server/controllers/api/videos/update.ts | 5 | ||||
-rw-r--r-- | server/tests/api/videos/multiple-servers.ts | 20 | ||||
-rw-r--r-- | shared/extra-utils/requests/requests.ts | 1 |
3 files changed, 26 insertions, 0 deletions
diff --git a/server/controllers/api/videos/update.ts b/server/controllers/api/videos/update.ts index a98a3e67c..07f9690ec 100644 --- a/server/controllers/api/videos/update.ts +++ b/server/controllers/api/videos/update.ts | |||
@@ -99,6 +99,11 @@ export async function updateVideo (req: express.Request, res: express.Response) | |||
99 | isNewVideo = await updateVideoPrivacy({ videoInstance, videoInfoToUpdate, hadPrivacyForFederation, transaction: t }) | 99 | isNewVideo = await updateVideoPrivacy({ videoInstance, videoInfoToUpdate, hadPrivacyForFederation, transaction: t }) |
100 | } | 100 | } |
101 | 101 | ||
102 | // Force updatedAt attribute change | ||
103 | if (!videoInstance.changed()) { | ||
104 | await videoInstance.setAsRefreshed() | ||
105 | } | ||
106 | |||
102 | const videoInstanceUpdated = await videoInstance.save(sequelizeOptions) as MVideoFullLight | 107 | const videoInstanceUpdated = await videoInstance.save(sequelizeOptions) as MVideoFullLight |
103 | 108 | ||
104 | // Thumbnail & preview updates? | 109 | // Thumbnail & preview updates? |
diff --git a/server/tests/api/videos/multiple-servers.ts b/server/tests/api/videos/multiple-servers.ts index 470bee45b..c6c279064 100644 --- a/server/tests/api/videos/multiple-servers.ts +++ b/server/tests/api/videos/multiple-servers.ts | |||
@@ -667,6 +667,26 @@ describe('Test multiple servers', function () { | |||
667 | } | 667 | } |
668 | }) | 668 | }) |
669 | 669 | ||
670 | it('Should only update thumbnail and update updatedAt attribute', async function () { | ||
671 | this.timeout(10000) | ||
672 | |||
673 | const attributes = { | ||
674 | thumbnailfile: 'thumbnail.jpg' | ||
675 | } | ||
676 | |||
677 | updatedAtMin = new Date() | ||
678 | await servers[2].videos.update({ id: toRemove[0].id, attributes }) | ||
679 | |||
680 | await waitJobs(servers) | ||
681 | |||
682 | for (const server of servers) { | ||
683 | const { data } = await server.videos.list() | ||
684 | |||
685 | const videoUpdated = data.find(video => video.name === 'my super video updated') | ||
686 | expect(new Date(videoUpdated.updatedAt)).to.be.greaterThan(updatedAtMin) | ||
687 | } | ||
688 | }) | ||
689 | |||
670 | it('Should remove the videos 3 and 3-2 by asking server 3 and correctly delete files', async function () { | 690 | it('Should remove the videos 3 and 3-2 by asking server 3 and correctly delete files', async function () { |
671 | this.timeout(30000) | 691 | this.timeout(30000) |
672 | 692 | ||
diff --git a/shared/extra-utils/requests/requests.ts b/shared/extra-utils/requests/requests.ts index 501e0b374..b6b9024ed 100644 --- a/shared/extra-utils/requests/requests.ts +++ b/shared/extra-utils/requests/requests.ts | |||
@@ -85,6 +85,7 @@ function makeUploadRequest (options: CommonRequestParams & { | |||
85 | 85 | ||
86 | Object.keys(options.attaches || {}).forEach(attach => { | 86 | Object.keys(options.attaches || {}).forEach(attach => { |
87 | const value = options.attaches[attach] | 87 | const value = options.attaches[attach] |
88 | if (!value) return | ||
88 | 89 | ||
89 | if (Array.isArray(value)) { | 90 | if (Array.isArray(value)) { |
90 | req.attach(attach, buildAbsoluteFixturePath(value[0]), value[1]) | 91 | req.attach(attach, buildAbsoluteFixturePath(value[0]), value[1]) |