From 7ab44d4b0f17402f4b1af2b23bd53bc3ff8c9314 Mon Sep 17 00:00:00 2001 From: Jim Laurie Date: Mon, 15 Jan 2018 12:05:01 +0100 Subject: [PATCH] Update email template config --- .../config/routes.json | 8 ++++++++ .../controllers/UsersPermissions.js | 17 +++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/packages/strapi-plugin-users-permissions/config/routes.json b/packages/strapi-plugin-users-permissions/config/routes.json index d8f0dc711c..cebd68b71d 100644 --- a/packages/strapi-plugin-users-permissions/config/routes.json +++ b/packages/strapi-plugin-users-permissions/config/routes.json @@ -72,6 +72,14 @@ "policies": [] } }, + { + "method": "PUT", + "path": "/email-template", + "handler": "UsersPermissions.updateEmailTemplate", + "config": { + "policies": [] + } + }, { diff --git a/packages/strapi-plugin-users-permissions/controllers/UsersPermissions.js b/packages/strapi-plugin-users-permissions/controllers/UsersPermissions.js index e01500c0fc..fe5e5ac9f1 100644 --- a/packages/strapi-plugin-users-permissions/controllers/UsersPermissions.js +++ b/packages/strapi-plugin-users-permissions/controllers/UsersPermissions.js @@ -6,6 +6,9 @@ * @description: A set of functions called "actions" of the `users-permissions` plugin. */ +const path = require('path'); +const fs = require('fs'); + const _ = require('lodash'); module.exports = { @@ -149,5 +152,19 @@ module.exports = { getEmailTemplate: async (ctx) => { ctx.send(strapi.plugins['users-permissions'].config.email); + }, + + updateEmailTemplate: async (ctx) => { + if (_.isEmpty(ctx.request.body)) { + return ctx.badRequest(null, [{ messages: [{ id: 'Cannot be empty' }] }]); + } + + strapi.plugins['users-permissions'].config.email = ctx.request.body; + + fs.writeFileSync(path.join(strapi.config.appPath, 'plugins', 'users-permissions', 'config', 'email.json'), JSON.stringify({ + email: strapi.plugins['users-permissions'].config.email + }, null, 2), 'utf8'); + + return ctx.send({ ok: true }); } };