@niledatabase/server 3.0.0-alpha.2 → 3.0.0-alpha.20
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/Api.d.ts +22 -0
- package/dist/Server.d.ts +2 -25
- package/dist/api/routes/auth/callback.d.ts +2 -1
- package/dist/api/routes/auth/csrf.d.ts +2 -1
- package/dist/api/routes/auth/error.d.ts +2 -1
- package/dist/api/routes/auth/providers.d.ts +2 -1
- package/dist/api/routes/auth/signin.d.ts +2 -1
- package/dist/api/routes/auth/signout.d.ts +2 -1
- package/dist/api/routes/tenants/GET.d.ts +3 -2
- package/dist/api/routes/tenants/POST.d.ts +3 -3
- package/dist/api/routes/tenants/[tenantId]/DELETE.d.ts +3 -3
- package/dist/api/routes/tenants/[tenantId]/GET.d.ts +37 -0
- package/dist/api/routes/tenants/[tenantId]/PUT.d.ts +38 -0
- package/dist/api/routes/tenants/[tenantId]/users/GET.d.ts +3 -3
- package/dist/api/routes/tenants/[tenantId]/users/POST.d.ts +3 -2
- package/dist/api/routes/tenants/[tenantId]/users/PUT.d.ts +4 -5
- package/dist/api/routes/tenants/[tenantId]/users/[userId]/DELETE.d.ts +5 -5
- package/dist/api/routes/users/GET.d.ts +3 -2
- package/dist/api/routes/users/POST.d.ts +3 -3
- package/dist/api/routes/users/[userId]/PUT.d.ts +3 -2
- package/dist/api/utils/request.d.ts +1 -1
- package/dist/api/utils/routes/apiRoutes.d.ts +2 -1
- package/dist/api/utils/routes/makeRestUrl.d.ts +2 -1
- package/dist/api/utils/routes/proxyRoutes.d.ts +2 -1
- package/dist/db/DBManager.d.ts +1 -0
- package/dist/db/NileInstance.d.ts +0 -1
- package/dist/server.cjs.development.js +2762 -2474
- package/dist/server.cjs.development.js.map +1 -1
- package/dist/server.cjs.production.min.js +1 -1
- package/dist/server.cjs.production.min.js.map +1 -1
- package/dist/server.esm.js +2763 -2475
- package/dist/server.esm.js.map +1 -1
- package/dist/tenants/index.d.ts +7 -3
- package/dist/types.d.ts +6 -0
- package/dist/users/index.d.ts +7 -7
- package/dist/utils/Config/envVars.d.ts +1 -2
- package/dist/utils/Config/index.d.ts +6 -7
- package/dist/utils/Event/index.d.ts +0 -1
- package/dist/utils/Logger.d.ts +4 -5
- package/dist/utils/Requester/index.d.ts +5 -5
- package/dist/utils/Requester/types.d.ts +1 -1
- package/package.json +2 -2
- package/dist/utils/Server/index.d.ts +0 -4
package/dist/Api.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Routes } from './api/types';
|
|
2
|
+
import Tenants from './tenants';
|
|
3
|
+
import Users from './users';
|
|
4
|
+
import { Config } from './utils/Config';
|
|
5
|
+
export declare class Api {
|
|
6
|
+
config: Config;
|
|
7
|
+
users: Users;
|
|
8
|
+
tenants: Tenants;
|
|
9
|
+
routes: Routes;
|
|
10
|
+
handlers: {
|
|
11
|
+
GET: (req: Request) => Promise<void | Response>;
|
|
12
|
+
POST: (req: Request) => Promise<void | Response>;
|
|
13
|
+
DELETE: (req: Request) => Promise<void | Response>;
|
|
14
|
+
PUT: (req: Request) => Promise<void | Response>;
|
|
15
|
+
};
|
|
16
|
+
constructor(config: Config);
|
|
17
|
+
set headers(headers: Headers);
|
|
18
|
+
login(payload: {
|
|
19
|
+
email: string;
|
|
20
|
+
password: string;
|
|
21
|
+
}): Promise<void>;
|
|
22
|
+
}
|
package/dist/Server.d.ts
CHANGED
|
@@ -1,32 +1,11 @@
|
|
|
1
1
|
import { Pool } from 'pg';
|
|
2
2
|
import { ServerConfig } from './types';
|
|
3
3
|
import { Config } from './utils/Config';
|
|
4
|
-
import
|
|
5
|
-
import Tenants from './tenants';
|
|
6
|
-
import { Routes } from './api/types';
|
|
7
|
-
declare class Api {
|
|
8
|
-
config: Config;
|
|
9
|
-
users: Users;
|
|
10
|
-
tenants: Tenants;
|
|
11
|
-
routes: Routes;
|
|
12
|
-
handlers: {
|
|
13
|
-
GET: (req: Request) => Promise<void | Response>;
|
|
14
|
-
POST: (req: Request) => Promise<void | Response>;
|
|
15
|
-
DELETE: (req: Request) => Promise<void | Response>;
|
|
16
|
-
PUT: (req: Request) => Promise<void | Response>;
|
|
17
|
-
};
|
|
18
|
-
constructor(config: Config);
|
|
19
|
-
set headers(headers: Headers);
|
|
20
|
-
login(payload: {
|
|
21
|
-
email: string;
|
|
22
|
-
password: string;
|
|
23
|
-
}): Promise<void>;
|
|
24
|
-
}
|
|
4
|
+
import { Api } from './Api';
|
|
25
5
|
export declare class Server {
|
|
26
6
|
config: Config;
|
|
27
7
|
api: Api;
|
|
28
8
|
private manager;
|
|
29
|
-
private servers;
|
|
30
9
|
constructor(config?: ServerConfig);
|
|
31
10
|
setConfig(cfg: Config): void;
|
|
32
11
|
init(cfg?: Config): Promise<this>;
|
|
@@ -39,9 +18,7 @@ export declare class Server {
|
|
|
39
18
|
set token(token: string | undefined | null);
|
|
40
19
|
get db(): Pool;
|
|
41
20
|
/**
|
|
42
|
-
* A
|
|
43
|
-
* returns the global Server object, an existing server that's already been configured,
|
|
44
|
-
* or a new one if the config isn't in the cache
|
|
21
|
+
* A convenience function that applies a config and ensures whatever was passed is set properly
|
|
45
22
|
*/
|
|
46
23
|
getInstance(config: ServerConfig): Server;
|
|
47
24
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Routes } from '../../types';
|
|
2
|
-
|
|
2
|
+
import { Config } from '../../../utils/Config';
|
|
3
|
+
export default function route(request: Request, config: Config): Promise<Response>;
|
|
3
4
|
export declare function matches(configRoutes: Routes, request: Request): boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Routes } from '../../types';
|
|
2
|
-
|
|
2
|
+
import { Config } from '../../../utils/Config';
|
|
3
|
+
export default function route(req: Request, config: Config): Promise<Response>;
|
|
3
4
|
export declare function matches(configRoutes: Routes, request: Request): boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Routes } from '../../types';
|
|
2
|
-
|
|
2
|
+
import { Config } from '../../../utils/Config';
|
|
3
|
+
export default function route(req: Request, config: Config): Promise<Response>;
|
|
3
4
|
export declare function matches(configRoutes: Routes, request: Request): boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Routes } from '../../types';
|
|
2
|
-
|
|
2
|
+
import { Config } from '../../../utils/Config';
|
|
3
|
+
export default function route(req: Request, config: Config): Promise<Response>;
|
|
3
4
|
export declare function matches(configRoutes: Routes, request: Request): boolean;
|
|
@@ -29,5 +29,6 @@
|
|
|
29
29
|
* content: {}
|
|
30
30
|
*/
|
|
31
31
|
import { Routes } from '../../types';
|
|
32
|
-
|
|
32
|
+
import { Config } from '../../../utils/Config';
|
|
33
|
+
export default function route(req: Request, config: Config): Promise<Response>;
|
|
33
34
|
export declare function matches(configRoutes: Routes, request: Request): boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Routes } from '../../types';
|
|
2
|
-
|
|
2
|
+
import { Config } from '../../../utils/Config';
|
|
3
|
+
export default function route(request: Request, config: Config): Promise<Response>;
|
|
3
4
|
export declare function matches(configRoutes: Routes, request: Request): boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Config } from '../../../utils/Config';
|
|
1
2
|
import { ActiveSession } from '../../utils/auth';
|
|
2
3
|
/**
|
|
3
4
|
* @swagger
|
|
@@ -27,6 +28,6 @@ import { ActiveSession } from '../../utils/auth';
|
|
|
27
28
|
* description: Unauthorized
|
|
28
29
|
* content: {}
|
|
29
30
|
*/
|
|
30
|
-
export declare function GET(session: ActiveSession, init: RequestInit & {
|
|
31
|
+
export declare function GET(config: Config, session: ActiveSession, init: RequestInit & {
|
|
31
32
|
request: Request;
|
|
32
|
-
}
|
|
33
|
+
}): Promise<Response>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Config } from '../../../utils/Config';
|
|
2
2
|
/**
|
|
3
3
|
* @swagger
|
|
4
4
|
* /api/tenants:
|
|
@@ -40,6 +40,6 @@ import { ActiveSession } from '../../utils/auth';
|
|
|
40
40
|
* schema:
|
|
41
41
|
* $ref: '#/components/schemas/APIError'
|
|
42
42
|
*/
|
|
43
|
-
export declare function POST(
|
|
43
|
+
export declare function POST(config: Config, init: RequestInit & {
|
|
44
44
|
request: Request;
|
|
45
|
-
}
|
|
45
|
+
}): Promise<Response>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Config } from '../../../../utils/Config';
|
|
2
2
|
/**
|
|
3
3
|
* @swagger
|
|
4
4
|
* /api/tenants/{tenantId}:
|
|
@@ -29,6 +29,6 @@ import { ActiveSession } from '../../../utils/auth';
|
|
|
29
29
|
* schema:
|
|
30
30
|
* $ref: '#/components/schemas/APIError'
|
|
31
31
|
*/
|
|
32
|
-
export declare function DELETE(
|
|
32
|
+
export declare function DELETE(config: Config, init: RequestInit & {
|
|
33
33
|
request: Request;
|
|
34
|
-
}
|
|
34
|
+
}): Promise<Response>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Config } from '../../../../utils/Config';
|
|
2
|
+
/**
|
|
3
|
+
* @swagger
|
|
4
|
+
* /api/tenants/{tenantId}:
|
|
5
|
+
* get:
|
|
6
|
+
* tags:
|
|
7
|
+
* - tenants
|
|
8
|
+
* summary: Obtains a specific tenant.
|
|
9
|
+
* operationId: getTenant
|
|
10
|
+
* parameters:
|
|
11
|
+
* - name: tenantId
|
|
12
|
+
* in: path
|
|
13
|
+
* required: true
|
|
14
|
+
* schema:
|
|
15
|
+
* type: string
|
|
16
|
+
* responses:
|
|
17
|
+
* "200":
|
|
18
|
+
* description: the desired tenant
|
|
19
|
+
* application/json:
|
|
20
|
+
* schema:
|
|
21
|
+
* $ref: '#/components/schemas/Tenant'
|
|
22
|
+
* "401":
|
|
23
|
+
* description: Unauthorized
|
|
24
|
+
* content:
|
|
25
|
+
* application/json:
|
|
26
|
+
* schema:
|
|
27
|
+
* $ref: '#/components/schemas/APIError'
|
|
28
|
+
* "404":
|
|
29
|
+
* description: Tenant not found
|
|
30
|
+
* content:
|
|
31
|
+
* application/json:
|
|
32
|
+
* schema:
|
|
33
|
+
* $ref: '#/components/schemas/APIError'
|
|
34
|
+
*/
|
|
35
|
+
export declare function GET(config: Config, init: RequestInit & {
|
|
36
|
+
request: Request;
|
|
37
|
+
}, log: (message: string | unknown, meta?: Record<string, unknown>) => void): Promise<Response>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Config } from '../../../../utils/Config';
|
|
2
|
+
/**
|
|
3
|
+
* @swagger
|
|
4
|
+
* /api/tenants/{tenantId}:
|
|
5
|
+
* put:
|
|
6
|
+
* tags:
|
|
7
|
+
* - tenants
|
|
8
|
+
* summary: Obtains a specific tenant.
|
|
9
|
+
* operationId: updateTenant
|
|
10
|
+
* parameters:
|
|
11
|
+
* - name: tenantId
|
|
12
|
+
* in: path
|
|
13
|
+
* required: true
|
|
14
|
+
* schema:
|
|
15
|
+
* type: string
|
|
16
|
+
* responses:
|
|
17
|
+
* "201":
|
|
18
|
+
* description: update an existing tenant
|
|
19
|
+
* content:
|
|
20
|
+
* application/json:
|
|
21
|
+
* schema:
|
|
22
|
+
* $ref: '#/components/schemas/Tenant'
|
|
23
|
+
* "401":
|
|
24
|
+
* description: Unauthorized
|
|
25
|
+
* content:
|
|
26
|
+
* application/json:
|
|
27
|
+
* schema:
|
|
28
|
+
* $ref: '#/components/schemas/APIError'
|
|
29
|
+
* "404":
|
|
30
|
+
* description: Tenant not found
|
|
31
|
+
* content:
|
|
32
|
+
* application/json:
|
|
33
|
+
* schema:
|
|
34
|
+
* $ref: '#/components/schemas/APIError'
|
|
35
|
+
*/
|
|
36
|
+
export declare function PUT(config: Config, init: RequestInit & {
|
|
37
|
+
request: Request;
|
|
38
|
+
}): Promise<Response>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Config } from '../../../../../utils/Config';
|
|
2
2
|
/**
|
|
3
3
|
* @swagger
|
|
4
4
|
* /api/tenants/{tenantId}/users:
|
|
@@ -30,6 +30,6 @@ import { ActiveSession } from '../../../../utils/auth';
|
|
|
30
30
|
* schema:
|
|
31
31
|
* $ref: '#/components/schemas/APIError'
|
|
32
32
|
*/
|
|
33
|
-
export declare function GET(
|
|
33
|
+
export declare function GET(config: Config, init: RequestInit & {
|
|
34
34
|
request: Request;
|
|
35
|
-
}
|
|
35
|
+
}): Promise<Response>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ActiveSession } from '../../../../utils/auth';
|
|
2
|
+
import { Config } from '../../../../../utils/Config';
|
|
2
3
|
/**
|
|
3
4
|
* @swagger
|
|
4
5
|
* /api/tenants/{tenantId}/users:
|
|
@@ -39,6 +40,6 @@ import { ActiveSession } from '../../../../utils/auth';
|
|
|
39
40
|
* schema:
|
|
40
41
|
* $ref: '#/components/schemas/User'
|
|
41
42
|
*/
|
|
42
|
-
export declare function POST(session: ActiveSession, init: RequestInit & {
|
|
43
|
+
export declare function POST(config: Config, session: ActiveSession, init: RequestInit & {
|
|
43
44
|
request: Request;
|
|
44
|
-
}
|
|
45
|
+
}): Promise<Response>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Config } from '../../../../../utils/Config';
|
|
2
2
|
/**
|
|
3
3
|
* @swagger
|
|
4
4
|
* /api/tenants/{tenantId}/users:
|
|
@@ -15,8 +15,7 @@ import { ActiveSession } from '../../../../utils/auth';
|
|
|
15
15
|
* type: string
|
|
16
16
|
* requestBody:
|
|
17
17
|
* description: |
|
|
18
|
-
* The email
|
|
19
|
-
* The `name` is optional; if provided it will be recorded in the `users` table.
|
|
18
|
+
* The email of the user you want to add to a tenant.
|
|
20
19
|
* content:
|
|
21
20
|
* application/json:
|
|
22
21
|
* schema:
|
|
@@ -25,6 +24,6 @@ import { ActiveSession } from '../../../../utils/auth';
|
|
|
25
24
|
* "201":
|
|
26
25
|
* description: add user to tenant
|
|
27
26
|
*/
|
|
28
|
-
export declare function PUT(
|
|
27
|
+
export declare function PUT(config: Config, init: RequestInit & {
|
|
29
28
|
request: Request;
|
|
30
|
-
}
|
|
29
|
+
}): Promise<Response>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Config } from '../../../../../../utils/Config';
|
|
2
2
|
/**
|
|
3
3
|
* @swagger
|
|
4
|
-
* /api/tenants/{tenantId}/users/{
|
|
4
|
+
* /api/tenants/{tenantId}/users/{email}:
|
|
5
5
|
* delete:
|
|
6
6
|
* tags:
|
|
7
7
|
* - tenants
|
|
@@ -15,7 +15,7 @@ import { ActiveSession } from '../../../../../utils/auth';
|
|
|
15
15
|
* required: true
|
|
16
16
|
* schema:
|
|
17
17
|
* type: string
|
|
18
|
-
* - name:
|
|
18
|
+
* - name: email
|
|
19
19
|
* in: path
|
|
20
20
|
* required: true
|
|
21
21
|
* schema:
|
|
@@ -25,6 +25,6 @@ import { ActiveSession } from '../../../../../utils/auth';
|
|
|
25
25
|
* "204":
|
|
26
26
|
* description: User removed
|
|
27
27
|
*/
|
|
28
|
-
export declare function DELETE(
|
|
28
|
+
export declare function DELETE(config: Config, init: RequestInit & {
|
|
29
29
|
request: Request;
|
|
30
|
-
}
|
|
30
|
+
}): Promise<Response>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Config } from '../../../utils/Config';
|
|
1
2
|
/**
|
|
2
3
|
* @swagger
|
|
3
4
|
* /api/users:
|
|
@@ -29,6 +30,6 @@
|
|
|
29
30
|
* description: Unauthorized
|
|
30
31
|
* content: {}
|
|
31
32
|
*/
|
|
32
|
-
export declare function GET(init: RequestInit & {
|
|
33
|
+
export declare function GET(config: Config, init: RequestInit & {
|
|
33
34
|
request: Request;
|
|
34
|
-
}, log: (
|
|
35
|
+
}, log: (message: string | unknown, meta?: Record<string, unknown>) => void): Promise<Response>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Config } from '../../../utils/Config';
|
|
2
2
|
/**
|
|
3
3
|
* @swagger
|
|
4
4
|
* /api/users:
|
|
@@ -61,6 +61,6 @@ import { ActiveSession } from '../../utils/auth';
|
|
|
61
61
|
* description: Unauthorized
|
|
62
62
|
* content: {}
|
|
63
63
|
*/
|
|
64
|
-
export declare function POST(
|
|
64
|
+
export declare function POST(config: Config, init: RequestInit & {
|
|
65
65
|
request: Request;
|
|
66
|
-
}
|
|
66
|
+
}): Promise<Response>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ActiveSession } from '../../../utils/auth';
|
|
2
|
+
import { Config } from '../../../../utils/Config';
|
|
2
3
|
/**
|
|
3
4
|
* @swagger
|
|
4
5
|
* /api/users/{userid}:
|
|
@@ -35,6 +36,6 @@ import { ActiveSession } from '../../../utils/auth';
|
|
|
35
36
|
* description: Unauthorized
|
|
36
37
|
* content: {}
|
|
37
38
|
*/
|
|
38
|
-
export declare function PUT(session: void | ActiveSession, init: RequestInit & {
|
|
39
|
+
export declare function PUT(config: Config, session: void | ActiveSession, init: RequestInit & {
|
|
39
40
|
request: Request;
|
|
40
|
-
}
|
|
41
|
+
}): Promise<Response>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { Config } from '../../../utils/Config';
|
|
1
2
|
type ApiRouteKeys = keyof typeof apiRoutes;
|
|
2
3
|
export type ApiRoutePaths = (typeof apiRoutes)[ApiRouteKeys];
|
|
3
|
-
export declare const apiRoutes: {
|
|
4
|
+
export declare const apiRoutes: (config: Config) => {
|
|
4
5
|
ME: string;
|
|
5
6
|
USERS: (tenantId?: string) => string;
|
|
6
7
|
USER: (userId: string) => string;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Config } from '../../../utils/Config';
|
|
2
|
+
export declare function makeRestUrl(config: Config, path: string, qp?: Record<string, string>): string;
|
package/dist/db/DBManager.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import NileDatabase from './NileInstance';
|
|
|
4
4
|
export default class DBManager {
|
|
5
5
|
connections: Map<string, NileDatabase>;
|
|
6
6
|
cleared: boolean;
|
|
7
|
+
private poolWatcherFn;
|
|
7
8
|
private makeId;
|
|
8
9
|
constructor(config: ServerConfig);
|
|
9
10
|
poolWatcher: (config: ServerConfig) => (id: undefined | null | string) => void;
|