mirror of https://github.com/Chocobozzz/PeerTube
Feature/description support fields length 1000 (#1267)
* fix migrations to not use config constant values as it can introduce bugs later when they change; (fixes #1259) remove constant fields imports from migrations * add migrations to update description and support fields to 1000 (fixes #1258) * fix client/server account and video_channel description/support fields to be max len 1000 (fixes #1258); fix test Should fail with a too long description; fix test Should fail with a long description; fix test Should fail with a long description; Remove USER.SUPPORT from constants since that field no longer exists; null not false, in migrations/0280-description-support.ts; video support field 1000, oops; * rename migration 0280-description-support.ts -> 0285-description-support.ts; update video support maxlength textpull/1313/head
parent
e0628695c3
commit
d23e6a1c97
|
@ -101,11 +101,11 @@ export class UserValidatorsService {
|
|||
this.USER_DESCRIPTION = {
|
||||
VALIDATORS: [
|
||||
Validators.minLength(3),
|
||||
Validators.maxLength(250)
|
||||
Validators.maxLength(1000)
|
||||
],
|
||||
MESSAGES: {
|
||||
'minlength': this.i18n('Description must be at least 3 characters long.'),
|
||||
'maxlength': this.i18n('Description cannot be more than 250 characters long.')
|
||||
'maxlength': this.i18n('Description cannot be more than 1000 characters long.')
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,22 +42,22 @@ export class VideoChannelValidatorsService {
|
|||
this.VIDEO_CHANNEL_DESCRIPTION = {
|
||||
VALIDATORS: [
|
||||
Validators.minLength(3),
|
||||
Validators.maxLength(500)
|
||||
Validators.maxLength(1000)
|
||||
],
|
||||
MESSAGES: {
|
||||
'minlength': i18n('Description must be at least 3 characters long.'),
|
||||
'maxlength': i18n('Description cannot be more than 500 characters long.')
|
||||
'maxlength': i18n('Description cannot be more than 1000 characters long.')
|
||||
}
|
||||
}
|
||||
|
||||
this.VIDEO_CHANNEL_SUPPORT = {
|
||||
VALIDATORS: [
|
||||
Validators.minLength(3),
|
||||
Validators.maxLength(500)
|
||||
Validators.maxLength(1000)
|
||||
],
|
||||
MESSAGES: {
|
||||
'minlength': i18n('Support text must be at least 3 characters long.'),
|
||||
'maxlength': i18n('Support text cannot be more than 500 characters long.')
|
||||
'maxlength': i18n('Support text cannot be more than 1000 characters long.')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,10 +79,10 @@ export class VideoValidatorsService {
|
|||
}
|
||||
|
||||
this.VIDEO_SUPPORT = {
|
||||
VALIDATORS: [ Validators.minLength(3), Validators.maxLength(500) ],
|
||||
VALIDATORS: [ Validators.minLength(3), Validators.maxLength(1000) ],
|
||||
MESSAGES: {
|
||||
'minlength': this.i18n('Video support must be at least 3 characters long.'),
|
||||
'maxlength': this.i18n('Video support cannot be more than 500 characters long.')
|
||||
'maxlength': this.i18n('Video support cannot be more than 1000 characters long.')
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ let config: IConfig = require('config')
|
|||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
const LAST_MIGRATION_VERSION = 280
|
||||
const LAST_MIGRATION_VERSION = 285
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
@ -295,7 +295,7 @@ const CONFIG = {
|
|||
const CONSTRAINTS_FIELDS = {
|
||||
USERS: {
|
||||
NAME: { min: 3, max: 120 }, // Length
|
||||
DESCRIPTION: { min: 3, max: 250 }, // Length
|
||||
DESCRIPTION: { min: 3, max: 1000 }, // Length
|
||||
USERNAME: { min: 3, max: 20 }, // Length
|
||||
PASSWORD: { min: 6, max: 255 }, // Length
|
||||
VIDEO_QUOTA: { min: -1 },
|
||||
|
@ -311,8 +311,8 @@ const CONSTRAINTS_FIELDS = {
|
|||
},
|
||||
VIDEO_CHANNELS: {
|
||||
NAME: { min: 3, max: 120 }, // Length
|
||||
DESCRIPTION: { min: 3, max: 500 }, // Length
|
||||
SUPPORT: { min: 3, max: 500 }, // Length
|
||||
DESCRIPTION: { min: 3, max: 1000 }, // Length
|
||||
SUPPORT: { min: 3, max: 1000 }, // Length
|
||||
URL: { min: 3, max: 2000 } // Length
|
||||
},
|
||||
VIDEO_CAPTIONS: {
|
||||
|
@ -341,7 +341,7 @@ const CONSTRAINTS_FIELDS = {
|
|||
LANGUAGE: { min: 1, max: 10 }, // Length
|
||||
TRUNCATED_DESCRIPTION: { min: 3, max: 250 }, // Length
|
||||
DESCRIPTION: { min: 3, max: 10000 }, // Length
|
||||
SUPPORT: { min: 3, max: 500 }, // Length
|
||||
SUPPORT: { min: 3, max: 1000 }, // Length
|
||||
IMAGE: {
|
||||
EXTNAME: [ '.jpg', '.jpeg' ],
|
||||
FILE_SIZE: {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import * as Sequelize from 'sequelize'
|
||||
import { CONSTRAINTS_FIELDS } from '../constants'
|
||||
|
||||
async function up (utils: {
|
||||
transaction: Sequelize.Transaction,
|
||||
|
@ -28,7 +27,7 @@ async function up (utils: {
|
|||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEOS.DESCRIPTION.max),
|
||||
type: Sequelize.STRING(10000),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import * as Sequelize from 'sequelize'
|
||||
import { CONSTRAINTS_FIELDS } from '../index'
|
||||
|
||||
async function up (utils: {
|
||||
transaction: Sequelize.Transaction,
|
||||
|
@ -8,7 +7,7 @@ async function up (utils: {
|
|||
}): Promise<void> {
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEOS.SUPPORT.max),
|
||||
type: Sequelize.STRING(500),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
|
@ -17,7 +16,7 @@ async function up (utils: {
|
|||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEO_CHANNELS.SUPPORT.max),
|
||||
type: Sequelize.STRING(500),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
|
@ -26,7 +25,7 @@ async function up (utils: {
|
|||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(CONSTRAINTS_FIELDS.USERS.DESCRIPTION.max),
|
||||
type: Sequelize.STRING(250),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
|
@ -35,7 +34,7 @@ async function up (utils: {
|
|||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEOS.DESCRIPTION.max),
|
||||
type: Sequelize.STRING(10000),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import * as Sequelize from 'sequelize'
|
||||
import { CONSTRAINTS_FIELDS } from '../constants'
|
||||
|
||||
async function up (utils: {
|
||||
transaction: Sequelize.Transaction
|
||||
|
@ -31,7 +30,7 @@ async function up (utils: {
|
|||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(CONSTRAINTS_FIELDS.USERS.BLOCKED_REASON.max),
|
||||
type: Sequelize.STRING(250),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import * as Sequelize from 'sequelize'
|
||||
import { CONSTRAINTS_FIELDS } from '../constants'
|
||||
import { VideoAbuseState } from '../../../shared/models/videos'
|
||||
|
||||
async function up (utils: {
|
||||
|
@ -32,7 +31,7 @@ async function up (utils: {
|
|||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEO_ABUSES.MODERATION_COMMENT.max),
|
||||
type: Sequelize.STRING(300),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import * as Sequelize from 'sequelize'
|
||||
import { CONSTRAINTS_FIELDS } from '../constants'
|
||||
import { VideoAbuseState } from '../../../shared/models/videos'
|
||||
|
||||
async function up (utils: {
|
||||
|
@ -10,7 +9,7 @@ async function up (utils: {
|
|||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEO_BLACKLIST.REASON.max),
|
||||
type: Sequelize.STRING(300),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import * as Sequelize from 'sequelize'
|
||||
import { CONSTRAINTS_FIELDS } from '../constants'
|
||||
|
||||
async function up (utils: {
|
||||
transaction: Sequelize.Transaction
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
import * as Sequelize from 'sequelize'
|
||||
|
||||
async function up (utils: {
|
||||
transaction: Sequelize.Transaction,
|
||||
queryInterface: Sequelize.QueryInterface,
|
||||
sequelize: Sequelize.Sequelize,
|
||||
db: any
|
||||
}): Promise<void> {
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(1000),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
await utils.queryInterface.changeColumn('video', 'support', data)
|
||||
}
|
||||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(1000),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
await utils.queryInterface.changeColumn('videoChannel', 'support', data)
|
||||
}
|
||||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(1000),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
await utils.queryInterface.changeColumn('videoChannel', 'description', data)
|
||||
}
|
||||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.STRING(1000),
|
||||
allowNull: true,
|
||||
defaultValue: null
|
||||
}
|
||||
await utils.queryInterface.changeColumn('account', 'description', data)
|
||||
}
|
||||
}
|
||||
|
||||
function down (options) {
|
||||
throw new Error('Not implemented.')
|
||||
}
|
||||
|
||||
export {
|
||||
up,
|
||||
down
|
||||
}
|
|
@ -315,7 +315,7 @@ describe('Test users API validators', function () {
|
|||
|
||||
it('Should fail with a too long description', async function () {
|
||||
const fields = {
|
||||
description: 'super'.repeat(60)
|
||||
description: 'super'.repeat(201)
|
||||
}
|
||||
|
||||
await makePutBodyRequest({ url: server.url, path: path + 'me', token: userAccessToken, fields })
|
||||
|
|
|
@ -118,12 +118,12 @@ describe('Test video channels API validator', function () {
|
|||
})
|
||||
|
||||
it('Should fail with a long description', async function () {
|
||||
const fields = immutableAssign(baseCorrectParams, { description: 'super'.repeat(150) })
|
||||
const fields = immutableAssign(baseCorrectParams, { description: 'super'.repeat(201) })
|
||||
await makePostBodyRequest({ url: server.url, path: videoChannelPath, token: server.accessToken, fields })
|
||||
})
|
||||
|
||||
it('Should fail with a long support text', async function () {
|
||||
const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(150) })
|
||||
const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(201) })
|
||||
await makePostBodyRequest({ url: server.url, path: videoChannelPath, token: server.accessToken, fields })
|
||||
})
|
||||
|
||||
|
@ -185,12 +185,12 @@ describe('Test video channels API validator', function () {
|
|||
})
|
||||
|
||||
it('Should fail with a long description', async function () {
|
||||
const fields = immutableAssign(baseCorrectParams, { description: 'super'.repeat(150) })
|
||||
const fields = immutableAssign(baseCorrectParams, { description: 'super'.repeat(201) })
|
||||
await makePutBodyRequest({ url: server.url, path, token: server.accessToken, fields })
|
||||
})
|
||||
|
||||
it('Should fail with a long support text', async function () {
|
||||
const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(150) })
|
||||
const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(201) })
|
||||
await makePutBodyRequest({ url: server.url, path, token: server.accessToken, fields })
|
||||
})
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@ describe('Test video imports API validator', function () {
|
|||
})
|
||||
|
||||
it('Should fail with a long support text', async function () {
|
||||
const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(150) })
|
||||
const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(201) })
|
||||
|
||||
await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields })
|
||||
})
|
||||
|
|
|
@ -233,7 +233,7 @@ describe('Test videos API validator', function () {
|
|||
})
|
||||
|
||||
it('Should fail with a long support text', async function () {
|
||||
const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(150) })
|
||||
const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(201) })
|
||||
const attaches = baseCorrectAttaches
|
||||
|
||||
await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches })
|
||||
|
@ -482,7 +482,7 @@ describe('Test videos API validator', function () {
|
|||
})
|
||||
|
||||
it('Should fail with a long support text', async function () {
|
||||
const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(150) })
|
||||
const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(201) })
|
||||
|
||||
await makePutBodyRequest({ url: server.url, path: path + videoId, token: server.accessToken, fields })
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue