1 | const _ = require('lodash');
|
2 |
|
3 | const plugin = {
|
4 | options: {
|
5 | adminpath: '/admin',
|
6 | adminlayout: 'admin/layouts/main',
|
7 | templates: {
|
8 | cms_show: __dirname + '/views/pages/show.dust',
|
9 | faq_index: __dirname + '/views/faq/index.dust'
|
10 | },
|
11 | url: (page) => `/${page.slug}`
|
12 | },
|
13 | dirname: __dirname
|
14 | };
|
15 |
|
16 |
|
17 | plugin.init = function(igo) {
|
18 | plugin.igo = igo;
|
19 | plugin.routes = {
|
20 | main: require('./src/routes/main'),
|
21 | medias: require('./src/routes/medias'),
|
22 | admin: require('./src/routes/admin'),
|
23 | };
|
24 | plugin.controllers = {
|
25 | CmsController: require('./src/controllers/CmsController'),
|
26 | MediasController: require('./src/controllers/MediasController')
|
27 | };
|
28 | plugin.services = {
|
29 | MediaService: require('./src/services/MediaService'),
|
30 | BlogService: require('./src/services/BlogService')
|
31 | };
|
32 | plugin.CMS = require('./src/services/CMS');
|
33 | plugin.models = {
|
34 | Media: require('./src/models/Media'),
|
35 | Page: require('./src/models/Page'),
|
36 | Post: require('./src/models/Post')
|
37 | };
|
38 | };
|
39 |
|
40 |
|
41 | plugin.configure = (options) => {
|
42 | _.merge(plugin.options, options);
|
43 | };
|
44 |
|
45 |
|
46 | module.exports = plugin;
|