mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-30 01:17:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| /**
 | |
|  * Module dependencies
 | |
|  */
 | |
| 
 | |
| // Local dependencies.
 | |
| const explorerActions = require('./explorer/index');
 | |
| const routesActions = require('./routes/index');
 | |
| const configActions = require('./config/index');
 | |
| 
 | |
| /**
 | |
|  * Public explorer hook
 | |
|  */
 | |
| 
 | |
| module.exports = function (strapi) {
 | |
|   const hook = {
 | |
| 
 | |
|     /**
 | |
|      * Default options
 | |
|      */
 | |
| 
 | |
|     defaults: {
 | |
|       dashboard: {
 | |
|         enabled: true,
 | |
|         token: ''
 | |
|       },
 | |
|       routes: {
 | |
|         'GET /dashboard/explorer/:model/count': {
 | |
|           controller: explorerActions.count,
 | |
|           policies: ['dashboardToken', 'isAuthorized']
 | |
|         },
 | |
|         'POST /dashboard/explorer/:model': {
 | |
|           controller: explorerActions.create,
 | |
|           policies: ['dashboardToken', 'isAuthorized']
 | |
|         },
 | |
|         'DELETE /dashboard/explorer/:model/:id': {
 | |
|           controller: explorerActions.destroy,
 | |
|           policies: ['dashboardToken', 'isAuthorized']
 | |
|         },
 | |
|         'GET /dashboard/explorer/:model': {
 | |
|           controller: explorerActions.find,
 | |
|           policies: ['dashboardToken', 'isAuthorized']
 | |
|         },
 | |
|         'GET /dashboard/explorer/:model/:id': {
 | |
|           controller: explorerActions.findOne,
 | |
|           policies: ['dashboardToken', 'isAuthorized']
 | |
|         },
 | |
|         'PUT /dashboard/explorer/:model/:id': {
 | |
|           controller: explorerActions.update,
 | |
|           policies: ['dashboardToken', 'isAuthorized']
 | |
|         },
 | |
|         'GET /dashboard/routes': {
 | |
|           controller: routesActions.find,
 | |
|           action: 'find',
 | |
|           policies: ['dashboardToken', 'isAuthorized']
 | |
|         },
 | |
|         'PUT /dashboard/routes': {
 | |
|           controller: routesActions.update,
 | |
|           action: 'update',
 | |
|           policies: ['dashboardToken', 'isAuthorized']
 | |
|         },
 | |
|         'GET /dashboard/config': {
 | |
|           controller: configActions.config,
 | |
|           action: 'index',
 | |
|           policies: ['dashboardToken']
 | |
|         }
 | |
|       }
 | |
|     },
 | |
| 
 | |
|     /**
 | |
|      * Initialize the hook
 | |
|      */
 | |
| 
 | |
|     initialize: function (cb) {
 | |
| 
 | |
|       _.forEach(strapi.hooks.dashboard.defaults.routes, function (route, key) {
 | |
|         strapi.config.routes[key] = route;
 | |
|       });
 | |
| 
 | |
|       cb();
 | |
|     }
 | |
|   };
 | |
| 
 | |
|   return hook;
 | |
| };
 | 
