From 0883b3245bf0deb9106c4041e9afbd3521b79280 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 19 Apr 2018 11:01:34 +0200 Subject: Add ability to choose what policy we have for NSFW videos There is a global instance setting and a per user setting --- .../migrations/0205-user-nsfw-policy.ts | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 server/initializers/migrations/0205-user-nsfw-policy.ts (limited to 'server/initializers/migrations') diff --git a/server/initializers/migrations/0205-user-nsfw-policy.ts b/server/initializers/migrations/0205-user-nsfw-policy.ts new file mode 100644 index 000000000..d0f6e8962 --- /dev/null +++ b/server/initializers/migrations/0205-user-nsfw-policy.ts @@ -0,0 +1,46 @@ +import * as Sequelize from 'sequelize' + +async function up (utils: { + transaction: Sequelize.Transaction, + queryInterface: Sequelize.QueryInterface, + sequelize: Sequelize.Sequelize +}): Promise { + + { + const data = { + type: Sequelize.ENUM('do_not_list', 'blur', 'display'), + allowNull: true, + defaultValue: null + } + await utils.queryInterface.addColumn('user', 'nsfwPolicy', data) + } + + { + const query = 'UPDATE "user" SET "nsfwPolicy" = \'do_not_list\'' + await utils.sequelize.query(query) + } + + { + const query = 'UPDATE "user" SET "nsfwPolicy" = \'display\' WHERE "displayNSFW" = true' + await utils.sequelize.query(query) + } + + { + const query = 'ALTER TABLE "user" ALTER COLUMN "nsfwPolicy" SET NOT NULL' + await utils.sequelize.query(query) + } + + { + await utils.queryInterface.removeColumn('user', 'displayNSFW') + } + +} + +function down (options) { + throw new Error('Not implemented.') +} + +export { + up, + down +} -- cgit v1.2.3