1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const path_1 = require("path");
|
4 | const fs_1 = require("fs");
|
5 | const multer = require("multer");
|
6 | const settings = require("./settings");
|
7 | const pubsub_1 = require("./pubsub");
|
8 | const nconf = require.main.require('nconf');
|
9 | const version = require(path_1.join(__dirname, '../../package.json')).version;
|
10 | function controllers({ router, middleware }) {
|
11 | const renderAdmin = (req, res, next) => {
|
12 | settings.get((err, sets) => {
|
13 | if (err) {
|
14 | next(err);
|
15 | return;
|
16 | }
|
17 | res.render('admin/plugins/emoji', {
|
18 | version,
|
19 | settings: sets,
|
20 | });
|
21 | });
|
22 | };
|
23 | router.get('/admin/plugins/emoji', middleware.admin.buildHeader, renderAdmin);
|
24 | router.get('/api/admin/plugins/emoji', renderAdmin);
|
25 | const saveAdmin = (req, res, next) => {
|
26 | const data = JSON.parse(req.query.settings);
|
27 | settings.set(data, (err) => {
|
28 | if (err) {
|
29 | next(err);
|
30 | return;
|
31 | }
|
32 | res.send('OK');
|
33 | });
|
34 | };
|
35 | router.get('/api/admin/plugins/emoji/save', saveAdmin);
|
36 | const adminBuild = (req, res, next) => {
|
37 | pubsub_1.build((err) => {
|
38 | if (err) {
|
39 | next(err);
|
40 | }
|
41 | else {
|
42 | res.send('OK');
|
43 | }
|
44 | });
|
45 | };
|
46 | router.get('/api/admin/plugins/emoji/build', adminBuild);
|
47 | const uploadEmoji = (req, res, next) => {
|
48 | if (!req.file) {
|
49 | res.sendStatus(400);
|
50 | return;
|
51 | }
|
52 | const fileName = req.body.fileName;
|
53 | fs_1.rename(req.file.path, path_1.join(nconf.get('upload_path'), 'emoji', fileName), (err) => {
|
54 | if (err) {
|
55 | next(err);
|
56 | }
|
57 | else {
|
58 | res.sendStatus(200);
|
59 | }
|
60 | });
|
61 | };
|
62 | const upload = multer({
|
63 | dest: path_1.join(nconf.get('upload_path'), 'emoji'),
|
64 | });
|
65 | router.post('/api/admin/plugins/emoji/upload', upload.single('emojiImage'), uploadEmoji);
|
66 | }
|
67 | exports.default = controllers;
|
68 |
|
\ | No newline at end of file |