@niledatabase/server 3.0.0-alpha.1 → 3.0.0-alpha.11

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.
Files changed (37) hide show
  1. package/dist/Api.d.ts +22 -0
  2. package/dist/Server.d.ts +1 -21
  3. package/dist/api/routes/auth/callback.d.ts +2 -1
  4. package/dist/api/routes/auth/csrf.d.ts +2 -1
  5. package/dist/api/routes/auth/error.d.ts +2 -1
  6. package/dist/api/routes/auth/providers.d.ts +2 -1
  7. package/dist/api/routes/auth/signin.d.ts +2 -1
  8. package/dist/api/routes/auth/signout.d.ts +2 -1
  9. package/dist/api/routes/tenants/GET.d.ts +2 -1
  10. package/dist/api/routes/tenants/POST.d.ts +2 -2
  11. package/dist/api/routes/tenants/[tenantId]/DELETE.d.ts +2 -2
  12. package/dist/api/routes/tenants/[tenantId]/users/GET.d.ts +2 -2
  13. package/dist/api/routes/tenants/[tenantId]/users/POST.d.ts +2 -1
  14. package/dist/api/routes/tenants/[tenantId]/users/PUT.d.ts +3 -4
  15. package/dist/api/routes/tenants/[tenantId]/users/[userId]/DELETE.d.ts +4 -4
  16. package/dist/api/routes/users/GET.d.ts +3 -2
  17. package/dist/api/routes/users/POST.d.ts +2 -1
  18. package/dist/api/routes/users/[userId]/PUT.d.ts +2 -1
  19. package/dist/api/utils/auth.d.ts +8 -0
  20. package/dist/api/utils/routes/apiRoutes.d.ts +2 -1
  21. package/dist/api/utils/routes/makeRestUrl.d.ts +2 -1
  22. package/dist/api/utils/routes/proxyRoutes.d.ts +2 -1
  23. package/dist/db/isUUID.d.ts +1 -0
  24. package/dist/server.cjs.development.js +1624 -1516
  25. package/dist/server.cjs.development.js.map +1 -1
  26. package/dist/server.cjs.production.min.js +1 -1
  27. package/dist/server.cjs.production.min.js.map +1 -1
  28. package/dist/server.esm.js +1624 -1516
  29. package/dist/server.esm.js.map +1 -1
  30. package/dist/tenants/index.d.ts +7 -3
  31. package/dist/types.d.ts +1 -0
  32. package/dist/users/index.d.ts +7 -7
  33. package/dist/utils/Config/envVars.d.ts +1 -1
  34. package/dist/utils/Config/index.d.ts +2 -2
  35. package/dist/utils/Requester/index.d.ts +5 -5
  36. package/dist/utils/Requester/types.d.ts +1 -1
  37. package/package.json +2 -2
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,27 +1,7 @@
1
1
  import { Pool } from 'pg';
2
2
  import { ServerConfig } from './types';
3
3
  import { Config } from './utils/Config';
4
- import Users from './users';
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;
@@ -1,3 +1,4 @@
1
1
  import { Routes } from '../../types';
2
- export default function route(request: Request): Promise<Response>;
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
- export default function route(req: Request): Promise<Response>;
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
- export default function route(req: Request): Promise<Response>;
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
- export default function route(req: Request): Promise<Response>;
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
- export default function route(req: Request): Promise<Response>;
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
- export default function route(request: Request): Promise<Response>;
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
  }, log: (...args: string[]) => void): Promise<Response>;
@@ -1,4 +1,4 @@
1
- import { ActiveSession } from '../../utils/auth';
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(session: ActiveSession, init: RequestInit & {
43
+ export declare function POST(config: Config, init: RequestInit & {
44
44
  request: Request;
45
45
  }, log: (...args: string[]) => void): Promise<Response>;
@@ -1,4 +1,4 @@
1
- import { ActiveSession } from '../../../utils/auth';
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(session: ActiveSession, init: RequestInit & {
32
+ export declare function DELETE(config: Config, init: RequestInit & {
33
33
  request: Request;
34
34
  }, log: (...args: string[]) => void): Promise<Response>;
@@ -1,4 +1,4 @@
1
- import { ActiveSession } from '../../../../utils/auth';
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(session: ActiveSession, init: RequestInit & {
33
+ export declare function GET(config: Config, init: RequestInit & {
34
34
  request: Request;
35
35
  }, log: (...args: string[]) => void): 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
  }, log: (...args: string[]) => void): Promise<Response>;
@@ -1,4 +1,4 @@
1
- import { ActiveSession } from '../../../../utils/auth';
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 and password combination the user will use to authenticate.
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(session: ActiveSession, init: RequestInit & {
27
+ export declare function PUT(config: Config, init: RequestInit & {
29
28
  request: Request;
30
29
  }, log: (...args: string[]) => void): Promise<Response>;
@@ -1,7 +1,7 @@
1
- import { ActiveSession } from '../../../../../utils/auth';
1
+ import { Config } from '../../../../../../utils/Config';
2
2
  /**
3
3
  * @swagger
4
- * /api/tenants/{tenantId}/users/{userId}:
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: userId
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(session: ActiveSession, init: RequestInit & {
28
+ export declare function DELETE(config: Config, init: RequestInit & {
29
29
  request: Request;
30
30
  }, log: (...args: string[]) => void): Promise<Response>;
@@ -1,3 +1,4 @@
1
+ import { Config } from '../../../utils/Config';
1
2
  /**
2
3
  * @swagger
3
4
  * /api/users:
@@ -6,7 +7,7 @@
6
7
  * - users
7
8
  * summary: lists users in the tenant
8
9
  * description: Returns information about the users within the tenant
9
- * provided. You can also pass the a `niledb-tenantId` in the header or in a cookie.
10
+ * provided. You can also pass the a `niledb-tenant-id` in the header or in a cookie.
10
11
  * operationId: listUsers
11
12
  * parameters:
12
13
  * - name: tenantId
@@ -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
35
  }, log: (...args: string[]) => void): 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:
@@ -61,6 +62,6 @@ import { ActiveSession } from '../../utils/auth';
61
62
  * description: Unauthorized
62
63
  * content: {}
63
64
  */
64
- export declare function POST(session: void | ActiveSession, init: RequestInit & {
65
+ export declare function POST(config: Config, session: void | ActiveSession, init: RequestInit & {
65
66
  request: Request;
66
67
  }, log?: (...args: string[]) => void): 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
  }, log: (...args: string[]) => void): Promise<Response>;
@@ -2,5 +2,13 @@ import { Config } from '../../utils/Config';
2
2
  export type ActiveSession = {
3
3
  id: string;
4
4
  email: string;
5
+ expires: Date;
6
+ user?: {
7
+ id: string;
8
+ name: string;
9
+ image: string;
10
+ email: string;
11
+ emailVerified: void | Date;
12
+ };
5
13
  };
6
14
  export default function auth(req: Request, config: Config): Promise<void | ActiveSession>;
@@ -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
- export declare function makeRestUrl(path: string, qp?: Record<string, string>): string;
1
+ import { Config } from '../../../utils/Config';
2
+ export declare function makeRestUrl(config: Config, path: string, qp?: Record<string, string>): string;
@@ -1,4 +1,5 @@
1
- export declare const proxyRoutes: {
1
+ import { Config } from '../../../utils/Config';
2
+ export declare const proxyRoutes: (config: Config) => {
2
3
  SIGNIN: string;
3
4
  PROVIDERS: string;
4
5
  SESSION: string;
@@ -0,0 +1 @@
1
+ export declare function isUUID(value: string | null | undefined): boolean;