kuzzle 2.19.2 → 2.19.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/lib/api/controllers/adminController.js +94 -80
  2. package/lib/api/controllers/authController.js +239 -212
  3. package/lib/api/controllers/baseController.js +89 -51
  4. package/lib/api/controllers/bulkController.js +62 -49
  5. package/lib/api/controllers/clusterController.js +6 -8
  6. package/lib/api/controllers/collectionController.js +140 -129
  7. package/lib/api/controllers/debugController.d.ts +2 -2
  8. package/lib/api/controllers/debugController.js +33 -31
  9. package/lib/api/controllers/documentController.js +365 -274
  10. package/lib/api/controllers/index.js +13 -13
  11. package/lib/api/controllers/indexController.js +46 -50
  12. package/lib/api/controllers/memoryStorageController.js +410 -360
  13. package/lib/api/controllers/realtimeController.js +37 -36
  14. package/lib/api/controllers/securityController.js +553 -412
  15. package/lib/api/controllers/serverController.js +111 -104
  16. package/lib/api/documentExtractor.js +75 -68
  17. package/lib/api/funnel.js +411 -312
  18. package/lib/api/httpRoutes.js +1493 -324
  19. package/lib/api/openapi/OpenApiManager.d.ts +1 -1
  20. package/lib/api/openapi/OpenApiManager.js +22 -22
  21. package/lib/api/openapi/components/document/count.yaml +1 -1
  22. package/lib/api/openapi/components/document/create.yaml +2 -2
  23. package/lib/api/openapi/components/document/delete.yaml +1 -1
  24. package/lib/api/openapi/components/document/deleteByQuery.yaml +1 -1
  25. package/lib/api/openapi/components/document/exists.yaml +1 -1
  26. package/lib/api/openapi/components/document/get.yaml +2 -2
  27. package/lib/api/openapi/components/document/index.js +12 -12
  28. package/lib/api/openapi/components/document/replace.yaml +1 -1
  29. package/lib/api/openapi/components/document/scroll.yaml +1 -1
  30. package/lib/api/openapi/components/document/validate.yaml +1 -1
  31. package/lib/api/openapi/components/index.d.ts +2 -2
  32. package/lib/api/openapi/components/index.js +1 -1
  33. package/lib/api/openapi/components/security/index.js +1 -1
  34. package/lib/api/openapi/components/security/upsertUser.yaml +2 -3
  35. package/lib/api/openapi/index.d.ts +1 -1
  36. package/lib/api/openapi/openApiGenerator.d.ts +1 -1
  37. package/lib/api/openapi/openApiGenerator.js +7 -7
  38. package/lib/api/rateLimiter.js +12 -13
  39. package/lib/api/request/index.d.ts +4 -4
  40. package/lib/api/request/kuzzleRequest.d.ts +9 -9
  41. package/lib/api/request/kuzzleRequest.js +91 -90
  42. package/lib/api/request/requestContext.d.ts +2 -2
  43. package/lib/api/request/requestContext.js +17 -17
  44. package/lib/api/request/requestInput.d.ts +1 -1
  45. package/lib/api/request/requestInput.js +19 -19
  46. package/lib/api/request/requestResponse.d.ts +4 -4
  47. package/lib/api/request/requestResponse.js +31 -33
  48. package/lib/cluster/command.js +48 -44
  49. package/lib/cluster/idCardHandler.d.ts +1 -1
  50. package/lib/cluster/idCardHandler.js +15 -15
  51. package/lib/cluster/index.js +2 -2
  52. package/lib/cluster/node.js +301 -269
  53. package/lib/cluster/publisher.js +45 -46
  54. package/lib/cluster/state.d.ts +5 -5
  55. package/lib/cluster/state.js +8 -8
  56. package/lib/cluster/subscriber.js +163 -113
  57. package/lib/cluster/workers/IDCardRenewer.js +33 -32
  58. package/lib/config/default.config.d.ts +1 -1
  59. package/lib/config/default.config.js +212 -171
  60. package/lib/config/documentEventAliases.js +6 -6
  61. package/lib/config/index.js +161 -98
  62. package/lib/config/sdkCompatibility.json +8 -8
  63. package/lib/core/auth/formatProcessing.js +7 -7
  64. package/lib/core/auth/passportResponse.js +7 -7
  65. package/lib/core/auth/passportWrapper.js +34 -30
  66. package/lib/core/auth/tokenManager.d.ts +2 -2
  67. package/lib/core/auth/tokenManager.js +11 -10
  68. package/lib/core/backend/applicationManager.d.ts +1 -1
  69. package/lib/core/backend/applicationManager.js +2 -2
  70. package/lib/core/backend/backend.d.ts +4 -4
  71. package/lib/core/backend/backend.js +34 -31
  72. package/lib/core/backend/backendCluster.d.ts +8 -9
  73. package/lib/core/backend/backendCluster.js +8 -8
  74. package/lib/core/backend/backendConfig.d.ts +2 -2
  75. package/lib/core/backend/backendConfig.js +3 -3
  76. package/lib/core/backend/backendController.d.ts +2 -2
  77. package/lib/core/backend/backendController.js +9 -10
  78. package/lib/core/backend/backendErrors.d.ts +3 -3
  79. package/lib/core/backend/backendErrors.js +2 -1
  80. package/lib/core/backend/backendHook.d.ts +3 -3
  81. package/lib/core/backend/backendHook.js +5 -5
  82. package/lib/core/backend/backendImport.d.ts +3 -3
  83. package/lib/core/backend/backendImport.js +23 -23
  84. package/lib/core/backend/backendOpenApi.d.ts +2 -2
  85. package/lib/core/backend/backendOpenApi.js +16 -16
  86. package/lib/core/backend/backendPipe.d.ts +3 -3
  87. package/lib/core/backend/backendPipe.js +6 -6
  88. package/lib/core/backend/backendPlugin.d.ts +4 -4
  89. package/lib/core/backend/backendPlugin.js +14 -14
  90. package/lib/core/backend/backendStorage.d.ts +2 -2
  91. package/lib/core/backend/backendStorage.js +1 -2
  92. package/lib/core/backend/backendVault.d.ts +2 -2
  93. package/lib/core/backend/backendVault.js +3 -3
  94. package/lib/core/backend/index.d.ts +14 -14
  95. package/lib/core/backend/internalLogger.d.ts +1 -1
  96. package/lib/core/backend/internalLogger.js +5 -5
  97. package/lib/core/cache/cacheDbEnum.js +4 -4
  98. package/lib/core/cache/cacheEngine.js +79 -85
  99. package/lib/core/network/accessLogger.js +126 -120
  100. package/lib/core/network/clientConnection.js +5 -5
  101. package/lib/core/network/context.js +8 -8
  102. package/lib/core/network/entryPoint.js +100 -85
  103. package/lib/core/network/httpRouter/index.js +63 -60
  104. package/lib/core/network/httpRouter/routeHandler.js +18 -19
  105. package/lib/core/network/httpRouter/routePart.js +23 -19
  106. package/lib/core/network/protocolManifest.js +3 -3
  107. package/lib/core/network/protocols/httpMessage.js +8 -10
  108. package/lib/core/network/protocols/httpwsProtocol.js +305 -250
  109. package/lib/core/network/protocols/internalProtocol.js +27 -24
  110. package/lib/core/network/protocols/mqttProtocol.js +106 -96
  111. package/lib/core/network/protocols/protocol.js +20 -17
  112. package/lib/core/network/router.js +56 -46
  113. package/lib/core/plugin/plugin.js +151 -120
  114. package/lib/core/plugin/pluginContext.d.ts +7 -7
  115. package/lib/core/plugin/pluginContext.js +48 -44
  116. package/lib/core/plugin/pluginManifest.js +13 -12
  117. package/lib/core/plugin/pluginRepository.js +26 -27
  118. package/lib/core/plugin/pluginsManager.js +425 -304
  119. package/lib/core/plugin/privilegedContext.js +3 -3
  120. package/lib/core/realtime/actionEnum.js +1 -1
  121. package/lib/core/realtime/channel.d.ts +1 -1
  122. package/lib/core/realtime/channel.js +22 -22
  123. package/lib/core/realtime/connectionRooms.d.ts +1 -1
  124. package/lib/core/realtime/hotelClerk.d.ts +2 -2
  125. package/lib/core/realtime/hotelClerk.js +53 -50
  126. package/lib/core/realtime/index.js +5 -5
  127. package/lib/core/realtime/notification/document.js +25 -25
  128. package/lib/core/realtime/notification/index.js +4 -4
  129. package/lib/core/realtime/notification/server.js +3 -3
  130. package/lib/core/realtime/notification/user.js +4 -4
  131. package/lib/core/realtime/notifier.js +113 -75
  132. package/lib/core/realtime/room.d.ts +1 -1
  133. package/lib/core/realtime/subscription.d.ts +1 -1
  134. package/lib/core/realtime/subscription.js +1 -1
  135. package/lib/core/security/index.js +8 -8
  136. package/lib/core/security/profileRepository.d.ts +6 -6
  137. package/lib/core/security/profileRepository.js +48 -45
  138. package/lib/core/security/roleRepository.js +127 -115
  139. package/lib/core/security/securityLoader.js +70 -63
  140. package/lib/core/security/tokenRepository.js +132 -118
  141. package/lib/core/security/userRepository.js +104 -88
  142. package/lib/core/shared/KoncordeWrapper.d.ts +1 -1
  143. package/lib/core/shared/KoncordeWrapper.js +3 -1
  144. package/lib/core/shared/abstractManifest.js +22 -23
  145. package/lib/core/shared/repository.js +69 -67
  146. package/lib/core/shared/sdk/embeddedSdk.d.ts +2 -2
  147. package/lib/core/shared/sdk/embeddedSdk.js +36 -32
  148. package/lib/core/shared/sdk/funnelProtocol.d.ts +1 -1
  149. package/lib/core/shared/sdk/funnelProtocol.js +11 -11
  150. package/lib/core/shared/sdk/impersonatedSdk.js +19 -18
  151. package/lib/core/shared/store.js +127 -32
  152. package/lib/core/statistics/index.js +2 -2
  153. package/lib/core/statistics/statistics.js +99 -85
  154. package/lib/core/storage/clientAdapter.js +219 -136
  155. package/lib/core/storage/indexCache.js +3 -3
  156. package/lib/core/storage/storageEngine.js +10 -13
  157. package/lib/core/storage/storeScopeEnum.js +3 -3
  158. package/lib/core/validation/baseType.js +12 -10
  159. package/lib/core/validation/index.js +2 -2
  160. package/lib/core/validation/types/anything.js +4 -4
  161. package/lib/core/validation/types/boolean.js +7 -7
  162. package/lib/core/validation/types/date.js +165 -131
  163. package/lib/core/validation/types/email.js +18 -21
  164. package/lib/core/validation/types/enum.js +34 -21
  165. package/lib/core/validation/types/geoPoint.js +7 -7
  166. package/lib/core/validation/types/geoShape.js +148 -125
  167. package/lib/core/validation/types/integer.js +9 -9
  168. package/lib/core/validation/types/ipAddress.js +17 -19
  169. package/lib/core/validation/types/numeric.js +36 -29
  170. package/lib/core/validation/types/object.js +19 -19
  171. package/lib/core/validation/types/string.js +36 -29
  172. package/lib/core/validation/types/url.js +17 -19
  173. package/lib/core/validation/validation.js +422 -378
  174. package/lib/kerror/codes/1-services.json +7 -1
  175. package/lib/kerror/codes/4-plugin.json +2 -2
  176. package/lib/kerror/codes/index.js +85 -63
  177. package/lib/kerror/errors/badRequestError.d.ts +1 -1
  178. package/lib/kerror/errors/externalServiceError.d.ts +1 -1
  179. package/lib/kerror/errors/forbiddenError.d.ts +1 -1
  180. package/lib/kerror/errors/gatewayTimeoutError.d.ts +1 -1
  181. package/lib/kerror/errors/index.d.ts +15 -15
  182. package/lib/kerror/errors/internalError.d.ts +1 -1
  183. package/lib/kerror/errors/kuzzleError.d.ts +1 -1
  184. package/lib/kerror/errors/multipleErrorsError.d.ts +1 -1
  185. package/lib/kerror/errors/multipleErrorsError.js +1 -1
  186. package/lib/kerror/errors/notFoundError.d.ts +1 -1
  187. package/lib/kerror/errors/partialError.d.ts +1 -1
  188. package/lib/kerror/errors/partialError.js +1 -1
  189. package/lib/kerror/errors/pluginImplementationError.d.ts +1 -1
  190. package/lib/kerror/errors/pluginImplementationError.js +2 -1
  191. package/lib/kerror/errors/preconditionError.d.ts +1 -1
  192. package/lib/kerror/errors/serviceUnavailableError.d.ts +1 -1
  193. package/lib/kerror/errors/sizeLimitError.d.ts +1 -1
  194. package/lib/kerror/errors/tooManyRequestsError.d.ts +1 -1
  195. package/lib/kerror/errors/unauthorizedError.d.ts +1 -1
  196. package/lib/kerror/index.d.ts +3 -3
  197. package/lib/kerror/index.js +17 -16
  198. package/lib/kuzzle/dumpGenerator.js +130 -114
  199. package/lib/kuzzle/event/kuzzleEventEmitter.js +96 -70
  200. package/lib/kuzzle/event/pipeRunner.js +26 -25
  201. package/lib/kuzzle/event/waterfall.js +13 -15
  202. package/lib/kuzzle/index.js +2 -2
  203. package/lib/kuzzle/internalIndexHandler.js +80 -59
  204. package/lib/kuzzle/kuzzle.js +99 -99
  205. package/lib/kuzzle/kuzzleStateEnum.js +1 -1
  206. package/lib/kuzzle/log.js +23 -18
  207. package/lib/kuzzle/vault.js +34 -19
  208. package/lib/model/security/profile.d.ts +3 -3
  209. package/lib/model/security/profile.js +38 -37
  210. package/lib/model/security/rights.js +5 -5
  211. package/lib/model/security/role.d.ts +3 -3
  212. package/lib/model/security/role.js +25 -26
  213. package/lib/model/security/token.d.ts +1 -1
  214. package/lib/model/security/token.js +4 -4
  215. package/lib/model/security/user.d.ts +2 -2
  216. package/lib/model/security/user.js +9 -9
  217. package/lib/model/storage/apiKey.js +43 -33
  218. package/lib/model/storage/baseModel.js +49 -45
  219. package/lib/service/cache/redis.js +60 -55
  220. package/lib/service/service.js +17 -17
  221. package/lib/service/storage/elasticsearch.js +839 -755
  222. package/lib/service/storage/esWrapper.js +103 -86
  223. package/lib/service/storage/queryTranslator.js +52 -59
  224. package/lib/types/Controller.d.ts +3 -3
  225. package/lib/types/ControllerDefinition.d.ts +3 -3
  226. package/lib/types/DebugModule.d.ts +3 -2
  227. package/lib/types/DebugModule.js +1 -1
  228. package/lib/types/EventHandler.d.ts +31 -1
  229. package/lib/types/Global.d.ts +1 -1
  230. package/lib/types/HttpStream.d.ts +2 -1
  231. package/lib/types/HttpStream.js +7 -5
  232. package/lib/types/Kuzzle.d.ts +1 -1
  233. package/lib/types/KuzzleDocument.d.ts +1 -1
  234. package/lib/types/OpenApiDefinition.d.ts +1 -1
  235. package/lib/types/PasswordPolicy.d.ts +1 -1
  236. package/lib/types/Plugin.d.ts +8 -8
  237. package/lib/types/Plugin.js +2 -2
  238. package/lib/types/Policy.d.ts +1 -1
  239. package/lib/types/RequestPayload.d.ts +1 -1
  240. package/lib/types/ResponsePayload.d.ts +1 -1
  241. package/lib/types/Token.d.ts +1 -1
  242. package/lib/types/User.d.ts +1 -1
  243. package/lib/types/config/DumpConfiguration.d.ts +8 -8
  244. package/lib/types/config/HttpConfiguration.d.ts +1 -1
  245. package/lib/types/config/KuzzleConfiguration.d.ts +1 -1
  246. package/lib/types/config/LimitsConfiguration.d.ts +8 -8
  247. package/lib/types/config/PluginsConfiguration.d.ts +4 -4
  248. package/lib/types/config/SecurityConfiguration.d.ts +62 -62
  249. package/lib/types/config/ServerConfiguration.d.ts +55 -55
  250. package/lib/types/config/ServicesConfiguration.d.ts +2 -2
  251. package/lib/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +10 -10
  252. package/lib/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +3 -3
  253. package/lib/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +194 -110
  254. package/lib/types/errors/ErrorDefinition.d.ts +1 -1
  255. package/lib/types/errors/ErrorDomains.d.ts +1 -1
  256. package/lib/types/events/EventGenericDocument.d.ts +26 -0
  257. package/lib/types/events/EventGenericDocument.js +3 -0
  258. package/lib/types/index.d.ts +39 -38
  259. package/lib/types/index.js +1 -0
  260. package/lib/types/realtime/RealtimeScope.d.ts +1 -1
  261. package/lib/types/realtime/RealtimeUsers.d.ts +1 -1
  262. package/lib/util/assertType.js +13 -11
  263. package/lib/util/async.d.ts +1 -0
  264. package/lib/util/async.js +61 -0
  265. package/lib/util/asyncStore.js +19 -21
  266. package/lib/util/bufferedPassThrough.d.ts +3 -2
  267. package/lib/util/bufferedPassThrough.js +4 -4
  268. package/lib/util/bytes.js +9 -13
  269. package/lib/util/crypto.js +1 -1
  270. package/lib/util/debug.js +5 -5
  271. package/lib/util/deprecate.js +24 -21
  272. package/lib/util/didYouMean.js +7 -7
  273. package/lib/util/dump-collection.d.ts +2 -2
  274. package/lib/util/dump-collection.js +26 -26
  275. package/lib/util/esRequest.d.ts +1 -0
  276. package/lib/util/esRequest.js +62 -0
  277. package/lib/util/extractFields.js +24 -25
  278. package/lib/util/inflector.js +5 -5
  279. package/lib/util/koncordeCompat.d.ts +2 -2
  280. package/lib/util/koncordeCompat.js +5 -5
  281. package/lib/util/memoize.js +3 -5
  282. package/lib/util/mutex.d.ts +19 -1
  283. package/lib/util/mutex.js +39 -12
  284. package/lib/util/name-generator.js +1331 -1331
  285. package/lib/util/promback.js +8 -10
  286. package/lib/util/readYamlFile.d.ts +1 -1
  287. package/lib/util/readYamlFile.js +1 -1
  288. package/lib/util/requestAssertions.js +34 -34
  289. package/lib/util/safeObject.js +5 -5
  290. package/lib/util/stackTrace.js +20 -22
  291. package/lib/util/wildcard.js +15 -15
  292. package/package.json +28 -29
  293. package/npm-shrinkwrap.json +0 -19422
