@betterportal/tunnels 1.0.6 → 1.0.8

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 (64) hide show
  1. package/lib/.bsb/clients/service-tunnels-client.d.ts +1 -1
  2. package/lib/.bsb/clients/service-tunnels-client.js +1 -1
  3. package/lib/.bsb/clients/service-tunnels-proxy.d.ts +1 -1
  4. package/lib/.bsb/clients/service-tunnels-proxy.js +1 -1
  5. package/lib/plugins/service-tunnels-admin/.bp-generated/registry.d.ts.map +1 -1
  6. package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js +37 -51
  7. package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js.map +1 -1
  8. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.d.ts +10 -0
  9. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.d.ts.map +1 -0
  10. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.js +41 -0
  11. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.js.map +1 -0
  12. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.d.ts +0 -7
  13. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.d.ts.map +1 -1
  14. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.js +0 -38
  15. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.js.map +1 -1
  16. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.d.ts +18 -0
  17. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.d.ts.map +1 -0
  18. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.js +30 -0
  19. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.js.map +1 -0
  20. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts +0 -15
  21. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts.map +1 -1
  22. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js +0 -27
  23. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js.map +1 -1
  24. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.d.ts +13 -0
  25. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.d.ts.map +1 -0
  26. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.js +24 -0
  27. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.js.map +1 -0
  28. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.d.ts +0 -10
  29. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.d.ts.map +1 -1
  30. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.js +0 -21
  31. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.js.map +1 -1
  32. package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.d.ts +18 -0
  33. package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.d.ts.map +1 -0
  34. package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.js +38 -0
  35. package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.js.map +1 -0
  36. package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.d.ts +0 -15
  37. package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.d.ts.map +1 -1
  38. package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.js +0 -35
  39. package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.js.map +1 -1
  40. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.d.ts +20 -0
  41. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.d.ts.map +1 -0
  42. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.js +29 -0
  43. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.js.map +1 -0
  44. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.d.ts +0 -17
  45. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.d.ts.map +1 -1
  46. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.js +0 -26
  47. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.js.map +1 -1
  48. package/lib/plugins/service-tunnels-admin/index.js +2 -2
  49. package/lib/plugins/service-tunnels-admin/index.js.map +1 -1
  50. package/lib/plugins/service-tunnels-client/index.js +2 -2
  51. package/lib/plugins/service-tunnels-client/index.js.map +1 -1
  52. package/lib/plugins/service-tunnels-proxy/index.js +2 -2
  53. package/lib/plugins/service-tunnels-proxy/index.js.map +1 -1
  54. package/lib/prisma.d.ts +2 -0
  55. package/lib/prisma.d.ts.map +1 -1
  56. package/lib/prisma.js +115 -0
  57. package/lib/prisma.js.map +1 -1
  58. package/lib/schemas/service-tunnels-admin.json +1 -1
  59. package/lib/schemas/service-tunnels-admin.plugin.json +1 -1
  60. package/lib/schemas/service-tunnels-client.json +2 -2
  61. package/lib/schemas/service-tunnels-client.plugin.json +2 -2
  62. package/lib/schemas/service-tunnels-proxy.json +2 -2
  63. package/lib/schemas/service-tunnels-proxy.plugin.json +2 -2
  64. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-generated BSB virtual client for service-tunnels-client
3
3
  * DO NOT EDIT - Regenerated on every build
4
- * @version 1.0.6
4
+ * @version 1.0.8
5
5
  */
6
6
  import { ServiceClient, BSBService } from "@bsb/base";
7
7
  import type { Observable, BSBServiceClientDefinition, EventInputType, EventOutputType } from "@bsb/base";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-generated BSB virtual client for service-tunnels-client
3
3
  * DO NOT EDIT - Regenerated on every build
4
- * @version 1.0.6
4
+ * @version 1.0.8
5
5
  */
6
6
  import { ServiceClient, bsb, optional, createReturnableEvent, createFireAndForgetEvent, createEventSchemas } from "@bsb/base";
