@niledatabase/server 5.0.0-alpha.14 → 5.0.0-alpha.16
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/dist/index.d.mts +60 -53
- package/dist/index.d.ts +60 -53
- package/dist/index.js +226 -61
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +225 -62
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -9,28 +9,25 @@ type Loggable = {
|
|
|
9
9
|
};
|
|
10
10
|
type LogReturn = (prefixes?: string | string[]) => Loggable;
|
|
11
11
|
|
|
12
|
+
type ConfigurablePaths = {
|
|
13
|
+
get: string[];
|
|
14
|
+
post: string[];
|
|
15
|
+
delete: string[];
|
|
16
|
+
put: string[];
|
|
17
|
+
};
|
|
18
|
+
type ExtensionReturns = void | Response | Request | ExtensionState;
|
|
12
19
|
type ExtensionCtx = {
|
|
13
|
-
|
|
20
|
+
runExtensions: <T = ExtensionReturns>(toRun: ExtensionState, config: Config, params: any, _init?: RequestInit & {
|
|
14
21
|
request: Request;
|
|
15
|
-
}
|
|
22
|
+
}) => Promise<T>;
|
|
16
23
|
};
|
|
17
24
|
type ConfigConstructor = NileConfig & {
|
|
18
25
|
extensionCtx?: ExtensionCtx;
|
|
19
26
|
};
|
|
20
27
|
declare class Config {
|
|
21
28
|
routes: Routes;
|
|
22
|
-
handlers:
|
|
23
|
-
|
|
24
|
-
POST: (req: Request) => Promise<void | Response>;
|
|
25
|
-
DELETE: (req: Request) => Promise<void | Response>;
|
|
26
|
-
PUT: (req: Request) => Promise<void | Response>;
|
|
27
|
-
};
|
|
28
|
-
paths: {
|
|
29
|
-
get: string[];
|
|
30
|
-
post: string[];
|
|
31
|
-
delete: string[];
|
|
32
|
-
put: string[];
|
|
33
|
-
};
|
|
29
|
+
handlers: RouteFunctions;
|
|
30
|
+
paths: ConfigurablePaths;
|
|
34
31
|
extensionCtx: ExtensionCtx;
|
|
35
32
|
extensions?: Extension[];
|
|
36
33
|
logger: LogReturn;
|
|
@@ -521,25 +518,10 @@ declare function parseCallback(headers?: Headers): string | undefined;
|
|
|
521
518
|
* Extract the session token cookie from a set of headers.
|
|
522
519
|
*/
|
|
523
520
|
declare function parseToken(headers?: Headers): string | undefined;
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
nile: Server;
|
|
529
|
-
}>;
|
|
530
|
-
POST: (req: Request) => Promise<{
|
|
531
|
-
response: void | Response;
|
|
532
|
-
nile: Server;
|
|
533
|
-
}>;
|
|
534
|
-
DELETE: (req: Request) => Promise<{
|
|
535
|
-
response: void | Response;
|
|
536
|
-
nile: Server;
|
|
537
|
-
}>;
|
|
538
|
-
PUT: (req: Request) => Promise<{
|
|
539
|
-
response: void | Response;
|
|
540
|
-
nile: Server;
|
|
541
|
-
}>;
|
|
542
|
-
};
|
|
521
|
+
/**
|
|
522
|
+
* Internal helper for the password reset flow.
|
|
523
|
+
*/
|
|
524
|
+
declare function parseResetToken(headers: Headers | void): string | void;
|
|
543
525
|
|
|
544
526
|
declare class Server {
|
|
545
527
|
#private;
|
|
@@ -550,23 +532,20 @@ declare class Server {
|
|
|
550
532
|
get db(): pg.Pool & {
|
|
551
533
|
clearConnections: () => void;
|
|
552
534
|
};
|
|
535
|
+
get logger(): LogReturn;
|
|
536
|
+
get extensions(): {
|
|
537
|
+
remove: (id: string) => Promise<ExtensionResult[] | undefined>;
|
|
538
|
+
add: (extension: Extension) => void;
|
|
539
|
+
};
|
|
553
540
|
/**
|
|
554
541
|
* A convenience function that applies a config and ensures whatever was passed is set properly
|
|
555
542
|
*/
|
|
556
543
|
getInstance<T = Request | Headers | Record<string, string>>(config: NileConfig, req?: T): Server;
|
|
557
|
-
|
|
558
|
-
get: string[];
|
|
559
|
-
post: string[];
|
|
560
|
-
delete: string[];
|
|
561
|
-
put: string[];
|
|
562
|
-
};
|
|
563
|
-
get handlers(): {
|
|
564
|
-
GET: (req: Request) => Promise<void | Response>;
|
|
565
|
-
POST: (req: Request) => Promise<void | Response>;
|
|
566
|
-
DELETE: (req: Request) => Promise<void | Response>;
|
|
567
|
-
PUT: (req: Request) => Promise<void | Response>;
|
|
544
|
+
get handlers(): RouteFunctions & {
|
|
568
545
|
withContext: CTXHandlerType;
|
|
569
546
|
};
|
|
547
|
+
get paths(): ConfigurablePaths;
|
|
548
|
+
set paths(paths: ConfigurablePaths);
|
|
570
549
|
/**
|
|
571
550
|
* Allow the setting of headers from a req or header object.
|
|
572
551
|
* Makes it possible to handle REST requests easily
|
|
@@ -574,10 +553,10 @@ declare class Server {
|
|
|
574
553
|
* @param req
|
|
575
554
|
* @returns undefined
|
|
576
555
|
*/
|
|
577
|
-
setContext(req: Request | Headers | Record<string, string> | unknown | {
|
|
556
|
+
setContext: (req: Request | Headers | Record<string, string> | unknown | {
|
|
578
557
|
tenantId?: string;
|
|
579
558
|
userId?: string;
|
|
580
|
-
}
|
|
559
|
+
}, ...remaining: unknown[]) => void;
|
|
581
560
|
getContext(): {
|
|
582
561
|
headers: Headers | undefined;
|
|
583
562
|
userId: string | null | undefined;
|
|
@@ -591,13 +570,21 @@ type Opts = {
|
|
|
591
570
|
basePath?: string;
|
|
592
571
|
fetch?: typeof fetch;
|
|
593
572
|
};
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
onRequest?: (
|
|
598
|
-
onResponse?: (
|
|
573
|
+
type Any = any;
|
|
574
|
+
type ExtensionResult = {
|
|
575
|
+
id: string;
|
|
576
|
+
onRequest?: (...params: Any) => void | Promise<void | RequestInit>;
|
|
577
|
+
onResponse?: (...params: Any) => void | Promise<void>;
|
|
578
|
+
onHandleRequest?: (...params: Any) => RouteReturn | Promise<RouteReturn>;
|
|
579
|
+
onConfigure?: (...params: Any) => void;
|
|
580
|
+
onSetContext?: (...params: Any) => void;
|
|
581
|
+
};
|
|
582
|
+
type Extension = (instance: Server) => ExtensionResult;
|
|
583
|
+
declare enum ExtensionState {
|
|
584
|
+
onHandleRequest = "onHandleRequest",
|
|
585
|
+
onRequest = "onRequest",
|
|
586
|
+
onResponse = "onResposne"
|
|
599
587
|
}
|
|
600
|
-
type Extension = (instance: Server) => ExtensionResult | Promise<ExtensionResult>;
|
|
601
588
|
type NilePoolConfig = PoolConfig & {
|
|
602
589
|
afterCreate?: AfterCreate;
|
|
603
590
|
};
|
|
@@ -788,10 +775,30 @@ interface APIError {
|
|
|
788
775
|
statusCode: number;
|
|
789
776
|
}
|
|
790
777
|
type NileResponse<T> = Promise<T | NResponse<T & APIError>>;
|
|
778
|
+
type ExtensionConfig = {
|
|
779
|
+
disableExtensions: string[];
|
|
780
|
+
};
|
|
781
|
+
type RouteReturn = void | Request | Response | ExtensionState;
|
|
782
|
+
type RouteFunctions = {
|
|
783
|
+
GET: (req: Request, config?: ExtensionConfig, ...args: unknown[]) => Promise<RouteReturn>;
|
|
784
|
+
POST: (req: Request, config?: ExtensionConfig) => Promise<RouteReturn>;
|
|
785
|
+
DELETE: (req: Request, config?: ExtensionConfig) => Promise<RouteReturn>;
|
|
786
|
+
PUT: (req: Request, config?: ExtensionConfig) => Promise<RouteReturn>;
|
|
787
|
+
};
|
|
788
|
+
type ContextReturn = {
|
|
789
|
+
response: RouteReturn;
|
|
790
|
+
nile: Server;
|
|
791
|
+
};
|
|
792
|
+
type CTXHandlerType = {
|
|
793
|
+
GET: (req: Request) => Promise<ContextReturn>;
|
|
794
|
+
POST: (req: Request) => Promise<ContextReturn>;
|
|
795
|
+
DELETE: (req: Request) => Promise<ContextReturn>;
|
|
796
|
+
PUT: (req: Request) => Promise<ContextReturn>;
|
|
797
|
+
};
|
|
791
798
|
|
|
792
799
|
declare const TENANT_COOKIE = "nile.tenant-id";
|
|
793
800
|
declare const USER_COOKIE = "nile.user-id";
|
|
794
801
|
declare const HEADER_ORIGIN = "nile-origin";
|
|
795
802
|
declare const HEADER_SECURE_COOKIES = "nile-secure-cookies";
|
|
796
803
|
|
|
797
|
-
export { type APIError, APIErrorErrorCodeEnum, type ActiveSession, type AfterCreate, type CreateBasicUserRequest, type CreateTenantUserRequest, type Extension, type ExtensionResult, HEADER_ORIGIN, HEADER_SECURE_COOKIES, type Invite, type JWT, type LoggerType, type LoginUserResponse, type LoginUserResponseToken, LoginUserResponseTokenTypeEnum, create as Nile, type NileConfig, type NileDb, type NilePoolConfig, type NileRequest, type NileResponse, type Opts, type Providers, Server, TENANT_COOKIE, type Tenant, USER_COOKIE, type User, parseCSRF, parseCallback, parseToken };
|
|
804
|
+
export { type APIError, APIErrorErrorCodeEnum, type ActiveSession, type AfterCreate, type CTXHandlerType, type CreateBasicUserRequest, type CreateTenantUserRequest, type Extension, type ExtensionResult, ExtensionState, HEADER_ORIGIN, HEADER_SECURE_COOKIES, type Invite, type JWT, type LoggerType, type LoginUserResponse, type LoginUserResponseToken, LoginUserResponseTokenTypeEnum, create as Nile, type NileConfig, type NileDb, type NilePoolConfig, type NileRequest, type NileResponse, type Opts, type Providers, type RouteFunctions, type RouteReturn, Server, TENANT_COOKIE, type Tenant, USER_COOKIE, type User, parseCSRF, parseCallback, parseResetToken, parseToken };
|
package/dist/index.d.ts
CHANGED
|
@@ -9,28 +9,25 @@ type Loggable = {
|
|
|
9
9
|
};
|
|
10
10
|
type LogReturn = (prefixes?: string | string[]) => Loggable;
|
|
11
11
|
|
|
12
|
+
type ConfigurablePaths = {
|
|
13
|
+
get: string[];
|
|
14
|
+
post: string[];
|
|
15
|
+
delete: string[];
|
|
16
|
+
put: string[];
|
|
17
|
+
};
|
|
18
|
+
type ExtensionReturns = void | Response | Request | ExtensionState;
|
|
12
19
|
type ExtensionCtx = {
|
|
13
|
-
|
|
20
|
+
runExtensions: <T = ExtensionReturns>(toRun: ExtensionState, config: Config, params: any, _init?: RequestInit & {
|
|
14
21
|
request: Request;
|
|
15
|
-
}
|
|
22
|
+
}) => Promise<T>;
|
|
16
23
|
};
|
|
17
24
|
type ConfigConstructor = NileConfig & {
|
|
18
25
|
extensionCtx?: ExtensionCtx;
|
|
19
26
|
};
|
|
20
27
|
declare class Config {
|
|
21
28
|
routes: Routes;
|
|
22
|
-
handlers:
|
|
23
|
-
|
|
24
|
-
POST: (req: Request) => Promise<void | Response>;
|
|
25
|
-
DELETE: (req: Request) => Promise<void | Response>;
|
|
26
|
-
PUT: (req: Request) => Promise<void | Response>;
|
|
27
|
-
};
|
|
28
|
-
paths: {
|
|
29
|
-
get: string[];
|
|
30
|
-
post: string[];
|
|
31
|
-
delete: string[];
|
|
32
|
-
put: string[];
|
|
33
|
-
};
|
|
29
|
+
handlers: RouteFunctions;
|
|
30
|
+
paths: ConfigurablePaths;
|
|
34
31
|
extensionCtx: ExtensionCtx;
|
|
35
32
|
extensions?: Extension[];
|
|
36
33
|
logger: LogReturn;
|
|
@@ -521,25 +518,10 @@ declare function parseCallback(headers?: Headers): string | undefined;
|
|
|
521
518
|
* Extract the session token cookie from a set of headers.
|
|
522
519
|
*/
|
|
523
520
|
declare function parseToken(headers?: Headers): string | undefined;
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
nile: Server;
|
|
529
|
-
}>;
|
|
530
|
-
POST: (req: Request) => Promise<{
|
|
531
|
-
response: void | Response;
|
|
532
|
-
nile: Server;
|
|
533
|
-
}>;
|
|
534
|
-
DELETE: (req: Request) => Promise<{
|
|
535
|
-
response: void | Response;
|
|
536
|
-
nile: Server;
|
|
537
|
-
}>;
|
|
538
|
-
PUT: (req: Request) => Promise<{
|
|
539
|
-
response: void | Response;
|
|
540
|
-
nile: Server;
|
|
541
|
-
}>;
|
|
542
|
-
};
|
|
521
|
+
/**
|
|
522
|
+
* Internal helper for the password reset flow.
|
|
523
|
+
*/
|
|
524
|
+
declare function parseResetToken(headers: Headers | void): string | void;
|
|
543
525
|
|
|
544
526
|
declare class Server {
|
|
545
527
|
#private;
|
|
@@ -550,23 +532,20 @@ declare class Server {
|
|
|
550
532
|
get db(): pg.Pool & {
|
|
551
533
|
clearConnections: () => void;
|
|
552
534
|
};
|
|
535
|
+
get logger(): LogReturn;
|
|
536
|
+
get extensions(): {
|
|
537
|
+
remove: (id: string) => Promise<ExtensionResult[] | undefined>;
|
|
538
|
+
add: (extension: Extension) => void;
|
|
539
|
+
};
|
|
553
540
|
/**
|
|
554
541
|
* A convenience function that applies a config and ensures whatever was passed is set properly
|
|
555
542
|
*/
|
|
556
543
|
getInstance<T = Request | Headers | Record<string, string>>(config: NileConfig, req?: T): Server;
|
|
557
|
-
|
|
558
|
-
get: string[];
|
|
559
|
-
post: string[];
|
|
560
|
-
delete: string[];
|
|
561
|
-
put: string[];
|
|
562
|
-
};
|
|
563
|
-
get handlers(): {
|
|
564
|
-
GET: (req: Request) => Promise<void | Response>;
|
|
565
|
-
POST: (req: Request) => Promise<void | Response>;
|
|
566
|
-
DELETE: (req: Request) => Promise<void | Response>;
|
|
567
|
-
PUT: (req: Request) => Promise<void | Response>;
|
|
544
|
+
get handlers(): RouteFunctions & {
|
|
568
545
|
withContext: CTXHandlerType;
|
|
569
546
|
};
|
|
547
|
+
get paths(): ConfigurablePaths;
|
|
548
|
+
set paths(paths: ConfigurablePaths);
|
|
570
549
|
/**
|
|
571
550
|
* Allow the setting of headers from a req or header object.
|
|
572
551
|
* Makes it possible to handle REST requests easily
|
|
@@ -574,10 +553,10 @@ declare class Server {
|
|
|
574
553
|
* @param req
|
|
575
554
|
* @returns undefined
|
|
576
555
|
*/
|
|
577
|
-
setContext(req: Request | Headers | Record<string, string> | unknown | {
|
|
556
|
+
setContext: (req: Request | Headers | Record<string, string> | unknown | {
|
|
578
557
|
tenantId?: string;
|
|
579
558
|
userId?: string;
|
|
580
|
-
}
|
|
559
|
+
}, ...remaining: unknown[]) => void;
|
|
581
560
|
getContext(): {
|
|
582
561
|
headers: Headers | undefined;
|
|
583
562
|
userId: string | null | undefined;
|
|
@@ -591,13 +570,21 @@ type Opts = {
|
|
|
591
570
|
basePath?: string;
|
|
592
571
|
fetch?: typeof fetch;
|
|
593
572
|
};
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
onRequest?: (
|
|
598
|
-
onResponse?: (
|
|
573
|
+
type Any = any;
|
|
574
|
+
type ExtensionResult = {
|
|
575
|
+
id: string;
|
|
576
|
+
onRequest?: (...params: Any) => void | Promise<void | RequestInit>;
|
|
577
|
+
onResponse?: (...params: Any) => void | Promise<void>;
|
|
578
|
+
onHandleRequest?: (...params: Any) => RouteReturn | Promise<RouteReturn>;
|
|
579
|
+
onConfigure?: (...params: Any) => void;
|
|
580
|
+
onSetContext?: (...params: Any) => void;
|
|
581
|
+
};
|
|
582
|
+
type Extension = (instance: Server) => ExtensionResult;
|
|
583
|
+
declare enum ExtensionState {
|
|
584
|
+
onHandleRequest = "onHandleRequest",
|
|
585
|
+
onRequest = "onRequest",
|
|
586
|
+
onResponse = "onResposne"
|
|
599
587
|
}
|
|
600
|
-
type Extension = (instance: Server) => ExtensionResult | Promise<ExtensionResult>;
|
|
601
588
|
type NilePoolConfig = PoolConfig & {
|
|
602
589
|
afterCreate?: AfterCreate;
|
|
603
590
|
};
|
|
@@ -788,10 +775,30 @@ interface APIError {
|
|
|
788
775
|
statusCode: number;
|
|
789
776
|
}
|
|
790
777
|
type NileResponse<T> = Promise<T | NResponse<T & APIError>>;
|
|
778
|
+
type ExtensionConfig = {
|
|
779
|
+
disableExtensions: string[];
|
|
780
|
+
};
|
|
781
|
+
type RouteReturn = void | Request | Response | ExtensionState;
|
|
782
|
+
type RouteFunctions = {
|
|
783
|
+
GET: (req: Request, config?: ExtensionConfig, ...args: unknown[]) => Promise<RouteReturn>;
|
|
784
|
+
POST: (req: Request, config?: ExtensionConfig) => Promise<RouteReturn>;
|
|
785
|
+
DELETE: (req: Request, config?: ExtensionConfig) => Promise<RouteReturn>;
|
|
786
|
+
PUT: (req: Request, config?: ExtensionConfig) => Promise<RouteReturn>;
|
|
787
|
+
};
|
|
788
|
+
type ContextReturn = {
|
|
789
|
+
response: RouteReturn;
|
|
790
|
+
nile: Server;
|
|
791
|
+
};
|
|
792
|
+
type CTXHandlerType = {
|
|
793
|
+
GET: (req: Request) => Promise<ContextReturn>;
|
|
794
|
+
POST: (req: Request) => Promise<ContextReturn>;
|
|
795
|
+
DELETE: (req: Request) => Promise<ContextReturn>;
|
|
796
|
+
PUT: (req: Request) => Promise<ContextReturn>;
|
|
797
|
+
};
|
|
791
798
|
|
|
792
799
|
declare const TENANT_COOKIE = "nile.tenant-id";
|
|
793
800
|
declare const USER_COOKIE = "nile.user-id";
|
|
794
801
|
declare const HEADER_ORIGIN = "nile-origin";
|
|
795
802
|
declare const HEADER_SECURE_COOKIES = "nile-secure-cookies";
|
|
796
803
|
|
|
797
|
-
export { type APIError, APIErrorErrorCodeEnum, type ActiveSession, type AfterCreate, type CreateBasicUserRequest, type CreateTenantUserRequest, type Extension, type ExtensionResult, HEADER_ORIGIN, HEADER_SECURE_COOKIES, type Invite, type JWT, type LoggerType, type LoginUserResponse, type LoginUserResponseToken, LoginUserResponseTokenTypeEnum, create as Nile, type NileConfig, type NileDb, type NilePoolConfig, type NileRequest, type NileResponse, type Opts, type Providers, Server, TENANT_COOKIE, type Tenant, USER_COOKIE, type User, parseCSRF, parseCallback, parseToken };
|
|
804
|
+
export { type APIError, APIErrorErrorCodeEnum, type ActiveSession, type AfterCreate, type CTXHandlerType, type CreateBasicUserRequest, type CreateTenantUserRequest, type Extension, type ExtensionResult, ExtensionState, HEADER_ORIGIN, HEADER_SECURE_COOKIES, type Invite, type JWT, type LoggerType, type LoginUserResponse, type LoginUserResponseToken, LoginUserResponseTokenTypeEnum, create as Nile, type NileConfig, type NileDb, type NilePoolConfig, type NileRequest, type NileResponse, type Opts, type Providers, type RouteFunctions, type RouteReturn, Server, TENANT_COOKIE, type Tenant, USER_COOKIE, type User, parseCSRF, parseCallback, parseResetToken, parseToken };
|