@authhero/adapter-interfaces 2.7.0 → 2.9.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.
@@ -0,0 +1,19 @@
1
+ import { ProxyRoute, ProxyRouteInsert, ProxyRouteUpdate } from "../types/ProxyRoute";
2
+ export interface ListProxyRoutesParams {
3
+ page?: number;
4
+ per_page?: number;
5
+ custom_domain_id?: string;
6
+ }
7
+ export interface ListProxyRoutesResult {
8
+ proxy_routes: ProxyRoute[];
9
+ start: number;
10
+ limit: number;
11
+ length: number;
12
+ }
13
+ export interface ProxyRoutesAdapter {
14
+ create(tenant_id: string, route: ProxyRouteInsert): Promise<ProxyRoute>;
15
+ get(tenant_id: string, id: string): Promise<ProxyRoute | null>;
16
+ list(tenant_id: string, params?: ListProxyRoutesParams): Promise<ListProxyRoutesResult>;
17
+ update(tenant_id: string, id: string, route: ProxyRouteUpdate): Promise<boolean>;
18
+ remove(tenant_id: string, id: string): Promise<boolean>;
19
+ }
@@ -24,6 +24,7 @@ import { HookCodeAdapter } from "./HookCode";
24
24
  import { ThemesAdapter } from "./Themes";
25
25
  import { LoginSessionsAdapter } from "./LoginSessions";
26
26
  import { PromptSettingsAdapter } from "./PromptSettings";
27
+ import { ProxyRoutesAdapter } from "./ProxyRoutes";
27
28
  import { EmailProvidersAdapter } from "./EmailProviders";
28
29
  import { EmailTemplatesAdapter } from "./EmailTemplates";
29
30
  import { RefreshTokensAdapter } from "./RefreshTokens";