7
7
  const _wsToOriginSchema = bsb.object({
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-generated BSB virtual client for service-tunnels-proxy
3
3
  * DO NOT EDIT - Regenerated on every build
4
- * @version 1.0.6
4
+ * @version 1.0.8
5
5
  */
6
6
  import { ServiceClient, BSBService } from "@bsb/base";
7
7
  import type { Observable, BSBServiceClientDefinition, EventInputType } from "@bsb/base";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-generated BSB virtual client for service-tunnels-proxy
3
3
  * DO NOT EDIT - Regenerated on every build
4
- * @version 1.0.6
4
+ * @version 1.0.8
5
5
  */
6
6
  import { ServiceClient, bsb, optional, createFireAndForgetEvent, createEventSchemas } from "@bsb/base";
7
7
  const _wsFromOriginSchema = bsb.object({
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/registry.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,QAAQ,EAAE,oBAkHtB,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/registry.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,QAAQ,EAAE,oBAoGtB,CAAC"}
@@ -1,14 +1,14 @@
1
1
  // AUTO-GENERATED by BetterPortal codegen - DO NOT EDIT
2
2
  import * as betterTunnelsCliAuthVerifyRoute from "../bp-routes/cli-auth/verify/index.js";
3
- import * as betterTunnelsCliAuthVerifyBootstrap1Page from "../bp-routes/cli-auth/verify/_theme.bootstrap1/index.js";
3
+ import * as betterTunnelsCliAuthVerifyGETRoute from "../bp-routes/cli-auth/verify/GET.js";
4
4
  import * as betterTunnelsDashboardRoute from "../bp-routes/dashboard/index.js";
5
- import * as betterTunnelsDashboardBootstrap1Page from "../bp-routes/dashboard/_theme.bootstrap1/index.js";
5
+ import * as betterTunnelsDashboardGETRoute from "../bp-routes/dashboard/GET.js";
6
6
  import * as betterTunnelsDownloadsRoute from "../bp-routes/downloads/index.js";
7
- import * as betterTunnelsDownloadsBootstrap1Page from "../bp-routes/downloads/_theme.bootstrap1/index.js";
7
+ import * as betterTunnelsDownloadsGETRoute from "../bp-routes/downloads/GET.js";
8
8
  import * as betterTunnelsLandingRoute from "../bp-routes/landing/index.js";
9
- import * as betterTunnelsLandingBootstrap1Page from "../bp-routes/landing/_theme.bootstrap1/index.js";
9
+ import * as betterTunnelsLandingGETRoute from "../bp-routes/landing/GET.js";
10
10
  import * as betterTunnelsTunnelsRoute from "../bp-routes/tunnels/index.js";
11
- import * as betterTunnelsTunnelsBootstrap1Page from "../bp-routes/tunnels/_theme.bootstrap1/index.js";
11
+ import * as betterTunnelsTunnelsGETRoute from "../bp-routes/tunnels/GET.js";
12
12
  export const registry = {
13
13
  routes: [
14
14
  {
@@ -17,22 +17,20 @@ export const registry = {
17
17
  methods: ["GET"],
18
18
  paramNames: [],
19
19
  schemas: {
20
- response: betterTunnelsCliAuthVerifyRoute.ResponseSchema,
21
- query: betterTunnelsCliAuthVerifyRoute.QuerySchema
20
+ response: betterTunnelsCliAuthVerifyGETRoute.ResponseSchema,
21
+ query: betterTunnelsCliAuthVerifyGETRoute.QuerySchema
22
22
  },
23
- handlers: { GET: betterTunnelsCliAuthVerifyRoute.handleGet },
23
+ methodRoutes: { GET: { method: "GET", schemas: {
24
+ response: betterTunnelsCliAuthVerifyGETRoute.ResponseSchema,
25
+ query: betterTunnelsCliAuthVerifyGETRoute.QuerySchema
26
+ }, handler: betterTunnelsCliAuthVerifyGETRoute.default } },
27
+ handlers: { GET: betterTunnelsCliAuthVerifyGETRoute.default },
24
28
  title: betterTunnelsCliAuthVerifyRoute.title,
25
29
  description: betterTunnelsCliAuthVerifyRoute.description,
26
30
  auth: betterTunnelsCliAuthVerifyRoute.auth,
27
31
  cacheHints: betterTunnelsCliAuthVerifyRoute.cacheHints,
28
32
  demoScenarios: [],
29
- themeRenderers: {
30
- "bootstrap1": {
31
- pages: [{ rendererId: "default", type: "page", render: betterTunnelsCliAuthVerifyBootstrap1Page.render }],
32
- components: [],
33
- fragments: []
34
- }
35
- }
33
+ themeRenderers: {}
36
34
  },
37
35
  {
38
36
  viewId: "better-tunnels.dashboard",
@@ -40,21 +38,18 @@ export const registry = {
40
38
  methods: ["GET"],
41
39
  paramNames: [],
42
40
  schemas: {
43
- response: betterTunnelsDashboardRoute.ResponseSchema
41
+ response: betterTunnelsDashboardGETRoute.ResponseSchema
44
42
  },
45
- handlers: { GET: betterTunnelsDashboardRoute.handleGet },
43
+ methodRoutes: { GET: { method: "GET", schemas: {
44
+ response: betterTunnelsDashboardGETRoute.ResponseSchema
45
+ }, handler: betterTunnelsDashboardGETRoute.default } },
46
+ handlers: { GET: betterTunnelsDashboardGETRoute.default },
46
47
  title: betterTunnelsDashboardRoute.title,
47
48
  description: betterTunnelsDashboardRoute.description,
48
49
  auth: betterTunnelsDashboardRoute.auth,
49
50
  cacheHints: betterTunnelsDashboardRoute.cacheHints,
50
51
  demoScenarios: [],
51
- themeRenderers: {
52
- "bootstrap1": {
53
- pages: [{ rendererId: "default", type: "page", render: betterTunnelsDashboardBootstrap1Page.render }],
54
- components: [],
55
- fragments: []
56
- }
57
- }
52
+ themeRenderers: {}
58
53
  },
59
54
  {
60
55
  viewId: "better-tunnels.downloads",
@@ -62,21 +57,18 @@ export const registry = {
62
57
  methods: ["GET"],
63
58
  paramNames: [],
64
59
  schemas: {
65
- response: betterTunnelsDownloadsRoute.ResponseSchema
60
+ response: betterTunnelsDownloadsGETRoute.ResponseSchema
66
61
  },
67
- handlers: { GET: betterTunnelsDownloadsRoute.handleGet },
62
+ methodRoutes: { GET: { method: "GET", schemas: {
63
+ response: betterTunnelsDownloadsGETRoute.ResponseSchema
64
+ }, handler: betterTunnelsDownloadsGETRoute.default } },
65
+ handlers: { GET: betterTunnelsDownloadsGETRoute.default },
68
66
  title: betterTunnelsDownloadsRoute.title,
69
67
  description: betterTunnelsDownloadsRoute.description,
70
68
  auth: betterTunnelsDownloadsRoute.auth,
71
69
  cacheHints: betterTunnelsDownloadsRoute.cacheHints,
72
70
  demoScenarios: [],
73
- themeRenderers: {
74
- "bootstrap1": {
75
- pages: [{ rendererId: "default", type: "page", render: betterTunnelsDownloadsBootstrap1Page.render }],
76
- components: [],
77
- fragments: []
78
- }
79
- }
71
+ themeRenderers: {}
80
72
  },
81
73
  {
82
74
  viewId: "better-tunnels.landing",
@@ -84,21 +76,18 @@ export const registry = {
84
76
  methods: ["GET"],
85
77
  paramNames: [],
86
78
  schemas: {
87
- response: betterTunnelsLandingRoute.ResponseSchema
79
+ response: betterTunnelsLandingGETRoute.ResponseSchema
88
80
  },
89
- handlers: { GET: betterTunnelsLandingRoute.handleGet },
81
+ methodRoutes: { GET: { method: "GET", schemas: {
82
+ response: betterTunnelsLandingGETRoute.ResponseSchema
83
+ }, handler: betterTunnelsLandingGETRoute.default } },
84
+ handlers: { GET: betterTunnelsLandingGETRoute.default },
90
85
  title: betterTunnelsLandingRoute.title,
91
86
  description: betterTunnelsLandingRoute.description,
92
87
  auth: betterTunnelsLandingRoute.auth,
93
88
  cacheHints: betterTunnelsLandingRoute.cacheHints,
94
89
  demoScenarios: [],
95
- themeRenderers: {
96
- "bootstrap1": {
97
- pages: [{ rendererId: "default", type: "page", render: betterTunnelsLandingBootstrap1Page.render }],
98
- components: [],
99
- fragments: []
100
- }
101
- }
90
+ themeRenderers: {}
102
91
  },
103
92
  {
104
93
  viewId: "better-tunnels.tunnels",
@@ -106,21 +95,18 @@ export const registry = {
106
95
  methods: ["GET"],
107
96
  paramNames: [],
108
97
  schemas: {
109
- response: betterTunnelsTunnelsRoute.ResponseSchema
98
+ response: betterTunnelsTunnelsGETRoute.ResponseSchema
110
99
  },
111
- handlers: { GET: betterTunnelsTunnelsRoute.handleGet },
100
+ methodRoutes: { GET: { method: "GET", schemas: {
101
+ response: betterTunnelsTunnelsGETRoute.ResponseSchema
102
+ }, handler: betterTunnelsTunnelsGETRoute.default } },
103
+ handlers: { GET: betterTunnelsTunnelsGETRoute.default },
112
104
  title: betterTunnelsTunnelsRoute.title,
113
105
  description: betterTunnelsTunnelsRoute.description,
114
106
  auth: betterTunnelsTunnelsRoute.auth,
115
107
  cacheHints: betterTunnelsTunnelsRoute.cacheHints,
116
108
  demoScenarios: [],
117
- themeRenderers: {
118
- "bootstrap1": {
119
- pages: [{ rendererId: "default", type: "page", render: betterTunnelsTunnelsBootstrap1Page.render }],
120
- components: [],
121
- fragments: []
122
- }
123
- }
109
+ themeRenderers: {}
124
110
  }
125
111
  ]
126
112
  };
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { QuerySchema, ResponseSchema } from "./index.js";
2
+ declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, {
3
+ session: string;
4
+ key: string;
5
+ }, Record<string, string>, Record<string, unknown>, {
6
+ status: string;
7
+ message: string;
8
+ }, unknown, Record<string, unknown>>;
9
+ export default _default;
10
+ //# sourceMappingURL=GET.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;;;;;;;;AAEzD,wBA2CE"}
@@ -0,0 +1,41 @@
1
+ import { createHandler } from "@betterportal/framework";
2
+ import { hashSecret, verifySecret } from "../../../../../auth.js";
3
+ import { prisma } from "../../../../../prisma.js";
4
+ import { QuerySchema, ResponseSchema } from "./index.js";
5
+ export { QuerySchema, ResponseSchema } from "./index.js";
6
+ export default createHandler({ query: QuerySchema, response: ResponseSchema }, async (ctx) => {
7
+ const query = ctx.query;
8
+ const session = await prisma.clientAuthSession.findUnique({
9
+ where: { id: query.session }
10
+ });
11
+ if (!session || session.status !== "pending" || session.expiresAt <= new Date()) {
12
+ return { status: "invalid", message: "This CLI authentication request is no longer valid." };
13
+ }
14
+ if (!verifySecret(query.key, session.browserKeyHash)) {
15
+ return { status: "invalid", message: "This CLI authentication request is no longer valid." };
16
+ }
17
+ const configuredAppId = typeof ctx.config?.mainAuthAppId === "string" ? ctx.config.mainAuthAppId : undefined;
18
+ if (configuredAppId && ctx.app.id !== configuredAppId) {
19
+ return { status: "invalid", message: "This BetterPortal app is not configured for BetterTunnels CLI authentication." };
20
+ }
21
+ const user = ctx.user;
22
+ const subject = String(user?.sub ?? user?.subject ?? user?.id ?? "unknown");
23
+ const email = typeof user?.email === "string" ? user.email : undefined;
24
+ await prisma.clientAuthSession.update({
25
+ where: { id: session.id },
26
+ data: {
27
+ status: "approved",
28
+ tenantId: ctx.tenant.id,
29
+ appId: ctx.app.id,
30
+ bpUserSubject: subject,
31
+ bpUserEmail: email,
32
+ approvedAt: new Date(),
33
+ userAgentHash: typeof ctx.headers["user-agent"] === "string" ? hashSecret(ctx.headers["user-agent"]) : session.userAgentHash
34
+ }
35
+ });
36
+ return {
37
+ status: "approved",
38
+ message: "BetterTunnels CLI authenticated. You can close this tab."
39
+ };
40
+ });
41
+ //# sourceMappingURL=GET.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzD,eAAe,aAAa,CAC1B,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,EAChD,KAAK,EAAE,GAAG,EAAE,EAAE;IACZ,MAAM,KAAK,GAAG,GAAG,CAAC,KAAyC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACxD,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE;KAC7B,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QAChF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC;IAC/F,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7G,IAAI,eAAe,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,eAAe,EAAE,CAAC;QACtD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,+EAA+E,EAAE,CAAC;IACzH,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAA2C,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,IAAI,SAAS,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE;QACzB,IAAI,EAAE;YACJ,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;YACvB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;YACjB,aAAa,EAAE,OAAO;YACtB,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,IAAI,IAAI,EAAE;YACtB,aAAa,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa;SAC7H;KACF,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,0DAA0D;KACpE,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -15,11 +15,4 @@ export declare const ResponseSchema: av.ObjectSchema<{
15
15
  message: av.StringSchema;
16
16
  }>;
17
17
  export type ResponseData = Infer<typeof ResponseSchema>;
18
- export declare const handleGet: import("@betterportal/framework").RouteHandler<Record<string, string>, {
19
- session: string;
20
- key: string;
21
- }, Record<string, string>, Record<string, unknown>, {
22
- status: string;
23
- message: string;
24
- }, unknown, Record<string, unknown>>;
25
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAIjC,eAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,eAAO,MAAM,KAAK,qCAAqC,CAAC;AACxD,eAAO,MAAM,WAAW,wDAAwD,CAAC;AAEjF,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,eAAO,MAAM,WAAW;;;EAGI,CAAC;AAE7B,eAAO,MAAM,cAAc;;;EAGC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,SAAS;;;;;;oCA2CrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,eAAO,MAAM,KAAK,qCAAqC,CAAC;AACxD,eAAO,MAAM,WAAW,wDAAwD,CAAC;AAEjF,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,eAAO,MAAM,WAAW;;;EAGI,CAAC;AAE7B,eAAO,MAAM,cAAc;;;EAGC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -1,7 +1,4 @@
1
1
  import * as av from "anyvali";
2
- import { createHandler } from "@betterportal/framework";
3
- import { hashSecret, verifySecret } from "../../../../../auth.js";
4
- import { prisma } from "../../../../../prisma.js";
5
2
  export const viewId = "better-tunnels.cli-auth.verify";
6
3
  export const title = "BetterTunnels CLI Authentication";
7
4
  export const description = "Approves a pending BetterTunnels CLI login session.";
@@ -21,39 +18,4 @@ export const ResponseSchema = av.object({
21
18
  status: av.string(),
22
19
  message: av.string()
23
20
  }, { unknownKeys: "strip" });
24
- export const handleGet = createHandler({ query: QuerySchema, response: ResponseSchema }, async (ctx) => {
25
- const query = ctx.query;
26
- const session = await prisma.clientAuthSession.findUnique({
27
- where: { id: query.session }
28
- });
29
- if (!session || session.status !== "pending" || session.expiresAt <= new Date()) {
30
- return { status: "invalid", message: "This CLI authentication request is no longer valid." };
31
- }
32
- if (!verifySecret(query.key, session.browserKeyHash)) {
33
- return { status: "invalid", message: "This CLI authentication request is no longer valid." };
34
- }
35
- const configuredAppId = typeof ctx.config?.mainAuthAppId === "string" ? ctx.config.mainAuthAppId : undefined;
36
- if (configuredAppId && ctx.app.id !== configuredAppId) {
37
- return { status: "invalid", message: "This BetterPortal app is not configured for BetterTunnels CLI authentication." };
38
- }
39
- const user = ctx.user;
40
- const subject = String(user?.sub ?? user?.subject ?? user?.id ?? "unknown");
41
- const email = typeof user?.email === "string" ? user.email : undefined;
42
- await prisma.clientAuthSession.update({
43
- where: { id: session.id },
44
- data: {
45
- status: "approved",
46
- tenantId: ctx.tenant.id,
47
- appId: ctx.app.id,
48
- bpUserSubject: subject,
49
- bpUserEmail: email,
50
- approvedAt: new Date(),
51
- userAgentHash: typeof ctx.headers["user-agent"] === "string" ? hashSecret(ctx.headers["user-agent"]) : session.userAgentHash
52
- }
53
- });
54
- return {
55
- status: "approved",
56
- message: "BetterTunnels CLI authenticated. You can close this tab."
57
- };
58
- });
59
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAO9B,MAAM,CAAC,MAAM,MAAM,GAAG,gCAAgC,CAAC;AACvD,MAAM,CAAC,MAAM,KAAK,GAAG,kCAAkC,CAAC;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,qDAAqD,CAAC;AAEjF,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,CAAC;CACrE,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACjC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;CAC9B,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;CACrB,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ export { ResponseSchema } from "./index.js";
2
+ declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
3
+ activeTunnels: number;
4
+ totalTunnels: number;
5
+ anonymousAccounts: number;
6
+ registeredAccounts: number;
7
+ requests: number;
8
+ bytesIn: number;
9
+ bytesOut: number;
10
+ recentAuditEvents: {
11
+ id: string;
12
+ event: string;
13
+ createdAt: string;
14
+ subjectId?: string | undefined;
15
+ }[];
16
+ }, unknown, Record<string, unknown>>;
17
+ export default _default;
18
+ //# sourceMappingURL=GET.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/GET.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;AAE5C,wBAmCE"}
@@ -0,0 +1,30 @@
1
+ import { createHandler } from "@betterportal/framework";
2
+ import { prisma } from "../../../../prisma.js";
3
+ import { ResponseSchema } from "./index.js";
4
+ export { ResponseSchema } from "./index.js";
5
+ export default createHandler({ response: ResponseSchema }, async () => {
6
+ const [activeTunnels, totalTunnels, anonymousAccounts, registeredAccounts, usageRows, recentAuditEvents] = await Promise.all([
7
+ prisma.tunnel.count({ where: { status: "active" } }),
8
+ prisma.tunnel.count(),
9
+ prisma.account.count({ where: { plan: "anonymous" } }),
10
+ prisma.account.count({ where: { NOT: { plan: "anonymous" } } }),
11
+ prisma.usageCounter.findMany(),
12
+ prisma.auditEvent.findMany({ orderBy: { createdAt: "desc" }, take: 10 })
13
+ ]);
14
+ return {
15
+ activeTunnels,
16
+ totalTunnels,
17
+ anonymousAccounts,
18
+ registeredAccounts,
19
+ requests: usageRows.reduce((sum, row) => sum + row.requests, 0),
20
+ bytesIn: usageRows.reduce((sum, row) => sum + Number(row.bytesIn), 0),
21
+ bytesOut: usageRows.reduce((sum, row) => sum + Number(row.bytesOut), 0),
22
+ recentAuditEvents: recentAuditEvents.map((event) => ({
23
+ id: event.id,
24
+ event: event.event,
25
+ subjectId: event.subjectId ?? undefined,
26
+ createdAt: event.createdAt.toISOString()
27
+ }))
28
+ };
29
+ });
30
+ //# sourceMappingURL=GET.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/GET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAe,aAAa,CAC1B,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B,KAAK,IAAI,EAAE;IACT,MAAM,CACJ,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,CAClB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACrB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;QAC9B,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACzE,CAAC,CAAC;IAEH,OAAO;QACL,aAAa;QACb,YAAY;QACZ,iBAAiB;QACjB,kBAAkB;QAClB,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvE,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnD,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;YACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;SACzC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -22,19 +22,4 @@ export declare const ResponseSchema: av.ObjectSchema<{
22
22
  }>>;
23
23
  }>;
24
24
  export type ResponseData = Infer<typeof ResponseSchema>;
25
- export declare const handleGet: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
26
- activeTunnels: number;
27
- totalTunnels: number;
28
- anonymousAccounts: number;
29
- registeredAccounts: number;
30
- requests: number;
31
- bytesIn: number;
32
- bytesOut: number;
33
- recentAuditEvents: {
34
- id: string;
35
- event: string;
36
- createdAt: string;
37
- subjectId?: string | undefined;
38
- }[];
39
- }, unknown, Record<string, unknown>>;
40
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAGjC,eAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,eAAO,MAAM,KAAK,4BAA4B,CAAC;AAC/C,eAAO,MAAM,WAAW,2CAA2C,CAAC;AAEpE,eAAO,MAAM,IAAI,EAAE,kBAKlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;EAcC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;oCAmCrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,eAAO,MAAM,KAAK,4BAA4B,CAAC;AAC/C,eAAO,MAAM,WAAW,2CAA2C,CAAC;AAEpE,eAAO,MAAM,IAAI,EAAE,kBAKlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;EAcC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -1,6 +1,4 @@
1
1
  import * as av from "anyvali";
2
- import { createHandler } from "@betterportal/framework";
3
- import { prisma } from "../../../../prisma.js";
4
2
  export const viewId = "better-tunnels.dashboard";
5
3
  export const title = "BetterTunnels Dashboard";
6
4
  export const description = "Operational summary for BetterTunnels.";
@@ -29,29 +27,4 @@ export const ResponseSchema = av.object({
29
27
  createdAt: av.string()
30
28
  }, { unknownKeys: "strip" }))
31
29
  }, { unknownKeys: "strip" });
32
- export const handleGet = createHandler({ response: ResponseSchema }, async () => {
33
- const [activeTunnels, totalTunnels, anonymousAccounts, registeredAccounts, usageRows, recentAuditEvents] = await Promise.all([
34
- prisma.tunnel.count({ where: { status: "active" } }),
35
- prisma.tunnel.count(),
36
- prisma.account.count({ where: { plan: "anonymous" } }),
37
- prisma.account.count({ where: { NOT: { plan: "anonymous" } } }),
38
- prisma.usageCounter.findMany(),
39
- prisma.auditEvent.findMany({ orderBy: { createdAt: "desc" }, take: 10 })
40
- ]);
41
- return {
42
- activeTunnels,
43
- totalTunnels,
44
- anonymousAccounts,
45
- registeredAccounts,
46
- requests: usageRows.reduce((sum, row) => sum + row.requests, 0),
47
- bytesIn: usageRows.reduce((sum, row) => sum + Number(row.bytesIn), 0),
48
- bytesOut: usageRows.reduce((sum, row) => sum + Number(row.bytesOut), 0),
49
- recentAuditEvents: recentAuditEvents.map((event) => ({
50
- id: event.id,
51
- event: event.event,
52
- subjectId: event.subjectId ?? undefined,
53
- createdAt: event.createdAt.toISOString()
54
- }))
55
- };
56
- });
57
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAO9B,MAAM,CAAC,MAAM,MAAM,GAAG,0BAA0B,CAAC;AACjD,MAAM,CAAC,MAAM,KAAK,GAAG,yBAAyB,CAAC;AAC/C,MAAM,CAAC,MAAM,WAAW,GAAG,wCAAwC,CAAC;AAEpE,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE;QACX,EAAE,SAAS,EAAE,8BAA8B,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE;KAC7E;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,CAAC;CACrE,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC;IACtC,aAAa,EAAE,EAAE,CAAC,MAAM,EAAE;IAC1B,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE;IACzB,iBAAiB,EAAE,EAAE,CAAC,MAAM,EAAE;IAC9B,kBAAkB,EAAE,EAAE,CAAC,MAAM,EAAE;IAC/B,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE;IACrB,iBAAiB,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;QACpC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE;QACf,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QACnC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE;KACvB,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;CAC9B,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ export { ResponseSchema } from "./index.js";
2
+ declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
3
+ latestTag: string;
4
+ logoUrl: string;
5
+ examples: string[];
6
+ downloads: {
7
+ os: string;
8
+ arch: string;
9
+ artifact: string;
10
+ }[];
11
+ }, unknown, Record<string, unknown>>;
12
+ export default _default;
13
+ //# sourceMappingURL=GET.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/downloads/GET.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;AAE5C,wBAsBE"}
@@ -0,0 +1,24 @@
1
+ import { createHandler } from "@betterportal/framework";
2
+ import { loadBrandAssets } from "../../brand-assets.js";
3
+ import { ResponseSchema } from "./index.js";
4
+ export { ResponseSchema } from "./index.js";
5
+ export default createHandler({ response: ResponseSchema }, async () => {
6
+ const brand = await loadBrandAssets();
7
+ return {
8
+ latestTag: "v0.1.0",
9
+ logoUrl: brand.logoUrl,
10
+ examples: [
11
+ "better-tunnels tunnel --port 3100",
12
+ "better-tunnels tunnel --host 127.0.0.1 --port 3100",
13
+ "better-tunnels tunnel --config .bettertunnel"
14
+ ],
15
+ downloads: [
16
+ { os: "Windows", arch: "amd64", artifact: "better-tunnels-windows-amd64.exe" },
17
+ { os: "Linux", arch: "amd64", artifact: "better-tunnels-linux-amd64" },
18
+ { os: "Linux", arch: "arm64", artifact: "better-tunnels-linux-arm64" },
19
+ { os: "macOS", arch: "amd64", artifact: "better-tunnels-darwin-amd64" },
20
+ { os: "macOS", arch: "arm64", artifact: "better-tunnels-darwin-arm64" }
21
+ ]
22
+ };
23
+ });
24
+ //# sourceMappingURL=GET.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/downloads/GET.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAe,aAAa,CAC1B,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B,KAAK,IAAI,EAAE;IACT,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IAEtC,OAAO;QACL,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE;YACR,mCAAmC;YACnC,oDAAoD;YACpD,8CAA8C;SAC/C;QACD,SAAS,EAAE;YACT,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,kCAAkC,EAAE;YAC9E,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE;YACtE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE;YACtE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE;YACvE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE;SACxE;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -17,14 +17,4 @@ export declare const ResponseSchema: av.ObjectSchema<{
17
17
  }>>;
