kuzzle 2.49.1 → 2.50.0-beta.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 (592) hide show
  1. package/dist/bin/check-node-version.js +11 -0
  2. package/dist/bin/copy-protobuf.js +17 -0
  3. package/dist/lib/api/controllers/adminController.d.ts +51 -0
  4. package/dist/lib/api/controllers/adminController.js +191 -0
  5. package/{lib → dist/lib}/api/controllers/authController.d.ts +20 -40
  6. package/{lib → dist/lib}/api/controllers/authController.js +23 -24
  7. package/dist/lib/api/controllers/bulkController.d.ts +46 -0
  8. package/dist/lib/api/controllers/bulkController.js +132 -0
  9. package/dist/lib/api/controllers/clusterController.d.ts +6 -0
  10. package/{lib → dist/lib}/api/controllers/clusterController.js +7 -11
  11. package/dist/lib/api/controllers/collectionController.d.ts +136 -0
  12. package/dist/lib/api/controllers/collectionController.js +356 -0
  13. package/dist/lib/api/controllers/documentController.d.ts +181 -0
  14. package/dist/lib/api/controllers/documentController.js +768 -0
  15. package/dist/lib/api/controllers/index.d.ts +12 -0
  16. package/{lib → dist/lib}/api/controllers/index.js +13 -14
  17. package/dist/lib/api/controllers/indexController.d.ts +65 -0
  18. package/dist/lib/api/controllers/indexController.js +139 -0
  19. package/dist/lib/api/controllers/memoryStorageController.d.ts +8 -0
  20. package/dist/lib/api/controllers/memoryStorageController.js +867 -0
  21. package/dist/lib/api/controllers/realtimeController.d.ts +47 -0
  22. package/dist/lib/api/controllers/realtimeController.js +128 -0
  23. package/dist/lib/api/controllers/securityController.d.ts +423 -0
  24. package/dist/lib/api/controllers/securityController.js +1139 -0
  25. package/dist/lib/api/controllers/serverController.d.ts +82 -0
  26. package/dist/lib/api/controllers/serverController.js +321 -0
  27. package/dist/lib/api/documentExtractor.d.ts +9 -0
  28. package/dist/lib/api/documentExtractor.js +274 -0
  29. package/dist/lib/api/funnel.d.ts +183 -0
  30. package/dist/lib/api/funnel.js +821 -0
  31. package/dist/lib/api/httpRoutes.d.ts +17 -0
  32. package/dist/lib/api/httpRoutes.js +1496 -0
  33. package/dist/lib/api/rateLimiter.d.ts +18 -0
  34. package/dist/lib/api/rateLimiter.js +74 -0
  35. package/{lib → dist/lib}/api/request/kuzzleRequest.d.ts +2 -2
  36. package/{lib → dist/lib}/api/request/requestContext.d.ts +2 -1
  37. package/dist/lib/cluster/command.d.ts +73 -0
  38. package/dist/lib/cluster/command.js +236 -0
  39. package/dist/lib/cluster/index.d.ts +2 -0
  40. package/{lib → dist/lib}/cluster/index.js +1 -2
  41. package/dist/lib/cluster/node.d.ts +278 -0
  42. package/dist/lib/cluster/node.js +876 -0
  43. package/dist/lib/cluster/publisher.d.ts +188 -0
  44. package/dist/lib/cluster/publisher.js +347 -0
  45. package/dist/lib/cluster/subscriber.d.ts +269 -0
  46. package/dist/lib/cluster/subscriber.js +555 -0
  47. package/dist/lib/cluster/workers/IDCardRenewer.d.ts +13 -0
  48. package/dist/lib/cluster/workers/IDCardRenewer.js +120 -0
  49. package/{lib → dist/lib}/config/documentEventAliases.d.ts +1 -2
  50. package/dist/lib/config/index.d.ts +5 -0
  51. package/dist/lib/config/index.js +244 -0
  52. package/dist/lib/config/sdkCompatibility.json +9 -0
  53. package/dist/lib/core/auth/formatProcessing.d.ts +30 -0
  54. package/dist/lib/core/auth/formatProcessing.js +55 -0
  55. package/dist/lib/core/auth/passportResponse.d.ts +15 -0
  56. package/{lib → dist/lib}/core/auth/passportResponse.js +24 -30
  57. package/dist/lib/core/auth/passportWrapper.d.ts +28 -0
  58. package/dist/lib/core/auth/passportWrapper.js +126 -0
  59. package/{lib → dist/lib}/core/backend/backendConfig.js +2 -2
  60. package/{lib → dist/lib}/core/backend/backendErrors.js +9 -12
  61. package/dist/lib/core/cache/cacheEngine.d.ts +15 -0
  62. package/dist/lib/core/cache/cacheEngine.js +205 -0
  63. package/dist/lib/core/network/accessLogger.d.ts +29 -0
  64. package/dist/lib/core/network/accessLogger.js +250 -0
  65. package/dist/lib/core/network/clientConnection.d.ts +15 -0
  66. package/{lib → dist/lib}/core/network/clientConnection.js +17 -24
  67. package/dist/lib/core/network/context.d.ts +42 -0
  68. package/dist/lib/core/network/context.js +57 -0
  69. package/dist/lib/core/network/entryPoint.d.ts +62 -0
  70. package/dist/lib/core/network/entryPoint.js +261 -0
  71. package/dist/lib/core/network/httpRouter/index.d.ts +85 -0
  72. package/dist/lib/core/network/httpRouter/index.js +258 -0
  73. package/dist/lib/core/network/httpRouter/routeHandler.d.ts +46 -0
  74. package/dist/lib/core/network/httpRouter/routeHandler.js +101 -0
  75. package/dist/lib/core/network/httpRouter/routePart.d.ts +35 -0
  76. package/dist/lib/core/network/httpRouter/routePart.js +117 -0
  77. package/dist/lib/core/network/protocolManifest.d.ts +6 -0
  78. package/{lib → dist/lib}/core/network/protocolManifest.js +5 -9
  79. package/dist/lib/core/network/protocols/httpMessage.d.ts +22 -0
  80. package/dist/lib/core/network/protocols/httpMessage.js +62 -0
  81. package/dist/lib/core/network/protocols/httpwsProtocol.d.ts +171 -0
  82. package/dist/lib/core/network/protocols/httpwsProtocol.js +921 -0
  83. package/dist/lib/core/network/protocols/internalProtocol.d.ts +27 -0
  84. package/dist/lib/core/network/protocols/internalProtocol.js +82 -0
  85. package/dist/lib/core/network/protocols/mqttProtocol.d.ts +39 -0
  86. package/dist/lib/core/network/protocols/mqttProtocol.js +219 -0
  87. package/dist/lib/core/network/protocols/protocol.d.ts +26 -0
  88. package/dist/lib/core/network/protocols/protocol.js +74 -0
  89. package/dist/lib/core/network/router.d.ts +49 -0
  90. package/dist/lib/core/network/router.js +193 -0
  91. package/dist/lib/core/plugin/plugin.d.ts +56 -0
  92. package/dist/lib/core/plugin/plugin.js +282 -0
  93. package/{lib → dist/lib}/core/plugin/pluginContext.js +2 -2
  94. package/dist/lib/core/plugin/pluginManifest.d.ts +5 -0
  95. package/{lib → dist/lib}/core/plugin/pluginManifest.js +16 -27
  96. package/dist/lib/core/plugin/pluginRepository.d.ts +53 -0
  97. package/dist/lib/core/plugin/pluginRepository.js +112 -0
  98. package/dist/lib/core/plugin/pluginsManager.d.ts +190 -0
  99. package/dist/lib/core/plugin/pluginsManager.js +817 -0
  100. package/dist/lib/core/plugin/privilegedContext.d.ts +14 -0
  101. package/{lib → dist/lib}/core/plugin/privilegedContext.js +10 -14
  102. package/dist/lib/core/realtime/actionEnum.d.ts +25 -0
  103. package/{lib → dist/lib}/core/realtime/actionEnum.js +7 -10
  104. package/dist/lib/core/realtime/index.d.ts +8 -0
  105. package/{lib → dist/lib}/core/realtime/index.js +9 -13
  106. package/dist/lib/core/realtime/notification/document.d.ts +34 -0
  107. package/dist/lib/core/realtime/notification/document.js +98 -0
  108. package/dist/lib/core/realtime/notification/index.d.ts +3 -0
  109. package/{lib → dist/lib}/core/realtime/notification/index.js +4 -5
  110. package/dist/lib/core/realtime/notification/server.d.ts +17 -0
  111. package/{lib → dist/lib}/core/realtime/notification/server.js +8 -10
  112. package/dist/lib/core/realtime/notification/user.d.ts +29 -0
  113. package/dist/lib/core/realtime/notification/user.js +66 -0
  114. package/dist/lib/core/realtime/notifier.d.ts +171 -0
  115. package/dist/lib/core/realtime/notifier.js +405 -0
  116. package/dist/lib/core/security/index.d.ts +14 -0
  117. package/{lib → dist/lib}/core/security/index.js +15 -19
  118. package/dist/lib/core/security/roleRepository.d.ts +143 -0
  119. package/dist/lib/core/security/roleRepository.js +445 -0
  120. package/dist/lib/core/security/securityLoader.d.ts +24 -0
  121. package/dist/lib/core/security/securityLoader.js +125 -0
  122. package/{lib → dist/lib}/core/security/tokenRepository.js +1 -1
  123. package/dist/lib/core/security/userRepository.d.ts +81 -0
  124. package/dist/lib/core/security/userRepository.js +346 -0
  125. package/dist/lib/core/shared/abstractManifest.d.ts +27 -0
  126. package/dist/lib/core/shared/abstractManifest.js +85 -0
  127. package/dist/lib/core/shared/sdk/impersonatedSdk.d.ts +7 -0
  128. package/dist/lib/core/shared/sdk/impersonatedSdk.js +80 -0
  129. package/{lib → dist/lib}/core/shared/store.d.ts +2 -2
  130. package/dist/lib/core/statistics/statistics.d.ts +94 -0
  131. package/dist/lib/core/statistics/statistics.js +287 -0
  132. package/dist/lib/core/storage/clientAdapter.d.ts +62 -0
  133. package/dist/lib/core/storage/clientAdapter.js +756 -0
  134. package/dist/lib/core/storage/storageEngine.d.ts +13 -0
  135. package/dist/lib/core/storage/storageEngine.js +52 -0
  136. package/dist/lib/core/validation/baseType.d.ts +35 -0
  137. package/dist/lib/core/validation/baseType.js +70 -0
  138. package/dist/lib/core/validation/types/anything.d.ts +10 -0
  139. package/{lib → dist/lib}/core/validation/types/anything.js +7 -10
  140. package/dist/lib/core/validation/types/boolean.d.ts +16 -0
  141. package/{lib → dist/lib}/core/validation/types/boolean.js +18 -23
  142. package/dist/lib/core/validation/types/date.d.ts +17 -0
  143. package/dist/lib/core/validation/types/date.js +215 -0
  144. package/dist/lib/core/validation/types/email.d.ts +17 -0
  145. package/dist/lib/core/validation/types/email.js +80 -0
  146. package/dist/lib/core/validation/types/enum.d.ts +17 -0
  147. package/dist/lib/core/validation/types/enum.js +70 -0
  148. package/dist/lib/core/validation/types/geoPoint.d.ts +17 -0
  149. package/{lib → dist/lib}/core/validation/types/geoPoint.js +19 -24
  150. package/dist/lib/core/validation/types/geoShape.d.ts +31 -0
  151. package/dist/lib/core/validation/types/geoShape.js +280 -0
  152. package/dist/lib/core/validation/types/integer.d.ts +7 -0
  153. package/{lib → dist/lib}/core/validation/types/integer.js +21 -27
  154. package/dist/lib/core/validation/types/ipAddress.d.ts +17 -0
  155. package/dist/lib/core/validation/types/ipAddress.js +73 -0
  156. package/dist/lib/core/validation/types/numeric.d.ts +17 -0
  157. package/dist/lib/core/validation/types/numeric.js +84 -0
  158. package/dist/lib/core/validation/types/object.d.ts +24 -0
  159. package/dist/lib/core/validation/types/object.js +74 -0
  160. package/dist/lib/core/validation/types/string.d.ts +17 -0
  161. package/dist/lib/core/validation/types/string.js +85 -0
  162. package/dist/lib/core/validation/types/url.d.ts +17 -0
  163. package/dist/lib/core/validation/types/url.js +73 -0
  164. package/dist/lib/core/validation/validation.d.ts +113 -0
  165. package/dist/lib/core/validation/validation.js +692 -0
  166. package/dist/lib/kerror/codes/0-core.json +194 -0
  167. package/dist/lib/kerror/codes/1-services.json +351 -0
  168. package/dist/lib/kerror/codes/2-api.json +195 -0
  169. package/dist/lib/kerror/codes/3-network.json +151 -0
  170. package/dist/lib/kerror/codes/4-plugin.json +498 -0
  171. package/dist/lib/kerror/codes/5-validation.json +158 -0
  172. package/dist/lib/kerror/codes/6-protocol.json +28 -0
  173. package/dist/lib/kerror/codes/7-security.json +283 -0
  174. package/dist/lib/kerror/codes/8-cluster.json +16 -0
  175. package/dist/lib/kerror/codes/index.d.ts +24 -0
  176. package/dist/lib/kerror/codes/index.js +140 -0
  177. package/{lib → dist/lib}/kerror/index.d.ts +5 -5
  178. package/{lib → dist/lib}/kuzzle/Logger.d.ts +6 -0
  179. package/{lib → dist/lib}/kuzzle/Logger.js +26 -5
  180. package/dist/lib/kuzzle/dumpGenerator.d.ts +14 -0
  181. package/dist/lib/kuzzle/dumpGenerator.js +180 -0
  182. package/dist/lib/kuzzle/event/pipeRunner.d.ts +30 -0
  183. package/dist/lib/kuzzle/event/pipeRunner.js +119 -0
  184. package/dist/lib/kuzzle/event/waterfall.d.ts +2 -0
  185. package/dist/lib/kuzzle/event/waterfall.js +90 -0
  186. package/dist/lib/kuzzle/internalIndexHandler.d.ts +186 -0
  187. package/dist/lib/kuzzle/internalIndexHandler.js +174 -0
  188. package/{lib → dist/lib}/kuzzle/kuzzle.d.ts +6 -7
  189. package/{lib → dist/lib}/kuzzle/kuzzle.js +5 -2
  190. package/dist/lib/kuzzle/kuzzleStateEnum.d.ts +20 -0
  191. package/{lib → dist/lib}/kuzzle/kuzzleStateEnum.js +5 -8
  192. package/dist/lib/kuzzle/vault.d.ts +2 -0
  193. package/dist/lib/kuzzle/vault.js +63 -0
  194. package/dist/lib/model/security/rights.d.ts +8 -0
  195. package/{lib → dist/lib}/model/security/rights.js +4 -8
  196. package/{lib → dist/lib}/model/security/role.d.ts +1 -1
  197. package/{lib → dist/lib}/model/security/user.d.ts +1 -0
  198. package/dist/lib/model/storage/apiKey.d.ts +49 -0
  199. package/dist/lib/model/storage/apiKey.js +126 -0
  200. package/dist/lib/model/storage/baseModel.d.ts +100 -0
  201. package/dist/lib/model/storage/baseModel.js +211 -0
  202. package/dist/lib/service/cache/redis.d.ts +74 -0
  203. package/dist/lib/service/cache/redis.js +237 -0
  204. package/dist/lib/service/service.d.ts +30 -0
  205. package/dist/lib/service/service.js +74 -0
  206. package/{lib → dist/lib}/service/storage/7/elasticsearch.d.ts +2 -2
  207. package/{lib → dist/lib}/service/storage/7/elasticsearch.js +23 -25
  208. package/dist/lib/service/storage/7/esWrapper.d.ts +19 -0
  209. package/dist/lib/service/storage/7/esWrapper.js +245 -0
  210. package/{lib → dist/lib}/service/storage/8/elasticsearch.js +23 -25
  211. package/dist/lib/service/storage/8/esWrapper.d.ts +19 -0
  212. package/dist/lib/service/storage/8/esWrapper.js +245 -0
  213. package/{lib → dist/lib}/types/Plugin.d.ts +1 -1
  214. package/{lib/types → dist/lib/types/controllers}/Controller.d.ts +2 -2
  215. package/{lib/types → dist/lib/types/controllers}/ControllerDefinition.d.ts +1 -1
  216. package/dist/lib/types/controllers/adminControlller.type.d.ts +5 -0
  217. package/dist/lib/types/controllers/adminControlller.type.js +3 -0
  218. package/dist/lib/types/controllers/authController.type.d.ts +5 -0
  219. package/dist/lib/types/controllers/authController.type.js +3 -0
  220. package/dist/lib/types/core/auth/formatProcessing.type.d.ts +7 -0
  221. package/dist/lib/types/core/auth/formatProcessing.type.js +3 -0
  222. package/{lib → dist/lib}/types/index.d.ts +3 -3
  223. package/{lib → dist/lib}/types/index.js +3 -3
  224. package/dist/lib/util/assertType.d.ts +41 -0
  225. package/{lib → dist/lib}/util/assertType.js +38 -56
  226. package/dist/lib/util/asyncStore.d.ts +38 -0
  227. package/dist/lib/util/asyncStore.js +70 -0
  228. package/dist/lib/util/bytes.d.ts +2 -0
  229. package/dist/lib/util/bytes.js +33 -0
  230. package/dist/lib/util/debug.d.ts +2 -0
  231. package/{lib → dist/lib}/util/debug.js +15 -23
  232. package/dist/lib/util/deprecate.d.ts +1 -0
  233. package/dist/lib/util/deprecate.js +64 -0
  234. package/dist/lib/util/didYouMean.d.ts +2 -0
  235. package/{lib → dist/lib}/util/didYouMean.js +9 -15
  236. package/dist/lib/util/extractFields.d.ts +17 -0
  237. package/{lib → dist/lib}/util/extractFields.js +18 -32
  238. package/dist/lib/util/memoize.d.ts +7 -0
  239. package/{lib → dist/lib}/util/memoize.js +14 -21
  240. package/dist/lib/util/promback.d.ts +13 -0
  241. package/dist/lib/util/promback.js +60 -0
  242. package/dist/lib/util/requestAssertions.d.ts +10 -0
  243. package/dist/lib/util/requestAssertions.js +143 -0
  244. package/dist/lib/util/safeObject.d.ts +3 -0
  245. package/{lib → dist/lib}/util/safeObject.js +7 -13
  246. package/dist/lib/util/stackTrace.d.ts +19 -0
  247. package/{lib → dist/lib}/util/stackTrace.js +35 -41
  248. package/dist/lib/util/wildcard.d.ts +1 -0
  249. package/{lib → dist/lib}/util/wildcard.js +21 -30
  250. package/dist/package.json +120 -0
  251. package/package.json +45 -58
  252. package/bin/start-kuzzle-server +0 -126
  253. package/check-node-version.js +0 -17
  254. package/lib/api/controllers/adminController.js +0 -229
  255. package/lib/api/controllers/bulkController.js +0 -210
  256. package/lib/api/controllers/collectionController.js +0 -502
  257. package/lib/api/controllers/documentController.js +0 -1156
  258. package/lib/api/controllers/indexController.js +0 -179
  259. package/lib/api/controllers/memoryStorageController.js +0 -1023
  260. package/lib/api/controllers/realtimeController.js +0 -155
  261. package/lib/api/controllers/securityController.js +0 -1571
  262. package/lib/api/controllers/serverController.js +0 -381
  263. package/lib/api/documentExtractor.js +0 -309
  264. package/lib/api/funnel.js +0 -1143
  265. package/lib/api/httpRoutes.js +0 -1547
  266. package/lib/api/rateLimiter.js +0 -87
  267. package/lib/cluster/command.js +0 -284
  268. package/lib/cluster/node.js +0 -1203
  269. package/lib/cluster/publisher.js +0 -386
  270. package/lib/cluster/subscriber.js +0 -776
  271. package/lib/cluster/workers/IDCardRenewer.js +0 -144
  272. package/lib/config/index.js +0 -351
  273. package/lib/config/sdkCompatibility.json +0 -9
  274. package/lib/core/auth/formatProcessing.js +0 -66
  275. package/lib/core/auth/passportWrapper.js +0 -126
  276. package/lib/core/cache/cacheEngine.js +0 -278
  277. package/lib/core/network/accessLogger.js +0 -322
  278. package/lib/core/network/context.js +0 -80
  279. package/lib/core/network/entryPoint.js +0 -358
  280. package/lib/core/network/httpRouter/index.js +0 -316
  281. package/lib/core/network/httpRouter/routeHandler.js +0 -111
  282. package/lib/core/network/httpRouter/routePart.js +0 -147
  283. package/lib/core/network/protocols/httpMessage.js +0 -69
  284. package/lib/core/network/protocols/httpwsProtocol.js +0 -1254
  285. package/lib/core/network/protocols/internalProtocol.js +0 -109
  286. package/lib/core/network/protocols/mqttProtocol.js +0 -291
  287. package/lib/core/network/protocols/protocol.js +0 -102
  288. package/lib/core/network/router.js +0 -255
  289. package/lib/core/plugin/plugin.js +0 -436
  290. package/lib/core/plugin/pluginRepository.js +0 -132
  291. package/lib/core/plugin/pluginsManager.js +0 -1244
  292. package/lib/core/realtime/notification/document.js +0 -108
  293. package/lib/core/realtime/notification/user.js +0 -70
  294. package/lib/core/realtime/notifier.js +0 -541
  295. package/lib/core/security/README.md +0 -223
  296. package/lib/core/security/roleRepository.js +0 -569
  297. package/lib/core/security/securityLoader.js +0 -174
  298. package/lib/core/security/userRepository.js +0 -446
  299. package/lib/core/shared/README.md +0 -3
  300. package/lib/core/shared/abstractManifest.js +0 -102
  301. package/lib/core/shared/sdk/impersonatedSdk.js +0 -94
  302. package/lib/core/statistics/index.js +0 -24
  303. package/lib/core/statistics/statistics.js +0 -373
  304. package/lib/core/storage/clientAdapter.js +0 -1045
  305. package/lib/core/storage/storageEngine.js +0 -63
  306. package/lib/core/validation/baseType.js +0 -80
  307. package/lib/core/validation/index.js +0 -24
  308. package/lib/core/validation/types/date.js +0 -284
  309. package/lib/core/validation/types/email.js +0 -92
  310. package/lib/core/validation/types/enum.js +0 -100
  311. package/lib/core/validation/types/geoShape.js +0 -370
  312. package/lib/core/validation/types/ipAddress.js +0 -83
  313. package/lib/core/validation/types/numeric.js +0 -108
  314. package/lib/core/validation/types/object.js +0 -88
  315. package/lib/core/validation/types/string.js +0 -110
  316. package/lib/core/validation/types/url.js +0 -83
  317. package/lib/core/validation/validation.js +0 -1180
  318. package/lib/kerror/codes/0-core.json +0 -194
  319. package/lib/kerror/codes/1-services.json +0 -351
  320. package/lib/kerror/codes/2-api.json +0 -195
  321. package/lib/kerror/codes/3-network.json +0 -151
  322. package/lib/kerror/codes/4-plugin.json +0 -498
  323. package/lib/kerror/codes/5-validation.json +0 -158
  324. package/lib/kerror/codes/6-protocol.json +0 -28
  325. package/lib/kerror/codes/7-security.json +0 -283
  326. package/lib/kerror/codes/8-cluster.json +0 -16
  327. package/lib/kerror/codes/index.js +0 -208
  328. package/lib/kuzzle/dumpGenerator.js +0 -259
  329. package/lib/kuzzle/event/pipeRunner.js +0 -144
  330. package/lib/kuzzle/event/waterfall.js +0 -101
  331. package/lib/kuzzle/internalIndexHandler.js +0 -234
  332. package/lib/kuzzle/vault.js +0 -89
  333. package/lib/model/storage/apiKey.js +0 -158
  334. package/lib/model/storage/baseModel.js +0 -275
  335. package/lib/service/cache/redis.js +0 -282
  336. package/lib/service/service.js +0 -84
  337. package/lib/service/storage/7/esWrapper.js +0 -303
  338. package/lib/service/storage/8/esWrapper.js +0 -303
  339. package/lib/util/asyncStore.js +0 -112
  340. package/lib/util/bytes.js +0 -36
  341. package/lib/util/deprecate.js +0 -82
  342. package/lib/util/promback.js +0 -66
  343. package/lib/util/readYamlFile.d.ts +0 -2
  344. package/lib/util/readYamlFile.js +0 -10
  345. package/lib/util/requestAssertions.js +0 -157
  346. /package/{index.d.ts → dist/index.d.ts} +0 -0
  347. /package/{index.js → dist/index.js} +0 -0
  348. /package/{lib → dist/lib}/api/controllers/baseController.d.ts +0 -0
  349. /package/{lib → dist/lib}/api/controllers/baseController.js +0 -0
  350. /package/{lib → dist/lib}/api/controllers/debugController.d.ts +0 -0
  351. /package/{lib → dist/lib}/api/controllers/debugController.js +0 -0
  352. /package/{lib → dist/lib}/api/openapi/OpenApiManager.d.ts +0 -0
  353. /package/{lib → dist/lib}/api/openapi/OpenApiManager.js +0 -0
  354. /package/{lib → dist/lib}/api/openapi/index.d.ts +0 -0
  355. /package/{lib → dist/lib}/api/openapi/index.js +0 -0
  356. /package/{lib → dist/lib}/api/openapi/openApiGenerator.d.ts +0 -0
  357. /package/{lib → dist/lib}/api/openapi/openApiGenerator.js +0 -0
  358. /package/{lib → dist/lib}/api/request/index.d.ts +0 -0
  359. /package/{lib → dist/lib}/api/request/index.js +0 -0
  360. /package/{lib → dist/lib}/api/request/kuzzleRequest.js +0 -0
  361. /package/{lib → dist/lib}/api/request/requestContext.js +0 -0
  362. /package/{lib → dist/lib}/api/request/requestInput.d.ts +0 -0
  363. /package/{lib → dist/lib}/api/request/requestInput.js +0 -0
  364. /package/{lib → dist/lib}/api/request/requestResponse.d.ts +0 -0
  365. /package/{lib → dist/lib}/api/request/requestResponse.js +0 -0
  366. /package/{lib → dist/lib}/cluster/idCardHandler.d.ts +0 -0
  367. /package/{lib → dist/lib}/cluster/idCardHandler.js +0 -0
  368. /package/{lib → dist/lib}/cluster/protobuf/command.proto +0 -0
  369. /package/{lib → dist/lib}/cluster/protobuf/sync.proto +0 -0
  370. /package/{lib → dist/lib}/cluster/state.d.ts +0 -0
  371. /package/{lib → dist/lib}/cluster/state.js +0 -0
  372. /package/{lib → dist/lib}/config/default.config.d.ts +0 -0
  373. /package/{lib → dist/lib}/config/default.config.js +0 -0
  374. /package/{lib → dist/lib}/config/documentEventAliases.js +0 -0
  375. /package/{lib → dist/lib}/core/auth/tokenManager.d.ts +0 -0
  376. /package/{lib → dist/lib}/core/auth/tokenManager.js +0 -0
  377. /package/{lib → dist/lib}/core/backend/applicationManager.d.ts +0 -0
  378. /package/{lib → dist/lib}/core/backend/applicationManager.js +0 -0
  379. /package/{lib → dist/lib}/core/backend/backend.d.ts +0 -0
  380. /package/{lib → dist/lib}/core/backend/backend.js +0 -0
  381. /package/{lib → dist/lib}/core/backend/backendCluster.d.ts +0 -0
  382. /package/{lib → dist/lib}/core/backend/backendCluster.js +0 -0
  383. /package/{lib → dist/lib}/core/backend/backendConfig.d.ts +0 -0
  384. /package/{lib → dist/lib}/core/backend/backendController.d.ts +0 -0
  385. /package/{lib → dist/lib}/core/backend/backendController.js +0 -0
  386. /package/{lib → dist/lib}/core/backend/backendErrors.d.ts +0 -0
  387. /package/{lib → dist/lib}/core/backend/backendHook.d.ts +0 -0
  388. /package/{lib → dist/lib}/core/backend/backendHook.js +0 -0
  389. /package/{lib → dist/lib}/core/backend/backendImport.d.ts +0 -0
  390. /package/{lib → dist/lib}/core/backend/backendImport.js +0 -0
  391. /package/{lib → dist/lib}/core/backend/backendOpenApi.d.ts +0 -0
  392. /package/{lib → dist/lib}/core/backend/backendOpenApi.js +0 -0
  393. /package/{lib → dist/lib}/core/backend/backendPipe.d.ts +0 -0
  394. /package/{lib → dist/lib}/core/backend/backendPipe.js +0 -0
  395. /package/{lib → dist/lib}/core/backend/backendPlugin.d.ts +0 -0
  396. /package/{lib → dist/lib}/core/backend/backendPlugin.js +0 -0
  397. /package/{lib → dist/lib}/core/backend/backendStorage.d.ts +0 -0
  398. /package/{lib → dist/lib}/core/backend/backendStorage.js +0 -0
  399. /package/{lib → dist/lib}/core/backend/backendSubscription.d.ts +0 -0
  400. /package/{lib → dist/lib}/core/backend/backendSubscription.js +0 -0
  401. /package/{lib → dist/lib}/core/backend/backendVault.d.ts +0 -0
  402. /package/{lib → dist/lib}/core/backend/backendVault.js +0 -0
  403. /package/{lib → dist/lib}/core/backend/index.d.ts +0 -0
  404. /package/{lib → dist/lib}/core/backend/index.js +0 -0
  405. /package/{lib → dist/lib}/core/backend/internalLogger.d.ts +0 -0
  406. /package/{lib → dist/lib}/core/backend/internalLogger.js +0 -0
  407. /package/{lib → dist/lib}/core/cache/cacheDbEnum.d.ts +0 -0
  408. /package/{lib → dist/lib}/core/cache/cacheDbEnum.js +0 -0
  409. /package/{lib → dist/lib}/core/debug/kuzzleDebugger.d.ts +0 -0
  410. /package/{lib → dist/lib}/core/debug/kuzzleDebugger.js +0 -0
  411. /package/{lib → dist/lib}/core/plugin/pluginContext.d.ts +0 -0
  412. /package/{lib → dist/lib}/core/realtime/channel.d.ts +0 -0
  413. /package/{lib → dist/lib}/core/realtime/channel.js +0 -0
  414. /package/{lib → dist/lib}/core/realtime/connectionRooms.d.ts +0 -0
  415. /package/{lib → dist/lib}/core/realtime/connectionRooms.js +0 -0
  416. /package/{lib → dist/lib}/core/realtime/hotelClerk.d.ts +0 -0
  417. /package/{lib → dist/lib}/core/realtime/hotelClerk.js +0 -0
  418. /package/{lib → dist/lib}/core/realtime/room.d.ts +0 -0
  419. /package/{lib → dist/lib}/core/realtime/room.js +0 -0
  420. /package/{lib → dist/lib}/core/realtime/subscription.d.ts +0 -0
  421. /package/{lib → dist/lib}/core/realtime/subscription.js +0 -0
  422. /package/{lib → dist/lib}/core/security/profileRepository.d.ts +0 -0
  423. /package/{lib → dist/lib}/core/security/profileRepository.js +0 -0
  424. /package/{lib → dist/lib}/core/security/tokenRepository.d.ts +0 -0
  425. /package/{lib → dist/lib}/core/shared/KoncordeWrapper.d.ts +0 -0
  426. /package/{lib → dist/lib}/core/shared/KoncordeWrapper.js +0 -0
  427. /package/{lib → dist/lib}/core/shared/ObjectRepository.d.ts +0 -0
  428. /package/{lib → dist/lib}/core/shared/ObjectRepository.js +0 -0
  429. /package/{lib → dist/lib}/core/shared/sdk/embeddedSdk.d.ts +0 -0
  430. /package/{lib → dist/lib}/core/shared/sdk/embeddedSdk.js +0 -0
  431. /package/{lib → dist/lib}/core/shared/sdk/funnelProtocol.d.ts +0 -0
  432. /package/{lib → dist/lib}/core/shared/sdk/funnelProtocol.js +0 -0
  433. /package/{lib → dist/lib}/core/shared/store.js +0 -0
  434. /package/{lib → dist/lib}/core/storage/indexCache.d.ts +0 -0
  435. /package/{lib → dist/lib}/core/storage/indexCache.js +0 -0
  436. /package/{lib → dist/lib}/core/storage/storeScopeEnum.d.ts +0 -0
  437. /package/{lib → dist/lib}/core/storage/storeScopeEnum.js +0 -0
  438. /package/{lib → dist/lib}/kerror/errors/badRequestError.d.ts +0 -0
  439. /package/{lib → dist/lib}/kerror/errors/badRequestError.js +0 -0
  440. /package/{lib → dist/lib}/kerror/errors/externalServiceError.d.ts +0 -0
  441. /package/{lib → dist/lib}/kerror/errors/externalServiceError.js +0 -0
  442. /package/{lib → dist/lib}/kerror/errors/forbiddenError.d.ts +0 -0
  443. /package/{lib → dist/lib}/kerror/errors/forbiddenError.js +0 -0
  444. /package/{lib → dist/lib}/kerror/errors/gatewayTimeoutError.d.ts +0 -0
  445. /package/{lib → dist/lib}/kerror/errors/gatewayTimeoutError.js +0 -0
  446. /package/{lib → dist/lib}/kerror/errors/index.d.ts +0 -0
  447. /package/{lib → dist/lib}/kerror/errors/index.js +0 -0
  448. /package/{lib → dist/lib}/kerror/errors/internalError.d.ts +0 -0
  449. /package/{lib → dist/lib}/kerror/errors/internalError.js +0 -0
  450. /package/{lib → dist/lib}/kerror/errors/kuzzleError.d.ts +0 -0
  451. /package/{lib → dist/lib}/kerror/errors/kuzzleError.js +0 -0
  452. /package/{lib → dist/lib}/kerror/errors/multipleErrorsError.d.ts +0 -0
  453. /package/{lib → dist/lib}/kerror/errors/multipleErrorsError.js +0 -0
  454. /package/{lib → dist/lib}/kerror/errors/notFoundError.d.ts +0 -0
  455. /package/{lib → dist/lib}/kerror/errors/notFoundError.js +0 -0
  456. /package/{lib → dist/lib}/kerror/errors/partialError.d.ts +0 -0
  457. /package/{lib → dist/lib}/kerror/errors/partialError.js +0 -0
  458. /package/{lib → dist/lib}/kerror/errors/pluginImplementationError.d.ts +0 -0
  459. /package/{lib → dist/lib}/kerror/errors/pluginImplementationError.js +0 -0
  460. /package/{lib → dist/lib}/kerror/errors/preconditionError.d.ts +0 -0
  461. /package/{lib → dist/lib}/kerror/errors/preconditionError.js +0 -0
  462. /package/{lib → dist/lib}/kerror/errors/serviceUnavailableError.d.ts +0 -0
  463. /package/{lib → dist/lib}/kerror/errors/serviceUnavailableError.js +0 -0
  464. /package/{lib → dist/lib}/kerror/errors/sizeLimitError.d.ts +0 -0
  465. /package/{lib → dist/lib}/kerror/errors/sizeLimitError.js +0 -0
  466. /package/{lib → dist/lib}/kerror/errors/tooManyRequestsError.d.ts +0 -0
  467. /package/{lib → dist/lib}/kerror/errors/tooManyRequestsError.js +0 -0
  468. /package/{lib → dist/lib}/kerror/errors/unauthorizedError.d.ts +0 -0
  469. /package/{lib → dist/lib}/kerror/errors/unauthorizedError.js +0 -0
  470. /package/{lib → dist/lib}/kerror/index.js +0 -0
  471. /package/{lib → dist/lib}/kuzzle/event/KuzzleEventEmitter.d.ts +0 -0
  472. /package/{lib → dist/lib}/kuzzle/event/KuzzleEventEmitter.js +0 -0
  473. /package/{lib → dist/lib}/kuzzle/index.d.ts +0 -0
  474. /package/{lib → dist/lib}/kuzzle/index.js +0 -0
  475. /package/{lib → dist/lib}/model/security/profile.d.ts +0 -0
  476. /package/{lib → dist/lib}/model/security/profile.js +0 -0
  477. /package/{lib → dist/lib}/model/security/role.js +0 -0
  478. /package/{lib → dist/lib}/model/security/token.d.ts +0 -0
  479. /package/{lib → dist/lib}/model/security/token.js +0 -0
  480. /package/{lib → dist/lib}/model/security/user.js +0 -0
  481. /package/{lib → dist/lib}/service/storage/8/elasticsearch.d.ts +0 -0
  482. /package/{lib → dist/lib}/service/storage/Elasticsearch.d.ts +0 -0
  483. /package/{lib → dist/lib}/service/storage/Elasticsearch.js +0 -0
  484. /package/{lib → dist/lib}/service/storage/commons/queryTranslator.d.ts +0 -0
  485. /package/{lib → dist/lib}/service/storage/commons/queryTranslator.js +0 -0
  486. /package/{lib → dist/lib}/types/ClientConnection.d.ts +0 -0
  487. /package/{lib → dist/lib}/types/ClientConnection.js +0 -0
  488. /package/{lib → dist/lib}/types/Deprecation.d.ts +0 -0
  489. /package/{lib → dist/lib}/types/Deprecation.js +0 -0
  490. /package/{lib → dist/lib}/types/EventHandler.d.ts +0 -0
  491. /package/{lib → dist/lib}/types/EventHandler.js +0 -0
  492. /package/{lib → dist/lib}/types/Global.d.ts +0 -0
  493. /package/{lib → dist/lib}/types/Global.js +0 -0
  494. /package/{lib → dist/lib}/types/HttpMessage.d.ts +0 -0
  495. /package/{lib → dist/lib}/types/HttpMessage.js +0 -0
  496. /package/{lib → dist/lib}/types/HttpStream.d.ts +0 -0
  497. /package/{lib → dist/lib}/types/HttpStream.js +0 -0
  498. /package/{lib → dist/lib}/types/Kuzzle.d.ts +0 -0
  499. /package/{lib → dist/lib}/types/Kuzzle.js +0 -0
  500. /package/{lib → dist/lib}/types/KuzzleDocument.d.ts +0 -0
  501. /package/{lib → dist/lib}/types/KuzzleDocument.js +0 -0
  502. /package/{lib → dist/lib}/types/OpenApiDefinition.d.ts +0 -0
  503. /package/{lib → dist/lib}/types/OpenApiDefinition.js +0 -0
  504. /package/{lib → dist/lib}/types/PasswordPolicy.d.ts +0 -0
  505. /package/{lib → dist/lib}/types/PasswordPolicy.js +0 -0
  506. /package/{lib → dist/lib}/types/Plugin.js +0 -0
  507. /package/{lib → dist/lib}/types/PluginManifest.d.ts +0 -0
  508. /package/{lib → dist/lib}/types/PluginManifest.js +0 -0
  509. /package/{lib → dist/lib}/types/Policy.d.ts +0 -0
  510. /package/{lib → dist/lib}/types/Policy.js +0 -0
  511. /package/{lib → dist/lib}/types/PolicyRestrictions.d.ts +0 -0
  512. /package/{lib → dist/lib}/types/PolicyRestrictions.js +0 -0
  513. /package/{lib → dist/lib}/types/ProfileDefinition.d.ts +0 -0
  514. /package/{lib → dist/lib}/types/ProfileDefinition.js +0 -0
  515. /package/{lib → dist/lib}/types/RoleDefinition.d.ts +0 -0
  516. /package/{lib → dist/lib}/types/RoleDefinition.js +0 -0
  517. /package/{lib → dist/lib}/types/StrategyDefinition.d.ts +0 -0
  518. /package/{lib → dist/lib}/types/StrategyDefinition.js +0 -0
  519. /package/{lib → dist/lib}/types/Target.d.ts +0 -0
  520. /package/{lib → dist/lib}/types/Target.js +0 -0
  521. /package/{lib → dist/lib}/types/Token.d.ts +0 -0
  522. /package/{lib → dist/lib}/types/Token.js +0 -0
  523. /package/{lib → dist/lib}/types/User.d.ts +0 -0
  524. /package/{lib → dist/lib}/types/User.js +0 -0
  525. /package/{lib → dist/lib}/types/config/DumpConfiguration.d.ts +0 -0
  526. /package/{lib → dist/lib}/types/config/DumpConfiguration.js +0 -0
  527. /package/{lib → dist/lib}/types/config/HttpConfiguration.d.ts +0 -0
  528. /package/{lib → dist/lib}/types/config/HttpConfiguration.js +0 -0
  529. /package/{lib → dist/lib}/types/config/KuzzleConfiguration.d.ts +0 -0
  530. /package/{lib → dist/lib}/types/config/KuzzleConfiguration.js +0 -0
  531. /package/{lib → dist/lib}/types/config/LimitsConfiguration.d.ts +0 -0
  532. /package/{lib → dist/lib}/types/config/LimitsConfiguration.js +0 -0
  533. /package/{lib → dist/lib}/types/config/PluginsConfiguration.d.ts +0 -0
  534. /package/{lib → dist/lib}/types/config/PluginsConfiguration.js +0 -0
  535. /package/{lib → dist/lib}/types/config/SecurityConfiguration.d.ts +0 -0
  536. /package/{lib → dist/lib}/types/config/SecurityConfiguration.js +0 -0
  537. /package/{lib → dist/lib}/types/config/ServerConfiguration.d.ts +0 -0
  538. /package/{lib → dist/lib}/types/config/ServerConfiguration.js +0 -0
  539. /package/{lib → dist/lib}/types/config/ServicesConfiguration.d.ts +0 -0
  540. /package/{lib → dist/lib}/types/config/ServicesConfiguration.js +0 -0
  541. /package/{lib → dist/lib}/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +0 -0
  542. /package/{lib → dist/lib}/types/config/internalCache/InternalCacheRedisConfiguration.js +0 -0
  543. /package/{lib → dist/lib}/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +0 -0
  544. /package/{lib → dist/lib}/types/config/publicCache/PublicCacheRedisConfiguration.js +0 -0
  545. /package/{lib → dist/lib}/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +0 -0
  546. /package/{lib → dist/lib}/types/config/storageEngine/StorageEngineElasticsearchConfiguration.js +0 -0
  547. /package/{lib/types → dist/lib/types/controllers}/Controller.js +0 -0
  548. /package/{lib/types → dist/lib/types/controllers}/ControllerDefinition.js +0 -0
  549. /package/{lib/types → dist/lib/types/controllers}/ControllerRights.d.ts +0 -0
  550. /package/{lib/types → dist/lib/types/controllers}/ControllerRights.js +0 -0
  551. /package/{lib → dist/lib}/types/errors/ErrorDefinition.d.ts +0 -0
  552. /package/{lib → dist/lib}/types/errors/ErrorDefinition.js +0 -0
  553. /package/{lib → dist/lib}/types/errors/ErrorDomains.d.ts +0 -0
  554. /package/{lib → dist/lib}/types/errors/ErrorDomains.js +0 -0
  555. /package/{lib → dist/lib}/types/events/EventGenericDocument.d.ts +0 -0
  556. /package/{lib → dist/lib}/types/events/EventGenericDocument.js +0 -0
  557. /package/{lib → dist/lib}/types/events/EventProtocol.d.ts +0 -0
  558. /package/{lib → dist/lib}/types/events/EventProtocol.js +0 -0
  559. /package/{lib → dist/lib}/types/realtime/RealtimeScope.d.ts +0 -0
  560. /package/{lib → dist/lib}/types/realtime/RealtimeScope.js +0 -0
  561. /package/{lib → dist/lib}/types/realtime/RealtimeUsers.d.ts +0 -0
  562. /package/{lib → dist/lib}/types/realtime/RealtimeUsers.js +0 -0
  563. /package/{lib → dist/lib}/types/realtime/RoomList.d.ts +0 -0
  564. /package/{lib → dist/lib}/types/realtime/RoomList.js +0 -0
  565. /package/{lib → dist/lib}/types/shared/StoreCollectionsDefinition.d.ts +0 -0
  566. /package/{lib → dist/lib}/types/shared/StoreCollectionsDefinition.js +0 -0
  567. /package/{lib → dist/lib}/types/storage/7/Elasticsearch.d.ts +0 -0
  568. /package/{lib → dist/lib}/types/storage/7/Elasticsearch.js +0 -0
  569. /package/{lib → dist/lib}/types/storage/8/Elasticsearch.d.ts +0 -0
  570. /package/{lib → dist/lib}/types/storage/8/Elasticsearch.js +0 -0
  571. /package/{lib → dist/lib}/util/Inflector.d.ts +0 -0
  572. /package/{lib → dist/lib}/util/Inflector.js +0 -0
  573. /package/{lib → dist/lib}/util/array.d.ts +0 -0
  574. /package/{lib → dist/lib}/util/array.js +0 -0
  575. /package/{lib → dist/lib}/util/async.d.ts +0 -0
  576. /package/{lib → dist/lib}/util/async.js +0 -0
  577. /package/{lib → dist/lib}/util/bufferedPassThrough.d.ts +0 -0
  578. /package/{lib → dist/lib}/util/bufferedPassThrough.js +0 -0
  579. /package/{lib → dist/lib}/util/crypto.d.ts +0 -0
  580. /package/{lib → dist/lib}/util/crypto.js +0 -0
  581. /package/{lib → dist/lib}/util/dump-collection.d.ts +0 -0
  582. /package/{lib → dist/lib}/util/dump-collection.js +0 -0
  583. /package/{lib → dist/lib}/util/esRequest.d.ts +0 -0
  584. /package/{lib → dist/lib}/util/esRequest.js +0 -0
  585. /package/{lib → dist/lib}/util/koncordeCompat.d.ts +0 -0
  586. /package/{lib → dist/lib}/util/koncordeCompat.js +0 -0
  587. /package/{lib → dist/lib}/util/mutex.d.ts +0 -0
  588. /package/{lib → dist/lib}/util/mutex.js +0 -0
  589. /package/{lib → dist/lib}/util/name-generator.d.ts +0 -0
  590. /package/{lib → dist/lib}/util/name-generator.js +0 -0
  591. /package/{lib → dist/lib}/util/time.d.ts +0 -0
  592. /package/{lib → dist/lib}/util/time.js +0 -0
