kuzzle 2.19.0 → 2.19.3

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 (288) 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 +89 -87
  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 +3 -3
  71. package/lib/core/backend/backend.js +34 -31
  72. package/lib/core/backend/backendCluster.d.ts +2 -2
  73. package/lib/core/backend/backendCluster.js +5 -5
  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 +2 -2
  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 +2 -2
  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 +25 -24
  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 +2 -2
  227. package/lib/types/DebugModule.js +1 -1
  228. package/lib/types/Global.d.ts +1 -1
  229. package/lib/types/HttpStream.d.ts +2 -1
  230. package/lib/types/HttpStream.js +7 -5
  231. package/lib/types/Kuzzle.d.ts +1 -1
  232. package/lib/types/KuzzleDocument.d.ts +1 -1
  233. package/lib/types/OpenApiDefinition.d.ts +1 -1
  234. package/lib/types/PasswordPolicy.d.ts +1 -1
  235. package/lib/types/Plugin.d.ts +6 -6
  236. package/lib/types/Plugin.js +2 -2
  237. package/lib/types/Policy.d.ts +1 -1
  238. package/lib/types/RequestPayload.d.ts +1 -1
  239. package/lib/types/ResponsePayload.d.ts +1 -1
  240. package/lib/types/Token.d.ts +1 -1
  241. package/lib/types/User.d.ts +1 -1
  242. package/lib/types/config/DumpConfiguration.d.ts +8 -8
  243. package/lib/types/config/HttpConfiguration.d.ts +1 -1
  244. package/lib/types/config/KuzzleConfiguration.d.ts +1 -1
  245. package/lib/types/config/LimitsConfiguration.d.ts +8 -8
  246. package/lib/types/config/PluginsConfiguration.d.ts +4 -4
  247. package/lib/types/config/SecurityConfiguration.d.ts +62 -62
  248. package/lib/types/config/ServerConfiguration.d.ts +55 -55
  249. package/lib/types/config/ServicesConfiguration.d.ts +2 -2
  250. package/lib/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +10 -10
  251. package/lib/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +3 -3
  252. package/lib/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +194 -110
  253. package/lib/types/errors/ErrorDefinition.d.ts +1 -1
  254. package/lib/types/errors/ErrorDomains.d.ts +1 -1
  255. package/lib/types/index.d.ts +38 -38
  256. package/lib/types/realtime/RealtimeScope.d.ts +1 -1
  257. package/lib/types/realtime/RealtimeUsers.d.ts +1 -1
  258. package/lib/util/assertType.js +13 -11
  259. package/lib/util/async.d.ts +1 -0
  260. package/lib/util/async.js +61 -0
  261. package/lib/util/asyncStore.js +19 -21
  262. package/lib/util/bufferedPassThrough.d.ts +2 -2
  263. package/lib/util/bufferedPassThrough.js +4 -4
  264. package/lib/util/bytes.js +9 -13
  265. package/lib/util/crypto.js +1 -1
  266. package/lib/util/debug.js +5 -5
  267. package/lib/util/deprecate.js +24 -21
  268. package/lib/util/didYouMean.js +7 -7
  269. package/lib/util/dump-collection.d.ts +2 -2
  270. package/lib/util/dump-collection.js +26 -26
  271. package/lib/util/esRequest.d.ts +1 -0
  272. package/lib/util/esRequest.js +62 -0
  273. package/lib/util/extractFields.js +24 -25
  274. package/lib/util/inflector.js +5 -5
  275. package/lib/util/koncordeCompat.d.ts +2 -2
  276. package/lib/util/koncordeCompat.js +5 -5
  277. package/lib/util/memoize.js +3 -5
  278. package/lib/util/mutex.d.ts +19 -1
  279. package/lib/util/mutex.js +39 -12
  280. package/lib/util/name-generator.js +1331 -1331
  281. package/lib/util/promback.js +8 -10
  282. package/lib/util/readYamlFile.d.ts +1 -1
  283. package/lib/util/readYamlFile.js +1 -1
  284. package/lib/util/requestAssertions.js +34 -34
  285. package/lib/util/safeObject.js +5 -5
  286. package/lib/util/stackTrace.js +20 -22
  287. package/lib/util/wildcard.js +15 -15
  288. package/package.json +6 -6