18
18
  }>;
19
19
  export type ResponseData = Infer<typeof ResponseSchema>;
20
- export declare const handleGet: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
21
- latestTag: string;
22
- logoUrl: string;
23
- examples: string[];
24
- downloads: {
25
- os: string;
26
- arch: string;
27
- artifact: string;
28
- }[];
29
- }, unknown, Record<string, unknown>>;
30
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/downloads/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAGjC,eAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,eAAO,MAAM,KAAK,sBAAsB,CAAC;AACzC,eAAO,MAAM,WAAW,qCAAqC,CAAC;AAE9D,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAQF,eAAO,MAAM,cAAc;;;;;;;;;EAKC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,SAAS;;;;;;;;;oCAsBrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/downloads/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,eAAO,MAAM,KAAK,sBAAsB,CAAC;AACzC,eAAO,MAAM,WAAW,qCAAqC,CAAC;AAE9D,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAQF,eAAO,MAAM,cAAc;;;;;;;;;EAKC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -1,6 +1,4 @@
1
1
  import * as av from "anyvali";
2
- import { createHandler } from "@betterportal/framework";
3
- import { loadBrandAssets } from "../../brand-assets.js";
4
2
  export const viewId = "better-tunnels.downloads";
5
3
  export const title = "BetterTunnels CLI";
6
4
  export const description = "CLI download and setup commands.";
@@ -23,23 +21,4 @@ export const ResponseSchema = av.object({
23
21
  examples: av.array(av.string()),
24
22
  downloads: av.array(DownloadSchema)
25
23
  }, { unknownKeys: "strip" });
26
- export const handleGet = createHandler({ response: ResponseSchema }, async () => {
27
- const brand = await loadBrandAssets();
28
- return {
29
- latestTag: "v0.1.0",
30
- logoUrl: brand.logoUrl,
31
- examples: [
32
- "better-tunnels tunnel --port 3100",
33
- "better-tunnels tunnel --host 127.0.0.1 --port 3100",
34
- "better-tunnels tunnel --config .bettertunnel"
35
- ],
36
- downloads: [
37
- { os: "Windows", arch: "amd64", artifact: "better-tunnels-windows-amd64.exe" },
38
- { os: "Linux", arch: "amd64", artifact: "better-tunnels-linux-amd64" },
39
- { os: "Linux", arch: "arm64", artifact: "better-tunnels-linux-arm64" },
40
- { os: "macOS", arch: "amd64", artifact: "better-tunnels-darwin-amd64" },
41
- { os: "macOS", arch: "arm64", artifact: "better-tunnels-darwin-arm64" }
42
- ]
43
- };
44
- });
45
24
  //# sourceMappingURL=index.js.map