@@ -0,0 +1,13 @@
1
+ export = StorageEngine;
2
+ declare class StorageEngine {
3
+ public: ClientAdapter;
4
+ private: ClientAdapter;
5
+ logger: import("../../kuzzle/Logger").Logger;
6
+ /**
7
+ * Initialize storage clients and perform integrity checks
8
+ *
9
+ * @returns {Promise}
10
+ */
11
+ init(): Promise<any>;
12
+ }
13
+ import ClientAdapter = require("./clientAdapter");
@@ -0,0 +1,52 @@
1
+ /*
2
+ * Kuzzle, a backend software, self-hostable and ready to use
3
+ * to power modern apps
4
+ *
5
+ * Copyright 2015-2022 Kuzzle
6
+ * mailto: support AT kuzzle.io
7
+ * website: http://kuzzle.io
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * https://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ "use strict";
22
+ const kerror = require("../../kerror").wrap("services", "storage");
23
+ const ClientAdapter = require("./clientAdapter");
24
+ const { storeScopeEnum } = require("./storeScopeEnum");
25
+ class StorageEngine {
26
+ constructor() {
27
+ // Storage client for public indexes only
28
+ this.public = new ClientAdapter(storeScopeEnum.PUBLIC);
29
+ // Storage client for private indexes only
30
+ this.private = new ClientAdapter(storeScopeEnum.PRIVATE);
31
+ this.logger = global.kuzzle.log.child("core:storage:storageEngine");
32
+ this.logger.info(`[ℹ] Elasticsearch configuration is set to major version : ${global.kuzzle.config.services.storageEngine.majorVersion}`);
33
+ }
34
+ /**
35
+ * Initialize storage clients and perform integrity checks
36
+ *
37
+ * @returns {Promise}
38
+ */
39
+ async init() {
40
+ await Promise.all([this.public.init(), this.private.init()]);
41
+ const privateIndexes = this.private.cache.listIndexes();
42
+ const publicIndexes = this.public.cache.listIndexes();
43
+ for (const publicIndex of publicIndexes) {
44
+ if (privateIndexes.includes(publicIndex)) {
45
+ throw kerror.get("index_already_exists", "public", publicIndex);
46
+ }
47
+ }
48
+ this.logger.info("[✔] Storage initialized");
49
+ }
50
+ }
51
+ module.exports = StorageEngine;
52
+ //# sourceMappingURL=storageEngine.js.map
@@ -0,0 +1,35 @@
1
+ export = BaseType;
2
+ /**
3
+ * @class BaseType
4
+ */
5
+ declare class BaseType {
6
+ /**
7
+ * Validate a document against a registered field type validator
8
+ *
9
+ * @param {TypeOptions} typeOptions
10
+ * @param {*} fieldValue
11
+ * @param {string[]} errorMessages
12
+ * @returns {boolean}
13
+ */
14
+ validate(): boolean;
15
+ /**
16
+ * Validate a field specification itself
17
+ *
18
+ * @param {TypeOptions} typeOptions
19
+ * @returns {TypeOptions}
20
+ * @throws {KuzzleError}
21
+ */
22
+ validateFieldSpecification(opts: any): TypeOptions;
23
+ /**
24
+ * @param {*} object
25
+ * @param {string[]} allowedProperties
26
+ * @returns {boolean}
27
+ */
28
+ checkAllowedProperties(object: any, allowedProperties: string[]): boolean;
29
+ /**
30
+ * @param {StructuredFieldSpecification} fieldSpec
31
+ * @param {boolean} parentStrictness
32
+ * @returns {boolean}
33
+ */
34
+ getStrictness(fieldSpec: StructuredFieldSpecification, parentStrictness: boolean): boolean;
35
+ }
@@ -0,0 +1,70 @@
1
+ /*
2
+ * Kuzzle, a backend software, self-hostable and ready to use
3
+ * to power modern apps
4
+ *
5
+ * Copyright 2015-2022 Kuzzle
6
+ * mailto: support AT kuzzle.io
7
+ * website: http://kuzzle.io
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * https://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ "use strict";
22
+ /**
23
+ * @class BaseType
24
+ */
25
+ class BaseType {
26
+ /**
27
+ * Validate a document against a registered field type validator
28
+ *
29
+ * @param {TypeOptions} typeOptions
30
+ * @param {*} fieldValue
31
+ * @param {string[]} errorMessages
32
+ * @returns {boolean}
33
+ */
34
+ validate() {
35
+ return true;
36
+ }
37
+ /**
38
+ * Validate a field specification itself
39
+ *
40
+ * @param {TypeOptions} typeOptions
41
+ * @returns {TypeOptions}
42
+ * @throws {KuzzleError}
43
+ */
44
+ validateFieldSpecification(opts) {
45
+ return opts;
46
+ }
47
+ /**
48
+ * @param {*} object
49
+ * @param {string[]} allowedProperties
50
+ * @returns {boolean}
51
+ */
52
+ checkAllowedProperties(object, allowedProperties) {
53
+ if (typeof object !== "object" ||
54
+ Array.isArray(object) ||
55
+ object === null) {
56
+ return false;
57
+ }
58
+ return !Object.keys(object).some((propertyName) => allowedProperties.indexOf(propertyName) === -1);
59
+ }
60
+ /**
61
+ * @param {StructuredFieldSpecification} fieldSpec
62
+ * @param {boolean} parentStrictness
63
+ * @returns {boolean}
64
+ */
65
+ getStrictness(fieldSpec, parentStrictness) {
66
+ return parentStrictness;
67
+ }
68
+ }
69
+ module.exports = BaseType;
70
+ //# sourceMappingURL=baseType.js.map
@@ -0,0 +1,10 @@
1
+ export = AnythingType;
2
+ /**
3
+ * @class AnythingType
4
+ */
5
+ declare class AnythingType extends BaseType {
6
+ typeName: string;
7
+ allowChildren: boolean;
8
+ allowedTypeOptions: any[];
9
+ }
10
+ import BaseType = require("../baseType");
@@ -18,21 +18,18 @@
18
18
  * See the License for the specific language governing permissions and