@@ -19,54 +19,52 @@
19
19
  * limitations under the License.
20
20
  */
21
21
 
22
- 'use strict';
22
+ "use strict";
23
23
 
24
- const Bluebird = require('bluebird');
24
+ const Bluebird = require("bluebird");
25
25
 
26
- const kerror = require('../../kerror');
27
- const { NativeController } = require('./baseController');
28
- const { Mutex } = require('../../util/mutex');
29
- const { BACKEND_IMPORT_KEY } = require('../../kuzzle/kuzzle');
26
+ const kerror = require("../../kerror");
27
+ const { NativeController } = require("./baseController");
28
+ const { Mutex } = require("../../util/mutex");
29
+ const { BACKEND_IMPORT_KEY } = require("../../kuzzle/kuzzle");
30
30
 
31
31
  /**
32
32
  * @class AdminController
33
33
  */
34
34
  class AdminController extends NativeController {
35
- constructor () {
35
+ constructor() {
36
36
  super([
37
- 'dump',
38
- 'loadFixtures',
39
- 'loadMappings',
40
- 'loadSecurities',
41
- 'refreshIndexCache',
42
- 'resetCache',
43
- 'resetDatabase',
44
- 'resetSecurity',
45
- 'shutdown'
37
+ "dump",
38
+ "loadFixtures",
39
+ "loadMappings",
40
+ "loadSecurities",
41
+ "refreshIndexCache",
42
+ "resetCache",
43
+ "resetDatabase",
44
+ "resetSecurity",
45
+ "shutdown",
46
46
  ]);
47
47
 
48
48
  this.shuttingDown = false;
49
49
  }
50
50
 
51
- async refreshIndexCache () {
52
- await global.kuzzle.ask('core:storage:public:cache:refresh');
51
+ async refreshIndexCache() {
52
+ await global.kuzzle.ask("core:storage:public:cache:refresh");
53
53
  }
54
54
 
55
55
  /**
56
56
  * Reset Redis cache
57
57
  */
58
- async resetCache (request) {
59
- const database = request.getString('database');
58
+ async resetCache(request) {
59
+ const database = request.getString("database");
60
60
 
61
61
  // @todo allow only memoryStorage
62
- if (database === 'internalCache') {
63
- await this.ask('core:cache:internal:flushdb');
64
- }
65
- else if (database === 'memoryStorage') {
66
- await this.ask('core:cache:public:flushdb');
67
- }
68
- else {
69
- throw kerror.get('services', 'cache', 'database_not_found', database);
62
+ if (database === "internalCache") {
63
+ await this.ask("core:cache:internal:flushdb");
64
+ } else if (database === "memoryStorage") {
65
+ await this.ask("core:cache:public:flushdb");
66
+ } else {
67
+ throw kerror.get("services", "cache", "database_not_found", database);
70
68
  }
71
69
 
72
70
  return { acknowledge: true };
@@ -75,35 +73,43 @@ class AdminController extends NativeController {
75
73
  /**
76
74
  * Reset all roles, profiles and users
77
75
  */
78
- async resetSecurity () {
79
- const mutex = new Mutex('resetSecurity', { timeout: 0 });
80
-
81
- if (! await mutex.lock()) {
82
- throw kerror.get('api', 'process', 'action_locked', 'Kuzzle is already reseting roles, profiles and users.');
76
+ async resetSecurity() {
77
+ const mutex = new Mutex("resetSecurity", { timeout: 0 });
78
+
79
+ if (!(await mutex.lock())) {
80
+ throw kerror.get(
81
+ "api",
82
+ "process",
83
+ "action_locked",
84
+ "Kuzzle is already reseting roles, profiles and users."
85
+ );
83
86
  }
84
87
 
85
88
  const result = {};
86
89
 
87
90
  try {
88
- const options = { refresh: 'wait_for' };
91
+ const options = { refresh: "wait_for" };
89
92
 
90
93
  result.deletedUsers = await this.ask(
91
- 'core:security:user:truncate',
92
- options);
94
+ "core:security:user:truncate",
95
+ options
96
+ );
93
97
  result.deletedProfiles = await this.ask(
94
- 'core:security:profile:truncate',
95
- options);
98
+ "core:security:profile:truncate",
99
+ options
100
+ );
96
101
  result.deletedRoles = await this.ask(
97
- 'core:security:role:truncate',
98
- options);
102
+ "core:security:role:truncate",
103
+ options
104
+ );
99
105
 
100
106
  await global.kuzzle.internalIndex.createInitialSecurities();
101
107
 
102
108
  await this.ask(
103
- 'core:cache:internal:del',
104
- `${BACKEND_IMPORT_KEY}:permissions`);
105
- }
106
- finally {
109
+ "core:cache:internal:del",
110
+ `${BACKEND_IMPORT_KEY}:permissions`
111
+ );
112
+ } finally {
107
113
  await mutex.unlock();
108
114
  }
109
115
 
@@ -113,24 +119,29 @@ class AdminController extends NativeController {
113
119
  /**
114
120
  * Reset all indexes created by users
115
121
  */
116
- async resetDatabase () {
117
- const mutex = new Mutex('resetDatabase', { timeout: 0 });
118
-
119
- if (! await mutex.lock()) {
120
- throw kerror.get('api', 'process', 'action_locked', 'Kuzzle is already reseting all indexes.');
122
+ async resetDatabase() {
123
+ const mutex = new Mutex("resetDatabase", { timeout: 0 });
124
+
125
+ if (!(await mutex.lock())) {
126
+ throw kerror.get(
127
+ "api",
128
+ "process",
129
+ "action_locked",
130
+ "Kuzzle is already reseting all indexes."
131
+ );
121
132
  }
122
133
 
123
134
  try {
124
- const indexes = await this.ask('core:storage:public:index:list');
125
- await this.ask('core:storage:public:index:mDelete', indexes);
135
+ const indexes = await this.ask("core:storage:public:index:list");
136
+ await this.ask("core:storage:public:index:mDelete", indexes);
126
137
 
127
138
  await this.ask(
128
- 'core:cache:internal:del',
129
- `${BACKEND_IMPORT_KEY}:mappings`);
139
+ "core:cache:internal:del",
140
+ `${BACKEND_IMPORT_KEY}:mappings`
141
+ );
130
142
 
131
143
  return { acknowledge: true };
132
- }
133
- finally {
144
+ } finally {
134
145
  await mutex.unlock();
135
146
  }
136
147
  }
@@ -139,9 +150,9 @@ class AdminController extends NativeController {
139
150
  * Generate a dump
140
151
  * Kuzzle will throw a PreconditionError if a dump is already running
141
152
  */
142
- dump (request) {
143
- const waitForRefresh = request.input.args.refresh === 'wait_for';
144
- const suffix = request.getString('suffix', 'manual-api-action');
153
+ dump(request) {
154
+ const waitForRefresh = request.input.args.refresh === "wait_for";
155
+ const suffix = request.getString("suffix", "manual-api-action");
145
156
 
146
157
  const promise = global.kuzzle.dump(suffix);
147
158
 
@@ -151,9 +162,14 @@ class AdminController extends NativeController {
151
162
  /**
152
163
  * Shutdown Kuzzle
153
164
  */
154
- async shutdown () {
165
+ async shutdown() {
155
166
  if (this.shuttingDown) {
156
- throw kerror.get('api', 'process', 'action_locked', 'Kuzzle is already shutting down.');
167
+ throw kerror.get(
168
+ "api",
169
+ "process",
170
+ "action_locked",
171
+ "Kuzzle is already shutting down."
172
+ );
157
173
  }
158
174
 
159
175
  global.kuzzle.shutdown();
@@ -161,34 +177,34 @@ class AdminController extends NativeController {
161
177
  return { acknowledge: true };
162
178
  }
163
179
 
164
- loadFixtures (request) {
180
+ loadFixtures(request) {
165
181
  const fixtures = request.getBody();
166
- const refresh = request.getRefresh('wait_for');
182
+ const refresh = request.getRefresh("wait_for");
167
183
 
168
- return global.kuzzle.ask('core:storage:public:document:import', fixtures, {
169
- refresh
184
+ return global.kuzzle.ask("core:storage:public:document:import", fixtures, {
185
+ refresh,
170
186
  });
171
187
  }
172
188
 
173
- loadMappings (request) {
189
+ loadMappings(request) {
174
190
  const mappings = request.getBody();
175
191
 
176
192
  return this._waitForAction(
177
- request.getRefresh('wait_for'),
178
- global.kuzzle.ask(
179
- 'core:storage:public:mappings:import',
180
- mappings,
181
- { rawMappings: true }));
193
+ request.getRefresh("wait_for"),
194
+ global.kuzzle.ask("core:storage:public:mappings:import", mappings, {
195
+ rawMappings: true,
196
+ })
197
+ );
182
198
  }
183
199
 
184
- async loadSecurities (request) {
200
+ async loadSecurities(request) {
185
201
  const permissions = request.getBody();
186
202
  const user = request.getUser();
187
203
  const onExistingUsers = request.input.args.onExistingUsers;
188
- const force = request.getBoolean('force');
189
- const waitForRefresh = request.getRefresh('wait_for');
204
+ const force = request.getBoolean("force");
205
+ const waitForRefresh = request.getRefresh("wait_for");
190
206
 
191
- const promise = this.ask('core:security:load', permissions, {
207
+ const promise = this.ask("core:security:load", permissions, {
192
208
  force,
193
209
  onExistingUsers,
194
210
  refresh: waitForRefresh,
@@ -198,21 +214,19 @@ class AdminController extends NativeController {
198
214
  return this._waitForAction(waitForRefresh, promise);
199
215
  }
200
216
 
201
- _waitForAction (waitForRefresh, promise) {
217
+ _waitForAction(waitForRefresh, promise) {
202
218
  const result = { acknowledge: true };
203
219
 
204
- if (waitForRefresh === 'false') {
220
+ if (waitForRefresh === "false") {
205
221
  // Attaching an error handler to the provided promise to prevent
206
222
  // uncaught rejections
207
- promise.catch(err => global.kuzzle.log.error(err));
223
+ promise.catch((err) => global.kuzzle.log.error(err));
208
224
 
209
225
  return Bluebird.resolve(result);
210
226
  }
211
227
 
212
- return promise
213
- .then(() => result);
228
+ return promise.then(() => result);
214
229
  }
215
-
216
230
  }
217
231
 
218
232
  module.exports = AdminController;