Source

adminjs-sequelizejs/index.ts

  1. /**
  2. * @module @adminjs/sequelize
  3. * @subcategory Adapters
  4. * @section modules
  5. *
  6. * @description
  7. * ### A Sequelize database adapter for AdminJS.
  8. *
  9. * #### Installation
  10. *
  11. * To install the adapter run
  12. *
  13. * ```
  14. * yarn add @adminjs/sequelize
  15. * ```
  16. *
  17. * ### Usage
  18. *
  19. * In order to use it in your project register the adapter first:
  20. *
  21. * ```javascript
  22. * const AdminJS = require('adminjs')
  23. * const AdminJSSequelize = require('@adminjs/sequelize')
  24. *
  25. * AdminJS.registerAdapter(AdminJSSequelize)
  26. * ```
  27. *
  28. * ### Passing an entire database
  29. *
  30. * Sequelize generates folder in your app called `./models` and there is an `index.js` file.
  31. * You can require it and pass to {@link AdminJSOptions} like this:
  32. *
  33. * ```javascript
  34. * const db = require('../models');
  35. * const AdminJS = new AdminJS({
  36. * databases: [db],
  37. * //... other AdminJSOptions
  38. * })
  39. * //...
  40. * ```
  41. *
  42. * ### Passing each resource
  43. *
  44. * Also you can pass a single resource and adjust it to your needs via {@link ResourceOptions}.
  45. *
  46. * So let say you have a model called `vendor` and there is a `vendor.js` file in your `./models`.
  47. * Within this file there is
  48. *
  49. * ```javascript
  50. * //...
  51. * sequelize.define('vendor', //...
  52. * //...
  53. * ```
  54. *
  55. * In order to pass it directly, run this code:
  56. *
  57. * ```javascript
  58. * const db = require('../models');
  59. * const AdminJS = new AdminJS({
  60. * databases: [db], // you can still load an entire database and adjust just one resource
  61. * resources: [{
  62. * resource: db.vendor,
  63. * options: {
  64. * //...
  65. * }
  66. * }]
  67. * })
  68. * //...
  69. * ```
  70. *
  71. *
  72. */
  73. /**
  74. * Implementation of {@link BaseDatabase} for Sequelize Adapter
  75. *
  76. * @memberof module:@adminjs/sequelize
  77. * @type {typeof BaseDatabase}
  78. * @static
  79. */
  80. import Database from './src/database';
  81. /**
  82. * Implementation of {@link BaseResource} for Sequelize Adapter
  83. *
  84. * @memberof module:@adminjs/sequelize
  85. * @type {typeof BaseResource}
  86. * @static
  87. */
  88. import Resource from './src/resource';
  89. export { default as Resource } from './src/resource';
  90. export { default as Database } from './src/database';
  91. module.exports = { Database, Resource };
  92. export default { Database, Resource };