19
19
  * limitations under the License.
20
20
  */
21
-
22
21
  "use strict";
23
-
24
22
  const BaseType = require("../baseType");
25
-
26
23
  /**
27
24
  * @class AnythingType
28
25
  */
29
26
  class AnythingType extends BaseType {
30
- constructor() {
31
- super();
32
- this.typeName = "anything";
33
- this.allowChildren = false;
34
- this.allowedTypeOptions = [];
35
- }
27
+ constructor() {
28
+ super();
29
+ this.typeName = "anything";
30
+ this.allowChildren = false;
31
+ this.allowedTypeOptions = [];
32
+ }
36
33
  }
37
-
38
34
  module.exports = AnythingType;
35
+ //# sourceMappingURL=anything.js.map
@@ -0,0 +1,16 @@
1
+ export = BooleanType;
2
+ /**
3
+ * @class BooleanType
4
+ */
5
+ declare class BooleanType extends BaseType {
6
+ typeName: string;
7
+ allowChildren: boolean;
8
+ allowedTypeOptions: any[];
9
+ /**
10
+ * @param {TypeOptions} typeOptions
11
+ * @param {*} fieldValue
12
+ * @param {string[]} errorMessages
13
+ */
14
+ validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
15
+ }
16
+ import BaseType = require("../baseType");
@@ -18,35 +18,30 @@
18
18
  * See the License for the specific language governing permissions and
