@betterportal/tunnels 1.0.24 → 1.0.26
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/lib/.bsb/clients/service-tunnels-client.d.ts +133 -0
- package/lib/.bsb/clients/service-tunnels-client.d.ts.map +1 -0
- package/lib/.bsb/clients/service-tunnels-client.js +102 -0
- package/lib/.bsb/clients/service-tunnels-client.js.map +1 -0
- package/lib/.bsb/clients/service-tunnels-proxy.d.ts +43 -0
- package/lib/.bsb/clients/service-tunnels-proxy.d.ts.map +1 -0
- package/lib/.bsb/clients/service-tunnels-proxy.js +47 -0
- package/lib/.bsb/clients/service-tunnels-proxy.js.map +1 -0
- package/lib/auth.d.ts +12 -0
- package/lib/auth.d.ts.map +1 -0
- package/lib/auth.js +59 -0
- package/lib/auth.js.map +1 -0
- package/lib/cli.d.ts +2 -0
- package/lib/cli.d.ts.map +1 -0
- package/lib/cli.js +406 -0
- package/lib/cli.js.map +1 -0
- package/lib/generated/prisma/client.d.ts +1 -0
- package/lib/generated/prisma/client.js +5 -0
- package/lib/generated/prisma/default.d.ts +1 -0
- package/lib/generated/prisma/default.js +5 -0
- package/lib/generated/prisma/edge.d.ts +1 -0
- package/lib/generated/prisma/edge.js +278 -0
- package/lib/generated/prisma/index-browser.js +304 -0
- package/lib/generated/prisma/index.d.ts +13885 -0
- package/lib/generated/prisma/index.js +278 -0
- package/lib/generated/prisma/package.json +144 -0
- package/lib/generated/prisma/query_compiler_fast_bg.js +2 -0
- package/lib/generated/prisma/query_compiler_fast_bg.wasm +0 -0
- package/lib/generated/prisma/query_compiler_fast_bg.wasm-base64.js +2 -0
- package/lib/generated/prisma/runtime/client.d.ts +3386 -0
- package/lib/generated/prisma/runtime/client.js +86 -0
- package/lib/generated/prisma/runtime/index-browser.d.ts +90 -0
- package/lib/generated/prisma/runtime/index-browser.js +6 -0
- package/lib/generated/prisma/runtime/wasm-compiler-edge.js +76 -0
- package/lib/generated/prisma/schema.prisma +142 -0
- package/lib/generated/prisma/wasm-edge-light-loader.mjs +5 -0
- package/lib/generated/prisma/wasm-worker-loader.mjs +5 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.d.ts +3 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js +152 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/route-runtime.d.ts +9 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/route-runtime.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/route-runtime.js +6 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/route-runtime.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/assets/brand/bettertunnels-horizontal-light.svg +18 -0
- package/lib/plugins/service-tunnels-admin/assets/brand/bettertunnels-square-dark-1024x1024.png +0 -0
- package/lib/plugins/service-tunnels-admin/assets/brand/favicon.svg +12 -0
- package/lib/plugins/service-tunnels-admin/betterportal-logo.png +0 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.d.ts +20 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.js +51 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.d.ts +5 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.js +6 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.d.ts +7 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.js +12 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.d.ts +40 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.js +57 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.d.ts +6 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.js +30 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.d.ts +6 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.js +9 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts +7 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js +14 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.d.ts +25 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.js +34 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.d.ts +5 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.js +5 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.d.ts +7 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.js +12 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.d.ts +35 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.js +52 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/GET.d.ts +5 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/GET.js +5 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.d.ts +7 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.js +12 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.d.ts +39 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.js +46 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/GET.d.ts +5 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/GET.js +5 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.d.ts +7 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.js +14 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/brand-assets.d.ts +7 -0
- package/lib/plugins/service-tunnels-admin/brand-assets.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/brand-assets.js +24 -0
- package/lib/plugins/service-tunnels-admin/brand-assets.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/index.d.ts +64 -0
- package/lib/plugins/service-tunnels-admin/index.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/index.js +116 -0
- package/lib/plugins/service-tunnels-admin/index.js.map +1 -0
- package/lib/plugins/service-tunnels-client/ids.d.ts +6 -0
- package/lib/plugins/service-tunnels-client/ids.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-client/ids.js +17 -0
- package/lib/plugins/service-tunnels-client/ids.js.map +1 -0
- package/lib/plugins/service-tunnels-client/index.d.ts +166 -0
- package/lib/plugins/service-tunnels-client/index.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-client/index.js +733 -0
- package/lib/plugins/service-tunnels-client/index.js.map +1 -0
- package/lib/plugins/service-tunnels-client/registry.d.ts +39 -0
- package/lib/plugins/service-tunnels-client/registry.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-client/registry.js +20 -0
- package/lib/plugins/service-tunnels-client/registry.js.map +1 -0
- package/lib/plugins/service-tunnels-client/schemas.d.ts +91 -0
- package/lib/plugins/service-tunnels-client/schemas.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-client/schemas.js +73 -0
- package/lib/plugins/service-tunnels-client/schemas.js.map +1 -0
- package/lib/plugins/service-tunnels-proxy/http.d.ts +5 -0
- package/lib/plugins/service-tunnels-proxy/http.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-proxy/http.js +125 -0
- package/lib/plugins/service-tunnels-proxy/http.js.map +1 -0
- package/lib/plugins/service-tunnels-proxy/index.d.ts +85 -0
- package/lib/plugins/service-tunnels-proxy/index.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-proxy/index.js +288 -0
- package/lib/plugins/service-tunnels-proxy/index.js.map +1 -0
- package/lib/plugins/service-tunnels-proxy/verification.d.ts +31 -0
- package/lib/plugins/service-tunnels-proxy/verification.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-proxy/verification.js +211 -0
- package/lib/plugins/service-tunnels-proxy/verification.js.map +1 -0
- package/lib/prisma.d.ts +7 -0
- package/lib/prisma.d.ts.map +1 -0
- package/lib/prisma.js +149 -0
- package/lib/prisma.js.map +1 -0
- package/lib/schemas/service-tunnels-admin.json +129 -0
- package/lib/schemas/service-tunnels-admin.plugin.json +140 -0
- package/lib/schemas/service-tunnels-client.json +320 -0
- package/lib/schemas/service-tunnels-client.plugin.json +97 -0
- package/lib/schemas/service-tunnels-proxy.json +160 -0
- package/lib/schemas/service-tunnels-proxy.plugin.json +123 -0
- package/package.json +1 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
generator client {
|
|
2
|
+
provider = "prisma-client-js"
|
|
3
|
+
output = "../src/generated/prisma"
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
datasource db {
|
|
7
|
+
provider = "postgresql"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
model Account {
|
|
11
|
+
id String @id @default(cuid())
|
|
12
|
+
email String? @unique
|
|
13
|
+
plan AccountPlan @default(anonymous)
|
|
14
|
+
verificationBypass Boolean @default(false)
|
|
15
|
+
ipVerification Boolean @default(false)
|
|
16
|
+
createdAt DateTime @default(now())
|
|
17
|
+
tunnels Tunnel[]
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
model ClientSession {
|
|
21
|
+
id String @id @default(cuid())
|
|
22
|
+
accountId String?
|
|
23
|
+
ipHash String?
|
|
24
|
+
userAgent String?
|
|
25
|
+
createdAt DateTime @default(now())
|
|
26
|
+
expiresAt DateTime?
|
|
27
|
+
tunnels Tunnel[]
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
model Tunnel {
|
|
31
|
+
id String @id @default(cuid())
|
|
32
|
+
accountId String?
|
|
33
|
+
sessionId String
|
|
34
|
+
subdomain String @unique
|
|
35
|
+
ownerServerId String?
|
|
36
|
+
targetHost String
|
|
37
|
+
targetPort Int
|
|
38
|
+
authenticated Boolean @default(false)
|
|
39
|
+
validation String @default("cookie")
|
|
40
|
+
status TunnelStatus @default(created)
|
|
41
|
+
createdAt DateTime @default(now())
|
|
42
|
+
expiresAt DateTime
|
|
43
|
+
account Account? @relation(fields: [accountId], references: [id])
|
|
44
|
+
session ClientSession @relation(fields: [sessionId], references: [id])
|
|
45
|
+
validations VisitorValidation[]
|
|
46
|
+
usage UsageCounter?
|
|
47
|
+
|
|
48
|
+
@@index([sessionId])
|
|
49
|
+
@@index([expiresAt])
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
model VisitorValidation {
|
|
53
|
+
id String @id @default(cuid())
|
|
54
|
+
tunnelId String
|
|
55
|
+
visitorIpHash String
|
|
56
|
+
userAgentHash String
|
|
57
|
+
validationCookieHash String
|
|
58
|
+
validatedAt DateTime @default(now())
|
|
59
|
+
expiresAt DateTime
|
|
60
|
+
tunnel Tunnel @relation(fields: [tunnelId], references: [id])
|
|
61
|
+
|
|
62
|
+
@@index([tunnelId, visitorIpHash, userAgentHash])
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
model UsageCounter {
|
|
66
|
+
tunnelId String @id
|
|
67
|
+
requests Int @default(0)
|
|
68
|
+
bytesIn BigInt @default(0)
|
|
69
|
+
bytesOut BigInt @default(0)
|
|
70
|
+
updatedAt DateTime @updatedAt
|
|
71
|
+
tunnel Tunnel @relation(fields: [tunnelId], references: [id])
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
model AuditEvent {
|
|
75
|
+
id String @id @default(cuid())
|
|
76
|
+
event String
|
|
77
|
+
subjectId String?
|
|
78
|
+
data Json?
|
|
79
|
+
createdAt DateTime @default(now())
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
model ClientAuthSession {
|
|
83
|
+
id String @id @default(cuid())
|
|
84
|
+
browserKeyHash String
|
|
85
|
+
pollSecretHash String
|
|
86
|
+
status AuthSessionStatus @default(pending)
|
|
87
|
+
tenantId String?
|
|
88
|
+
appId String?
|
|
89
|
+
bpUserSubject String?
|
|
90
|
+
bpUserEmail String?
|
|
91
|
+
clientIpHash String?
|
|
92
|
+
userAgentHash String?
|
|
93
|
+
expiresAt DateTime
|
|
94
|
+
approvedAt DateTime?
|
|
95
|
+
consumedAt DateTime?
|
|
96
|
+
createdAt DateTime @default(now())
|
|
97
|
+
|
|
98
|
+
@@index([status, expiresAt])
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
model ClientDeviceToken {
|
|
102
|
+
id String @id @default(cuid())
|
|
103
|
+
accountId String?
|
|
104
|
+
tenantId String
|
|
105
|
+
bpUserSubject String
|
|
106
|
+
tokenHash String @unique
|
|
107
|
+
name String?
|
|
108
|
+
ipRangeHash String
|
|
109
|
+
ipFamily String
|
|
110
|
+
userAgentHash String?
|
|
111
|
+
expiresAt DateTime
|
|
112
|
+
revokedAt DateTime?
|
|
113
|
+
lastUsedAt DateTime?
|
|
114
|
+
createdAt DateTime @default(now())
|
|
115
|
+
|
|
116
|
+
@@index([tenantId, bpUserSubject])
|
|
117
|
+
@@index([expiresAt])
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
enum TunnelStatus {
|
|
121
|
+
created
|
|
122
|
+
active
|
|
123
|
+
draining
|
|
124
|
+
disconnected
|
|
125
|
+
expired
|
|
126
|
+
closed
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
enum AccountPlan {
|
|
130
|
+
anonymous
|
|
131
|
+
free
|
|
132
|
+
paid
|
|
133
|
+
admin
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
enum AuthSessionStatus {
|
|
137
|
+
pending
|
|
138
|
+
approved
|
|
139
|
+
consumed
|
|
140
|
+
expired
|
|
141
|
+
denied
|
|
142
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/registry.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,QAAQ,EAAE,oBAqItB,CAAC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
// AUTO-GENERATED by BetterPortal codegen - DO NOT EDIT
|
|
2
|
+
import * as betterTunnelsCliAuthVerifyRoute from "../bp-routes/cli-auth/verify/index.js";
|
|
3
|
+
import * as betterTunnelsCliAuthVerifyGETRoute from "../bp-routes/cli-auth/verify/GET.js";
|
|
4
|
+
import * as betterTunnelsCliAuthVerifyBootstrap1PageGET from "../bp-routes/cli-auth/verify/_theme.bootstrap1/GET.js";
|
|
5
|
+
import * as betterTunnelsDashboardRoute from "../bp-routes/dashboard/index.js";
|
|
6
|
+
import * as betterTunnelsDashboardGETRoute from "../bp-routes/dashboard/GET.js";
|
|
7
|
+
import * as betterTunnelsDashboardBootstrap1PageGET from "../bp-routes/dashboard/_theme.bootstrap1/GET.js";
|
|
8
|
+
import * as betterTunnelsDashboardBootstrap1Stream from "../bp-routes/dashboard/_theme.bootstrap1/index.stream.js";
|
|
9
|
+
import * as betterTunnelsDownloadsRoute from "../bp-routes/downloads/index.js";
|
|
10
|
+
import * as betterTunnelsDownloadsGETRoute from "../bp-routes/downloads/GET.js";
|
|
11
|
+
import * as betterTunnelsDownloadsBootstrap1PageGET from "../bp-routes/downloads/_theme.bootstrap1/GET.js";
|
|
12
|
+
import * as betterTunnelsLandingRoute from "../bp-routes/landing/index.js";
|
|
13
|
+
import * as betterTunnelsLandingGETRoute from "../bp-routes/landing/GET.js";
|
|
14
|
+
import * as betterTunnelsLandingBootstrap1PageGET from "../bp-routes/landing/_theme.bootstrap1/GET.js";
|
|
15
|
+
import * as betterTunnelsTunnelsRoute from "../bp-routes/tunnels/index.js";
|
|
16
|
+
import * as betterTunnelsTunnelsGETRoute from "../bp-routes/tunnels/GET.js";
|
|
17
|
+
import * as betterTunnelsTunnelsBootstrap1PageGET from "../bp-routes/tunnels/_theme.bootstrap1/GET.js";
|
|
18
|
+
export const registry = {
|
|
19
|
+
routes: [
|
|
20
|
+
{
|
|
21
|
+
viewId: "better-tunnels.cli-auth.verify",
|
|
22
|
+
path: "/cli-auth/verify",
|
|
23
|
+
methods: ["GET"],
|
|
24
|
+
paramNames: [],
|
|
25
|
+
schemas: {
|
|
26
|
+
response: betterTunnelsCliAuthVerifyGETRoute.ResponseSchema,
|
|
27
|
+
query: betterTunnelsCliAuthVerifyGETRoute.QuerySchema
|
|
28
|
+
},
|
|
29
|
+
methodRoutes: { GET: { method: "GET", schemas: {
|
|
30
|
+
response: betterTunnelsCliAuthVerifyGETRoute.ResponseSchema,
|
|
31
|
+
query: betterTunnelsCliAuthVerifyGETRoute.QuerySchema
|
|
32
|
+
}, handler: betterTunnelsCliAuthVerifyGETRoute.default } },
|
|
33
|
+
handlers: { GET: betterTunnelsCliAuthVerifyGETRoute.default },
|
|
34
|
+
title: betterTunnelsCliAuthVerifyRoute.title,
|
|
35
|
+
description: betterTunnelsCliAuthVerifyRoute.description,
|
|
36
|
+
auth: betterTunnelsCliAuthVerifyRoute.auth,
|
|
37
|
+
cacheHints: betterTunnelsCliAuthVerifyRoute.cacheHints,
|
|
38
|
+
demoScenarios: [],
|
|
39
|
+
themeRenderers: {
|
|
40
|
+
"bootstrap1": {
|
|
41
|
+
pages: [{ rendererId: "default", type: "page", method: "GET", render: betterTunnelsCliAuthVerifyBootstrap1PageGET.render }],
|
|
42
|
+
components: [],
|
|
43
|
+
fragments: []
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
viewId: "better-tunnels.dashboard",
|
|
49
|
+
path: "/dashboard",
|
|
50
|
+
methods: ["GET"],
|
|
51
|
+
paramNames: [],
|
|
52
|
+
schemas: {
|
|
53
|
+
response: betterTunnelsDashboardGETRoute.default.responseSchema,
|
|
54
|
+
item: betterTunnelsDashboardGETRoute.ItemSchema
|
|
55
|
+
},
|
|
56
|
+
methodRoutes: { GET: { method: "GET", schemas: {
|
|
57
|
+
response: betterTunnelsDashboardGETRoute.default.responseSchema,
|
|
58
|
+
item: betterTunnelsDashboardGETRoute.ItemSchema
|
|
59
|
+
}, handler: betterTunnelsDashboardGETRoute.default } },
|
|
60
|
+
handlers: { GET: betterTunnelsDashboardGETRoute.default },
|
|
61
|
+
title: betterTunnelsDashboardRoute.title,
|
|
62
|
+
description: betterTunnelsDashboardRoute.description,
|
|
63
|
+
auth: betterTunnelsDashboardRoute.auth,
|
|
64
|
+
cacheHints: betterTunnelsDashboardRoute.cacheHints,
|
|
65
|
+
demoScenarios: [],
|
|
66
|
+
themeRenderers: {
|
|
67
|
+
"bootstrap1": {
|
|
68
|
+
pages: [{ rendererId: "default", type: "page", method: "GET", render: betterTunnelsDashboardBootstrap1PageGET.render }],
|
|
69
|
+
components: [],
|
|
70
|
+
fragments: [],
|
|
71
|
+
stream: { renderShell: betterTunnelsDashboardBootstrap1Stream.renderShell, renderItem: betterTunnelsDashboardBootstrap1Stream.renderItem }
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
viewId: "better-tunnels.downloads",
|
|
77
|
+
path: "/downloads",
|
|
78
|
+
methods: ["GET"],
|
|
79
|
+
paramNames: [],
|
|
80
|
+
schemas: {
|
|
81
|
+
response: betterTunnelsDownloadsGETRoute.ResponseSchema
|
|
82
|
+
},
|
|
83
|
+
methodRoutes: { GET: { method: "GET", schemas: {
|
|
84
|
+
response: betterTunnelsDownloadsGETRoute.ResponseSchema
|
|
85
|
+
}, handler: betterTunnelsDownloadsGETRoute.default } },
|
|
86
|
+
handlers: { GET: betterTunnelsDownloadsGETRoute.default },
|
|
87
|
+
title: betterTunnelsDownloadsRoute.title,
|
|
88
|
+
description: betterTunnelsDownloadsRoute.description,
|
|
89
|
+
auth: betterTunnelsDownloadsRoute.auth,
|
|
90
|
+
cacheHints: betterTunnelsDownloadsRoute.cacheHints,
|
|
91
|
+
demoScenarios: [],
|
|
92
|
+
themeRenderers: {
|
|
93
|
+
"bootstrap1": {
|
|
94
|
+
pages: [{ rendererId: "default", type: "page", method: "GET", render: betterTunnelsDownloadsBootstrap1PageGET.render }],
|
|
95
|
+
components: [],
|
|
96
|
+
fragments: []
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
viewId: "better-tunnels.landing",
|
|
102
|
+
path: "/landing",
|
|
103
|
+
methods: ["GET"],
|
|
104
|
+
paramNames: [],
|
|
105
|
+
schemas: {
|
|
106
|
+
response: betterTunnelsLandingGETRoute.ResponseSchema
|
|
107
|
+
},
|
|
108
|
+
methodRoutes: { GET: { method: "GET", schemas: {
|
|
109
|
+
response: betterTunnelsLandingGETRoute.ResponseSchema
|
|
110
|
+
}, handler: betterTunnelsLandingGETRoute.default } },
|
|
111
|
+
handlers: { GET: betterTunnelsLandingGETRoute.default },
|
|
112
|
+
title: betterTunnelsLandingRoute.title,
|
|
113
|
+
description: betterTunnelsLandingRoute.description,
|
|
114
|
+
auth: betterTunnelsLandingRoute.auth,
|
|
115
|
+
cacheHints: betterTunnelsLandingRoute.cacheHints,
|
|
116
|
+
demoScenarios: [],
|
|
117
|
+
themeRenderers: {
|
|
118
|
+
"bootstrap1": {
|
|
119
|
+
pages: [{ rendererId: "default", type: "page", method: "GET", render: betterTunnelsLandingBootstrap1PageGET.render }],
|
|
120
|
+
components: [],
|
|
121
|
+
fragments: []
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
viewId: "better-tunnels.tunnels",
|
|
127
|
+
path: "/tunnels",
|
|
128
|
+
methods: ["GET"],
|
|
129
|
+
paramNames: [],
|
|
130
|
+
schemas: {
|
|
131
|
+
response: betterTunnelsTunnelsGETRoute.ResponseSchema
|
|
132
|
+
},
|
|
133
|
+
methodRoutes: { GET: { method: "GET", schemas: {
|
|
134
|
+
response: betterTunnelsTunnelsGETRoute.ResponseSchema
|
|
135
|
+
}, handler: betterTunnelsTunnelsGETRoute.default } },
|
|
136
|
+
handlers: { GET: betterTunnelsTunnelsGETRoute.default },
|
|
137
|
+
title: betterTunnelsTunnelsRoute.title,
|
|
138
|
+
description: betterTunnelsTunnelsRoute.description,
|
|
139
|
+
auth: betterTunnelsTunnelsRoute.auth,
|
|
140
|
+
cacheHints: betterTunnelsTunnelsRoute.cacheHints,
|
|
141
|
+
demoScenarios: [],
|
|
142
|
+
themeRenderers: {
|
|
143
|
+
"bootstrap1": {
|
|
144
|
+
pages: [{ rendererId: "default", type: "page", method: "GET", render: betterTunnelsTunnelsBootstrap1PageGET.render }],
|
|
145
|
+
components: [],
|
|
146
|
+
fragments: []
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,9 @@
|
|
|
1
|
+
import type { Plugin } from "../index.js";
|
|
2
|
+
type ServiceConfig = Record<string, unknown>;
|
|
3
|
+
export declare const createHandler: <TResponse extends import("anyvali").BaseSchema<unknown, unknown>, TQuery extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, THeaders extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TRequest extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TParams = Record<string, string>>(schemas: import("@betterportal/framework").HandlerSchemas<TResponse, TQuery, THeaders, TRequest>, handler: (ctx: import("@betterportal/framework").RouteHandlerContext<TParams, Record<string, unknown> | (TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>), Record<string, string> | (THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>), Record<string, unknown> | (TRequest extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TRequest> : Record<string, unknown>), Plugin, ServiceConfig>) => import("anyvali").Infer<TResponse> | Promise<import("anyvali").Infer<TResponse>>) => import("@betterportal/framework").RouteHandler<TParams, TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>, THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>, TRequest extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TRequest> : Record<string, unknown>, import("anyvali").Infer<TResponse>, Plugin, ServiceConfig>;
|
|
4
|
+
export declare const createRawHandler: <TQuery extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, THeaders extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TRequest extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TMultipart extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TParams = Record<string, string>>(schemas: import("@betterportal/framework").RawHandlerSchemas<TQuery, THeaders, TRequest, TMultipart>, handler: (ctx: import("@betterportal/framework").RouteHandlerContext<TParams, TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>, THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>, TRequest extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TRequest> : Record<string, unknown>, Plugin, ServiceConfig> & {
|
|
5
|
+
readonly multipart: TMultipart extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TMultipart> : never;
|
|
6
|
+
}) => Response | Promise<Response>) => import("@betterportal/framework").RawRouteHandler<TParams, TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>, THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>, TRequest extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TRequest> : Record<string, unknown>, Plugin, ServiceConfig>;
|
|
7
|
+
export declare const createStreamHandler: <TItem extends import("anyvali").BaseSchema<unknown, unknown>, TSummary extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TQuery extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, THeaders extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TParams = Record<string, string>>(schemas: import("@betterportal/framework").StreamHandlerSchemas<TItem, TSummary, TQuery, THeaders>, handler: (ctx: import("@betterportal/framework").RouteHandlerContext<TParams, TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>, THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>, Record<string, unknown>, Plugin, ServiceConfig>) => AsyncGenerator<import("anyvali").Infer<TItem>, TSummary extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TSummary> : void, void>) => import("@betterportal/framework").BpStreamHandler<import("anyvali").Infer<TItem>, TSummary extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TSummary> : void, TParams, TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>, THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=route-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-runtime.d.ts","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/route-runtime.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,eAAO,MAAM,aAAa,qkDAAwD,CAAC;AACnF,eAAO,MAAM,gBAAgB;;gfAA2D,CAAC;AACzF,eAAO,MAAM,mBAAmB,+6CAA8D,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// AUTO-GENERATED by BetterPortal codegen - DO NOT EDIT
|
|
2
|
+
import { createHandler as baseCreateHandler, createRawHandler as baseCreateRawHandler, createStreamHandler as baseCreateStreamHandler } from "@betterportal/framework";
|
|
3
|
+
export const createHandler = baseCreateHandler.forContext();
|
|
4
|
+
export const createRawHandler = baseCreateRawHandler.forContext();
|
|
5
|
+
export const createStreamHandler = baseCreateStreamHandler.forContext();
|
|
6
|
+
//# sourceMappingURL=route-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-runtime.js","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/route-runtime.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,gBAAgB,IAAI,oBAAoB,EACxC,mBAAmB,IAAI,uBAAuB,EAC/C,MAAM,yBAAyB,CAAC;AAIjC,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,EAAyB,CAAC;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,UAAU,EAAyB,CAAC;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,UAAU,EAAyB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="420" viewBox="0 0 1600 420" role="img" aria-label="BetterTunnels logo">
|
|
2
|
+
|
|
3
|
+
<g transform="translate(70 42) scale(0.66)">
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="g" x1="120" y1="80" x2="390" y2="430" gradientUnits="userSpaceOnUse">
|
|
6
|
+
<stop offset="0" stop-color="#1495FF"/>
|
|
7
|
+
<stop offset="1" stop-color="#004DE6"/>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
</defs>
|
|
10
|
+
|
|
11
|
+
<path d="M126 344V226c0-73 57-132 130-132s130 59 130 132v118" fill="none" stroke="url(#g)" stroke-width="72" stroke-linecap="butt" stroke-linejoin="round"/>
|
|
12
|
+
<path d="M194 346L112 448H188L256 356L324 448H400L318 346" fill="#0B6CFF"/>
|
|
13
|
+
<path d="M226 304V226c0-17 13-30 30-30s30 13 30 30v78" fill="#0B6CFF"/>
|
|
14
|
+
</g>
|
|
15
|
+
<text x="420" y="252" font-family="Inter, Arial, Helvetica, sans-serif" font-size="132" font-weight="800" letter-spacing="-5">
|
|
16
|
+
<tspan fill="#071A3A">Better</tspan><tspan fill="#0B6CFF">Tunnels</tspan>
|
|
17
|
+
</text>
|
|
18
|
+
</svg>
|
package/lib/plugins/service-tunnels-admin/assets/brand/bettertunnels-square-dark-1024x1024.png
ADDED
|
Binary file
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512" role="img" aria-label="BetterTunnels mark">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="g" x1="120" y1="80" x2="390" y2="430" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop offset="0" stop-color="#1495FF"/>
|
|
5
|
+
<stop offset="1" stop-color="#004DE6"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect width="512" height="512" rx="96" fill="#0B6CFF"/>
|
|
9
|
+
<path d="M126 344V226c0-73 57-132 130-132s130 59 130 132v118" fill="none" stroke="url(#g)" stroke-width="72" stroke-linecap="butt" stroke-linejoin="round"/>
|
|
10
|
+
<path d="M194 346L112 448H188L256 356L324 448H400L318 346" fill="#FFFFFF"/>
|
|
11
|
+
<path d="M226 304V226c0-17 13-30 30-30s30 13 30 30v78" fill="#FFFFFF"/>
|
|
12
|
+
</svg>
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as av from "anyvali";
|
|
2
|
+
import type { Infer } from "anyvali";
|
|
3
|
+
export declare const QuerySchema: av.ObjectSchema<{
|
|
4
|
+
session: av.OptionalSchema<av.StringSchema>;
|
|
5
|
+
key: av.OptionalSchema<av.StringSchema>;
|
|
6
|
+
}>;
|
|
7
|
+
export declare const ResponseSchema: av.ObjectSchema<{
|
|
8
|
+
status: av.StringSchema;
|
|
9
|
+
message: av.StringSchema;
|
|
10
|
+
}>;
|
|
11
|
+
export type ResponseData = Infer<typeof ResponseSchema>;
|
|
12
|
+
declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, {
|
|
13
|
+
session?: string | undefined;
|
|
14
|
+
key?: string | undefined;
|
|
15
|
+
}, Record<string, string>, Record<string, unknown>, {
|
|
16
|
+
status: string;
|
|
17
|
+
message: string;
|
|
18
|
+
}, unknown, Record<string, unknown>>;
|
|
19
|
+
export default _default;
|
|
20
|
+
//# 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":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKrC,eAAO,MAAM,WAAW;;;EAGI,CAAC;AAE7B,eAAO,MAAM,cAAc;;;EAGC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;;;;;;;;AAExD,wBA+CE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
export const QuerySchema = av.object({
|
|
6
|
+
session: av.optional(av.string().minLength(1)),
|
|
7
|
+
key: av.optional(av.string().minLength(1))
|
|
8
|
+
}, { unknownKeys: "strip" });
|
|
9
|
+
export const ResponseSchema = av.object({
|
|
10
|
+
status: av.string(),
|
|
11
|
+
message: av.string()
|
|
12
|
+
}, { unknownKeys: "strip" });
|
|
13
|
+
export default createHandler({ query: QuerySchema, response: ResponseSchema }, async (ctx) => {
|
|
14
|
+
const query = ctx.query;
|
|
15
|
+
if (!query.session || !query.key) {
|
|
16
|
+
return { status: "invalid", message: "This CLI authentication link is missing required session details." };
|
|
17
|
+
}
|
|
18
|
+
const session = await prisma.clientAuthSession.findUnique({
|
|
19
|
+
where: { id: query.session }
|
|
20
|
+
});
|
|
21
|
+
if (!session || session.status !== "pending" || session.expiresAt <= new Date()) {
|
|
22
|
+
return { status: "invalid", message: "This CLI authentication request is no longer valid." };
|
|
23
|
+
}
|
|
24
|
+
if (!verifySecret(query.key, session.browserKeyHash)) {
|
|
25
|
+
return { status: "invalid", message: "This CLI authentication request is no longer valid." };
|
|
26
|
+
}
|
|
27
|
+
const configuredAppId = typeof ctx.config?.mainAuthAppId === "string" ? ctx.config.mainAuthAppId : undefined;
|
|
28
|
+
if (configuredAppId && ctx.app.id !== configuredAppId) {
|
|
29
|
+
return { status: "invalid", message: "This BetterPortal app is not configured for BetterTunnels CLI authentication." };
|
|
30
|
+
}
|
|
31
|
+
const user = ctx.user;
|
|
32
|
+
const subject = String(user?.sub ?? user?.subject ?? user?.id ?? "unknown");
|
|
33
|
+
const email = typeof user?.email === "string" ? user.email : undefined;
|
|
34
|
+
await prisma.clientAuthSession.update({
|
|
35
|
+
where: { id: session.id },
|
|
36
|
+
data: {
|
|
37
|
+
status: "approved",
|
|
38
|
+
tenantId: ctx.tenant.id,
|
|
39
|
+
appId: ctx.app.id,
|
|
40
|
+
bpUserSubject: subject,
|
|
41
|
+
bpUserEmail: email,
|
|
42
|
+
approvedAt: new Date(),
|
|
43
|
+
userAgentHash: typeof ctx.headers["user-agent"] === "string" ? hashSecret(ctx.headers["user-agent"]) : session.userAgentHash
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
status: "approved",
|
|
48
|
+
message: "BetterTunnels CLI authenticated. You can close this tab."
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
//# 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":"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"}
|
package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../../src/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAazD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "jsx-htmx/jsx-runtime";
|
|
2
|
+
export function render(data) {
|
|
3
|
+
const ok = data.status === "approved";
|
|
4
|
+
return (_jsx("section", { class: "container py-5", children: _jsxs("div", { class: `border rounded-3 p-4 ${ok ? "bg-body" : "bg-danger-subtle border-danger"}`, children: [_jsx("div", { class: `text-uppercase fw-semibold small mb-2 ${ok ? "text-success" : "text-danger"}`, children: "BetterTunnels CLI" }), _jsx("h1", { class: "h3 mb-3", children: ok ? "Authenticated" : "Authentication failed" }), _jsx("p", { class: "lead mb-0", children: data.message })] }) }));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=GET.js.map
|
package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../../src/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":";AAIA,MAAM,UAAU,MAAM,CAAC,IAAkB;IACvC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;IACtC,OAAO,CACL,kBAAS,KAAK,EAAC,gBAAgB,YAC7B,eAAK,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAgC,EAAE,aACrF,cAAK,KAAK,EAAE,yCAAyC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,EAAE,kCAEpF,EACN,aAAI,KAAK,EAAC,SAAS,YAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,GAAM,EACzE,YAAG,KAAK,EAAC,WAAW,YAAE,IAAI,CAAC,OAAO,GAAK,IACnC,GACE,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ApiAuthRequirement, type CacheHints } from "@betterportal/framework";
|
|
2
|
+
export declare const viewId = "better-tunnels.cli-auth.verify";
|
|
3
|
+
export declare const title = "BetterTunnels CLI Authentication";
|
|
4
|
+
export declare const description = "Approves a pending BetterTunnels CLI login session.";
|
|
5
|
+
export declare const auth: ApiAuthRequirement;
|
|
6
|
+
export declare const cacheHints: CacheHints;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const viewId = "better-tunnels.cli-auth.verify";
|
|
2
|
+
export const title = "BetterTunnels CLI Authentication";
|
|
3
|
+
export const description = "Approves a pending BetterTunnels CLI login session.";
|
|
4
|
+
export const auth = {
|
|
5
|
+
required: true,
|
|
6
|
+
permissions: []
|
|
7
|
+
};
|
|
8
|
+
export const cacheHints = {
|
|
9
|
+
ttlSeconds: 0,
|
|
10
|
+
varyBy: ["accept", "authorization", "x-bp-tenant-id", "x-bp-app-id"]
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.ts"],"names":[],"mappings":"AAKA,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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as av from "anyvali";
|
|
2
|
+
import type { Infer } from "anyvali";
|
|
3
|
+
export declare const ItemSchema: av.ObjectSchema<{
|
|
4
|
+
activeTunnels: av.NumberSchema;
|
|
5
|
+
requests: av.NumberSchema;
|
|
6
|
+
bytesIn: av.NumberSchema;
|
|
7
|
+
bytesOut: av.NumberSchema;
|
|
8
|
+
tunnels: av.ArraySchema<av.ObjectSchema<{
|
|
9
|
+
id: av.StringSchema;
|
|
10
|
+
subdomain: av.StringSchema;
|
|
11
|
+
target: av.StringSchema;
|
|
12
|
+
authenticated: av.BoolSchema;
|
|
13
|
+
expiresAt: av.StringSchema;
|
|
14
|
+
requests: av.NumberSchema;
|
|
15
|
+
bytesIn: av.NumberSchema;
|
|
16
|
+
bytesOut: av.NumberSchema;
|
|
17
|
+
}>>;
|
|
18
|
+
}>;
|
|
19
|
+
export type DashboardData = Infer<typeof ItemSchema>;
|
|
20
|
+
export type ResponseData = {
|
|
21
|
+
items: DashboardData[];
|
|
22
|
+
};
|
|
23
|
+
declare const _default: import("@betterportal/framework").BpStreamHandler<{
|
|
24
|
+
activeTunnels: number;
|
|
25
|
+
requests: number;
|
|
26
|
+
bytesIn: number;
|
|
27
|
+
bytesOut: number;
|
|
28
|
+
tunnels: {
|
|
29
|
+
id: string;
|
|
30
|
+
subdomain: string;
|
|
31
|
+
target: string;
|
|
32
|
+
authenticated: boolean;
|
|
33
|
+
expiresAt: string;
|
|
34
|
+
requests: number;
|
|
35
|
+
bytesIn: number;
|
|
36
|
+
bytesOut: number;
|
|
37
|
+
}[];
|
|
38
|
+
}, void, Record<string, string>, Record<string, unknown>, Record<string, string>>;
|
|
39
|
+
export default _default;
|
|
40
|
+
//# 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":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAgBrC,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAMK,CAAC;AAC7B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;AA+BtD,wBASE"}
|