equipped 5.1.11 → 5.2.0
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/CHANGELOG.md +16 -0
- package/dist/cjs/errors/index.cjs +1 -2
- package/dist/cjs/errors/index.cjs.map +1 -1
- package/dist/cjs/errors/index.min.cjs +1 -1
- package/dist/cjs/errors/index.min.cjs.map +1 -1
- package/dist/cjs/errors/types/tokenExpired.cjs +12 -0
- package/dist/cjs/errors/types/tokenExpired.cjs.map +1 -0
- package/dist/cjs/errors/types/{refreshTokenMisusedError.min.cjs → tokenExpired.min.cjs} +2 -2
- package/dist/cjs/errors/types/tokenExpired.min.cjs.map +1 -0
- package/dist/cjs/instance/index.cjs.map +1 -1
- package/dist/cjs/instance/index.min.cjs.map +1 -1
- package/dist/cjs/server/impls/base.cjs +17 -17
- package/dist/cjs/server/impls/base.cjs.map +1 -1
- package/dist/cjs/server/impls/base.min.cjs +1 -1
- package/dist/cjs/server/impls/base.min.cjs.map +1 -1
- package/dist/cjs/server/impls/express.cjs +2 -13
- package/dist/cjs/server/impls/express.cjs.map +1 -1
- package/dist/cjs/server/impls/express.min.cjs +1 -1
- package/dist/cjs/server/impls/express.min.cjs.map +1 -1
- package/dist/cjs/server/impls/fastify.cjs +3 -14
- package/dist/cjs/server/impls/fastify.cjs.map +1 -1
- package/dist/cjs/server/impls/fastify.min.cjs +1 -1
- package/dist/cjs/server/impls/fastify.min.cjs.map +1 -1
- package/dist/cjs/server/index.cjs +1 -1
- package/dist/cjs/server/index.cjs.map +1 -1
- package/dist/cjs/server/index.min.cjs +1 -1
- package/dist/cjs/server/index.min.cjs.map +1 -1
- package/dist/cjs/server/middlewares/requireAuthUser.cjs +9 -52
- package/dist/cjs/server/middlewares/requireAuthUser.cjs.map +1 -1
- package/dist/cjs/server/middlewares/requireAuthUser.min.cjs +1 -1
- package/dist/cjs/server/middlewares/requireAuthUser.min.cjs.map +1 -1
- package/dist/cjs/server/pipes.cjs +23 -8
- package/dist/cjs/server/pipes.cjs.map +1 -1
- package/dist/cjs/server/pipes.min.cjs +1 -1
- package/dist/cjs/server/pipes.min.cjs.map +1 -1
- package/dist/cjs/server/requests-auth-methods/apiKeys.cjs +21 -0
- package/dist/cjs/server/requests-auth-methods/apiKeys.cjs.map +1 -0
- package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs +2 -0
- package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs.map +1 -0
- package/dist/cjs/server/requests-auth-methods/base.cjs +20 -0
- package/dist/cjs/server/requests-auth-methods/base.cjs.map +1 -0
- package/dist/cjs/server/requests-auth-methods/base.min.cjs +2 -0
- package/dist/cjs/server/requests-auth-methods/base.min.cjs.map +1 -0
- package/dist/cjs/server/{requests-auth → requests-auth-methods}/index.cjs +2 -1
- package/dist/cjs/server/requests-auth-methods/index.cjs.map +1 -0
- package/dist/cjs/server/{requests-auth → requests-auth-methods}/index.min.cjs +1 -1
- package/dist/cjs/server/requests-auth-methods/index.min.cjs.map +1 -0
- package/dist/cjs/server/requests-auth-methods/jwt.cjs +78 -0
- package/dist/cjs/server/requests-auth-methods/jwt.cjs.map +1 -0
- package/dist/cjs/server/requests-auth-methods/jwt.min.cjs +2 -0
- package/dist/cjs/server/requests-auth-methods/jwt.min.cjs.map +1 -0
- package/dist/cjs/server/requests.cjs +1 -9
- package/dist/cjs/server/requests.cjs.map +1 -1
- package/dist/cjs/server/requests.min.cjs +1 -1
- package/dist/cjs/server/requests.min.cjs.map +1 -1
- package/dist/cjs/server/routes.cjs +1 -2
- package/dist/cjs/server/routes.cjs.map +1 -1
- package/dist/cjs/server/routes.min.cjs +1 -1
- package/dist/cjs/server/routes.min.cjs.map +1 -1
- package/dist/cjs/server/sockets.cjs +2 -4
- package/dist/cjs/server/sockets.cjs.map +1 -1
- package/dist/cjs/server/sockets.min.cjs +1 -1
- package/dist/cjs/server/sockets.min.cjs.map +1 -1
- package/dist/cjs/server/types.cjs +1 -1
- package/dist/cjs/server/types.cjs.map +1 -1
- package/dist/cjs/server/types.min.cjs +1 -1
- package/dist/cjs/server/types.min.cjs.map +1 -1
- package/dist/esm/errors/index.min.mjs +1 -1
- package/dist/esm/errors/index.min.mjs.map +1 -1
- package/dist/esm/errors/index.mjs +1 -2
- package/dist/esm/errors/index.mjs.map +1 -1
- package/dist/esm/errors/types/tokenExpired.min.mjs +2 -0
- package/dist/esm/errors/types/tokenExpired.min.mjs.map +1 -0
- package/dist/esm/errors/types/tokenExpired.mjs +12 -0
- package/dist/esm/errors/types/tokenExpired.mjs.map +1 -0
- package/dist/esm/instance/index.min.mjs +1 -1
- package/dist/esm/instance/index.min.mjs.map +1 -1
- package/dist/esm/instance/index.mjs.map +1 -1
- package/dist/esm/server/impls/base.min.mjs +1 -1
- package/dist/esm/server/impls/base.min.mjs.map +1 -1
- package/dist/esm/server/impls/base.mjs +9 -9
- package/dist/esm/server/impls/base.mjs.map +1 -1
- package/dist/esm/server/impls/express.min.mjs +1 -1
- package/dist/esm/server/impls/express.min.mjs.map +1 -1
- package/dist/esm/server/impls/express.mjs +2 -13
- package/dist/esm/server/impls/express.mjs.map +1 -1
- package/dist/esm/server/impls/fastify.min.mjs +1 -1
- package/dist/esm/server/impls/fastify.min.mjs.map +1 -1
- package/dist/esm/server/impls/fastify.mjs +2 -13
- package/dist/esm/server/impls/fastify.mjs.map +1 -1
- package/dist/esm/server/index.min.mjs +1 -1
- package/dist/esm/server/index.min.mjs.map +1 -1
- package/dist/esm/server/index.mjs +1 -1
- package/dist/esm/server/index.mjs.map +1 -1
- package/dist/esm/server/middlewares/requireAuthUser.min.mjs +1 -1
- package/dist/esm/server/middlewares/requireAuthUser.min.mjs.map +1 -1
- package/dist/esm/server/middlewares/requireAuthUser.mjs +9 -52
- package/dist/esm/server/middlewares/requireAuthUser.mjs.map +1 -1
- package/dist/esm/server/pipes.min.mjs +1 -1
- package/dist/esm/server/pipes.min.mjs.map +1 -1
- package/dist/esm/server/pipes.mjs +23 -8
- package/dist/esm/server/pipes.mjs.map +1 -1
- package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs +2 -0
- package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/apiKeys.mjs +21 -0
- package/dist/esm/server/requests-auth-methods/apiKeys.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/base.min.mjs +2 -0
- package/dist/esm/server/requests-auth-methods/base.min.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/base.mjs +20 -0
- package/dist/esm/server/requests-auth-methods/base.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/index.min.mjs +2 -0
- package/dist/esm/server/requests-auth-methods/index.min.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/index.mjs +4 -0
- package/dist/esm/server/requests-auth-methods/index.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/jwt.min.mjs +2 -0
- package/dist/esm/server/requests-auth-methods/jwt.min.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/jwt.mjs +78 -0
- package/dist/esm/server/requests-auth-methods/jwt.mjs.map +1 -0
- package/dist/esm/server/requests.min.mjs +1 -1
- package/dist/esm/server/requests.min.mjs.map +1 -1
- package/dist/esm/server/requests.mjs +1 -9
- package/dist/esm/server/requests.mjs.map +1 -1
- package/dist/esm/server/routes.min.mjs +1 -1
- package/dist/esm/server/routes.min.mjs.map +1 -1
- package/dist/esm/server/routes.mjs +1 -2
- package/dist/esm/server/routes.mjs.map +1 -1
- package/dist/esm/server/sockets.min.mjs +1 -1
- package/dist/esm/server/sockets.min.mjs.map +1 -1
- package/dist/esm/server/sockets.mjs +2 -4
- package/dist/esm/server/sockets.mjs.map +1 -1
- package/dist/esm/server/types.min.mjs +1 -1
- package/dist/esm/server/types.min.mjs.map +1 -1
- package/dist/esm/server/types.mjs +1 -1
- package/dist/esm/server/types.mjs.map +1 -1
- package/dist/types/cache/index.d.ts +7 -1
- package/dist/types/errors/index.d.ts +7 -12
- package/dist/types/errors/index.js +1 -2
- package/dist/types/errors/types/tokenExpired.js +11 -0
- package/dist/types/{fastify-CDJ2WuLy.d.ts → fastify-B6FUtYe9.d.ts} +5 -4
- package/dist/types/index.d.ts +4 -4
- package/dist/types/instance/index.d.ts +63 -16
- package/dist/types/{requestError-DqkM5BfW.d.ts → requestError-7N-ngghg.d.ts} +97 -80
- package/dist/types/server/impls/base.js +9 -9
- package/dist/types/server/impls/express.js +2 -13
- package/dist/types/server/impls/fastify.js +2 -13
- package/dist/types/server/index.d.ts +62 -20
- package/dist/types/server/index.js +1 -1
- package/dist/types/server/middlewares/requireAuthUser.js +9 -52
- package/dist/types/server/pipes.js +23 -8
- package/dist/types/server/requests-auth-methods/apiKeys.js +20 -0
- package/dist/types/server/requests-auth-methods/base.js +19 -0
- package/dist/types/server/requests-auth-methods/index.js +3 -0
- package/dist/types/server/requests-auth-methods/jwt.js +77 -0
- package/dist/types/server/requests.js +1 -9
- package/dist/types/server/routes.js +1 -2
- package/dist/types/server/sockets.js +2 -4
- package/dist/types/server/types.js +1 -1
- package/dist/types/{validationError-BMKfV51p.d.ts → validationError-BB4cfdZa.d.ts} +1 -1
- package/dist/types/validations/index.d.ts +3 -9
- package/package.json +13 -12
- package/dist/cjs/errors/types/authorizationExpired.cjs +0 -12
- package/dist/cjs/errors/types/authorizationExpired.cjs.map +0 -1
- package/dist/cjs/errors/types/authorizationExpired.min.cjs +0 -2
- package/dist/cjs/errors/types/authorizationExpired.min.cjs.map +0 -1
- package/dist/cjs/errors/types/refreshTokenMisusedError.cjs +0 -12
- package/dist/cjs/errors/types/refreshTokenMisusedError.cjs.map +0 -1
- package/dist/cjs/errors/types/refreshTokenMisusedError.min.cjs.map +0 -1
- package/dist/cjs/server/middlewares/parseAuthUser.cjs +0 -21
- package/dist/cjs/server/middlewares/parseAuthUser.cjs.map +0 -1
- package/dist/cjs/server/middlewares/parseAuthUser.min.cjs +0 -2
- package/dist/cjs/server/middlewares/parseAuthUser.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/apiKeys.cjs +0 -6
- package/dist/cjs/server/requests-auth/apiKeys.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/apiKeys.min.cjs +0 -2
- package/dist/cjs/server/requests-auth/apiKeys.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/index.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/index.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/tokens.cjs +0 -92
- package/dist/cjs/server/requests-auth/tokens.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/tokens.min.cjs +0 -2
- package/dist/cjs/server/requests-auth/tokens.min.cjs.map +0 -1
- package/dist/esm/errors/types/authorizationExpired.min.mjs +0 -2
- package/dist/esm/errors/types/authorizationExpired.min.mjs.map +0 -1
- package/dist/esm/errors/types/authorizationExpired.mjs +0 -12
- package/dist/esm/errors/types/authorizationExpired.mjs.map +0 -1
- package/dist/esm/errors/types/refreshTokenMisusedError.min.mjs +0 -2
- package/dist/esm/errors/types/refreshTokenMisusedError.min.mjs.map +0 -1
- package/dist/esm/errors/types/refreshTokenMisusedError.mjs +0 -12
- package/dist/esm/errors/types/refreshTokenMisusedError.mjs.map +0 -1
- package/dist/esm/server/middlewares/parseAuthUser.min.mjs +0 -2
- package/dist/esm/server/middlewares/parseAuthUser.min.mjs.map +0 -1
- package/dist/esm/server/middlewares/parseAuthUser.mjs +0 -21
- package/dist/esm/server/middlewares/parseAuthUser.mjs.map +0 -1
- package/dist/esm/server/requests-auth/apiKeys.min.mjs +0 -2
- package/dist/esm/server/requests-auth/apiKeys.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth/apiKeys.mjs +0 -6
- package/dist/esm/server/requests-auth/apiKeys.mjs.map +0 -1
- package/dist/esm/server/requests-auth/index.min.mjs +0 -2
- package/dist/esm/server/requests-auth/index.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth/index.mjs +0 -3
- package/dist/esm/server/requests-auth/index.mjs.map +0 -1
- package/dist/esm/server/requests-auth/tokens.min.mjs +0 -2
- package/dist/esm/server/requests-auth/tokens.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth/tokens.mjs +0 -92
- package/dist/esm/server/requests-auth/tokens.mjs.map +0 -1
- package/dist/types/base-8yVXb67P.d.ts +0 -8
- package/dist/types/errors/types/authorizationExpired.js +0 -11
- package/dist/types/errors/types/refreshTokenMisusedError.js +0 -11
- package/dist/types/server/middlewares/parseAuthUser.js +0 -20
- package/dist/types/server/requests-auth/apiKeys.js +0 -5
- package/dist/types/server/requests-auth/index.js +0 -2
- package/dist/types/server/requests-auth/tokens.js +0 -91
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { Logger } from 'pino';
|
|
2
2
|
import * as valleyed from 'valleyed';
|
|
3
3
|
import { PipeOutput, ConditionalObjectKeys, PipeInput, Pipe } from 'valleyed';
|
|
4
|
-
import {
|
|
4
|
+
import { B as BaseRequestAuthMethod, E as EquippedError } from '../requestError-7N-ngghg.js';
|
|
5
5
|
import { E as EventBus } from '../base-CfeyC14V.js';
|
|
6
6
|
import { K as KafkaEventBus } from '../kafka-DCpqW_YM.js';
|
|
7
7
|
import { RabbitMQEventBus } from '../events/index.js';
|
|
8
|
-
import {
|
|
8
|
+
import { A as AuthUser } from '../overrides-6Hxg764S.js';
|
|
9
|
+
import { E as ExpressServer, F as FastifyServer } from '../fastify-B6FUtYe9.js';
|
|
9
10
|
import { InMemoryCache, RedisCache } from '../cache/index.js';
|
|
10
11
|
import { M as MongoDb } from '../db-vKGTnGlO.js';
|
|
11
12
|
import { RedisJob } from '../jobs/index.js';
|
|
12
13
|
import '../types/index.js';
|
|
13
|
-
import '
|
|
14
|
-
import '../base-8yVXb67P.js';
|
|
14
|
+
import 'node:http2';
|
|
15
15
|
import 'node:stream';
|
|
16
16
|
import '@fastify/cookie';
|
|
17
17
|
import 'express';
|
|
18
18
|
import 'fastify';
|
|
19
19
|
import 'supertest/lib/agent';
|
|
20
|
-
import 'http';
|
|
20
|
+
import 'node:http';
|
|
21
21
|
import 'supertest';
|
|
22
22
|
import 'socket.io';
|
|
23
23
|
import '../core-BWUHISEy.js';
|
|
@@ -126,9 +126,13 @@ type ServerTypes = {
|
|
|
126
126
|
express: ExpressServer;
|
|
127
127
|
fastify: FastifyServer;
|
|
128
128
|
};
|
|
129
|
-
declare const serverTypePipe: () => valleyed.Pipe<{
|
|
130
|
-
type: "fastify" | "express";
|
|
129
|
+
declare const serverTypePipe: () => valleyed.Pipe<({
|
|
131
130
|
port: number;
|
|
131
|
+
cors: {
|
|
132
|
+
origin: string[] | undefined;
|
|
133
|
+
methods: ("get" | "delete" | "head" | "options" | "post" | "put" | "patch")[] | undefined;
|
|
134
|
+
credentials: boolean | undefined;
|
|
135
|
+
} | undefined;
|
|
132
136
|
eventBus: EventBus | undefined;
|
|
133
137
|
publicPath: string | undefined;
|
|
134
138
|
healthPath: string | undefined;
|
|
@@ -151,11 +155,42 @@ declare const serverTypePipe: () => valleyed.Pipe<{
|
|
|
151
155
|
delayInMs: number | undefined;
|
|
152
156
|
} | undefined;
|
|
153
157
|
} | undefined;
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
158
|
+
socketsAuthMethods: BaseRequestAuthMethod<AuthUser>[] | undefined;
|
|
159
|
+
} & {
|
|
160
|
+
type: "fastify";
|
|
161
|
+
}) | ({
|
|
162
|
+
port: number;
|
|
163
|
+
cors: {
|
|
164
|
+
origin: string[] | undefined;
|
|
165
|
+
methods: ("get" | "delete" | "head" | "options" | "post" | "put" | "patch")[] | undefined;
|
|
166
|
+
credentials: boolean | undefined;
|
|
167
|
+
} | undefined;
|
|
168
|
+
eventBus: EventBus | undefined;
|
|
169
|
+
publicPath: string | undefined;
|
|
170
|
+
healthPath: string | undefined;
|
|
171
|
+
openapi: {
|
|
172
|
+
docsVersion: string | undefined;
|
|
173
|
+
docsBaseUrl: string[] | undefined;
|
|
174
|
+
docsPath: string | undefined;
|
|
157
175
|
} | undefined;
|
|
158
|
-
|
|
176
|
+
requests: {
|
|
177
|
+
log: boolean | undefined;
|
|
178
|
+
rateLimit: {
|
|
179
|
+
enabled: boolean | undefined;
|
|
180
|
+
periodInMs: number | undefined;
|
|
181
|
+
limit: number | undefined;
|
|
182
|
+
} | undefined;
|
|
183
|
+
slowdown: {
|
|
184
|
+
enabled: boolean | undefined;
|
|
185
|
+
periodInMs: number | undefined;
|
|
186
|
+
delayAfter: number | undefined;
|
|
187
|
+
delayInMs: number | undefined;
|
|
188
|
+
} | undefined;
|
|
189
|
+
} | undefined;
|
|
190
|
+
socketsAuthMethods: BaseRequestAuthMethod<AuthUser>[] | undefined;
|
|
191
|
+
} & {
|
|
192
|
+
type: "express";
|
|
193
|
+
}), ExpressServer | FastifyServer>;
|
|
159
194
|
|
|
160
195
|
declare class Instance {
|
|
161
196
|
#private;
|
|
@@ -165,11 +200,23 @@ declare class Instance {
|
|
|
165
200
|
alias(id: string): undefined;
|
|
166
201
|
get id(): string;
|
|
167
202
|
getScopedName(name: string, key?: string): string;
|
|
168
|
-
createCache<T extends PipeInput<ReturnType<typeof cachePipe
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
203
|
+
createCache<T extends keyof CacheTypes>(input: ConditionalObjectKeys<Extract<PipeInput<ReturnType<typeof cachePipe>>, {
|
|
204
|
+
type: T;
|
|
205
|
+
}>>): CacheTypes[T];
|
|
206
|
+
createJobs<T extends keyof JobTypes>(input: ConditionalObjectKeys<Extract<PipeInput<ReturnType<typeof jobsPipe>>, {
|
|
207
|
+
type: T;
|
|
208
|
+
}>>): JobTypes[T];
|
|
209
|
+
createEventBus<T extends keyof EventBusTypes>(input: ConditionalObjectKeys<Extract<PipeInput<ReturnType<typeof eventBusPipe>>, {
|
|
210
|
+
type: T;
|
|
211
|
+
}>>): EventBusTypes[T];
|
|
212
|
+
createDb<T extends keyof DbTypes>(input: ConditionalObjectKeys<Extract<PipeInput<ReturnType<typeof dbPipe>>, {
|
|
213
|
+
db: {
|
|
214
|
+
type: T;
|
|
215
|
+
};
|
|
216
|
+
}>>): DbTypes[T];
|
|
217
|
+
createServer<T extends keyof ServerTypes>(input: ConditionalObjectKeys<Extract<PipeInput<ReturnType<typeof serverTypePipe>>, {
|
|
218
|
+
type: T;
|
|
219
|
+
}>>): ServerTypes[T];
|
|
173
220
|
start(): Promise<void>;
|
|
174
221
|
static envs<E extends object>(envsPipe: Pipe<unknown, E>): E;
|
|
175
222
|
static create(settings: SettingsInput): Instance;
|
|
@@ -2,8 +2,8 @@ import * as valleyed from 'valleyed';
|
|
|
2
2
|
import { PipeOutput, Pipe, Prettify, IsInTypeList, PipeInput, DistributiveOmit } from 'valleyed';
|
|
3
3
|
import { Enum } from './types/index.js';
|
|
4
4
|
import { E as EventBus } from './base-CfeyC14V.js';
|
|
5
|
-
import { A as AuthUser
|
|
6
|
-
import {
|
|
5
|
+
import { A as AuthUser } from './overrides-6Hxg764S.js';
|
|
6
|
+
import { IncomingHttpHeaders } from 'node:http2';
|
|
7
7
|
import { Readable } from 'node:stream';
|
|
8
8
|
import { SerializeOptions } from '@fastify/cookie';
|
|
9
9
|
|
|
@@ -14,57 +14,23 @@ declare class EquippedError extends Error {
|
|
|
14
14
|
constructor(message: string, context: Record<string, unknown>, cause?: unknown | undefined);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
declare abstract class
|
|
18
|
-
|
|
17
|
+
declare abstract class BaseRequestAuthMethod<T extends {
|
|
18
|
+
id: string;
|
|
19
|
+
}> {
|
|
20
|
+
abstract parse(headers: IncomingHttpHeaders): Promise<T>;
|
|
21
|
+
abstract routeSecuritySchemeName(): string | null;
|
|
22
|
+
static process<T extends {
|
|
23
|
+
id: string;
|
|
24
|
+
}>(methods: BaseRequestAuthMethod<T>[], headers: IncomingHttpHeaders): Promise<T | null>;
|
|
19
25
|
}
|
|
20
26
|
|
|
21
|
-
declare
|
|
22
|
-
abstract createAccessToken(payload: AuthUser): Promise<string>;
|
|
23
|
-
abstract createRefreshToken(payload: RefreshUser): Promise<string>;
|
|
24
|
-
abstract verifyAccessToken(token: string): Promise<AuthUser>;
|
|
25
|
-
abstract verifyRefreshToken(token: string): Promise<RefreshUser>;
|
|
26
|
-
abstract retrieveAccessTokenFor(userId: string): Promise<string | null>;
|
|
27
|
-
abstract retrieveRefreshTokenFor(userId: string): Promise<string | null>;
|
|
28
|
-
abstract deleteAccessTokenFor(userId: string): Promise<void>;
|
|
29
|
-
abstract deleteRefreshTokenFor(userId: string): Promise<void>;
|
|
30
|
-
extractAccessTokenValue(headerValue: string): string;
|
|
31
|
-
exchangeTokens(tokens: {
|
|
32
|
-
accessToken: string;
|
|
33
|
-
refreshToken: string;
|
|
34
|
-
}, getPayload: (id: string) => Promise<{
|
|
35
|
-
access: AuthUser;
|
|
36
|
-
refresh: RefreshUser;
|
|
37
|
-
}>): Promise<{
|
|
38
|
-
accessToken: string;
|
|
39
|
-
refreshToken: string;
|
|
40
|
-
}>;
|
|
41
|
-
}
|
|
42
|
-
type CacheTokensUtilityOptions = {
|
|
43
|
-
cache: () => Cache;
|
|
44
|
-
accessTokenKey?: string;
|
|
45
|
-
refreshTokenKey?: string;
|
|
46
|
-
accessTokenTTL?: number;
|
|
47
|
-
refreshTokenTTL?: number;
|
|
48
|
-
accessTokenPrefix?: string;
|
|
49
|
-
refreshTokenPrefix?: string;
|
|
50
|
-
};
|
|
51
|
-
declare class CacheTokensUtility extends BaseTokensUtility {
|
|
52
|
-
#private;
|
|
53
|
-
private options;
|
|
54
|
-
constructor(options: CacheTokensUtilityOptions);
|
|
55
|
-
createAccessToken(payload: AuthUser): Promise<string>;
|
|
56
|
-
createRefreshToken(payload: RefreshUser): Promise<string>;
|
|
57
|
-
verifyAccessToken(authHeader: string): Promise<AuthUser>;
|
|
58
|
-
verifyRefreshToken(token: string): Promise<RefreshUser>;
|
|
59
|
-
retrieveAccessTokenFor(userId: string): Promise<string | null>;
|
|
60
|
-
retrieveRefreshTokenFor(userId: string): Promise<string | null>;
|
|
61
|
-
deleteAccessTokenFor(userId: string): Promise<void>;
|
|
62
|
-
deleteRefreshTokenFor(userId: string): Promise<void>;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
declare const serverConfigPipe: () => valleyed.Pipe<{
|
|
66
|
-
type: "fastify" | "express";
|
|
27
|
+
declare const serverConfigPipe: () => valleyed.Pipe<({
|
|
67
28
|
port: number;
|
|
29
|
+
cors: {
|
|
30
|
+
origin: string[] | undefined;
|
|
31
|
+
methods: ("get" | "delete" | "head" | "options" | "post" | "put" | "patch")[] | undefined;
|
|
32
|
+
credentials: boolean | undefined;
|
|
33
|
+
} | undefined;
|
|
68
34
|
eventBus: EventBus | undefined;
|
|
69
35
|
publicPath: string | undefined;
|
|
70
36
|
healthPath: string | undefined;
|
|
@@ -87,13 +53,48 @@ declare const serverConfigPipe: () => valleyed.Pipe<{
|
|
|
87
53
|
delayInMs: number | undefined;
|
|
88
54
|
} | undefined;
|
|
89
55
|
} | undefined;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
56
|
+
socketsAuthMethods: BaseRequestAuthMethod<AuthUser>[] | undefined;
|
|
57
|
+
} & {
|
|
58
|
+
type: "fastify";
|
|
59
|
+
}) | ({
|
|
60
|
+
port: number;
|
|
61
|
+
cors: {
|
|
62
|
+
origin: string[] | undefined;
|
|
63
|
+
methods: ("get" | "delete" | "head" | "options" | "post" | "put" | "patch")[] | undefined;
|
|
64
|
+
credentials: boolean | undefined;
|
|
65
|
+
} | undefined;
|
|
66
|
+
eventBus: EventBus | undefined;
|
|
67
|
+
publicPath: string | undefined;
|
|
68
|
+
healthPath: string | undefined;
|
|
69
|
+
openapi: {
|
|
70
|
+
docsVersion: string | undefined;
|
|
71
|
+
docsBaseUrl: string[] | undefined;
|
|
72
|
+
docsPath: string | undefined;
|
|
73
|
+
} | undefined;
|
|
74
|
+
requests: {
|
|
75
|
+
log: boolean | undefined;
|
|
76
|
+
rateLimit: {
|
|
77
|
+
enabled: boolean | undefined;
|
|
78
|
+
periodInMs: number | undefined;
|
|
79
|
+
limit: number | undefined;
|
|
80
|
+
} | undefined;
|
|
81
|
+
slowdown: {
|
|
82
|
+
enabled: boolean | undefined;
|
|
83
|
+
periodInMs: number | undefined;
|
|
84
|
+
delayAfter: number | undefined;
|
|
85
|
+
delayInMs: number | undefined;
|
|
86
|
+
} | undefined;
|
|
93
87
|
} | undefined;
|
|
94
|
-
|
|
95
|
-
|
|
88
|
+
socketsAuthMethods: BaseRequestAuthMethod<AuthUser>[] | undefined;
|
|
89
|
+
} & {
|
|
90
|
+
type: "express";
|
|
91
|
+
}), ({
|
|
96
92
|
port: number;
|
|
93
|
+
cors: {
|
|
94
|
+
origin: string[] | undefined;
|
|
95
|
+
methods: ("get" | "delete" | "head" | "options" | "post" | "put" | "patch")[] | undefined;
|
|
96
|
+
credentials: boolean | undefined;
|
|
97
|
+
} | undefined;
|
|
97
98
|
eventBus: EventBus | undefined;
|
|
98
99
|
publicPath: string | undefined;
|
|
99
100
|
healthPath: string | undefined;
|
|
@@ -116,11 +117,42 @@ declare const serverConfigPipe: () => valleyed.Pipe<{
|
|
|
116
117
|
delayInMs: number;
|
|
117
118
|
};
|
|
118
119
|
};
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
socketsAuthMethods: BaseRequestAuthMethod<AuthUser>[];
|
|
121
|
+
} & {
|
|
122
|
+
type: "fastify";
|
|
123
|
+
}) | ({
|
|
124
|
+
port: number;
|
|
125
|
+
cors: {
|
|
126
|
+
origin: string[] | undefined;
|
|
127
|
+
methods: ("get" | "delete" | "head" | "options" | "post" | "put" | "patch")[] | undefined;
|
|
128
|
+
credentials: boolean | undefined;
|
|
129
|
+
} | undefined;
|
|
130
|
+
eventBus: EventBus | undefined;
|
|
131
|
+
publicPath: string | undefined;
|
|
132
|
+
healthPath: string | undefined;
|
|
133
|
+
openapi: {
|
|
134
|
+
docsVersion: string;
|
|
135
|
+
docsBaseUrl: string[];
|
|
136
|
+
docsPath: string;
|
|
122
137
|
};
|
|
123
|
-
|
|
138
|
+
requests: {
|
|
139
|
+
log: boolean;
|
|
140
|
+
rateLimit: {
|
|
141
|
+
enabled: boolean;
|
|
142
|
+
periodInMs: number;
|
|
143
|
+
limit: number;
|
|
144
|
+
};
|
|
145
|
+
slowdown: {
|
|
146
|
+
enabled: boolean;
|
|
147
|
+
periodInMs: number;
|
|
148
|
+
delayAfter: number;
|
|
149
|
+
delayInMs: number;
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
socketsAuthMethods: BaseRequestAuthMethod<AuthUser>[];
|
|
153
|
+
} & {
|
|
154
|
+
type: "express";
|
|
155
|
+
})>;
|
|
124
156
|
type ServerConfig = PipeOutput<ReturnType<typeof serverConfigPipe>>;
|
|
125
157
|
|
|
126
158
|
declare const Methods: {
|
|
@@ -141,7 +173,7 @@ declare const StatusCodes: {
|
|
|
141
173
|
readonly NotFound: 404;
|
|
142
174
|
readonly ValidationError: 422;
|
|
143
175
|
readonly TooManyRequests: 429;
|
|
144
|
-
readonly
|
|
176
|
+
readonly TokenExpired: 461;
|
|
145
177
|
};
|
|
146
178
|
type MethodsEnum = Enum<typeof Methods>;
|
|
147
179
|
type StatusCodesEnum = Enum<typeof StatusCodes>;
|
|
@@ -167,7 +199,6 @@ type RouteDef = {
|
|
|
167
199
|
responseCookies?: Pipe<DefaultCookies, DefaultCookies>;
|
|
168
200
|
defaultStatusCode?: StatusCodesEnum;
|
|
169
201
|
defaultContentType?: string;
|
|
170
|
-
context?: (req: Request<RouteDefToReqRes<RouteDef>>) => Awaitable<Record<string, unknown>>;
|
|
171
202
|
};
|
|
172
203
|
type RouteGroup = {
|
|
173
204
|
name: string;
|
|
@@ -209,7 +240,6 @@ type RouteDefToReqRes<T extends RouteDef> = Prettify<{
|
|
|
209
240
|
responseCookies: PipeOutput<GetApiPart<T, 'responseCookies'>>;
|
|
210
241
|
statusCode: GetApiPart<T, 'defaultStatusCode'>;
|
|
211
242
|
contentType: GetApiPart<T, 'defaultContentType'>;
|
|
212
|
-
context: Awaited<ReturnType<GetApiPart<T, 'context'>>>;
|
|
213
243
|
}>;
|
|
214
244
|
type Awaitable<T> = Promise<T> | T;
|
|
215
245
|
type Res<T extends RouteDefToReqRes<any>> = Awaitable<IsInTypeList<T['statusCode'], [StatusCodesEnum, 200]> extends true ? IsInTypeList<T['responseHeaders'], [DefaultHeaders]> extends true ? IsInTypeList<T['responseCookies'], [DefaultCookies]> extends true ? Response<T> | T['response'] : Response<T> : Response<T> : Response<T>>;
|
|
@@ -234,12 +264,6 @@ declare const makeErrorMiddleware: <Def extends RouteDef>(...args: Parameters<ty
|
|
|
234
264
|
onSetup: HandlerSetup<Def> | undefined;
|
|
235
265
|
};
|
|
236
266
|
|
|
237
|
-
type HeaderKeys = 'Authorization' | 'RefreshToken' | 'ApiKey' | 'Referer' | 'ContentType' | 'UserAgent';
|
|
238
|
-
type ReqUser<T> = {
|
|
239
|
-
error?: RequestError;
|
|
240
|
-
value?: T;
|
|
241
|
-
};
|
|
242
|
-
type FallbackHeadersType = Record<string, string | string[] | undefined>;
|
|
243
267
|
type CookieVal<C extends DefaultCookies> = {
|
|
244
268
|
[K in keyof C]: SerializeOptions & {
|
|
245
269
|
value: C[K];
|
|
@@ -252,26 +276,19 @@ declare class Request<Def extends RouteDefToReqRes<any>> {
|
|
|
252
276
|
body: Def['body'];
|
|
253
277
|
params: Def['params'];
|
|
254
278
|
query: Def['query'];
|
|
255
|
-
headers:
|
|
256
|
-
context: Def['context'];
|
|
279
|
+
headers: IncomingHttpHeaders & Def['requestHeaders'];
|
|
257
280
|
cookies: Record<string, string | undefined> & Def['requestCookies'];
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
refresh: ReqUser<RefreshUser>;
|
|
261
|
-
apiKey: ReqUser<AuthUser>;
|
|
262
|
-
};
|
|
263
|
-
authUser?: AuthUser;
|
|
264
|
-
constructor({ ip, body, cookies, params, query, method, path, context, headers, files, }: {
|
|
281
|
+
authUser: AuthUser | null;
|
|
282
|
+
constructor({ ip, body, cookies, params, query, method, path, headers, files, }: {
|
|
265
283
|
ip: string | undefined;
|
|
266
284
|
body: Def['body'];
|
|
267
285
|
params: Def['params'];
|
|
268
286
|
query: Def['query'];
|
|
269
287
|
cookies: Record<string, string | undefined> & Def['requestCookies'];
|
|
270
|
-
headers:
|
|
288
|
+
headers: IncomingHttpHeaders;
|
|
271
289
|
files: Record<string, IncomingFile[]>;
|
|
272
290
|
method: MethodsEnum;
|
|
273
291
|
path: string;
|
|
274
|
-
context: Def['context'];
|
|
275
292
|
});
|
|
276
293
|
pipe(stream: Readable, opts?: {
|
|
277
294
|
headers?: Def['responseHeaders'];
|
|
@@ -337,4 +354,4 @@ declare abstract class RequestError extends EquippedError {
|
|
|
337
354
|
}[], cause?: unknown);
|
|
338
355
|
}
|
|
339
356
|
|
|
340
|
-
export {
|
|
357
|
+
export { BaseRequestAuthMethod as B, type CookieVal as C, type DefaultHeaders as D, EquippedError as E, type IncomingFile as I, Methods as M, RequestError as R, type ServerConfig as S, Request as a, Response as b, type RouteDefToReqRes as c, type RouteDef as d, type Route as e, StatusCodes as f, type MethodsEnum as g, type StatusCodesEnum as h, type DefaultCookies as i, type RouteConfig as j, type RouterConfig as k, type MergeRouteDefs as l, type RouteDefHandler as m, makeMiddleware as n, makeErrorMiddleware as o, serverConfigPipe as s };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import {} from "cors";
|
|
1
2
|
import { Server as SocketServer } from "socket.io";
|
|
2
3
|
import supertest from "supertest";
|
|
3
4
|
import { PipeError, v } from "valleyed";
|
|
@@ -5,7 +6,6 @@ import { EquippedError, NotFoundError, RequestError } from "../../errors/index.j
|
|
|
5
6
|
import { Instance } from "../../instance/index.js";
|
|
6
7
|
import { pipeErrorToValidationError } from "../../validations/index.js";
|
|
7
8
|
import { requestLocalStorage, responseLocalStorage } from "../../validations/valleyed.js";
|
|
8
|
-
import { parseAuthUser } from "../middlewares/parseAuthUser.js";
|
|
9
9
|
import { OpenApi } from "../openapi.js";
|
|
10
10
|
import { Response } from "../requests.js";
|
|
11
11
|
import { Router } from "../routes.js";
|
|
@@ -34,10 +34,13 @@ class Server {
|
|
|
34
34
|
#openapi;
|
|
35
35
|
socket;
|
|
36
36
|
server;
|
|
37
|
-
cors
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
get cors() {
|
|
38
|
+
return {
|
|
39
|
+
origin: this.config.cors?.origin,
|
|
40
|
+
methods: (this.config.cors?.methods ?? Object.values(Methods)).filter((m) => m !== Methods.options).map((m) => m.toUpperCase()),
|
|
41
|
+
credentials: this.config.cors?.credentials
|
|
42
|
+
};
|
|
43
|
+
}
|
|
41
44
|
addRouter(...routers) {
|
|
42
45
|
routers.map((router) => router.routes).forEach((routes) => this.addRoute(...routes));
|
|
43
46
|
}
|
|
@@ -48,7 +51,6 @@ class Server {
|
|
|
48
51
|
const key = `(${method.toUpperCase()}) ${this.#openapi.cleanPath(path)}`;
|
|
49
52
|
if (this.#routesByKey.get(key))
|
|
50
53
|
throw new EquippedError(`Route key ${key} already registered. All route keys must be unique`, { route, key });
|
|
51
|
-
middlewares.unshift(parseAuthUser);
|
|
52
54
|
middlewares.forEach((m) => m.onSetup?.(route));
|
|
53
55
|
onError?.onSetup?.(route);
|
|
54
56
|
const { validateRequest, validateResponse, jsonSchema } = this.#resolveSchema(method, schema);
|
|
@@ -118,8 +120,6 @@ class Server {
|
|
|
118
120
|
v.compile(responsePipe, { allErrors: true });
|
|
119
121
|
const validateRequest = async (request) => {
|
|
120
122
|
if (!Object.keys(requestPipeDefs)) return request;
|
|
121
|
-
const context = schema.context ? await schema.context(request) : {};
|
|
122
|
-
request.context = context;
|
|
123
123
|
const validity = requestLocalStorage.run(
|
|
124
124
|
request,
|
|
125
125
|
() => v.validate(requestPipe, {
|
|
@@ -146,7 +146,7 @@ class Server {
|
|
|
146
146
|
response,
|
|
147
147
|
() => v.validate(responsePipe, {
|
|
148
148
|
responseHeaders: response.headers,
|
|
149
|
-
responseCookies: response.cookies,
|
|
149
|
+
responseCookies: Object.fromEntries(Object.entries(response.cookies).map(([key, val]) => [key, val.value])),
|
|
150
150
|
response: response.body
|
|
151
151
|
})
|
|
152
152
|
);
|
|
@@ -18,16 +18,6 @@ class ExpressServer extends Server {
|
|
|
18
18
|
const instance = Instance.get();
|
|
19
19
|
super(http.createServer(app), config, {
|
|
20
20
|
parseRequest: async (req) => {
|
|
21
|
-
const allHeaders = Object.fromEntries(Object.entries(req.headers).map(([key, val]) => [key, val ?? null]));
|
|
22
|
-
const headers = {
|
|
23
|
-
...allHeaders,
|
|
24
|
-
Authorization: req.get("authorization"),
|
|
25
|
-
RefreshToken: req.get("x-refresh-token"),
|
|
26
|
-
ApiKey: req.get("x-api-key"),
|
|
27
|
-
ContentType: req.get("content-type"),
|
|
28
|
-
Referer: req.get("referer"),
|
|
29
|
-
UserAgent: req.get("user-agent")
|
|
30
|
-
};
|
|
31
21
|
const files = Object.fromEntries(
|
|
32
22
|
await Promise.all(
|
|
33
23
|
Object.entries(req.files ?? {}).map(async ([key, file]) => {
|
|
@@ -54,9 +44,8 @@ class ExpressServer extends Server {
|
|
|
54
44
|
query: req.query ?? {},
|
|
55
45
|
method: req.method,
|
|
56
46
|
path: req.path,
|
|
57
|
-
headers,
|
|
58
|
-
files
|
|
59
|
-
context: {}
|
|
47
|
+
headers: req.headers,
|
|
48
|
+
files
|
|
60
49
|
});
|
|
61
50
|
},
|
|
62
51
|
handleResponse: async (res, response) => {
|
|
@@ -33,16 +33,6 @@ class FastifyServer extends Server {
|
|
|
33
33
|
});
|
|
34
34
|
super(app.server, config, {
|
|
35
35
|
parseRequest: async (req) => {
|
|
36
|
-
const allHeaders = Object.fromEntries(Object.entries(req.headers).map(([key, val]) => [key, val ?? null]));
|
|
37
|
-
const headers = {
|
|
38
|
-
...allHeaders,
|
|
39
|
-
Authorization: req.headers["authorization"]?.toString(),
|
|
40
|
-
RefreshToken: req.headers["x-refresh-token"]?.toString(),
|
|
41
|
-
ApiKey: req.headers["x-api-key"]?.toString(),
|
|
42
|
-
ContentType: req.headers["content-type"]?.toString(),
|
|
43
|
-
Referer: req.headers["referer"]?.toString(),
|
|
44
|
-
UserAgent: req.headers["user-agent"]?.toString()
|
|
45
|
-
};
|
|
46
36
|
const { body, files } = excludeBufferKeys(req.body ?? {});
|
|
47
37
|
return new Request({
|
|
48
38
|
ip: req.ip,
|
|
@@ -52,9 +42,8 @@ class FastifyServer extends Server {
|
|
|
52
42
|
query: req.query ?? {},
|
|
53
43
|
method: req.method,
|
|
54
44
|
path: req.url,
|
|
55
|
-
headers,
|
|
56
|
-
files
|
|
57
|
-
context: {}
|
|
45
|
+
headers: req.headers,
|
|
46
|
+
files
|
|
58
47
|
});
|
|
59
48
|
},
|
|
60
49
|
handleResponse: async (res, response) => {
|
|
@@ -1,38 +1,80 @@
|
|
|
1
|
-
export { E as ExpressServer, F as FastifyServer, O as OnJoinFn, R as Router, S as Server, a as SocketCallbacks, b as SocketEmitter } from '../fastify-
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
1
|
+
export { E as ExpressServer, F as FastifyServer, O as OnJoinFn, R as Router, S as Server, a as SocketCallbacks, b as SocketEmitter } from '../fastify-B6FUtYe9.js';
|
|
2
|
+
import { B as BaseRequestAuthMethod, a as Request, c as RouteDefToReqRes, d as RouteDef, S as ServerConfig, e as Route } from '../requestError-7N-ngghg.js';
|
|
3
|
+
export { C as CookieVal, i as DefaultCookies, D as DefaultHeaders, I as IncomingFile, l as MergeRouteDefs, M as Methods, g as MethodsEnum, b as Response, j as RouteConfig, m as RouteDefHandler, k as RouterConfig, f as StatusCodes, h as StatusCodesEnum, o as makeErrorMiddleware, n as makeMiddleware, s as serverConfigPipe } from '../requestError-7N-ngghg.js';
|
|
4
|
+
import { A as AuthUser } from '../overrides-6Hxg764S.js';
|
|
5
|
+
import { IncomingHttpHeaders } from 'node:http2';
|
|
4
6
|
import 'express';
|
|
5
7
|
import 'fastify';
|
|
6
8
|
import 'supertest/lib/agent';
|
|
7
|
-
import 'http';
|
|
9
|
+
import 'node:http';
|
|
8
10
|
import 'supertest';
|
|
9
11
|
import 'socket.io';
|
|
10
12
|
import '../core-BWUHISEy.js';
|
|
11
13
|
import 'mongodb';
|
|
12
14
|
import 'valleyed';
|
|
13
15
|
import '../kafka-DCpqW_YM.js';
|
|
14
|
-
import '../overrides-6Hxg764S.js';
|
|
15
16
|
import '../base-CfeyC14V.js';
|
|
16
17
|
import '../types/index.js';
|
|
17
|
-
import '../base-8yVXb67P.js';
|
|
18
18
|
import 'node:stream';
|
|
19
19
|
import '@fastify/cookie';
|
|
20
20
|
|
|
21
|
-
declare
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
21
|
+
declare abstract class BaseApiKeyRequestAuthMethod<T extends {
|
|
22
|
+
id: string;
|
|
23
|
+
}> extends BaseRequestAuthMethod<T> {
|
|
24
|
+
protected readonly headerName: string;
|
|
25
|
+
protected abstract verify(apiKey: string): Promise<T>;
|
|
26
|
+
constructor(headerName: string);
|
|
27
|
+
parse(headers: IncomingHttpHeaders): Promise<T>;
|
|
28
|
+
routeSecuritySchemeName(): string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
interface BaseJwtRequestAuthMethodOptions {
|
|
32
|
+
signingKey: string;
|
|
33
|
+
storageTTL: number;
|
|
34
|
+
storagePrefix?: string;
|
|
35
|
+
enforceSingleSession?: boolean;
|
|
36
|
+
}
|
|
37
|
+
declare abstract class BaseJwtRequestAuthMethod<T extends {
|
|
38
|
+
id: string;
|
|
39
|
+
}> extends BaseRequestAuthMethod<T> {
|
|
40
|
+
#private;
|
|
41
|
+
protected readonly options: BaseJwtRequestAuthMethodOptions;
|
|
42
|
+
protected abstract parseHeader(headers: IncomingHttpHeaders): Promise<string>;
|
|
43
|
+
protected abstract store(key: string, token: string, ttl: number): Promise<void>;
|
|
44
|
+
protected abstract retrieve(key: string): Promise<string | null>;
|
|
45
|
+
protected abstract delete(key: string): Promise<void>;
|
|
46
|
+
constructor(options: BaseJwtRequestAuthMethodOptions);
|
|
47
|
+
createToken(payload: T): Promise<string>;
|
|
48
|
+
parse(headers: IncomingHttpHeaders): Promise<T>;
|
|
49
|
+
retrieveFor(userId: string): Promise<string | null>;
|
|
50
|
+
deleteFor(userId: string): Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
interface BaseJwtHeaderRequestAuthMethodOptions<T extends string> extends BaseJwtRequestAuthMethodOptions {
|
|
53
|
+
headerName: T;
|
|
54
|
+
}
|
|
55
|
+
declare abstract class BaseJwtHeaderRequestAuthMethod<T extends {
|
|
56
|
+
id: string;
|
|
57
|
+
}, Name extends string = string> extends BaseJwtRequestAuthMethod<T> {
|
|
58
|
+
protected readonly options: BaseJwtHeaderRequestAuthMethodOptions<Name>;
|
|
59
|
+
constructor(options: BaseJwtHeaderRequestAuthMethodOptions<Name>);
|
|
60
|
+
parseHeader(headers: IncomingHttpHeaders): Promise<string>;
|
|
61
|
+
routeSecuritySchemeName(): Name;
|
|
62
|
+
}
|
|
63
|
+
interface BaseJwtCookieRequestAuthMethodOptions<T extends string> extends BaseJwtRequestAuthMethodOptions {
|
|
64
|
+
cookieName: T;
|
|
65
|
+
}
|
|
66
|
+
declare abstract class BaseJwtCookieRequestAuthMethod<T extends {
|
|
67
|
+
id: string;
|
|
68
|
+
}, Name extends string = string> extends BaseJwtRequestAuthMethod<T> {
|
|
69
|
+
protected readonly options: BaseJwtCookieRequestAuthMethodOptions<Name>;
|
|
70
|
+
constructor(options: BaseJwtCookieRequestAuthMethodOptions<Name>);
|
|
71
|
+
parseHeader(headers: IncomingHttpHeaders): Promise<string>;
|
|
72
|
+
routeSecuritySchemeName(): string;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
declare const requireAuthUser: (methods: BaseRequestAuthMethod<AuthUser>[]) => {
|
|
34
76
|
cb: (req: Request<RouteDefToReqRes<RouteDef>>, config: ServerConfig) => void | Promise<void>;
|
|
35
77
|
onSetup: ((route: Route<RouteDef>) => void) | undefined;
|
|
36
78
|
};
|
|
37
79
|
|
|
38
|
-
export { Request, Route, RouteDef, RouteDefToReqRes, ServerConfig,
|
|
80
|
+
export { BaseApiKeyRequestAuthMethod, BaseJwtCookieRequestAuthMethod, BaseJwtHeaderRequestAuthMethod, BaseJwtRequestAuthMethod, type BaseJwtRequestAuthMethodOptions, BaseRequestAuthMethod, Request, Route, RouteDef, RouteDefToReqRes, ServerConfig, requireAuthUser };
|
|
@@ -4,6 +4,6 @@ export * from "./impls/fastify.js";
|
|
|
4
4
|
export * from "./middlewares/index.js";
|
|
5
5
|
export * from "./pipes.js";
|
|
6
6
|
export * from "./requests.js";
|
|
7
|
-
export * from "./requests-auth/index.js";
|
|
7
|
+
export * from "./requests-auth-methods/index.js";
|
|
8
8
|
export * from "./routes.js";
|
|
9
9
|
export * from "./types.js";
|