19
19
  * limitations under the License.
20
20
  */
21
-
22
21
  "use strict";
23
-
24
22
  const BaseType = require("../baseType");
25
-
26
23
  /**
27
24
  * @class BooleanType
28
25
  */
29
26
  class BooleanType extends BaseType {
30
- constructor() {
31
- super();
32
- this.typeName = "boolean";
33
- this.allowChildren = false;
34
- this.allowedTypeOptions = [];
35
- }
36
-
37
- /**
38
- * @param {TypeOptions} typeOptions
39
- * @param {*} fieldValue
40
- * @param {string[]} errorMessages
41
- */
42
- validate(typeOptions, fieldValue, errorMessages) {
43
- if (typeof fieldValue !== "boolean") {
44
- errorMessages.push("The field must be of type boolean.");
45
- return false;
27
+ constructor() {
28
+ super();
29
+ this.typeName = "boolean";
30
+ this.allowChildren = false;
31
+ this.allowedTypeOptions = [];
32
+ }
33
+ /**
34
+ * @param {TypeOptions} typeOptions
35
+ * @param {*} fieldValue
36
+ * @param {string[]} errorMessages
37
+ */
38
+ validate(typeOptions, fieldValue, errorMessages) {
39
+ if (typeof fieldValue !== "boolean") {
40
+ errorMessages.push("The field must be of type boolean.");
41
+ return false;
42
+ }
43
+ return true;
46
44
  }
47
-
48
- return true;
49
- }
50
45
  }
51
-
52
46
  module.exports = BooleanType;
47
+ //# sourceMappingURL=boolean.js.map
@@ -0,0 +1,17 @@
1
+ export = DateType;
2
+ /**
3
+ * @class DateType
4
+ */
5
+ declare class DateType extends BaseType {
6
+ typeName: string;
7
+ allowChildren: boolean;
8
+ allowedTypeOptions: string[];
9
+ /**
10
+ * @param {TypeOptions} typeOptions
11
+ * @param {*} fieldValue
12
+ * @param {string[]} errorMessages
13
+ * @returns {boolean}
14
+ */
15
+ validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
16
+ }
17
+ import BaseType = require("../baseType");
@@ -0,0 +1,215 @@
1
+ /*
2
+ * Kuzzle, a backend software, self-hostable and ready to use
3
+ * to power modern apps
4
+ *
5
+ * Copyright 2015-2022 Kuzzle
6
+ * mailto: support AT kuzzle.io
7
+ * website: http://kuzzle.io
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * https://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ "use strict";
22
+ const kerror = require("../../../kerror"), { has, isPlainObject } = require("../../../util/safeObject"), BaseType = require("../baseType"), moment = require("moment"), formatMap = {
23
+ basic_date: (date) => moment.utc(date, "YYYYMMDD", true),
24
+ basic_date_time: (date) => moment.utc(date, "YYYYMMDD\\THHmmss.SSSZ", true),
25
+ basic_date_time_no_millis: (date) => moment.utc(date, "YYYYMMDD\\THHmmssZ", true),
26
+ basic_ordinal_date: (date) => moment.utc(date, "YYYYDDD", true),
27
+ basic_ordinal_date_time: (date) => moment.utc(date, "YYYYDDD\\THHmmss.SSSZ", true),
28
+ basic_ordinal_date_time_no_millis: (date) => moment.utc(date, "YYYYDDD\\THHmmssZ", true),
29
+ basic_t_time: (date) => moment.utc(date, "\\THHmmss.SSSZ", true),
30
+ basic_t_time_no_millis: (date) => moment.utc(date, "\\THHmmssZ", true),
31
+ basic_time: (date) => moment.utc(date, "HHmmss.SSSZ", true),
32
+ basic_time_no_millis: (date) => moment.utc(date, "HHmmssZ", true),
33
+ basic_week_date: (date) => moment.utc(date, "gggg\\Wwwe", false),
34
+ basic_week_date_time: (date) => moment.utc(date, "gggg\\Wwwe\\THHmmss.SSSZ", false),
35
+ basic_week_date_time_no_millis: (date) => moment.utc(date, "gggg\\Wwwe\\THHmmssZ", false),
36
+ date: (date) => moment.utc(date, "YYYY-MM-DD", false),
37
+ date_hour: (date) => moment.utc(date, "YYYY-MM-DD\\THH", false),
38
+ date_hour_minute: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm", false),
39
+ date_hour_minute_second: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm:ss", false),
40
+ date_hour_minute_second_fraction: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm:ss.SSS", false),
41
+ date_hour_minute_second_millis: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm:ss.SSS", false),
42
+ date_time: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm:ss.SSSZZ", false),
43
+ date_time_no_millis: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm:ssZZ", false),
44
+ epoch_millis: (date) => typeof date === "number" ? moment.utc(date) : moment.invalid(),
45
+ epoch_second: (date) => typeof date === "number"
46
+ ? moment.utc(moment.unix(date))
47
+ : moment.invalid(),
48
+ hour: (date) => moment.utc(date, "HH", false),
49
+ hour_minute: (date) => moment.utc(date, "HH:mm", false),
50
+ hour_minute_second: (date) => moment.utc(date, "HH:mm:ss", false),
51
+ hour_minute_second_fraction: (date) => moment.utc(date, "HH:mm:ss.SSS", false),
52
+ hour_minute_second_millis: (date) => moment.utc(date, "HH:mm:ss.SSS", false),
53
+ ordinal_date: (date) => moment.utc(date, "YYYY-DDD", false),
54
+ ordinal_date_time: (date) => moment.utc(date, "YYYY-DDD\\THH:mm:ss.SSSZZ", false),
55
+ ordinal_date_time_no_millis: (date) => moment.utc(date, "YYYY-DDD\\THH:mm:ssZZ", false),
56
+ strict_basic_week_date: (date) => moment.utc(date, "gggg\\Wwwe", true),
57
+ strict_basic_week_date_time: (date) => moment.utc(date, "gggg\\Wwwe\\THHmmss.SSSZ", true),
58
+ strict_basic_week_date_time_no_millis: (date) => moment.utc(date, "gggg\\Wwwe\\THHmmssZ", true),
59
+ strict_date: (date) => moment.utc(date, "YYYY-MM-DD", true),
60
+ strict_date_hour: (date) => moment.utc(date, "YYYY-MM-DD\\THH", true),
61
+ strict_date_hour_minute: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm", true),
62
+ strict_date_hour_minute_second: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm:ss", true),
63
+ strict_date_hour_minute_second_fraction: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm:ss.SSS", true),
64
+ strict_date_hour_minute_second_millis: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm:ss.SSS", true),
65
+ strict_date_optional_time: (date) => moment.utc(date, moment.ISO_8601, true),
66
+ strict_date_time: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm:ss.SSSZZ", true),
67
+ strict_date_time_no_millis: (date) => moment.utc(date, "YYYY-MM-DD\\THH:mm:ssZZ", true),
68
+ strict_hour: (date) => moment.utc(date, "HH", true),
69
+ strict_hour_minute: (date) => moment.utc(date, "HH:mm", true),
70
+ strict_hour_minute_second: (date) => moment.utc(date, "HH:mm:ss", true),
71
+ strict_hour_minute_second_fraction: (date) => moment.utc(date, "HH:mm:ss.SSS", true),
72
+ strict_hour_minute_second_millis: (date) => moment.utc(date, "HH:mm:ss.SSS", true),
73
+ strict_ordinal_date: (date) => moment.utc(date, "YYYY-DDD", true),
74
+ strict_ordinal_date_time: (date) => moment.utc(date, "YYYY-DDD\\THH:mm:ss.SSSZZ", true),
75
+ strict_ordinal_date_time_no_millis: (date) => moment.utc(date, "YYYY-DDD\\THH:mm:ssZZ", true),
76
+ strict_t_time: (date) => moment.utc(date, "\\THH:mm:ss.SSSZZ", true),
77
+ strict_t_time_no_millis: (date) => moment.utc(date, "\\THH:mm:ssZZ", true),
78
+ strict_time: (date) => moment.utc(date, "HH:mm:ss.SSSZZ", true),
79
+ strict_time_no_millis: (date) => moment.utc(date, "HH:mm:ssZZ", true),
80
+ strict_week_date: (date) => moment.utc(date, "gggg-\\Www-e", true),
81
+ strict_week_date_time: (date) => moment.utc(date, "gggg-\\Www-e\\THH:mm:ss.SSSZZ", true),
82
+ strict_week_date_time_no_millis: (date) => moment.utc(date, "gggg-\\Www-e\\THH:mm:ssZZ", true),
83
+ strict_weekyear: (date) => moment.utc(date, "gggg", true),
84
+ strict_weekyear_week: (date) => moment.utc(date, "ggggww", true),
85
+ strict_weekyear_week_day: (date) => moment.utc(date, "ggggwwe", true),
86
+ strict_year: (date) => moment.utc(date, "YYYY", true),
87
+ strict_year_month: (date) => moment.utc(date, "YYYYMM", true),
88
+ strict_year_month_day: (date) => moment.utc(date, "YYYYMMDD", true),
89
+ t_time: (date) => moment.utc(date, "\\THH:mm:ss.SSSZZ", false),
90
+ t_time_no_millis: (date) => moment.utc(date, "\\THH:mm:ssZZ", false),
91
+ time: (date) => moment.utc(date, "HH:mm:ss.SSSZZ", false),
92
+ time_no_millis: (date) => moment.utc(date, "HH:mm:ssZZ", false),
93
+ week_date: (date) => moment.utc(date, "gggg-\\Www-e", false),
94
+ week_date_time: (date) => moment.utc(date, "gggg-\\Www-e\\THH:mm:ss.SSSZZ", false),
95
+ week_date_time_no_millis: (date) => moment.utc(date, "gggg-\\Www-e\\THH:mm:ssZZ", false),
96
+ weekyear: (date) => moment.utc(date, "gggg", false),
97
+ weekyear_week: (date) => moment.utc(date, "ggggww", false),
98
+ weekyear_week_day: (date) => moment.utc(date, "ggggwwe", false),
99
+ year: (date) => moment.utc(date, "YYYY", false),
100
+ year_month: (date) => moment.utc(date, "YYYYMM", false),
101
+ year_month_day: (date) => moment.utc(date, "YYYYMMDD", false),
102
+ };
103
+ const assertionError = kerror.wrap("validation", "assert"), typeError = kerror.wrap("validation", "types");
104
+ /**
105
+ * @class DateType
106
+ */
107
+ class DateType extends BaseType {
108
+ constructor() {
109
+ super();
110
+ this.typeName = "date";
111
+ this.allowChildren = false;
112
+ this.allowedTypeOptions = ["range", "formats"];
113
+ }
114
+ /**
115
+ * @param {TypeOptions} typeOptions
116
+ * @param {*} fieldValue
117
+ * @param {string[]} errorMessages
118
+ * @returns {boolean}
119
+ */
120
+ validate(typeOptions, fieldValue, errorMessages) {
121
+ let momentDate = null;
122
+ for (const formatOpt of typeOptions.formats) {
123
+ momentDate = formatMap[formatOpt](fieldValue);
124
+ if (momentDate.isValid()) {
125
+ break;
126
+ }
127
+ }
128
+ if (momentDate === null || !momentDate.isValid()) {
129
+ errorMessages.push("The date format is invalid.");
130
+ return false;
131
+ }
132
+ if (isPlainObject(typeOptions.range)) {
133
+ if (typeOptions.range.min) {
134
+ const min = typeOptions.range.min === "NOW"
135
+ ? moment.utc()
136
+ : typeOptions.range.min;
137
+ if (momentDate.isBefore(min)) {
138
+ errorMessages.push("The provided date is before the defined minimum.");
139
+ return false;
140
+ }
141
+ }
142
+ if (typeOptions.range.max) {
143
+ const max = typeOptions.range.max === "NOW"
144
+ ? moment.utc()
145
+ : typeOptions.range.max;
146
+ if (max.isBefore(momentDate)) {
147
+ errorMessages.push("The provided date is after the defined maximum.");
148
+ return false;
149
+ }
150
+ }
151
+ }
152
+ return true;
153
+ }
154
+ /**
155
+ * @param {TypeOptions} typeOptions
156
+ * @returns {TypeOptions}
157
+ * @throws {PreconditionError}
158
+ */
159
+ validateFieldSpecification(typeOptions) {
160
+ if (has(typeOptions, "formats")) {
161
+ if (!Array.isArray(typeOptions.formats) ||
162
+ typeOptions.formats.length === 0) {
163
+ throw assertionError.get("invalid_type", "formats", "non-empty array");
164
+ }
165
+ const unrecognized = typeOptions.formats.filter((f) => !formatMap[f]);
166
+ if (unrecognized.length > 0) {
167
+ throw typeError.get("invalid_date_format", unrecognized.join(", "));
168
+ }
169
+ }
170
+ else {
171
+ typeOptions.formats = ["epoch_millis"];
172
+ }
173
+ if (has(typeOptions, "range")) {
174
+ let min = null, max = null;
175
+ if (!this.checkAllowedProperties(typeOptions.range, ["min", "max"])) {
176
+ throw assertionError.get("unexpected_properties", "range", "min, max");
177
+ }
178
+ if (has(typeOptions.range, "min")) {
179
+ min = convertRangeValue("min", typeOptions.range.min);
180
+ }
181
+ if (has(typeOptions.range, "max")) {
182
+ max = convertRangeValue("max", typeOptions.range.max);
183
+ }
184
+ if (min && max && max.isBefore(min)) {
185
+ throw assertionError.get("invalid_range", "range", "min", "max");
186
+ }
187
+ // We want to keep NOW as a special value, else we would keep the time
188
+ // of the launch
189
+ if (min && typeOptions.range.min !== "NOW") {
190
+ typeOptions.range.min = min;
191
+ }
192
+ if (max && typeOptions.range.max !== "NOW") {
193
+ typeOptions.range.max = max;
194
+ }
195
+ }
196
+ return typeOptions;
197
+ }
198
+ }
199
+ function convertRangeValue(name, value) {
200
+ let converted;
201
+ if (typeof value === "string") {
202
+ converted =
203
+ value === "NOW" ? moment.utc() : moment.utc(value, moment.ISO_8601);
204
+ }
205
+ else if (typeof value === "number") {
206
+ // epoch or epoch-millis
207
+ converted = moment.utc(value);
208
+ }
209
+ if (!converted || !converted.isValid()) {
210
+ throw typeError.get("invalid_date", value);
211
+ }
212
+ return converted;
213
+ }
214
+ module.exports = DateType;
215
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1,17 @@
1
+ export = EmailType;
2
+ /**
3
+ * @class EmailType
4
+ */
5
+ declare class EmailType extends BaseType {
6
+ typeName: string;
7
+ allowChildren: boolean;
8
+ allowedTypeOptions: string[];
9
+ /**
10
+ * @param {TypeOptions} typeOptions
11
+ * @param {*} fieldValue
12
+ * @param {string[]} errorMessages
13
+ * @returns {boolean}
14
+ */
15
+ validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
16
+ }
17
+ import BaseType = require("../baseType");
@@ -0,0 +1,80 @@
1
+ /*
2
+ * Kuzzle, a backend software, self-hostable and ready to use
3
+ * to power modern apps
4
+ *
5
+ * Copyright 2015-2022 Kuzzle
6
+ * mailto: support AT kuzzle.io
7
+ * website: http://kuzzle.io
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * https://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ "use strict";
22
+ const kerror = require("../../../kerror").wrap("validation", "assert"), BaseType = require("../baseType"), validator = require("validator");
23
+ /**
24
+ * @class EmailType
25
+ */
26
+ class EmailType extends BaseType {
27
+ constructor() {
28
+ super();
29
+ this.typeName = "email";
30
+ this.allowChildren = false;
31
+ this.allowedTypeOptions = ["notEmpty"];
32
+ }
33
+ /**
34
+ * @param {TypeOptions} typeOptions
35
+ * @param {*} fieldValue
36
+ * @param {string[]} errorMessages
37
+ * @returns {boolean}
38
+ */
39
+ validate(typeOptions, fieldValue, errorMessages) {
40
+ if (fieldValue === undefined || fieldValue === null) {
41
+ if (typeOptions.notEmpty) {
42
+ errorMessages.push("Field cannot be undefined or null");
43
+ return false;
44
+ }
45
+ return true;
46
+ }
47
+ if (typeof fieldValue !== "string") {
48
+ errorMessages.push("The field must be a string.");
49
+ return false;
50
+ }
51
+ if (fieldValue.length === 0) {
52
+ if (typeOptions.notEmpty === true) {
53
+ errorMessages.push("The string must not be empty.");
54
+ return false;
55
+ }
56
+ return true;
57
+ }
58
+ if (!validator.isEmail(fieldValue)) {
59
+ errorMessages.push("The string must be a valid email address.");
60
+ return false;
61
+ }
62
+ return true;
63
+ }
64
+ /**
65
+ * @param {TypeOptions} typeOptions
66
+ * @returns {TypeOptions}
67
+ * @throws {PreconditionError}
68
+ */
69
+ validateFieldSpecification(typeOptions) {
70
+ if (!Object.prototype.hasOwnProperty.call(typeOptions, "notEmpty")) {
71
+ typeOptions.notEmpty = false;
72
+ }
73
+ else if (typeof typeOptions.notEmpty !== "boolean") {
74
+ throw kerror.get("invalid_type", "notEmpty", "boolean");
75
+ }
76
+ return typeOptions;
77
+ }
78
+ }
79
+ module.exports = EmailType;
80
+ //# sourceMappingURL=email.js.map
@@ -0,0 +1,17 @@
1
+ export = EnumType;
2
+ /**
3
+ * @class EnumType
4
+ */
5
+ declare class EnumType extends BaseType {
6
+ typeName: string;
7
+ allowChildren: boolean;
8
+ allowedTypeOptions: string[];
9
+ /**
10
+ * @param {TypeOptions} typeOptions
11
+ * @param {*} fieldValue
12
+ * @param {string[]} errorMessages
13
+ * @returns {boolean}
14
+ */
15
+ validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
16
+ }
17
+ import BaseType = require("../baseType");