@@ -89,6 +90,13 @@ export interface DataAdapters {
89
90
  migrationSources?: MigrationSourcesAdapter;
90
91
  passwords: PasswordsAdapter;
91
92
  promptSettings: PromptSettingsAdapter;
93
+ /**
94
+ * Optional adapter for managing reverse-proxy route configuration per tenant.
95
+ * When set, AuthHero mounts the `/api/v2/proxy-routes` management API. A
96
+ * separate proxy worker (see `@authhero/proxy`) reads the same data either
97
+ * directly from the database or by calling this management API.
98
+ */
99
+ proxyRoutes?: ProxyRoutesAdapter;
92
100
  refreshTokens: RefreshTokensAdapter;
93
101
  resourceServers: ResourceServersAdapter;
94
102
  rolePermissions: RolePermissionsAdapter;
@@ -208,6 +216,7 @@ export * from "./LoginSessions";
208
216
  export * from "./Logs";
209
217
  export * from "./Passwords";
210
218
  export * from "./PromptSettings";
219
+ export * from "./ProxyRoutes";
211
220
  export * from "./ResourceServers";
212
221
  export * from "./Roles";
213
222
  export * from "./Sessions";
@@ -86,4 +86,5 @@ export declare const openIDConfigurationSchema: z.ZodObject<{
86
86
  claims_parameter_supported: z.ZodOptional<z.ZodBoolean>;
87
87
  request_object_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
88
88
  token_endpoint_auth_signing_alg_values_supported: z.ZodArray<z.ZodString>;
89
+ client_id_metadata_document_supported: z.ZodOptional<z.ZodBoolean>;
89
90
  }, z.core.$strip>;
@@ -0,0 +1,65 @@
1
+ import { z } from "@hono/zod-openapi";
2
+ export declare const matchSchema: z.ZodObject<{
3
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
4
+ methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
5
+ path: z.ZodDefault<z.ZodString>;
6
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
7
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
8
+ }, z.core.$strip>;
9
+ export type RouteMatch = z.infer<typeof matchSchema>;
10
+ export declare const handlerConfigSchema: z.ZodObject<{
11
+ type: z.ZodString;
12
+ options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
13
+ }, z.core.$strip>;
14
+ export type HandlerConfig = z.infer<typeof handlerConfigSchema>;
15
+ export declare const proxyRouteInsertSchema: z.ZodObject<{
16
+ custom_domain_id: z.ZodString;
17
+ priority: z.ZodDefault<z.ZodNumber>;
18
+ match: z.ZodObject<{
19
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
20
+ methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
+ path: z.ZodDefault<z.ZodString>;
22
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
23
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
24
+ }, z.core.$strip>;
25
+ handlers: z.ZodArray<z.ZodObject<{
26
+ type: z.ZodString;
27
+ options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
28
+ }, z.core.$strip>>;
29
+ }, z.core.$strip>;
30
+ export type ProxyRouteInsert = z.infer<typeof proxyRouteInsertSchema>;
31
+ export declare const proxyRouteSchema: z.ZodObject<{
32
+ custom_domain_id: z.ZodString;
33
+ priority: z.ZodDefault<z.ZodNumber>;
34
+ match: z.ZodObject<{
35
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
+ methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ path: z.ZodDefault<z.ZodString>;
38
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
39
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
40
+ }, z.core.$strip>;
41
+ handlers: z.ZodArray<z.ZodObject<{
42
+ type: z.ZodString;
43
+ options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
44
+ }, z.core.$strip>>;
45
+ id: z.ZodString;
46
+ tenant_id: z.ZodString;
47
+ created_at: z.ZodString;
48
+ updated_at: z.ZodString;
49
+ }, z.core.$strip>;
50
+ export type ProxyRoute = z.infer<typeof proxyRouteSchema>;
51
+ export declare const proxyRouteUpdateSchema: z.ZodObject<{
52
+ priority: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
53
+ match: z.ZodOptional<z.ZodObject<{
54
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
55
+ methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
56
+ path: z.ZodDefault<z.ZodString>;
57
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
58
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
59
+ }, z.core.$strip>>;
60
+ handlers: z.ZodOptional<z.ZodArray<z.ZodObject<{
61
+ type: z.ZodString;
62
+ options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
63
+ }, z.core.$strip>>>;
64
+ }, z.core.$strip>;
65
+ export type ProxyRouteUpdate = z.infer<typeof proxyRouteUpdateSchema>;
@@ -34,6 +34,7 @@ export declare const tenantInsertSchema: z.ZodObject<{
34
34
  allow_legacy_ro_grant_types: z.ZodOptional<z.ZodBoolean>;
35
35
  allow_legacy_tokeninfo_endpoint: z.ZodOptional<z.ZodBoolean>;
36
36
  change_pwd_flow_v1: z.ZodOptional<z.ZodBoolean>;
37
+ client_id_metadata_document_registration: z.ZodOptional<z.ZodBoolean>;
37
38
  custom_domains_provisioning: z.ZodOptional<z.ZodBoolean>;
38
39
  dashboard_insights_view: z.ZodOptional<z.ZodBoolean>;
39
40
  dashboard_log_streams_next: z.ZodOptional<z.ZodBoolean>;
@@ -216,6 +217,7 @@ export declare const tenantSchema: z.ZodObject<{
216
217
  allow_legacy_ro_grant_types: z.ZodOptional<z.ZodBoolean>;
217
218
  allow_legacy_tokeninfo_endpoint: z.ZodOptional<z.ZodBoolean>;
218
219
  change_pwd_flow_v1: z.ZodOptional<z.ZodBoolean>;
220
+ client_id_metadata_document_registration: z.ZodOptional<z.ZodBoolean>;
219
221
  custom_domains_provisioning: z.ZodOptional<z.ZodBoolean>;
220
222
  dashboard_insights_view: z.ZodOptional<z.ZodBoolean>;
221
223
  dashboard_log_streams_next: z.ZodOptional<z.ZodBoolean>;
@@ -33,6 +33,7 @@ export * from "./Token";
33
33
  export * from "./User";
34
34
  export * from "./Theme";
35
35
  export * from "./PromptSetting";
36
+ export * from "./ProxyRoute";
36
37
  export * from "./EmailProvider";
37
38
  export * from "./EmailTemplate";
38
39
  export * from "./RefreshTokens";
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "type": "git",
12
12
  "url": "https://github.com/markusahlstrand/authhero"
13
13
  },
14
- "version": "2.7.0",
14
+ "version": "2.9.0",
15
15
  "files": [
16
16
  "dist"
17
17
  ],