@jayfong/x-server 2.107.0 → 2.108.1
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.
- package/lib/_cjs/cli/cli.js +0 -0
- package/lib/_cjs/core/define_handler.js +16 -8
- package/lib/_cjs/services/jwt.js +1 -0
- package/lib/core/define_handler.d.ts +15 -5
- package/lib/core/define_handler.js +12 -8
- package/lib/services/jwt.d.ts +9 -5
- package/lib/services/jwt.js +1 -0
- package/package.json +4 -5
package/lib/_cjs/cli/cli.js
CHANGED
|
File without changes
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.defineHandler = defineHandler;
|
|
5
|
+
exports.defineHandlerANY = defineHandlerANY;
|
|
6
|
+
exports.defineHandlerFILE = defineHandlerFILE;
|
|
7
|
+
exports.defineHandlerGET = defineHandlerGET;
|
|
8
|
+
exports.defineHandlerXML = defineHandlerXML;
|
|
5
9
|
var _handler = require("./handler");
|
|
6
10
|
function defineHandler(options) {
|
|
7
11
|
const handler = new _handler.Handler({
|
|
@@ -11,20 +15,22 @@ function defineHandler(options) {
|
|
|
11
15
|
return handler;
|
|
12
16
|
}
|
|
13
17
|
defineHandler.POST = defineHandler;
|
|
14
|
-
|
|
18
|
+
function defineHandlerGET(options) {
|
|
15
19
|
const handler = new _handler.Handler({
|
|
16
20
|
...options,
|
|
17
21
|
requestMethod: 'GET'
|
|
18
22
|
});
|
|
19
23
|
return handler;
|
|
20
|
-
}
|
|
21
|
-
defineHandler.
|
|
24
|
+
}
|
|
25
|
+
defineHandler.GET = defineHandlerGET;
|
|
26
|
+
function defineHandlerFILE(options) {
|
|
22
27
|
const handler = new _handler.Handler({
|
|
23
28
|
...options,
|
|
24
29
|
requestMethod: 'FILE'
|
|
25
30
|
});
|
|
26
31
|
return handler;
|
|
27
|
-
}
|
|
32
|
+
}
|
|
33
|
+
defineHandler.FILE = defineHandlerFILE;
|
|
28
34
|
defineHandler.WS = options => {
|
|
29
35
|
const handler = new _handler.Handler({
|
|
30
36
|
...options,
|
|
@@ -32,17 +38,19 @@ defineHandler.WS = options => {
|
|
|
32
38
|
});
|
|
33
39
|
return handler;
|
|
34
40
|
};
|
|
35
|
-
|
|
41
|
+
function defineHandlerXML(options) {
|
|
36
42
|
const handler = new _handler.Handler({
|
|
37
43
|
...options,
|
|
38
44
|
requestMethod: 'XML'
|
|
39
45
|
});
|
|
40
46
|
return handler;
|
|
41
|
-
}
|
|
42
|
-
defineHandler.
|
|
47
|
+
}
|
|
48
|
+
defineHandler.XML = defineHandlerXML;
|
|
49
|
+
function defineHandlerANY(options) {
|
|
43
50
|
const handler = new _handler.Handler({
|
|
44
51
|
...options,
|
|
45
52
|
requestMethod: 'ANY'
|
|
46
53
|
});
|
|
47
54
|
return handler;
|
|
48
|
-
}
|
|
55
|
+
}
|
|
56
|
+
defineHandler.ANY = defineHandlerANY;
|
package/lib/_cjs/services/jwt.js
CHANGED
|
@@ -39,6 +39,7 @@ class JwtService {
|
|
|
39
39
|
if (err || !data || typeof data === 'string' || !data.iat || !data.exp) {
|
|
40
40
|
reject(new _http_error.HttpError.Unauthorized('data'));
|
|
41
41
|
} else {
|
|
42
|
+
data.token = token;
|
|
42
43
|
if (this.cache) {
|
|
43
44
|
this.cache.set(token, data, {
|
|
44
45
|
ttl: (0, _date.differenceInMilliseconds)((0, _date.fromUnixTime)(data.exp), new Date())
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import type { FirstParameter } from 'vtils/types';
|
|
1
2
|
import { Handler } from './handler';
|
|
2
3
|
import type { XHandler } from './types';
|
|
3
|
-
export declare function defineHandler<
|
|
4
|
+
export declare function defineHandler<TFn extends (...args: any[]) => Promise<any>, TReqData = FirstParameter<TFn>, TResData = Awaited<ReturnType<TFn>>>(options: XHandler.Options<TReqData, TResData, 'POST'>): Handler<TReqData, TResData, 'POST'>;
|
|
5
|
+
export declare function defineHandler<TReqData extends any = void, TResData extends any = void>(options: XHandler.Options<TReqData, TResData, 'POST'>): Handler<TReqData, TResData, 'POST'>;
|
|
4
6
|
export declare namespace defineHandler {
|
|
5
7
|
var POST: typeof defineHandler;
|
|
6
|
-
var GET:
|
|
7
|
-
var FILE:
|
|
8
|
+
var GET: typeof defineHandlerGET;
|
|
9
|
+
var FILE: typeof defineHandlerFILE;
|
|
8
10
|
var WS: <TReqData extends Record<string, [any, any]>>(options: XHandler.Options<{ [K in keyof TReqData]: {
|
|
9
11
|
request: TReqData[K][0];
|
|
10
12
|
response: TReqData[K][1];
|
|
@@ -12,6 +14,14 @@ export declare namespace defineHandler {
|
|
|
12
14
|
request: TReqData[K][0];
|
|
13
15
|
response: TReqData[K][1];
|
|
14
16
|
}; }, void, "WS">;
|
|
15
|
-
var XML:
|
|
16
|
-
var ANY:
|
|
17
|
+
var XML: typeof defineHandlerXML;
|
|
18
|
+
var ANY: typeof defineHandlerANY;
|
|
17
19
|
}
|
|
20
|
+
export declare function defineHandlerGET<TFn extends (...args: any[]) => Promise<any>, TReqData = FirstParameter<TFn>, TResData = Awaited<ReturnType<TFn>>>(options: XHandler.Options<TReqData, TResData, 'GET'>): Handler<TReqData, TResData, 'GET'>;
|
|
21
|
+
export declare function defineHandlerGET<TReqData extends any = void, TResData extends any = void>(options: XHandler.Options<TReqData, TResData, 'GET'>): Handler<TReqData, TResData, 'GET'>;
|
|
22
|
+
export declare function defineHandlerFILE<TFn extends (...args: any[]) => Promise<any>, TReqData = FirstParameter<TFn>, TResData = Awaited<ReturnType<TFn>>>(options: XHandler.Options<TReqData, TResData, 'FILE'>): Handler<TReqData, TResData, 'FILE'>;
|
|
23
|
+
export declare function defineHandlerFILE<TReqData extends any = void, TResData extends any = void>(options: XHandler.Options<TReqData, TResData, 'FILE'>): Handler<TReqData, TResData, 'FILE'>;
|
|
24
|
+
export declare function defineHandlerXML<TFn extends (...args: any[]) => Promise<any>, TReqData = FirstParameter<TFn>, TResData = Awaited<ReturnType<TFn>>>(options: XHandler.Options<TReqData, TResData, 'XML'>): Handler<TReqData, TResData, 'XML'>;
|
|
25
|
+
export declare function defineHandlerXML<TReqData extends any = void, TResData extends any = void>(options: XHandler.Options<TReqData, TResData, 'XML'>): Handler<TReqData, TResData, 'XML'>;
|
|
26
|
+
export declare function defineHandlerANY<TFn extends (...args: any[]) => Promise<any>, TReqData = FirstParameter<TFn>, TResData = Awaited<ReturnType<TFn>>>(options: XHandler.Options<TReqData, TResData, 'ANY'>): Handler<TReqData, TResData, 'ANY'>;
|
|
27
|
+
export declare function defineHandlerANY<TReqData extends any = void, TResData extends any = void>(options: XHandler.Options<TReqData, TResData, 'ANY'>): Handler<TReqData, TResData, 'ANY'>;
|
|
@@ -7,20 +7,22 @@ export function defineHandler(options) {
|
|
|
7
7
|
return handler;
|
|
8
8
|
}
|
|
9
9
|
defineHandler.POST = defineHandler;
|
|
10
|
-
|
|
10
|
+
export function defineHandlerGET(options) {
|
|
11
11
|
const handler = new Handler({
|
|
12
12
|
...options,
|
|
13
13
|
requestMethod: 'GET'
|
|
14
14
|
});
|
|
15
15
|
return handler;
|
|
16
|
-
}
|
|
17
|
-
defineHandler.
|
|
16
|
+
}
|
|
17
|
+
defineHandler.GET = defineHandlerGET;
|
|
18
|
+
export function defineHandlerFILE(options) {
|
|
18
19
|
const handler = new Handler({
|
|
19
20
|
...options,
|
|
20
21
|
requestMethod: 'FILE'
|
|
21
22
|
});
|
|
22
23
|
return handler;
|
|
23
|
-
}
|
|
24
|
+
}
|
|
25
|
+
defineHandler.FILE = defineHandlerFILE;
|
|
24
26
|
defineHandler.WS = options => {
|
|
25
27
|
const handler = new Handler({
|
|
26
28
|
...options,
|
|
@@ -28,17 +30,19 @@ defineHandler.WS = options => {
|
|
|
28
30
|
});
|
|
29
31
|
return handler;
|
|
30
32
|
};
|
|
31
|
-
|
|
33
|
+
export function defineHandlerXML(options) {
|
|
32
34
|
const handler = new Handler({
|
|
33
35
|
...options,
|
|
34
36
|
requestMethod: 'XML'
|
|
35
37
|
});
|
|
36
38
|
return handler;
|
|
37
|
-
}
|
|
38
|
-
defineHandler.
|
|
39
|
+
}
|
|
40
|
+
defineHandler.XML = defineHandlerXML;
|
|
41
|
+
export function defineHandlerANY(options) {
|
|
39
42
|
const handler = new Handler({
|
|
40
43
|
...options,
|
|
41
44
|
requestMethod: 'ANY'
|
|
42
45
|
});
|
|
43
46
|
return handler;
|
|
44
|
-
}
|
|
47
|
+
}
|
|
48
|
+
defineHandler.ANY = defineHandlerANY;
|
package/lib/services/jwt.d.ts
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import type { IncomingHttpHeaders } from 'http';
|
|
1
|
+
import type { IncomingHttpHeaders } from 'node:http';
|
|
2
2
|
import jwt from 'jsonwebtoken';
|
|
3
3
|
import { LRUCache } from 'lru-cache';
|
|
4
|
-
import { MsValue } from 'vtils';
|
|
4
|
+
import { type MsValue } from 'vtils';
|
|
5
5
|
import type { RequiredBy } from 'vtils/types';
|
|
6
|
-
import { BaseService } from './base';
|
|
6
|
+
import type { BaseService } from './base';
|
|
7
7
|
export interface JwtServiceJwtPayload extends Record<string, any> {
|
|
8
8
|
}
|
|
9
9
|
export interface JwtServiceOptions {
|
|
10
10
|
secret: string;
|
|
11
11
|
ttl: MsValue;
|
|
12
12
|
cache?: LRUCache.Options<string, JwtServiceJwtPayload, any>;
|
|
13
|
-
onVerify?: (payload: JwtServiceJwtPayload & RequiredBy<jwt.JwtPayload, 'iat' | 'exp'>
|
|
13
|
+
onVerify?: (payload: JwtServiceJwtPayload & RequiredBy<jwt.JwtPayload, 'iat' | 'exp'> & {
|
|
14
|
+
token: string;
|
|
15
|
+
}) => any;
|
|
14
16
|
}
|
|
15
17
|
export declare class JwtService implements BaseService {
|
|
16
18
|
private options;
|
|
@@ -18,7 +20,9 @@ export declare class JwtService implements BaseService {
|
|
|
18
20
|
private cache;
|
|
19
21
|
constructor(options: JwtServiceOptions);
|
|
20
22
|
sign<T extends JwtServiceJwtPayload>(payload: T, ttl?: MsValue): string;
|
|
21
|
-
verify<T extends JwtServiceJwtPayload>(token: string): Promise<T
|
|
23
|
+
verify<T extends JwtServiceJwtPayload>(token: string): Promise<T & {
|
|
24
|
+
token: string;
|
|
25
|
+
}>;
|
|
22
26
|
verifyFromHttpHeaders<T extends JwtServiceJwtPayload>(headers: IncomingHttpHeaders): Promise<T>;
|
|
23
27
|
}
|
|
24
28
|
declare module '../x' {
|
package/lib/services/jwt.js
CHANGED
|
@@ -34,6 +34,7 @@ export class JwtService {
|
|
|
34
34
|
if (err || !data || typeof data === 'string' || !data.iat || !data.exp) {
|
|
35
35
|
reject(new HttpError.Unauthorized('data'));
|
|
36
36
|
} else {
|
|
37
|
+
data.token = token;
|
|
37
38
|
if (this.cache) {
|
|
38
39
|
this.cache.set(token, data, {
|
|
39
40
|
ttl: differenceInMilliseconds(fromUnixTime(data.exp), new Date())
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jayfong/x-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.108.1",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "lib/_cjs/index.js",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"@fastify/multipart": "^7.7.0",
|
|
29
29
|
"@fastify/websocket": "^8.1.0",
|
|
30
30
|
"@paralleldrive/cuid2": "^3.0.4",
|
|
31
|
-
"@prisma/adapter-mariadb": "^7.
|
|
32
|
-
"@prisma/client": "^7.
|
|
31
|
+
"@prisma/adapter-mariadb": "^7.2.0",
|
|
32
|
+
"@prisma/client": "^7.2.0",
|
|
33
33
|
"@types/busboy": "^0.3.2",
|
|
34
34
|
"@types/http-errors": "^1.8.2",
|
|
35
35
|
"@types/jsonwebtoken": "^8.5.8",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"pino-pretty": "^10.0.1",
|
|
68
68
|
"pinyin-pro": "^3.26.0",
|
|
69
69
|
"pirates": "^4.0.6",
|
|
70
|
-
"prisma": "^7.
|
|
70
|
+
"prisma": "^7.2.0",
|
|
71
71
|
"randomstring": "^1.3.1",
|
|
72
72
|
"select-run": "^1.1.2",
|
|
73
73
|
"supports-color": "^8",
|
|
@@ -85,7 +85,6 @@
|
|
|
85
85
|
"devDependencies": {
|
|
86
86
|
"@types/debug": "^4.1.7",
|
|
87
87
|
"@types/fs-extra": "^9.0.13",
|
|
88
|
-
"@types/ioredis": "^5.0.0",
|
|
89
88
|
"@types/json-schema": "^7.0.11",
|
|
90
89
|
"@types/lz-string": "^1.3.34",
|
|
91
90
|
"@types/randomstring": "^1.3.0",
|