@@ -1,4 +1,4 @@
1
- import { OpenApiDefinition } from '../../types/OpenApiDefinition';
1
+ import { OpenApiDefinition } from "../../types/OpenApiDefinition";
2
2
  export declare class OpenApiManager {
3
3
  kuzzleDefinition: OpenApiDefinition;
4
4
  applicationDefinition: OpenApiDefinition;
@@ -32,38 +32,38 @@ class OpenApiManager {
32
32
  constructor(applicationDefinition, kuzzleRoutes, pluginsRoutes) {
33
33
  /* eslint-disable sort-keys */
34
34
  this.kuzzleDefinition = {
35
- swagger: '2.0',
35
+ swagger: "2.0",
36
36
  info: {
37
- title: 'Kuzzle API',
38
- description: 'Kuzzle HTTP API definition',
37
+ title: "Kuzzle API",
38
+ description: "Kuzzle HTTP API definition",
39
39
  contact: {
40
- name: 'Kuzzle team',
41
- url: 'https://kuzzle.io',
42
- email: 'support@kuzzle.io',
43
- discord: 'http://join.discord.kuzzle.io'
40
+ name: "Kuzzle team",
41
+ url: "https://kuzzle.io",
42
+ email: "support@kuzzle.io",
43
+ discord: "http://join.discord.kuzzle.io",
44
44
  },
45
45
  license: {
46
- name: 'Apache 2',
47
- url: 'http://opensource.org/licenses/apache2.0'
46
+ name: "Apache 2",
47
+ url: "http://opensource.org/licenses/apache2.0",
48
48
  },
49
- version: package_json_1.version
49
+ version: package_json_1.version,
50
50
  },
51
51
  externalDocs: {
52
- description: 'Kuzzle API Documentation',
53
- url: 'https://docs.kuzzle.io/core/2/api/'
52
+ description: "Kuzzle API Documentation",
53
+ url: "https://docs.kuzzle.io/core/2/api/",
54
54
  },
55
55
  servers: [
56
56
  {
57
- url: 'https://{baseUrl}:{port}',
58
- description: 'Kuzzle Base Url',
57
+ url: "https://{baseUrl}:{port}",
58
+ description: "Kuzzle Base Url",
59
59
  variables: {
60
- baseUrl: { default: 'localhost' },
61
- port: { default: 7512 }
60
+ baseUrl: { default: "localhost" },
61
+ port: { default: 7512 },
62
62
  },
63
- }
63
+ },
64
64
  ],
65
65
  tags: [],
66
- schemes: ['https', 'http'],
66
+ schemes: ["https", "http"],
67
67
  paths: {},
68
68
  components: {
69
69
  ...components_1.OpenApiPayloadsDefinitions,
@@ -83,8 +83,8 @@ class OpenApiManager {
83
83
  security: {
84
84
  ...components_1.OpenApiSecurityUpsertUserComponent,
85
85
  ...components_1.OpenApiDocumentmCreateOrReplaceComponent,
86
- }
87
- }
86
+ },
87
+ },
88
88
  };
89
89
  this.applicationDefinition = applicationDefinition;
90
90
  (0, openApiGenerator_1.generateOpenApi)(kuzzleRoutes, this.kuzzleDefinition);
@@ -92,8 +92,8 @@ class OpenApiManager {
92
92
  this.registerAskEvents();
93
93
  }
94
94
  registerAskEvents() {
95
- global.kuzzle.onAsk('core:api:openapi:kuzzle', () => this.kuzzleDefinition);
96
- global.kuzzle.onAsk('core:api:openapi:app', () => this.applicationDefinition);
95
+ global.kuzzle.onAsk("core:api:openapi:kuzzle", () => this.kuzzleDefinition);
96
+ global.kuzzle.onAsk("core:api:openapi:app", () => this.applicationDefinition);
97
97
  }
98
98
  }
99
99
  exports.OpenApiManager = OpenApiManager;
@@ -44,4 +44,4 @@ components:
44
44
  type: "object"
45
45
  properties:
46
46
  count:
47
- type: "integer"
47
+ type: "integer"
@@ -21,7 +21,7 @@ DocumentCreate:
21
21
  200:
22
22
  description: "Creates a new document in the persistent data storage."
23
23
  schema:
24
- $ref: "#/components/document/DocumentCreateResponse"
24
+ $ref: "#/components/document/DocumentCreateResponse"
25
25
 
26
26
  components:
27
27
  schemas:
@@ -43,4 +43,4 @@ components:
43
43
  _version:
44
44
  type: "integer"
45
45
  _sources:
46
- type: "object"
46
+ type: "object"
@@ -64,4 +64,4 @@ components:
64
64
  properties:
65
65
  _id:
66
66
  type: "string"
67
- description: "documentId"
67
+ description: "documentId"
@@ -87,4 +87,4 @@ components:
87
87
  ids:
88
88
  type: "array"
89
89
  items:
90
- type: "string"
90
+ type: "string"
@@ -32,4 +32,4 @@ components:
32
32
  - type: "object"
33
33
  properties:
34
34
  result:
35
- type: "boolean"
35
+ type: "boolean"
@@ -22,7 +22,7 @@ DocumentGet:
22
22
  200:
23
23
  description: "Gets a document."
24
24
  schema:
25
- $ref: "#/components/document/DocumentGetResponse"
25
+ $ref: "#/components/document/DocumentGetResponse"
26
26
 
27
27
  components:
28
28
  schemas:
@@ -65,4 +65,4 @@ components:
65
65
  updater:
66
66
  type:
67
67
  - integer
68
- - null
68
+ - null
@@ -4,62 +4,62 @@ exports.OpenApiDocumentmCreateOrReplaceComponent = exports.OpenApiDocumentmCreat
4
4
  const readYamlFile_1 = require("../../../../util/readYamlFile");
5
5
  // reading the description of the Count action in the controller document.
6
6
  // The yaml objects are then stored in the variables below
7
- const countObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/count.yaml');
7
+ const countObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/count.yaml");
8
8
  exports.OpenApiDocumentCount = countObject.DocumentCount;
9
9
  exports.OpenApiDocumentCountComponent = countObject.components.schemas;
10
10
  // reading the description of the Create action in the controller document.
11
11
  // The yaml objects are then stored in the variables below
12
- const createObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/create.yaml');
12
+ const createObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/create.yaml");
13
13
  exports.OpenApiDocumentCreate = createObject.DocumentCreate;
14
14
  exports.OpenApiDocumentCreateComponent = createObject.components.schemas;
15
15
  // reading the description of the CreateOrReplace action in the controller document.
16
16
  // The yaml objects are then stored in the variables below
17
- const createOrReplaceObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/createOrReplace.yaml');
17
+ const createOrReplaceObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/createOrReplace.yaml");
18
18
  exports.OpenApiDocumentCreateOrReplace = createOrReplaceObject.DocumentCreateOrReplace;
19
19
  exports.OpenApiDocumentCreateOrReplaceComponent = createOrReplaceObject.components.schemas;
20
20
  // reading the description of the Get action in the controller document.
21
21
  // The yaml objects are then stored in the variables below
22
- const getObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/get.yaml');
22
+ const getObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/get.yaml");
23
23
  exports.OpenApiDocumentGet = getObject.DocumentGet;
24
24
  exports.OpenApiDocumentGetComponent = getObject.components.schemas;
25
25
  // reading the description of the Replace action in the controller document.
26
26
  // The yaml objects are then stored in the variables below
27
- const replaceObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/replace.yaml');
27
+ const replaceObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/replace.yaml");
28
28
  exports.OpenApiDocumentReplace = replaceObject.DocumentReplace;
29
29
  exports.OpenApiDocumentReplaceComponent = replaceObject.components.schemas;
30
30
  // reading the description of the Exists action in the controller document.
31
31
  // The yaml objects are then stored in the variables below
32
- const existsObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/exists.yaml');
32
+ const existsObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/exists.yaml");
33
33
  exports.OpenApiDocumentExists = existsObject.DocumentExists;
34
34
  exports.OpenApiDocumentExistsComponent = existsObject.components.schemas;
35
35
  // reading the description of the Update action in the controller document.
