index.d.ts 972 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import * as sequelize from 'sequelize';
  2. interface EggSequelizeOptions extends sequelize.Options {
  3. /**
  4. * load all models to `app[delegate]` and `ctx[delegate]`, default to `model`
  5. */
  6. delegate?: string;
  7. /**
  8. * load models from `app/model/*.js`
  9. */
  10. baseDir?: string;
  11. /**
  12. * ignore `app/${baseDir}/index.js` when load models, support glob and array
  13. */
  14. exclude?: string | Array<string>;
  15. /**
  16. * A full database URI
  17. * @example
  18. * `connectionUri:"mysql://localhost:3306/database"`
  19. */
  20. connectionUri?: string;
  21. }
  22. interface DataSources {
  23. datasources: EggSequelizeOptions[];
  24. }
  25. declare module 'egg' {
  26. interface IModel extends sequelize.Sequelize, PlainObject {}
  27. // extend app
  28. interface Application {
  29. Sequelize: typeof sequelize;
  30. model: IModel;
  31. }
  32. // extend context
  33. interface Context {
  34. model: IModel;
  35. }
  36. // extend your config
  37. interface EggAppConfig {
  38. sequelize: EggSequelizeOptions | DataSources;
  39. }
  40. }