index.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. 'use strict';
  2. const mongoose = require('mongoose');
  3. let lib = {
  4. connection: null,
  5. schemas: {},
  6. models: {},
  7. init: (url, cb) => {
  8. lib.connection = mongoose.connect(url).connection;
  9. lib.connection.on('error', err => console.error('Database error: ' + err.message));
  10. lib.connection.once('open', _ => {
  11. lib.schemas = {
  12. song: new mongoose.Schema(require(`./schemas/song`)),
  13. queueSong: new mongoose.Schema(require(`./schemas/queueSong`)),
  14. station: new mongoose.Schema(require(`./schemas/station`)),
  15. user: new mongoose.Schema(require(`./schemas/user`)),
  16. news: new mongoose.Schema(require(`./schemas/news`)),
  17. reports: new mongoose.Schema(require(`./schemas/reports`))
  18. };
  19. lib.models = {
  20. song: mongoose.model('song', lib.schemas.song),
  21. queueSong: mongoose.model('queueSong', lib.schemas.queueSong),
  22. station: mongoose.model('station', lib.schemas.station),
  23. user: mongoose.model('user', lib.schemas.user),
  24. news: mongoose.model('news', lib.schemas.news),
  25. reports: mongoose.model('reports', lib.schemas.reports)
  26. };
  27. cb();
  28. });
  29. }
  30. };
  31. module.exports = lib;