36
36
  // The yaml objects are then stored in the variables below
37
- const updateObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/update.yaml');
37
+ const updateObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/update.yaml");
38
38
  exports.OpenApiDocumentUpdate = updateObject.DocumentUpdate;
39
39
  exports.OpenApiDocumentUpdateComponent = updateObject.components.schemas;
40
40
  // reading the description of the Scroll action in the controller document.
41
41
  // The yaml objects are then stored in the variables below
42
- const scrollObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/scroll.yaml');
42
+ const scrollObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/scroll.yaml");
43
43
  exports.OpenApiDocumentScroll = scrollObject.DocumentScroll;
44
44
  exports.OpenApiDocumentScrollComponent = scrollObject.components.schemas;
45
45
  // reading the description of the Delete action in the controller document.
46
46
  // The yaml objects are then stored in the variables below
47
- const deleteObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/delete.yaml');
47
+ const deleteObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/delete.yaml");
48
48
  exports.OpenApiDocumentDelete = deleteObject.DocumentDelete;
49
49
  exports.OpenApiDocumentDeleteComponent = deleteObject.components.schemas;
50
50
  // reading the description of the DeleteByQuery action in the controller document.
51
51
  // The yaml objects are then stored in the variables below
52
- const deleteByQueryObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/deleteByQuery.yaml');
52
+ const deleteByQueryObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/deleteByQuery.yaml");
53
53
  exports.OpenApiDocumentDeleteByQuery = deleteByQueryObject.DocumentDeleteByQuery;
54
54
  exports.OpenApiDocumentDeleteByQueryComponent = deleteByQueryObject.components.schemas;
55
55
  // reading the description of the Validate action in the controller document.
56
56
  // The yaml objects are then stored in the variables below
57
- const validateObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/validate.yaml');
57
+ const validateObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/validate.yaml");
58
58
  exports.OpenApiDocumentValidate = validateObject.DocumentValidate;
59
59
  exports.OpenApiDocumentValidateComponent = validateObject.components.schemas;
60
60
  // reading the description of the mCreateOrReplace action in the controller document.
61
61
  // The yaml objects are then stored in the variables below
62
- const mCreateOrReplaceObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/mCreateOrReplace.yaml');
62
+ const mCreateOrReplaceObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/mCreateOrReplace.yaml");
63
63
  exports.OpenApiDocumentmCreateOrReplace = mCreateOrReplaceObject.DocumentmCreateOrReplace;
64
64
  exports.OpenApiDocumentmCreateOrReplaceComponent = mCreateOrReplaceObject.components.schemas;
65
65
  //# sourceMappingURL=index.js.map
@@ -63,4 +63,4 @@ components:
63
63
  type: "integer"
64
64
  _sources:
65
65
  type: "object"
66
- description: "new document content"
66
+ description: "new document content"
@@ -46,4 +46,4 @@ components:
46
46
  type: "integer"
47
47
  _source:
48
48
  type: "object"
49
- description: "document content"
49
+ description: "document content"
@@ -39,4 +39,4 @@ components:
39
39
  type: "object"
40
40
  properties:
41
41
  valid:
42
- type: "boolean"
42
+ type: "boolean"
@@ -1,3 +1,3 @@
1
- export * from './document';
2
- export * from './security';
1
+ export * from "./document";
2
+ export * from "./security";
3
3
  export declare const OpenApiPayloadsDefinitions: any;
@@ -19,5 +19,5 @@ const readYamlFile_1 = require("../../../util/readYamlFile");
19
19
  __exportStar(require("./document"), exports);
20
20
  __exportStar(require("./security"), exports);
21
21
  // Document definitions (reusable object for KuzzleRequest and KuzzleResponse)
22
- exports.OpenApiPayloadsDefinitions = (0, readYamlFile_1.readYamlFile)(__dirname + '/payloads.yaml').definitions;
22
+ exports.OpenApiPayloadsDefinitions = (0, readYamlFile_1.readYamlFile)(__dirname + "/payloads.yaml").definitions;
23
23
  //# sourceMappingURL=index.js.map
