1 | 'use strict';
|
2 | var path = require('path');
|
3 | import IO from 'koa-socket';
|
4 | const cors = require('kcors');
|
5 | const io = new IO();
|
6 | global.spice = {};
|
7 |
|
8 | require('dotenv').config();
|
9 |
|
10 | var validate = require('koa-validation');
|
11 | var bodyParser = require('koa-bodyparser');
|
12 | const koaBody = require('koa-body');
|
13 | spice.root_path = path.resolve('./build/');
|
14 | spice.module_root_path = path.resolve(__dirname);
|
15 | import Event from './events/Event';
|
16 | import Model from './models/SpiceModel';
|
17 | import Crypt from './utility/Crypt';
|
18 | import Serializer from './utility/Serializer';
|
19 | import RestHelper from './utility/RestHelper';
|
20 | import Status from '../cli/lib/status';
|
21 | import Mail from './mail/Mail';
|
22 | import MailDebug from './mail/providers/Debug';
|
23 | import MailFile from './mail/providers/File';
|
24 |
|
25 |
|
26 | const convert = require('koa-convert');
|
27 |
|
28 | spice.classes = {};
|
29 | spice.classes.Event = Event;
|
30 | spice.classes.Model = Model;
|
31 | spice.classes.Crypt = Crypt;
|
32 | spice.classes.Serializer = Serializer;
|
33 | spice.classes.RestHelper = RestHelper;
|
34 | spice.classes.validate = validate;
|
35 | spice.classes.Mail = Mail;
|
36 | spice.classes.mail = {providers:{}};
|
37 | spice.classes.mail.providers.Debug = MailDebug;
|
38 | spice.classes.mail.providers.File = MailFile;
|
39 | export let status = Status;
|
40 | export class Spice {
|
41 | constructor() {
|
42 |
|
43 | }
|
44 |
|
45 | async init(app){
|
46 | try{
|
47 | app.use(cors());
|
48 | require('koa-qs')(app, 'extended');
|
49 | app.use(koaBody({formLimit:"1gb", multipart: true, formidable:{uploadDir: './storage/uploads'},}));
|
50 | app.use(convert(validate()));
|
51 | spice.app = app;
|
52 | spice.config = await require('./loaders/config')();
|
53 | spice.io = io;
|
54 | require('./loaders');
|
55 | io.attach(app);
|
56 | return spice;
|
57 | }catch(e){
|
58 | console.log(e.stack);
|
59 | }
|
60 | }
|
61 |
|
62 | async init_spa(vue){
|
63 | try{
|
64 | window.spice = {};
|
65 |
|
66 | }catch(e){
|
67 | console.log(e.stack)
|
68 | }
|
69 | }
|
70 | }
|
71 |
|
72 | export default Spice; |
\ | No newline at end of file |