localDb.ts 613 B

1234567891011121314151617181920212223242526272829303132333435
  1. import Nedb from 'nedb';
  2. import { resolve } from 'path';
  3. import config from '@config';
  4. export interface InterfaceDB {
  5. user: Nedb
  6. doc: Nedb,
  7. tag: Nedb
  8. };
  9. const { localDb } = config;
  10. const filename = name => resolve(localDb.dir, name);
  11. const db: InterfaceDB = {
  12. user: new Nedb({
  13. filename: filename(localDb.user),
  14. autoload: true
  15. }),
  16. doc: new Nedb({
  17. filename: filename(localDb.doc),
  18. autoload: true
  19. }),
  20. tag: new Nedb({
  21. filename: filename(localDb.tag),
  22. autoload: true
  23. })
  24. };
  25. export default () => {
  26. return async(ctx, next) => {
  27. ctx.$db = db;
  28. await next();
  29. };
  30. };