@@ -4,7 +4,7 @@ exports.OpenApiSecurityUpsertUserComponent = exports.OpenApiSecurityUpsertUser =
4
4
  const readYamlFile_1 = require("../../../../util/readYamlFile");
5
5
  // reading the description of the UpsertUser action in the controller security.
6
6
  // The yaml objects are then stored in the variables below
7
- const upsertUserObject = (0, readYamlFile_1.readYamlFile)(__dirname + '/upsertUser.yaml');
7
+ const upsertUserObject = (0, readYamlFile_1.readYamlFile)(__dirname + "/upsertUser.yaml");
8
8
  exports.OpenApiSecurityUpsertUser = upsertUserObject.SecurityUpsertUser;
9
9
  exports.OpenApiSecurityUpsertUserComponent = upsertUserObject.components.schemas;
10
10
  //# sourceMappingURL=index.js.map
@@ -31,7 +31,7 @@ SecurityUpsertUser:
31
31
  description: "Updates or creates a user."
32
32
  schema:
33
33
  $ref: "#/components/security/SecurityUpsertUserResponse"
34
-
34
+
35
35
  components:
36
36
  schemas:
37
37
  SecurityUpsertUserRequest:
@@ -53,7 +53,6 @@ components:
53
53
  type: "integer"
54
54
  _source:
55
55
  type: "object"
56
- description: " (optional) actualized user content. This property appears only if the \"source\" option is set to true"
56
+ description: ' (optional) actualized user content. This property appears only if the "source" option is set to true'
57
57
  created:
58
58
  type: "boolean"
59
-
@@ -1 +1 @@
1
- export * from './OpenApiManager';
1
+ export * from "./OpenApiManager";
@@ -1,4 +1,4 @@
1
- import { JSONObject } from '../../../index';
1
+ import { JSONObject } from "../../../index";
2
2
  /**
3
3
  * Generates JSON OpenApi object
4
4
  *
@@ -38,7 +38,7 @@ function generateController(route, definition) {
38
38
  const capitalizedController = inflector_1.Inflector.pascalCase(route.controller);
39
39
  definition.tags.push({
40
40
  description: `${capitalizedController} Controller`,
41
- name: route.controller
41
+ name: route.controller,
42
42
  });
43
43
  }
44
44
  if (route.openapi.tags === undefined) {
@@ -69,10 +69,10 @@ function generateParameters(route) {
69
69
  while (m !== null) {
70
70
  routeUrlMatch.lastIndex++;
71
71
  route.openapi.parameters.push({
72
- in: 'path',
72
+ in: "path",
73
73
  name: m[1],
74
74
  required: true,
75
- schema: { type: 'string' }
75
+ schema: { type: "string" },
76
76
  });
77
77
  m = routeUrlMatch.exec(route.path);
78
78
  }
@@ -87,9 +87,9 @@ function generateParameters(route) {
87
87
  function generateResponse(route) {
88
88
  if (route.openapi.responses === undefined) {
89
89
  route.openapi.responses = {
90
- '200': {
91
- description: 'OK'
92
- }
90
+ "200": {
91
+ description: "OK",
92
+ },
93
93
  };
94
94
  }
95
95
  }
@@ -105,7 +105,7 @@ function generateOpenApi(routes, definition) {
105
105
  route.verb = route.verb.toLowerCase();
106
106
  }
107
107
  // Set :param notation to {param}
108
- route.formattedPath = route.path.replace(routeUrlMatch, '{$1}');
108
+ route.formattedPath = route.path.replace(routeUrlMatch, "{$1}");
109
109
  if (definition.paths[route.formattedPath] === undefined) {
110
110
  definition.paths[route.formattedPath] = {};
111
111
  }
@@ -19,17 +19,17 @@
19
19
  * limitations under the License.
20
20
  */
21
21
 
