mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-31 18:08:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| const _ = require('lodash');
 | |
| 
 | |
| // TODO: remove this tmp fix and migrate tests
 | |
| let strapiInstance;
 | |
| Object.defineProperty(global, 'strapi', {
 | |
|   get() {
 | |
|     return strapiInstance;
 | |
|   },
 | |
|   set(value) {
 | |
|     strapiInstance = value;
 | |
| 
 | |
|     strapiInstance.plugin = (name) => strapiInstance.plugins[name];
 | |
|     _.mapValues(strapi.plugins, (acc) => {
 | |
|       acc.controller = (name) => acc.controllers[name];
 | |
|       acc.service = (name) => acc.services[name];
 | |
|       acc.contentType = (name) => acc.contentTypes[name];
 | |
|       acc.policy = (name) => acc.policies[name];
 | |
|     });
 | |
| 
 | |
|     strapiInstance.api = (name) => strapiInstance.apis[name];
 | |
|     _.mapValues(strapi.api, (acc) => {
 | |
|       acc.controller = (name) => acc.controllers[name];
 | |
|       acc.service = (name) => acc.services[name];
 | |
|       acc.contentType = (name) => acc.contentTypes[name];
 | |
|       acc.policy = (name) => acc.policies[name];
 | |
|     });
 | |
| 
 | |
|     strapiInstance.service = (name = '') => {
 | |
|       if (name.startsWith('admin::')) {
 | |
|         return strapiInstance.admin.services[name.split('admin::')[1]];
 | |
|       }
 | |
|     };
 | |
|   },
 | |
| });
 | 
