From c5911fd347c76e8bdc05ea9f3ee9efed4a58c236 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 29 Dec 2017 19:10:13 +0100 Subject: Begin to add avatar to actors --- server/initializers/constants.ts | 19 +++++++++++---- .../initializers/migrations/0150-avatar-cascade.ts | 28 ++++++++++++++++++++++ 2 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 server/initializers/migrations/0150-avatar-cascade.ts (limited to 'server/initializers') diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index 3a5a557d4..50a29dc43 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -9,7 +9,7 @@ import { isTestInstance, root, sanitizeHost, sanitizeUrl } from '../helpers/core // --------------------------------------------------------------------------- -const LAST_MIGRATION_VERSION = 145 +const LAST_MIGRATION_VERSION = 150 // --------------------------------------------------------------------------- @@ -172,7 +172,10 @@ const CONSTRAINTS_FIELDS = { ACTOR: { PUBLIC_KEY: { min: 10, max: 5000 }, // Length PRIVATE_KEY: { min: 10, max: 5000 }, // Length - URL: { min: 3, max: 2000 } // Length + URL: { min: 3, max: 2000 }, // Length + AVATAR: { + EXTNAME: [ '.png', '.jpeg', '.jpg' ] + } }, VIDEO_EVENTS: { COUNT: { min: 0 } @@ -250,6 +253,12 @@ const VIDEO_MIMETYPE_EXT = { 'video/mp4': '.mp4' } +const AVATAR_MIMETYPE_EXT = { + 'image/png': '.png', + 'image/jpg': '.jpg', + 'image/jpeg': '.jpg' +} + // --------------------------------------------------------------------------- const SERVER_ACTOR_NAME = 'peertube' @@ -291,7 +300,8 @@ const STATIC_PATHS = { PREVIEWS: '/static/previews/', THUMBNAILS: '/static/thumbnails/', TORRENTS: '/static/torrents/', - WEBSEED: '/static/webseed/' + WEBSEED: '/static/webseed/', + AVATARS: '/static/avatars/' } // Cache control @@ -376,5 +386,6 @@ export { VIDEO_PRIVACIES, VIDEO_LICENCES, VIDEO_RATE_TYPES, - VIDEO_MIMETYPE_EXT + VIDEO_MIMETYPE_EXT, + AVATAR_MIMETYPE_EXT } diff --git a/server/initializers/migrations/0150-avatar-cascade.ts b/server/initializers/migrations/0150-avatar-cascade.ts new file mode 100644 index 000000000..821696717 --- /dev/null +++ b/server/initializers/migrations/0150-avatar-cascade.ts @@ -0,0 +1,28 @@ +import * as Sequelize from 'sequelize' + +async function up (utils: { + transaction: Sequelize.Transaction, + queryInterface: Sequelize.QueryInterface, + sequelize: Sequelize.Sequelize +}): Promise { + await utils.queryInterface.removeConstraint('actor', 'actor_avatarId_fkey') + + await utils.queryInterface.addConstraint('actor', [ 'avatarId' ], { + type: 'foreign key', + references: { + table: 'avatar', + field: 'id' + }, + onDelete: 'set null', + onUpdate: 'CASCADE' + }) +} + +function down (options) { + throw new Error('Not implemented.') +} + +export { + up, + down +} -- cgit v1.2.3