22
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  class RateLimiter {
25
- constructor () {
25
+ constructor() {
26
26
  this.loginsPerSecond = global.kuzzle.config.limits.loginsPerSecond;
27
27
  this.frame = {};
28
28
  this.frameResetTimer = null;
29
29
  }
30
30
 
31
- init () {
32
- this.frameResetTimer = setInterval(() => ( this.frame = {} ), 1000);
31
+ init() {
32
+ this.frameResetTimer = setInterval(() => (this.frame = {}), 1000);
33
33
  }
34
34
 
35
35
  /**
@@ -42,36 +42,35 @@ class RateLimiter {
42
42
  * @param {Request} request
43
43
  * @returns {Boolean}
44
44
  */
45
- async isAllowed (request) {
45
+ async isAllowed(request) {
46
46
  const { controller, action } = request.input;
47
47
  let count = 0;
48
48
  let limit = -1;
49
49
 
50
- if (controller === 'auth' && action === 'login') {
50
+ if (controller === "auth" && action === "login") {
51
51
  const cid = request.context.connection.id;
52
52
 
53
53
  count = this.frame[cid] = (this.frame[cid] || 0) + 1;
54
54
  limit = this.loginsPerSecond;
55
- }
56
- else {
55
+ } else {
57
56
  const { _id, profileIds } = request.context.user;
58
57
 
59
58
  // By definition, auth:logout should be unrestricted
60
- if (_id !== '-1' && controller === 'auth' && action === 'logout') {
59
+ if (_id !== "-1" && controller === "auth" && action === "logout") {
61
60
  return true;
62
61
  }
63
62
 
64
63
  const profiles = await global.kuzzle.ask(
65
- 'core:security:profile:mGet',
66
- profileIds);
64
+ "core:security:profile:mGet",
65
+ profileIds
66
+ );
67
67
 
68
68
  for (let i = 0; i < profiles.length; i++) {
69
69
  const { rateLimit = 0 } = profiles[i];
70
70
 
71
71
  if (limit === 0 || rateLimit === 0) {
72
72
  limit = 0;
73
- }
74
- else {
73
+ } else {
75
74
  limit = Math.max(limit, rateLimit);
76
75
  }
77
76
  }
@@ -1,4 +1,4 @@
1
- export * from './kuzzleRequest';
2
- export * from './requestContext';
3
- export * from './requestInput';
4
- export * from './requestResponse';
1
+ export * from "./kuzzleRequest";
2
+ export * from "./requestContext";
3
+ export * from "./requestInput";
4
+ export * from "./requestResponse";
@@ -1,9 +1,9 @@
1
- import { JSONObject } from 'kuzzle-sdk';
2
- import { RequestInput } from './requestInput';
3
- import { RequestResponse } from './requestResponse';
4
- import { RequestContext } from './requestContext';
5
- import { KuzzleError } from '../../kerror/errors';
6
- import { Deprecation, User } from '../../types';
1
+ import { JSONObject } from "kuzzle-sdk";
2
+ import { RequestInput } from "./requestInput";
3
+ import { RequestResponse } from "./requestResponse";
4
+ import { RequestContext } from "./requestContext";
5
+ import { KuzzleError } from "../../kerror/errors";
6
+ import { Deprecation, User } from "../../types";
7
7
  /**
8
8
  * The `KuzzleRequest` class represents a request being processed by Kuzzle.
9
9
  *
@@ -140,7 +140,7 @@ export declare class KuzzleRequest {
140
140
  *
141
141
  * It can only be 'elasticsearch' or 'koncorde'
142
142
  */
143
- getLangParam(): 'elasticsearch' | 'koncorde';
143
+ getLangParam(): "elasticsearch" | "koncorde";
144
144
  /**
145
145
  * Gets a parameter from a request body and checks that it is a boolean.
146
146
  * Contrary to other parameter types, an unset boolean does not trigger an
@@ -358,7 +358,7 @@ export declare class KuzzleRequest {
358
358
  *
359
359
  */
360
360
  getId(options?: {
361
- ifMissing?: 'error' | 'generate' | 'ignore';
361
+ ifMissing?: "error" | "generate" | "ignore";
362
362
  generator?: () => string;
363
363
  }): string;
364
364
  /**
@@ -390,7 +390,7 @@ export declare class KuzzleRequest {
390
390
  /**
391
391
  * Gets the refresh value.
392
392
  */
393
- getRefresh(defaultValue?: 'false' | 'wait_for'): 'false' | 'wait_for';
393
+ getRefresh(defaultValue?: "false" | "wait_for"): "false" | "wait_for";
394
394
  /**
395
395
  * Returns true if the current user have `admin` profile
396
396
  */