add redis cache
This commit is contained in:
parent
a9911f06b9
commit
2546f6bd24
|
|
@ -23,7 +23,9 @@
|
|||
"@adonisjs/lucid",
|
||||
"@adonisjs/auth",
|
||||
"@adonisjs/session",
|
||||
"@adonisjs/view"
|
||||
"@adonisjs/view",
|
||||
"@kaperskyguru/adonis-cache",
|
||||
"@adonisjs/redis"
|
||||
],
|
||||
"aceProviders": [
|
||||
"@adonisjs/repl"
|
||||
|
|
|
|||
|
|
@ -11,3 +11,7 @@ MYSQL_PASSWORD=
|
|||
MYSQL_DB_NAME=lucid
|
||||
SESSION_DRIVER=cookie
|
||||
CACHE_VIEWS=false
|
||||
REDIS_CONNECTION=local
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
|
|
|
|||
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* @kaperskyguru/adonis-cache
|
||||
*
|
||||
* (c) Solomon Eseme <kaperskyguru@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
import Env from '@ioc:Adonis/Core/Env'
|
||||
import { CacheConfig } from '@ioc:Kaperskyguru/Adonis-Cache'
|
||||
|
||||
const cacheConfig: CacheConfig = {
|
||||
driver: Env.get('CACHE_DRIVER') as string,
|
||||
|
||||
drivers: {
|
||||
file: {
|
||||
driver: 'file',
|
||||
path: 'cache/data',
|
||||
},
|
||||
|
||||
array: {
|
||||
driver: 'array',
|
||||
serialize: false,
|
||||
},
|
||||
|
||||
database: {
|
||||
driver: 'database',
|
||||
table: 'cache',
|
||||
connection: null,
|
||||
lock_connection: null,
|
||||
},
|
||||
|
||||
redis: {
|
||||
driver: 'redis',
|
||||
connection: 'cache',
|
||||
lock_connection: 'default',
|
||||
},
|
||||
|
||||
memcached: {
|
||||
driver: Env.get('CACHE_DRIVER', 'memcached') as string,
|
||||
persistent_id: Env.get('MEMCACHED_PERSISTENT_ID') as string,
|
||||
sasl: [Env.get('MEMCACHED_USERNAME') as string, Env.get('MEMCACHED_PASSWORD') as string],
|
||||
options: {
|
||||
// Memcached::OPT_CONNECT_TIMEOUT : 2000,
|
||||
},
|
||||
servers: {
|
||||
host: Env.get('MEMCACHED_HOST', '127.0.0.1') as string,
|
||||
port: Env.get('MEMCACHED_PORT', 11211) as string,
|
||||
weight: 100,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
export default cacheConfig
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
/**
|
||||
* Config source: https://git.io/JemcF
|
||||
*
|
||||
* Feel free to let us know via PR, if you find something broken in this config
|
||||
* file.
|
||||
*/
|
||||
|
||||
import Env from '@ioc:Adonis/Core/Env'
|
||||
import { redisConfig } from '@adonisjs/redis/build/config'
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Redis configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Following is the configuration used by the Redis provider to connect to
|
||||
| the redis server and execute redis commands.
|
||||
|
|
||||
| Do make sure to pre-define the connections type inside `contracts/redis.ts`
|
||||
| file for AdonisJs to recognize connections.
|
||||
|
|
||||
| Make sure to check `contracts/redis.ts` file for defining extra connections
|
||||
*/
|
||||
export default redisConfig({
|
||||
connection: Env.get('REDIS_CONNECTION'),
|
||||
|
||||
connections: {
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| The default connection
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The main connection you want to use to execute redis commands. The same
|
||||
| connection will be used by the session provider, if you rely on the
|
||||
| redis driver.
|
||||
|
|
||||
*/
|
||||
local: {
|
||||
host: Env.get('REDIS_HOST'),
|
||||
port: Env.get('REDIS_PORT'),
|
||||
password: Env.get('REDIS_PASSWORD', ''),
|
||||
db: 0,
|
||||
keyPrefix: '',
|
||||
},
|
||||
},
|
||||
})
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* Contract source: https://git.io/JemcN
|
||||
*
|
||||
* Feel free to let us know via PR, if you find something broken in this config
|
||||
* file.
|
||||
*/
|
||||
|
||||
import { InferConnectionsFromConfig } from '@adonisjs/redis/build/config'
|
||||
import redisConfig from '../config/redis'
|
||||
|
||||
declare module '@ioc:Adonis/Addons/Redis' {
|
||||
interface RedisConnectionsList extends InferConnectionsFromConfig<typeof redisConfig> {}
|
||||
}
|
||||
6
env.ts
6
env.ts
|
|
@ -27,5 +27,9 @@ export default Env.rules({
|
|||
MYSQL_USER: Env.schema.string(),
|
||||
MYSQL_PASSWORD: Env.schema.string.optional(),
|
||||
MYSQL_DB_NAME: Env.schema.string(),
|
||||
SESSION_DRIVER: Env.schema.string()
|
||||
SESSION_DRIVER: Env.schema.string(),
|
||||
REDIS_CONNECTION: Env.schema.enum(["local"] as const),
|
||||
REDIS_HOST: Env.schema.string({ format: "host" }),
|
||||
REDIS_PORT: Env.schema.number(),
|
||||
REDIS_PASSWORD: Env.schema.string.optional(),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -11,9 +11,11 @@
|
|||
"@adonisjs/auth": "^8.2.3",
|
||||
"@adonisjs/core": "^5.9.0",
|
||||
"@adonisjs/lucid": "^18.4.0",
|
||||
"@adonisjs/redis": "^7.3.4",
|
||||
"@adonisjs/repl": "^3.1.11",
|
||||
"@adonisjs/session": "^6.4.0",
|
||||
"@adonisjs/view": "^6.2.0",
|
||||
"@kaperskyguru/adonis-cache": "^2.1.1",
|
||||
"axios": "^1.4.0",
|
||||
"child_process": "^1.0.2",
|
||||
"chokidar": "^3.5.3",
|
||||
|
|
@ -480,6 +482,19 @@
|
|||
"truncatise": "0.0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@adonisjs/redis": {
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@adonisjs/redis/-/redis-7.3.4.tgz",
|
||||
"integrity": "sha512-74SApmgimjwU8QflnhANeo7CpQeP9aoObM217LJ51AtKwTvnb0yXaqdj2v60G9uCqcqZAIFWJmeUdXGgUwGcXw==",
|
||||
"dependencies": {
|
||||
"@poppinss/utils": "^5.0.0",
|
||||
"@types/ioredis": "^4.28.10",
|
||||
"ioredis": "^5.2.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@adonisjs/core": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@adonisjs/repl": {
|
||||
"version": "3.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@adonisjs/repl/-/repl-3.1.11.tgz",
|
||||
|
|
@ -837,6 +852,11 @@
|
|||
"npm": ">=6.14.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@ioredis/commands": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz",
|
||||
"integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg=="
|
||||
},
|
||||
"node_modules/@japa/api-client": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@japa/api-client/-/api-client-1.4.4.tgz",
|
||||
|
|
@ -1027,6 +1047,23 @@
|
|||
"integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@kaperskyguru/adonis-cache": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@kaperskyguru/adonis-cache/-/adonis-cache-2.1.1.tgz",
|
||||
"integrity": "sha512-FRBHd/QSAC/aUTQS0MW6h31O8CFUPy62U0GH5z11pZWVl1NmsbU8DBdYOQA45jyTjKR1cErLyI+lWqgrG0l9xw==",
|
||||
"dependencies": {
|
||||
"fs": "^0.0.1-security"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@adonisjs/core": "^5.1.1",
|
||||
"@adonisjs/redis": "^7.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@adonisjs/redis": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@mrmlnc/readdir-enhanced": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
|
||||
|
|
@ -1324,6 +1361,14 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/he/-/he-1.2.1.tgz",
|
||||
"integrity": "sha512-CdNmJMcSqX1BiP3iSsWt+VgixndRIDGzWyaGpBnW3i5heATSk5bJu2j3buutsoBQNjyryqxaNpr8M7fRsGL15w=="
|
||||
},
|
||||
"node_modules/@types/ioredis": {
|
||||
"version": "4.28.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.28.10.tgz",
|
||||
"integrity": "sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ==",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/istanbul-lib-coverage": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
|
||||
|
|
@ -2591,6 +2636,14 @@
|
|||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/cluster-key-slot": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz",
|
||||
"integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/co-compose": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/co-compose/-/co-compose-7.0.3.tgz",
|
||||
|
|
@ -4874,6 +4927,29 @@
|
|||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/ioredis": {
|
||||
"version": "5.3.2",
|
||||
"resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz",
|
||||
"integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==",
|
||||
"dependencies": {
|
||||
"@ioredis/commands": "^1.1.1",
|
||||
"cluster-key-slot": "^1.1.0",
|
||||
"debug": "^4.3.4",
|
||||
"denque": "^2.1.0",
|
||||
"lodash.defaults": "^4.2.0",
|
||||
"lodash.isarguments": "^3.1.0",
|
||||
"redis-errors": "^1.2.0",
|
||||
"redis-parser": "^3.0.0",
|
||||
"standard-as-callback": "^2.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.22.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/ioredis"
|
||||
}
|
||||
},
|
||||
"node_modules/ip": {
|
||||
"version": "1.1.8",
|
||||
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
|
||||
|
|
@ -5544,6 +5620,11 @@
|
|||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"node_modules/lodash.defaults": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
|
||||
"integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
|
||||
},
|
||||
"node_modules/lodash.flatten": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
|
||||
|
|
@ -5561,6 +5642,11 @@
|
|||
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
|
||||
"integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="
|
||||
},
|
||||
"node_modules/lodash.isarguments": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
|
||||
"integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg=="
|
||||
},
|
||||
"node_modules/lodash.isboolean": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
|
||||
|
|
@ -7370,6 +7456,25 @@
|
|||
"esprima": "~4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/redis-errors": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
|
||||
"integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==",
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/redis-parser": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
|
||||
"integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
|
||||
"dependencies": {
|
||||
"redis-errors": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/reflect-metadata": {
|
||||
"version": "0.1.13",
|
||||
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
|
||||
|
|
@ -8235,6 +8340,11 @@
|
|||
"get-source": "^2.0.12"
|
||||
}
|
||||
},
|
||||
"node_modules/standard-as-callback": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
|
||||
"integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="
|
||||
},
|
||||
"node_modules/static-extend": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
|
||||
|
|
@ -9605,6 +9715,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"@adonisjs/redis": {
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@adonisjs/redis/-/redis-7.3.4.tgz",
|
||||
"integrity": "sha512-74SApmgimjwU8QflnhANeo7CpQeP9aoObM217LJ51AtKwTvnb0yXaqdj2v60G9uCqcqZAIFWJmeUdXGgUwGcXw==",
|
||||
"requires": {
|
||||
"@poppinss/utils": "^5.0.0",
|
||||
"@types/ioredis": "^4.28.10",
|
||||
"ioredis": "^5.2.3"
|
||||
}
|
||||
},
|
||||
"@adonisjs/repl": {
|
||||
"version": "3.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@adonisjs/repl/-/repl-3.1.11.tgz",
|
||||
|
|
@ -9895,6 +10015,11 @@
|
|||
"resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.1.0.tgz",
|
||||
"integrity": "sha512-38DT60rumHfBYynif3lmtxMqMqmsOQIxQgEuPZxCk2yUYN0eqWpTACgxi0VpidvsJB8CRxCpvP7B3anK85FjtQ=="
|
||||
},
|
||||
"@ioredis/commands": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz",
|
||||
"integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg=="
|
||||
},
|
||||
"@japa/api-client": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@japa/api-client/-/api-client-1.4.4.tgz",
|
||||
|
|
@ -10071,6 +10196,14 @@
|
|||
"integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==",
|
||||
"dev": true
|
||||
},
|
||||
"@kaperskyguru/adonis-cache": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@kaperskyguru/adonis-cache/-/adonis-cache-2.1.1.tgz",
|
||||
"integrity": "sha512-FRBHd/QSAC/aUTQS0MW6h31O8CFUPy62U0GH5z11pZWVl1NmsbU8DBdYOQA45jyTjKR1cErLyI+lWqgrG0l9xw==",
|
||||
"requires": {
|
||||
"fs": "^0.0.1-security"
|
||||
}
|
||||
},
|
||||
"@mrmlnc/readdir-enhanced": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
|
||||
|
|
@ -10333,6 +10466,14 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/he/-/he-1.2.1.tgz",
|
||||
"integrity": "sha512-CdNmJMcSqX1BiP3iSsWt+VgixndRIDGzWyaGpBnW3i5heATSk5bJu2j3buutsoBQNjyryqxaNpr8M7fRsGL15w=="
|
||||
},
|
||||
"@types/ioredis": {
|
||||
"version": "4.28.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.28.10.tgz",
|
||||
"integrity": "sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ==",
|
||||
"requires": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/istanbul-lib-coverage": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
|
||||
|
|
@ -11312,6 +11453,11 @@
|
|||
"shallow-clone": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"cluster-key-slot": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz",
|
||||
"integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA=="
|
||||
},
|
||||
"co-compose": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/co-compose/-/co-compose-7.0.3.tgz",
|
||||
|
|
@ -13081,6 +13227,22 @@
|
|||
"resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
|
||||
"integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw=="
|
||||
},
|
||||
"ioredis": {
|
||||
"version": "5.3.2",
|
||||
"resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz",
|
||||
"integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==",
|
||||
"requires": {
|
||||
"@ioredis/commands": "^1.1.1",
|
||||
"cluster-key-slot": "^1.1.0",
|
||||
"debug": "^4.3.4",
|
||||
"denque": "^2.1.0",
|
||||
"lodash.defaults": "^4.2.0",
|
||||
"lodash.isarguments": "^3.1.0",
|
||||
"redis-errors": "^1.2.0",
|
||||
"redis-parser": "^3.0.0",
|
||||
"standard-as-callback": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"ip": {
|
||||
"version": "1.1.8",
|
||||
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
|
||||
|
|
@ -13582,6 +13744,11 @@
|
|||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"lodash.defaults": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
|
||||
"integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
|
||||
},
|
||||
"lodash.flatten": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
|
||||
|
|
@ -13599,6 +13766,11 @@
|
|||
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
|
||||
"integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="
|
||||
},
|
||||
"lodash.isarguments": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
|
||||
"integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg=="
|
||||
},
|
||||
"lodash.isboolean": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
|
||||
|
|
@ -14983,6 +15155,19 @@
|
|||
"esprima": "~4.0.0"
|
||||
}
|
||||
},
|
||||
"redis-errors": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
|
||||
"integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w=="
|
||||
},
|
||||
"redis-parser": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
|
||||
"integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
|
||||
"requires": {
|
||||
"redis-errors": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"reflect-metadata": {
|
||||
"version": "0.1.13",
|
||||
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
|
||||
|
|
@ -15651,6 +15836,11 @@
|
|||
"get-source": "^2.0.12"
|
||||
}
|
||||
},
|
||||
"standard-as-callback": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
|
||||
"integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="
|
||||
},
|
||||
"static-extend": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
|
||||
|
|
|
|||
|
|
@ -24,9 +24,11 @@
|
|||
"@adonisjs/auth": "^8.2.3",
|
||||
"@adonisjs/core": "^5.9.0",
|
||||
"@adonisjs/lucid": "^18.4.0",
|
||||
"@adonisjs/redis": "^7.3.4",
|
||||
"@adonisjs/repl": "^3.1.11",
|
||||
"@adonisjs/session": "^6.4.0",
|
||||
"@adonisjs/view": "^6.2.0",
|
||||
"@kaperskyguru/adonis-cache": "^2.1.1",
|
||||
"axios": "^1.4.0",
|
||||
"child_process": "^1.0.2",
|
||||
"chokidar": "^3.5.3",
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ import moment from "moment";
|
|||
import Product from "App/Models/Product";
|
||||
import { sendDeviceInfora } from "App/utils/sendDeviceInfor";
|
||||
import InfoDevice from "App/Models/InfoDevice";
|
||||
import LogReport from "App/Models/LogReport";
|
||||
import Cache from "@ioc:Kaperskyguru/Adonis-Cache";
|
||||
|
||||
runtimeCheckLogs(Env.get("FOLDER_LOGS"));
|
||||
|
||||
|
|
@ -300,11 +302,15 @@ Route.post("/api/sendMailInforDevice", async () => {
|
|||
|
||||
// Route.post("/api/test", async () => {
|
||||
// try {
|
||||
// let abc = await InfoDevice.findBy('SN', 'FHK0935F0Z3')
|
||||
// let pattern = /[\x00-\x20\x7F]/g;
|
||||
// if(abc?.$extras.PID.match(pattern)){
|
||||
// return "Loại"
|
||||
// }
|
||||
// const logs = await Cache.get('logs')
|
||||
|
||||
// if(logs){
|
||||
// return {type: "cache", data: logs}
|
||||
// }else{
|
||||
// let data = await LogReport.all();
|
||||
// Cache.set('logs', data, 120)
|
||||
// return {type: "no cache", data: data}
|
||||
// }
|
||||
// } catch (error) {
|
||||
// console.log(error)
|
||||
// }
|
||||
|
|
|
|||
|
|
@ -32,7 +32,9 @@
|
|||
"@adonisjs/lucid",
|
||||
"@adonisjs/auth",
|
||||
"@adonisjs/session",
|
||||
"@adonisjs/view"
|
||||
"@adonisjs/view",
|
||||
"@kaperskyguru/adonis-cache",
|
||||
"@adonisjs/redis"
|
||||
]
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue