diff --git a/packages/constants/README.md b/packages/constants/README.md index c29435f8049a4206b0754eed068e13455f109010..7314baa5e79c3cd01fb42d0bb933cf652f92bc7c 100755 --- a/packages/constants/README.md +++ b/packages/constants/README.md @@ -170,6 +170,7 @@ Please consult the detail break down below. - FILE_HANDLER_FN_NAME_PROP_KEY - ENABLE_SPLIT_TASK_PROP_KEY - CONNECTED_PROP_KEY +- CACHE_STORE_PROP_KEY ### SOCKET diff --git a/packages/constants/base.js b/packages/constants/base.js index 3ed50cc941eb3268578eea2ea093c15f7a134aee..f2b295e95f6e83be93e58a5e50d873defcccc5ec 100644 --- a/packages/constants/base.js +++ b/packages/constants/base.js @@ -138,3 +138,4 @@ export const DEFAULT_PORT_NUM = 6557 export const CSRF_HEADER_KEY = 'X-CSRF-Token' export const ORIGIN_HEADER_KEYS = ['Origin'] export const WILD_CARD_CHAR = '*' + diff --git a/packages/constants/browser.js b/packages/constants/browser.js index 1745e14390836324f97098535bf8bfdffbb07b25..9fe8f908cfa9427d171cae9bc7b3a828f0fe7aef 100644 --- a/packages/constants/browser.js +++ b/packages/constants/browser.js @@ -171,6 +171,7 @@ var jsonqlConstants = { "FILE_HANDLER_FN_NAME_PROP_KEY": "fileHandlerName", "ENABLE_SPLIT_TASK_PROP_KEY": "enableSplitTask", "CONNECTED_PROP_KEY": "connected", + "CACHE_STORE_PROP_KEY": "cacheStore", "SOCKET_PING_EVENT_NAME": "__ping__", "SWITCH_USER_EVENT_NAME": "__switch__", "LOGIN_EVENT_NAME": "__login__", diff --git a/packages/constants/constants.json b/packages/constants/constants.json index 11998a546c265d5f924b9ffc2c5b178ac68c327c..67d129fa54910c9b0e27cecab7e491526f845aa6 100644 --- a/packages/constants/constants.json +++ b/packages/constants/constants.json @@ -171,6 +171,7 @@ "FILE_HANDLER_FN_NAME_PROP_KEY": "fileHandlerName", "ENABLE_SPLIT_TASK_PROP_KEY": "enableSplitTask", "CONNECTED_PROP_KEY": "connected", + "CACHE_STORE_PROP_KEY": "cacheStore", "SOCKET_PING_EVENT_NAME": "__ping__", "SWITCH_USER_EVENT_NAME": "__switch__", "LOGIN_EVENT_NAME": "__login__", diff --git a/packages/constants/index.js b/packages/constants/index.js index 3bd128a728af22c18b298a1e93c417b3fcfe78eb..60457e5985125022666262640d20055aece87182 100644 --- a/packages/constants/index.js +++ b/packages/constants/index.js @@ -140,6 +140,7 @@ export const DEFAULT_PORT_NUM = 6557 export const CSRF_HEADER_KEY = 'X-CSRF-Token' export const ORIGIN_HEADER_KEYS = ['Origin'] export const WILD_CARD_CHAR = '*' + /* prop.js */ // this is all the key name for the config check map @@ -244,7 +245,9 @@ export const FILE_HANDLER_FN_NAME_PROP_KEY = 'fileHandlerName' export const ENABLE_SPLIT_TASK_PROP_KEY = 'enableSplitTask' export const CONNECTED_PROP_KEY = 'connected' - /* socket.js */ + +// share naming to id the cache store object +export const CACHE_STORE_PROP_KEY = 'cacheStore' /* socket.js */ // the constants file is gettig too large // we need to split up and group the related constant in one file diff --git a/packages/constants/main.js b/packages/constants/main.js index 3a686fd15ffaa723f5f8407eeb3247a45436f5d6..3b25e6cd1c84b1f8349398f30087f54721849c8f 100644 --- a/packages/constants/main.js +++ b/packages/constants/main.js @@ -171,6 +171,7 @@ module.exports = { "FILE_HANDLER_FN_NAME_PROP_KEY": "fileHandlerName", "ENABLE_SPLIT_TASK_PROP_KEY": "enableSplitTask", "CONNECTED_PROP_KEY": "connected", + "CACHE_STORE_PROP_KEY": "cacheStore", "SOCKET_PING_EVENT_NAME": "__ping__", "SWITCH_USER_EVENT_NAME": "__switch__", "LOGIN_EVENT_NAME": "__login__", diff --git a/packages/constants/package.json b/packages/constants/package.json index 13c6a7ecd8c2bb96097df44c52afdc62c0b040ab..abf33e8dd0c875427718e3e2d7ddae3edb467b9f 100755 --- a/packages/constants/package.json +++ b/packages/constants/package.json @@ -1,6 +1,6 @@ { "name": "jsonql-constants", - "version": "2.0.10", + "version": "2.0.11", "description": "All the share constants for jsonql modules", "main": "main.js", "module": "index.js", diff --git a/packages/constants/prop.js b/packages/constants/prop.js index 2642ee76d0c0778955d7f601492091a937979be2..b871f24aa8dbba4706396a0e3f80f5a2ff5aebce 100644 --- a/packages/constants/prop.js +++ b/packages/constants/prop.js @@ -100,3 +100,6 @@ export const FILE_HANDLER_FN_NAME_PROP_KEY = 'fileHandlerName' export const ENABLE_SPLIT_TASK_PROP_KEY = 'enableSplitTask' export const CONNECTED_PROP_KEY = 'connected' + +// share naming to id the cache store object +export const CACHE_STORE_PROP_KEY = 'cacheStore' \ No newline at end of file diff --git a/packages/ws-server-core/package.json b/packages/ws-server-core/package.json index c2e071f7636f8c8f7599a6d8652cec042ec89a40..1e854a2f3127103c703e360c0885415bf24f1b2d 100644 --- a/packages/ws-server-core/package.json +++ b/packages/ws-server-core/package.json @@ -27,6 +27,7 @@ "author": "Joel Chu ", "license": "MIT", "dependencies": { + "@jsonql/security": "^0.9.0", "@to1source/event": "^1.1.1", "colors": "^1.4.0", "debug": "^4.1.1", @@ -34,13 +35,10 @@ "fs-extra": "^9.0.0", "jsonql-constants": "^2.0.10", "jsonql-errors": "^1.2.1", - "jsonql-jwt": "^1.3.10", "jsonql-params-validator": "^1.6.2", "jsonql-resolver": "^1.2.1", "jsonql-utils": "^1.2.5", - "lodash": "^4.17.15", - "nanoid": "^2.1.11", - "node-cache": "^5.1.0" + "lodash": "^4.17.15" }, "devDependencies": { "ava": "^3.5.1", diff --git a/packages/ws-server-core/src/options/index.js b/packages/ws-server-core/src/options/index.js index d5a1fc71d732a662ee0d6395d6a14ced45bb3f5f..9eac0cd37d9a20c66beacd9781dbc6ef8b2f78eb 100644 --- a/packages/ws-server-core/src/options/index.js +++ b/packages/ws-server-core/src/options/index.js @@ -4,6 +4,8 @@ const { join } = require('path') const fsx = require('fs-extra') const { JsonqlValidationError } = require('jsonql-errors') const { getNspInfoByConfig } = require('jsonql-utils') +const { getNodeCache } = require('@jsonql/security') + const { checkConfig, checkConfigAsync, @@ -45,7 +47,7 @@ function checkSocketServerType(config) { function localCheckConfig(config) { return checkConfigAsync(config, wsDefaultOptions, wsConstProps) } -let callCtn = 0 + /** * We take the step two onward from the wsCheckConfig * @param {object} config configuration already checked @@ -58,7 +60,7 @@ function initWsServerOption(config) { .then(opts => { const nspInfo = getNspInfoByConfig(opts) - debug('take a look at nspInfo', ++callCtn, nspInfo) + debug('take a look at nspInfo', nspInfo) // add a check here and make sure the nspInfo is correct if (!nspInfo.publicNamespace) { @@ -76,6 +78,8 @@ function initWsServerOption(config) { throw new JsonqlValidationError(`initWsServerOption`, SECRET_MISSING_ERR) } } + // we init an cache object here now for re-use through out the app + opts.cacheStore = getNodeCache() return opts }) } diff --git a/packages/ws-server-core/src/share/add-property.js b/packages/ws-server-core/src/share/add-property.js index f47775da0320e8ad347ae062196e956e3d31a3c5..98c77d7338b955ec9cafe2e359bac2553ff383db 100644 --- a/packages/ws-server-core/src/share/add-property.js +++ b/packages/ws-server-core/src/share/add-property.js @@ -4,7 +4,7 @@ const { INIT_CLIENT_PROP_KEY } = require('jsonql-constants') const { injectToFn } = require('jsonql-utils') -const { provideUserdata } = require('jsonql-jwt') +const { provideUserdata } = require('@jsonql/security') const { injectNodeClient } = require('jsonql-resolver') const { setupSendMethod } = require('./setup-send-method')