diff options
author | buoyantair <buoyantair@protonmail.com> | 2018-11-16 02:37:16 +0530 |
---|---|---|
committer | buoyantair <buoyantair@protonmail.com> | 2018-11-16 02:37:16 +0530 |
commit | ae28cdf327d782e629379eee1999096ca2a5d74b (patch) | |
tree | bfe0d4b3a232d75161fe5bba9196553a388fc02a /server/initializers | |
parent | d4681c0074ba51c62a3aeb9fb3f2cd071dd21e32 (diff) | |
parent | 8cf998733496d44fa564e2e252356b871756c984 (diff) | |
download | PeerTube-ae28cdf327d782e629379eee1999096ca2a5d74b.tar.gz PeerTube-ae28cdf327d782e629379eee1999096ca2a5d74b.tar.zst PeerTube-ae28cdf327d782e629379eee1999096ca2a5d74b.zip |
Merge from upstream
Diffstat (limited to 'server/initializers')
-rw-r--r-- | server/initializers/constants.ts | 7 | ||||
-rw-r--r-- | server/initializers/migrations/0290-account-video-rate-url.ts | 46 |
2 files changed, 51 insertions, 2 deletions
diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index 28d51068b..ae3d671bb 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts | |||
@@ -16,7 +16,7 @@ let config: IConfig = require('config') | |||
16 | 16 | ||
17 | // --------------------------------------------------------------------------- | 17 | // --------------------------------------------------------------------------- |
18 | 18 | ||
19 | const LAST_MIGRATION_VERSION = 285 | 19 | const LAST_MIGRATION_VERSION = 290 |
20 | 20 | ||
21 | // --------------------------------------------------------------------------- | 21 | // --------------------------------------------------------------------------- |
22 | 22 | ||
@@ -336,6 +336,9 @@ const CONSTRAINTS_FIELDS = { | |||
336 | VIDEOS_REDUNDANCY: { | 336 | VIDEOS_REDUNDANCY: { |
337 | URL: { min: 3, max: 2000 } // Length | 337 | URL: { min: 3, max: 2000 } // Length |
338 | }, | 338 | }, |
339 | VIDEO_RATES: { | ||
340 | URL: { min: 3, max: 2000 } // Length | ||
341 | }, | ||
339 | VIDEOS: { | 342 | VIDEOS: { |
340 | NAME: { min: 3, max: 120 }, // Length | 343 | NAME: { min: 3, max: 120 }, // Length |
341 | LANGUAGE: { min: 1, max: 10 }, // Length | 344 | LANGUAGE: { min: 1, max: 10 }, // Length |
@@ -535,7 +538,7 @@ const ACTIVITY_PUB_ACTOR_TYPES: { [ id: string ]: ActivityPubActorType } = { | |||
535 | const HTTP_SIGNATURE = { | 538 | const HTTP_SIGNATURE = { |
536 | HEADER_NAME: 'signature', | 539 | HEADER_NAME: 'signature', |
537 | ALGORITHM: 'rsa-sha256', | 540 | ALGORITHM: 'rsa-sha256', |
538 | HEADERS_TO_SIGN: [ 'date', 'host', 'digest', '(request-target)' ] | 541 | HEADERS_TO_SIGN: [ '(request-target)', 'host', 'date', 'digest' ] |
539 | } | 542 | } |
540 | 543 | ||
541 | // --------------------------------------------------------------------------- | 544 | // --------------------------------------------------------------------------- |
diff --git a/server/initializers/migrations/0290-account-video-rate-url.ts b/server/initializers/migrations/0290-account-video-rate-url.ts new file mode 100644 index 000000000..bdabf2929 --- /dev/null +++ b/server/initializers/migrations/0290-account-video-rate-url.ts | |||
@@ -0,0 +1,46 @@ | |||
1 | import * as Sequelize from 'sequelize' | ||
2 | |||
3 | async function up (utils: { | ||
4 | transaction: Sequelize.Transaction, | ||
5 | queryInterface: Sequelize.QueryInterface, | ||
6 | sequelize: Sequelize.Sequelize, | ||
7 | db: any | ||
8 | }): Promise<void> { | ||
9 | { | ||
10 | const data = { | ||
11 | type: Sequelize.STRING(2000), | ||
12 | allowNull: true | ||
13 | } | ||
14 | |||
15 | await utils.queryInterface.addColumn('accountVideoRate', 'url', data) | ||
16 | } | ||
17 | |||
18 | { | ||
19 | const builtUrlQuery = `SELECT "actor"."url" || '/' || "accountVideoRate"."type" || 's/' || "videoId" ` + | ||
20 | 'FROM "accountVideoRate" ' + | ||
21 | 'INNER JOIN account ON account.id = "accountVideoRate"."accountId" ' + | ||
22 | 'INNER JOIN actor ON actor.id = account."actorId" ' + | ||
23 | 'WHERE "base".id = "accountVideoRate".id' | ||
24 | |||
25 | const query = 'UPDATE "accountVideoRate" base SET "url" = (' + builtUrlQuery + ') WHERE "url" IS NULL' | ||
26 | await utils.sequelize.query(query) | ||
27 | } | ||
28 | |||
29 | { | ||
30 | const data = { | ||
31 | type: Sequelize.STRING(2000), | ||
32 | allowNull: false, | ||
33 | defaultValue: null | ||
34 | } | ||
35 | await utils.queryInterface.changeColumn('accountVideoRate', 'url', data) | ||
36 | } | ||
37 | } | ||
38 | |||
39 | function down (options) { | ||
40 | throw new Error('Not implemented.') | ||
41 | } | ||
42 | |||
43 | export { | ||
44 | up, | ||
45 | down | ||
46 | } | ||