parent
4199574109
commit
48d289b076
9
.env
9
.env
|
|
@ -1,7 +1,6 @@
|
|||
DB_NAME=paul_api_next
|
||||
DB_USER=root
|
||||
DB_PASS=233456
|
||||
DB_PORT=8889
|
||||
DB_LINK=localhost
|
||||
DB_URL=mysql://root:233456@localhost:8889/paul_api_next
|
||||
|
||||
CACHE_HOST=127.0.0.1
|
||||
CACHE_PORT=6379
|
||||
|
||||
PAUL_SITENAME="保罗 API Next"
|
||||
|
|
|
|||
|
|
@ -11,19 +11,21 @@
|
|||
"@midwayjs/hooks": "^3.0.0",
|
||||
"@midwayjs/hooks-kit": "^3.0.0",
|
||||
"@midwayjs/koa": "^3.3.0",
|
||||
"@midwayjs/redis": "^3.3.2",
|
||||
"@midwayjs/rpc": "^3.0.0",
|
||||
"@prisma/client": "^3.12.0",
|
||||
"ahooks": "^3.3.0",
|
||||
"dotenv": "^16.0.0",
|
||||
"isomorphic-unfetch": "^3.1.0",
|
||||
"lodash": "^4.17.21",
|
||||
"prismjs": "^1.27.0",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-router-dom": "^6.3.0",
|
||||
"redis": "^4.0.6"
|
||||
"react-router-dom": "^6.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@midwayjs/mock": "^3.3.0",
|
||||
"@types/ioredis": "^4.28.10",
|
||||
"@types/lodash": "^4.14.181",
|
||||
"@types/prismjs": "^1.26.0",
|
||||
"@types/react": "^17.0.44",
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ generator client {
|
|||
|
||||
datasource db {
|
||||
provider = "mysql"
|
||||
url = "mysql://root:233456@localhost:8889/paul_api_next"
|
||||
url = env("DB_URL")
|
||||
}
|
||||
|
||||
model ACGM {
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { Api, Get, Query, useContext } from "@midwayjs/hooks";
|
||||
import { Api, Get, Query, useContext, useInject } from "@midwayjs/hooks";
|
||||
import { RedisService } from "@midwayjs/redis";
|
||||
import { prisma } from "./utils/prisma";
|
||||
|
||||
import { getSong } from "./utils/netease";
|
||||
|
||||
import { client } from "./utils/redis";
|
||||
import { prisma } from "./utils/prisma";
|
||||
|
||||
export default Api(
|
||||
Get(),
|
||||
Query<{ play?: string }>(),
|
||||
async () => {
|
||||
const ctx = useContext();
|
||||
const client = await useInject(RedisService);
|
||||
|
||||
// 设置 Header
|
||||
ctx.set("access-control-allow-origin", "*");
|
||||
|
|
@ -44,7 +44,7 @@ export default Api(
|
|||
}
|
||||
|
||||
// 尝试使用缓存
|
||||
const cached = await client.lRange(`api-next:163:${id}`, 0, 7);
|
||||
const cached = await client.lrange(`api-next:163:${id}`, 0, 7);
|
||||
|
||||
if (cached.length) {
|
||||
return {
|
||||
|
|
@ -70,7 +70,7 @@ export default Api(
|
|||
const song = await getSong(id);
|
||||
|
||||
if (song) {
|
||||
await client.rPush(`api-next:163:${id}`, [
|
||||
await client.rpush(`api-next:163:${id}`,
|
||||
song.title,
|
||||
song.artist,
|
||||
song.album,
|
||||
|
|
@ -79,8 +79,11 @@ export default Api(
|
|||
song.lyric,
|
||||
song.sub_lyric,
|
||||
song.link,
|
||||
song.served
|
||||
]);
|
||||
song.served,
|
||||
err => {
|
||||
err && console.log(err);
|
||||
}
|
||||
);
|
||||
await client.expire(`api-next:163:${id}`, 21600);
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
import { Api, Get, Query, useContext } from "@midwayjs/hooks";
|
||||
import { Api, Get, Query, useContext, useInject } from "@midwayjs/hooks";
|
||||
import { RedisService } from "@midwayjs/redis";
|
||||
|
||||
import { getVideoInfo } from "./utils/bili";
|
||||
|
||||
import { client } from "./utils/redis";
|
||||
|
||||
const availableStyle = ["gray", "white", "black", "shadow"];
|
||||
|
||||
export default Api(
|
||||
|
|
@ -11,6 +10,7 @@ export default Api(
|
|||
Query<{ av?: string, bv?: string }>(),
|
||||
async () => {
|
||||
const ctx = useContext();
|
||||
const client = await useInject(RedisService);
|
||||
|
||||
const id = ctx.query.av || ctx.query.bv;
|
||||
const type = "av" in ctx.query ? "av" : "bv" in ctx.query ? "bv" : undefined;
|
||||
|
|
@ -27,7 +27,7 @@ export default Api(
|
|||
await client.incr("api-next:stat:bili");
|
||||
|
||||
// 尝试使用缓存
|
||||
const cached = await client.lRange(`api-next:bili:${id}`, 0, 3);
|
||||
const cached = await client.lrange(`api-next:bili:${id}`, 0, 3);
|
||||
|
||||
let result;
|
||||
|
||||
|
|
@ -45,11 +45,14 @@ export default Api(
|
|||
return "获取失败";
|
||||
}
|
||||
|
||||
await client.rPush(`api-next:bili:${id}`, [
|
||||
await client.rpush(`api-next:bili:${id}`,
|
||||
info.title,
|
||||
info.image,
|
||||
info.desc,
|
||||
]);
|
||||
(err) => {
|
||||
err && console.log(err);
|
||||
}
|
||||
);
|
||||
await client.expire(`api-next:bili:${id}`, 21600);
|
||||
|
||||
result = info;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,14 @@
|
|||
import { Api, Get, Query, useContext } from "@midwayjs/hooks";
|
||||
import fetch from "isomorphic-unfetch";
|
||||
import { Api, Get, Query, useContext, useInject } from "@midwayjs/hooks";
|
||||
import { RedisService } from "@midwayjs/redis";
|
||||
|
||||
import { client } from "./utils/redis";
|
||||
import fetch from "isomorphic-unfetch";
|
||||
|
||||
export default Api(
|
||||
Get(),
|
||||
Query<{ info?: string }>(),
|
||||
async () => {
|
||||
const ctx = useContext();
|
||||
const client = await useInject(RedisService);
|
||||
|
||||
// 设置 Header
|
||||
ctx.set("access-control-allow-origin", "*");
|
||||
|
|
@ -18,7 +19,7 @@ export default Api(
|
|||
await client.incr("api-next:stat:bing");
|
||||
|
||||
// 尝试使用缓存
|
||||
const cached = await client.lRange("api-next:bing", 0, 2);
|
||||
const cached = await client.lrange("api-next:bing", 0, 2);
|
||||
|
||||
let image;
|
||||
|
||||
|
|
@ -42,7 +43,9 @@ export default Api(
|
|||
copyright: json.images[0].copyright,
|
||||
};
|
||||
|
||||
await client.rPush("api-next:bing", [image.url, image.copyright]);
|
||||
await client.rpush("api-next:bing", image.url, image.copyright, err => {
|
||||
err && console.log(err);
|
||||
});
|
||||
await client.expire("api-next:bing", 21600);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,73 +0,0 @@
|
|||
import { Api, Get, Params, Query, useContext } from '@midwayjs/hooks';
|
||||
import type { Context } from '@midwayjs/koa';
|
||||
|
||||
const books = [
|
||||
{
|
||||
id: 1,
|
||||
title: 'The Lord of the Rings',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: 'The Hobbit',
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: 'The Catcher in the Rye',
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
title: 'Gone with the Wind',
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
title: 'To Kill a Mockingbird',
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
title: 'Pride and Prejudice',
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
title: 'The Great Gatsby',
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
title: 'The Scarlet Letter',
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
title: 'The Grapes of Wrath',
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
title: 'The Great Gatsby',
|
||||
},
|
||||
];
|
||||
|
||||
export const getBookByParams = Api(
|
||||
Get('/book/:id'),
|
||||
Params<{ id: string }>(),
|
||||
async () => {
|
||||
const ctx = useContext<Context>();
|
||||
const { id } = ctx.params;
|
||||
const book = books.find((b) => b.id === Number(id));
|
||||
if (!book) {
|
||||
ctx.throw(400, 'book not found');
|
||||
}
|
||||
return book;
|
||||
}
|
||||
);
|
||||
|
||||
export const getBookByQuery = Api(
|
||||
Get('/book'),
|
||||
Query<{ id: string }>(),
|
||||
async () => {
|
||||
const ctx = useContext<Context>();
|
||||
const { id } = ctx.query;
|
||||
const book = books.find((b) => b.id === Number(id));
|
||||
if (!book) {
|
||||
ctx.throw(400, 'book not found');
|
||||
}
|
||||
return book;
|
||||
}
|
||||
);
|
||||
|
|
@ -1,10 +1,24 @@
|
|||
import { createConfiguration, hooks } from '@midwayjs/hooks';
|
||||
import * as Koa from '@midwayjs/koa';
|
||||
import { createConfiguration, hooks } from "@midwayjs/hooks";
|
||||
import * as Koa from "@midwayjs/koa";
|
||||
import * as dotenv from "dotenv";
|
||||
import * as redis from "@midwayjs/redis";
|
||||
|
||||
const env = dotenv.config();
|
||||
|
||||
/**
|
||||
* setup midway server
|
||||
*/
|
||||
export default createConfiguration({
|
||||
imports: [Koa, hooks()],
|
||||
importConfigs: [{ default: { keys: 'session_keys' } }],
|
||||
imports: [Koa, redis, hooks()],
|
||||
importConfigs: [{
|
||||
default: {
|
||||
redis: {
|
||||
client: {
|
||||
port: Number(env.parsed ?. CACHE_PORT) || 6379,
|
||||
host: env.parsed ?. CACHE_HOST || "127.0.0.1",
|
||||
db: 0,
|
||||
},
|
||||
},
|
||||
}
|
||||
}],
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { Api, Get, Query, useContext } from "@midwayjs/hooks";
|
||||
|
||||
import { client } from "./utils/redis";
|
||||
import { Api, Get, Query, useContext, useInject } from "@midwayjs/hooks";
|
||||
import { RedisService } from "@midwayjs/redis";
|
||||
|
||||
export default Api(
|
||||
Get(),
|
||||
Query<{ id?: string, loop?: string }>(),
|
||||
async () => {
|
||||
const ctx = useContext();
|
||||
const client = await useInject(RedisService);
|
||||
|
||||
// 增加使用数量
|
||||
await client.incr("api-next:stat:dji");
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
import { Api, Get, Query, useContext } from '@midwayjs/hooks';
|
||||
import { Api, Get, Query, useContext, useInject } from "@midwayjs/hooks";
|
||||
import { RedisService } from "@midwayjs/redis";
|
||||
|
||||
import { getSong } from "./utils/netease";
|
||||
|
||||
import { client } from './utils/redis';
|
||||
|
||||
export default Api(
|
||||
Get(),
|
||||
Query<{ id?: string, play?: string }>(),
|
||||
async () => {
|
||||
const ctx = useContext();
|
||||
const client = await useInject(RedisService);
|
||||
|
||||
// 设置 Header
|
||||
ctx.set("access-control-allow-origin", "*");
|
||||
|
|
@ -38,7 +38,7 @@ export default Api(
|
|||
ctx.set("cache-control", "max-age=604800");
|
||||
|
||||
// 尝试使用缓存
|
||||
const cached = await client.lRange(`api-next:163:${id}`, 0, 7);
|
||||
const cached = await client.lrange(`api-next:163:${id}`, 0, 7);
|
||||
|
||||
if (cached.length) {
|
||||
return {
|
||||
|
|
@ -64,7 +64,7 @@ export default Api(
|
|||
const song = await getSong(id);
|
||||
|
||||
if (song) {
|
||||
await client.rPush(`api-next:163:${id}`, [
|
||||
await client.rpush(`api-next:163:${id}`,
|
||||
song.title,
|
||||
song.artist,
|
||||
song.album,
|
||||
|
|
@ -73,8 +73,11 @@ export default Api(
|
|||
song.lyric,
|
||||
song.sub_lyric,
|
||||
song.link,
|
||||
song.served
|
||||
]);
|
||||
song.served,
|
||||
err => {
|
||||
err && console.log(err);
|
||||
}
|
||||
);
|
||||
await client.expire(`api-next:163:${id}`, 21600);
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
import { Api, Get } from "@midwayjs/hooks";
|
||||
|
||||
import { client } from "./utils/redis";
|
||||
import { Api, Get, useInject } from "@midwayjs/hooks";
|
||||
import { RedisService } from "@midwayjs/redis";
|
||||
|
||||
export default Api(
|
||||
Get(),
|
||||
async () => {
|
||||
const client = await useInject(RedisService);
|
||||
|
||||
const neteaseStat = await client.get("api-next:stat:netease");
|
||||
const wallpaperStat = await client.get("api-next:stat:wallpaper");
|
||||
const biliStat = await client.get("api-next:stat:bili");
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
import { createClient, RedisClientType } from 'redis';
|
||||
|
||||
export let client: RedisClientType;
|
||||
|
||||
(async () => {
|
||||
client = createClient({
|
||||
url: 'redis://127.0.0.1:6379'
|
||||
});
|
||||
|
||||
client.on('error', (err) => console.log('Redis Client Error', err));
|
||||
|
||||
await client.connect();
|
||||
})();
|
||||
|
|
@ -1,14 +1,16 @@
|
|||
import { Api, Get, Query, useContext } from "@midwayjs/hooks";
|
||||
import { Api, Get, Query, useContext, useInject } from "@midwayjs/hooks";
|
||||
import { RedisService } from "@midwayjs/redis";
|
||||
|
||||
import { source } from "./data/wallpaper";
|
||||
import { random } from "lodash";
|
||||
import { client } from "./utils/redis";
|
||||
|
||||
export default Api(
|
||||
Get(),
|
||||
Query<{ source: string }>(),
|
||||
async () => {
|
||||
const ctx = useContext();
|
||||
const client = await useInject(RedisService);
|
||||
|
||||
const sourceResult = source[ctx.query.source || "jsd"];
|
||||
|
||||
// 增加使用数量
|
||||
|
|
|
|||
124
yarn.lock
124
yarn.lock
|
|
@ -256,6 +256,11 @@
|
|||
enabled "2.0.x"
|
||||
kuler "^2.0.0"
|
||||
|
||||
"@ioredis/commands@^1.1.1":
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.1.1.tgz#2ba4299ea624a6bfac15b35f6df90b0015691ec3"
|
||||
integrity sha512-fsR4P/ROllzf/7lXYyElUJCheWdTJVJvOTps8v9IWKFATxR61ANOlnoPqhH099xYLrJGpc2ZQ28B3rMeUt5VQg==
|
||||
|
||||
"@jridgewell/resolve-uri@^3.0.3":
|
||||
version "3.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c"
|
||||
|
|
@ -523,6 +528,13 @@
|
|||
source-map-support "^0.5.16"
|
||||
typescript "~4.2.4"
|
||||
|
||||
"@midwayjs/redis@^3.3.2":
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@midwayjs/redis/-/redis-3.3.2.tgz#ab8c42f9548d27fad17a8b39326259e04122b753"
|
||||
integrity sha512-cMwSvtFTi2dcks8p60S7ZBRxdJ90Mk/MYX5495FSC/64StkSmEjXXRKhI0Cbvv0g6awMz89JhTXxaoIi8meU7A==
|
||||
dependencies:
|
||||
ioredis "^5.0.0"
|
||||
|
||||
"@midwayjs/rpc@^3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@midwayjs/rpc/-/rpc-3.0.0.tgz#49ffb20d8515c0b80afcc46111f89283e29a53cb"
|
||||
|
|
@ -573,41 +585,6 @@
|
|||
dependencies:
|
||||
"@midwayjs/cookies" "^1.0.2"
|
||||
|
||||
"@node-redis/bloom@1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@node-redis/bloom/-/bloom-1.0.1.tgz#144474a0b7dc4a4b91badea2cfa9538ce0a1854e"
|
||||
integrity sha512-mXEBvEIgF4tUzdIN89LiYsbi6//EdpFA7L8M+DHCvePXg+bfHWi+ct5VI6nHUFQE5+ohm/9wmgihCH3HSkeKsw==
|
||||
|
||||
"@node-redis/client@1.0.5":
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@node-redis/client/-/client-1.0.5.tgz#ebac5e2bbf12214042a37621604973a954ede755"
|
||||
integrity sha512-ESZ3bd1f+od62h4MaBLKum+klVJfA4wAeLHcVQBkoXa1l0viFesOWnakLQqKg+UyrlJhZmXJWtu0Y9v7iTMrig==
|
||||
dependencies:
|
||||
cluster-key-slot "1.1.0"
|
||||
generic-pool "3.8.2"
|
||||
redis-parser "3.0.0"
|
||||
yallist "4.0.0"
|
||||
|
||||
"@node-redis/graph@1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@node-redis/graph/-/graph-1.0.0.tgz#baf8eaac4a400f86ea04d65ec3d65715fd7951ab"
|
||||
integrity sha512-mRSo8jEGC0cf+Rm7q8mWMKKKqkn6EAnA9IA2S3JvUv/gaWW/73vil7GLNwion2ihTptAm05I9LkepzfIXUKX5g==
|
||||
|
||||
"@node-redis/json@1.0.2":
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@node-redis/json/-/json-1.0.2.tgz#8ad2d0f026698dc1a4238cc3d1eb099a3bee5ab8"
|
||||
integrity sha512-qVRgn8WfG46QQ08CghSbY4VhHFgaTY71WjpwRBGEuqGPfWwfRcIf3OqSpR7Q/45X+v3xd8mvYjywqh0wqJ8T+g==
|
||||
|
||||
"@node-redis/search@1.0.5":
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@node-redis/search/-/search-1.0.5.tgz#96050007eb7c50a7e47080320b4f12aca8cf94c4"
|
||||
integrity sha512-MCOL8iCKq4v+3HgEQv8zGlSkZyXSXtERgrAJ4TSryIG/eLFy84b57KmNNa/V7M1Q2Wd2hgn2nPCGNcQtk1R1OQ==
|
||||
|
||||
"@node-redis/time-series@1.0.2":
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@node-redis/time-series/-/time-series-1.0.2.tgz#5dd3638374edd85ebe0aa6b0e87addc88fb9df69"
|
||||
integrity sha512-HGQ8YooJ8Mx7l28tD7XjtB3ImLEjlUxG1wC1PAjxu6hPJqjPshUZxAICzDqDjtIbhDTf48WXXUcx8TQJB1XTKA==
|
||||
|
||||
"@nodelib/fs.scandir@2.1.5":
|
||||
version "2.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
|
||||
|
|
@ -849,6 +826,13 @@
|
|||
resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.2.tgz#7315b4c4c54f82d13fa61c228ec5c2ea5cc9e0e1"
|
||||
integrity sha512-EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w==
|
||||
|
||||
"@types/ioredis@^4.28.10":
|
||||
version "4.28.10"
|
||||
resolved "https://registry.yarnpkg.com/@types/ioredis/-/ioredis-4.28.10.tgz#40ceb157a4141088d1394bb87c98ed09a75a06ff"
|
||||
integrity sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/js-cookie@^2.x.x":
|
||||
version "2.2.7"
|
||||
resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3"
|
||||
|
|
@ -1237,7 +1221,7 @@ cls-hooked@^4.2.2:
|
|||
emitter-listener "^1.0.1"
|
||||
semver "^5.4.1"
|
||||
|
||||
cluster-key-slot@1.1.0:
|
||||
cluster-key-slot@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz#30474b2a981fb12172695833052bc0d01336d10d"
|
||||
integrity sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==
|
||||
|
|
@ -1409,7 +1393,7 @@ debug@^3.1.0:
|
|||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3:
|
||||
debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
|
||||
version "4.3.4"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||
|
|
@ -1436,6 +1420,11 @@ delegates@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
|
||||
integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
|
||||
|
||||
denque@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/denque/-/denque-2.0.1.tgz#bcef4c1b80dc32efe97515744f21a4229ab8934a"
|
||||
integrity sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==
|
||||
|
||||
depd@2.0.0, depd@^2.0.0, depd@~2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
|
||||
|
|
@ -1479,6 +1468,11 @@ dir-glob@^3.0.1:
|
|||
dependencies:
|
||||
path-type "^4.0.0"
|
||||
|
||||
dotenv@^16.0.0:
|
||||
version "16.0.0"
|
||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.0.tgz#c619001253be89ebb638d027b609c75c26e47411"
|
||||
integrity sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==
|
||||
|
||||
ee-first@1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
||||
|
|
@ -1786,11 +1780,6 @@ function-bind@^1.1.1:
|
|||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
|
||||
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
|
||||
|
||||
generic-pool@3.8.2:
|
||||
version "3.8.2"
|
||||
resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.8.2.tgz#aab4f280adb522fdfbdc5e5b64d718d3683f04e9"
|
||||
integrity sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==
|
||||
|
||||
gensync@^1.0.0-beta.2:
|
||||
version "1.0.0-beta.2"
|
||||
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
|
||||
|
|
@ -1954,6 +1943,21 @@ intersection-observer@^0.12.0:
|
|||
resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.12.0.tgz#6c84628f67ce8698e5f9ccf857d97718745837aa"
|
||||
integrity sha512-2Vkz8z46Dv401zTWudDGwO7KiGHNDkMv417T5ItcNYfmvHR/1qCTVBO9vwH8zZmQ0WkA/1ARwpysR9bsnop4NQ==
|
||||
|
||||
ioredis@^5.0.0:
|
||||
version "5.0.4"
|
||||
resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.0.4.tgz#0d4abfd818adfc5ef5029fddac4b8f503a1433b7"
|
||||
integrity sha512-qFJw3MnPNsJF1lcIOP3vztbsasOXK3nDdNAgjQj7t7/Bn/w10PGchTOpqylQNxjzPbLoYDu34LjeJtSWiKBntQ==
|
||||
dependencies:
|
||||
"@ioredis/commands" "^1.1.1"
|
||||
cluster-key-slot "^1.1.0"
|
||||
debug "^4.3.4"
|
||||
denque "^2.0.1"
|
||||
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"
|
||||
|
||||
is-arrayish@^0.3.1:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
|
||||
|
|
@ -2160,6 +2164,16 @@ locate-path@^6.0.0:
|
|||
dependencies:
|
||||
p-locate "^5.0.0"
|
||||
|
||||
lodash.defaults@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
|
||||
integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=
|
||||
|
||||
lodash.isarguments@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
|
||||
integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=
|
||||
|
||||
lodash@^4.17.21:
|
||||
version "4.17.21"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
|
|
@ -2526,30 +2540,18 @@ redaxios@^0.4.1:
|
|||
resolved "https://registry.yarnpkg.com/redaxios/-/redaxios-0.4.1.tgz#a46fd53b533ed76d8619d9e6d595b95543855195"
|
||||
integrity sha512-+Jhh1j8/H0KBro+Hih/MrDEJ1PICaU10JA6iu5b3+uvgRI+5n2M7qpMNXq7eC/0fspP0tTq49ONXlGWFdRoNLg==
|
||||
|
||||
redis-errors@^1.0.0:
|
||||
redis-errors@^1.0.0, redis-errors@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad"
|
||||
integrity sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=
|
||||
|
||||
redis-parser@3.0.0:
|
||||
redis-parser@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4"
|
||||
integrity sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=
|
||||
dependencies:
|
||||
redis-errors "^1.0.0"
|
||||
|
||||
redis@^4.0.6:
|
||||
version "4.0.6"
|
||||
resolved "https://registry.yarnpkg.com/redis/-/redis-4.0.6.tgz#a2ded4d9f4f4bad148e54781051618fc684cd858"
|
||||
integrity sha512-IaPAxgF5dV0jx+A9l6yd6R9/PAChZIoAskDVRzUODeLDNhsMlq7OLLTmu0AwAr0xjrJ1bibW5xdpRwqIQ8Q0Xg==
|
||||
dependencies:
|
||||
"@node-redis/bloom" "1.0.1"
|
||||
"@node-redis/client" "1.0.5"
|
||||
"@node-redis/graph" "1.0.0"
|
||||
"@node-redis/json" "1.0.2"
|
||||
"@node-redis/search" "1.0.5"
|
||||
"@node-redis/time-series" "1.0.2"
|
||||
|
||||
reflect-metadata@^0.1.13:
|
||||
version "0.1.13"
|
||||
resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08"
|
||||
|
|
@ -2727,6 +2729,11 @@ stack-trace@0.0.x:
|
|||
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
|
||||
integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=
|
||||
|
||||
standard-as-callback@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45"
|
||||
integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==
|
||||
|
||||
statuses@2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
|
||||
|
|
@ -3013,11 +3020,6 @@ ws@^7.2.3:
|
|||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67"
|
||||
integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==
|
||||
|
||||
yallist@4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
||||
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
||||
|
||||
ylru@^1.2.0:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.3.2.tgz#0de48017473275a4cbdfc83a1eaf67c01af8a785"
|
||||
|
|
|
|||
Loading…
Reference in New Issue