SYMBOL INDEX (2674 symbols across 1004 files) FILE: cli/commands/clearExitNodes.ts type ClearExitNodesArgs (line 5) | type ClearExitNodesArgs = { }; FILE: cli/commands/clearLicenseKeys.ts type ClearLicenseKeysArgs (line 5) | type ClearLicenseKeysArgs = { }; FILE: cli/commands/deleteClient.ts type DeleteClientArgs (line 5) | type DeleteClientArgs = { FILE: cli/commands/generateOrgCaKeys.ts type GenerateOrgCaKeysArgs (line 10) | type GenerateOrgCaKeysArgs = { FILE: cli/commands/resetUserSecurityKeys.ts type ResetUserSecurityKeysArgs (line 5) | type ResetUserSecurityKeysArgs = { FILE: cli/commands/rotateServerSecret.ts type RotateServerSecretArgs (line 9) | type RotateServerSecretArgs = { type IdpUpdate (line 139) | type IdpUpdate = { type LicenseKeyUpdate (line 145) | type LicenseKeyUpdate = { FILE: cli/commands/setAdminCredentials.ts type SetAdminCredentialsArgs (line 12) | type SetAdminCredentialsArgs = { function invalidateAllSessions (line 115) | async function invalidateAllSessions(userId: string): Promise { method read (line 136) | read(bytes: Uint8Array): void { function generateId (line 141) | function generateId(length: number): string { FILE: esbuild.mjs function getPackagePaths (line 52) | function getPackagePaths() { function privateImportGuardPlugin (line 64) | function privateImportGuardPlugin() { function dynamicImportGuardPlugin (line 125) | function dynamicImportGuardPlugin() { function dynamicImportSwitcherPlugin (line 186) | function dynamicImportSwitcherPlugin(buildValue) { FILE: install/config.go type TraefikConfig (line 14) | type TraefikConfig struct type DynamicConfig (line 32) | type DynamicConfig struct type TraefikConfigValues (line 41) | type TraefikConfigValues struct type AppConfig (line 48) | type AppConfig struct type AppConfigValues (line 55) | type AppConfigValues struct function ReadTraefikConfig (line 61) | func ReadTraefikConfig(mainConfigPath string) (*TraefikConfigValues, err... function ReadAppConfig (line 82) | func ReadAppConfig(configPath string) (*AppConfigValues, error) { function findPattern (line 103) | func findPattern(s, pattern string) int { function copyDockerService (line 107) | func copyDockerService(sourceFile, destFile, serviceName string) error { function backupConfig (line 171) | func backupConfig() error { function MarshalYAMLWithIndent (line 190) | func MarshalYAMLWithIndent(data any, indent int) ([]byte, error) { function replaceInFile (line 203) | func replaceInFile(filepath, oldStr, newStr string) error { function CheckAndAddTraefikLogVolume (line 222) | func CheckAndAddTraefikLogVolume(composePath string) error { function MergeYAML (line 283) | func MergeYAML(baseFile, overlayFile string) error { function mergeMap (line 326) | func mergeMap(base, overlay map[string]any) map[string]any { FILE: install/containers.go function waitForContainer (line 15) | func waitForContainer(containerName string, containerType SupportedConta... function installDocker (line 43) | func installDocker() error { function startDockerService (line 146) | func startDockerService() error { function isDockerInstalled (line 161) | func isDockerInstalled() bool { function isPodmanInstalled (line 165) | func isPodmanInstalled() bool { function isContainerInstalled (line 169) | func isContainerInstalled(container string) bool { function isUserInDockerGroup (line 177) | func isUserInDockerGroup() bool { function isDockerRunning (line 206) | func isDockerRunning() bool { function isPodmanRunning (line 214) | func isPodmanRunning() bool { function detectContainerType (line 224) | func detectContainerType() SupportedContainer { function executeDockerComposeCommandWithArgs (line 256) | func executeDockerComposeCommandWithArgs(args ...string) error { function pullContainers (line 288) | func pullContainers(containerType SupportedContainer) error { function startContainers (line 310) | func startContainers(containerType SupportedContainer) error { function stopContainers (line 333) | func stopContainers(containerType SupportedContainer) error { function restartContainer (line 355) | func restartContainer(container string, containerType SupportedContainer... FILE: install/crowdsec.go function installCrowdsec (line 14) | func installCrowdsec(config Config) error { function checkIsCrowdsecInstalledInCompose (line 111) | func checkIsCrowdsecInstalledInCompose() bool { function GetCrowdSecAPIKey (line 122) | func GetCrowdSecAPIKey(containerType SupportedContainer) (string, error) { function checkIfTextInFile (line 146) | func checkIfTextInFile(file, text string) bool { function CheckAndAddCrowdsecDependency (line 157) | func CheckAndAddCrowdsecDependency(composePath string) error { FILE: install/input.go function isAccessibleMode (line 18) | func isAccessibleMode() bool { function handleAbort (line 35) | func handleAbort(err error) { function runField (line 43) | func runField(field huh.Field) error { function readString (line 51) | func readString(prompt string, defaultValue string) string { function readStringNoDefault (line 88) | func readStringNoDefault(prompt string) string { function readPassword (line 115) | func readPassword(prompt string) string { function readBool (line 143) | func readBool(prompt string, defaultValue bool) bool { function readBoolNoDefault (line 167) | func readBoolNoDefault(prompt string) bool { function readInt (line 191) | func readInt(prompt string, defaultValue int) int { FILE: install/main.go function loadVersions (line 29) | func loadVersions(config *Config) { type Config (line 38) | type Config struct type SupportedContainer (line 61) | type SupportedContainer constant Docker (line 64) | Docker SupportedContainer = "docker" constant Podman (line 65) | Podman SupportedContainer = "podman" constant Undefined (line 66) | Undefined SupportedContainer = "undefined" function main (line 69) | func main() { function podmanOrDocker (line 290) | func podmanOrDocker() SupportedContainer { function collectUserInput (line 358) | func collectUserInput() Config { function createConfigFiles (line 418) | func createConfigFiles(config Config) error { function copyFile (line 502) | func copyFile(src, dst string) error { function moveFile (line 519) | func moveFile(src, dst string) error { function printSetupToken (line 527) | func printSetupToken(containerType SupportedContainer, dashboardDomain s... function showSetupTokenInstructions (line 579) | func showSetupTokenInstructions(containerType SupportedContainer, dashbo... function generateRandomSecretKey (line 616) | func generateRandomSecretKey() string { function getPublicIP (line 625) | func getPublicIP() string { function run (line 652) | func run(name string, args ...string) error { function checkPortsAvailable (line 659) | func checkPortsAvailable(port int) error { function downloadMaxMindDatabase (line 674) | func downloadMaxMindDatabase() error { FILE: install/theme.go function ThemePangolin (line 23) | func ThemePangolin() *huh.Theme { FILE: server/apiServer.ts function createApiServer (line 29) | function createApiServer() { FILE: server/auth/actions.ts type ActionsEnum (line 8) | enum ActionsEnum { function checkUserActionPermission (line 139) | async function checkUserActionPermission( FILE: server/auth/canUserAccessResource.ts function canUserAccessResource (line 5) | async function canUserAccessResource({ FILE: server/auth/canUserAccessSiteResource.ts function canUserAccessSiteResource (line 5) | async function canUserAccessSiteResource({ FILE: server/auth/checkValidInvite.ts function checkValidInvite (line 7) | async function checkValidInvite({ FILE: server/auth/password.ts function verifyPassword (line 3) | async function verifyPassword( function hashPassword (line 16) | async function hashPassword(password: string): Promise { FILE: server/auth/resourceOtp.ts function sendResourceOtpEmail (line 12) | async function sendResourceOtpEmail( function generateResourceOtpCode (line 35) | async function generateResourceOtpCode( function isValidOtp (line 63) | async function isValidOtp( FILE: server/auth/sendEmailVerificationCode.ts function sendEmailVerificationCode (line 10) | async function sendEmailVerificationCode( function generateEmailVerificationCode (line 30) | async function generateEmailVerificationCode( FILE: server/auth/sessions/app.ts constant SESSION_COOKIE_NAME (line 21) | const SESSION_COOKIE_NAME = constant SESSION_COOKIE_EXPIRES (line 23) | const SESSION_COOKIE_EXPIRES = constant COOKIE_DOMAIN (line 28) | const COOKIE_DOMAIN = config.getRawConfig().app.dashboard_url function generateSessionToken (line 32) | function generateSessionToken(): string { function createSession (line 39) | async function createSession( function validateSessionToken (line 58) | async function validateSessionToken( function invalidateSession (line 106) | async function invalidateSession(sessionId: string): Promise { function invalidateAllSessions (line 119) | async function invalidateAllSessions(userId: string): Promise { function serializeSessionCookie (line 139) | function serializeSessionCookie( function createBlankSessionTokenCookie (line 151) | function createBlankSessionTokenCookie(isSecure: boolean): string { method read (line 160) | read(bytes: Uint8Array): void { function generateId (line 165) | function generateId(length: number): string { function generateIdFromEntropySize (line 170) | function generateIdFromEntropySize(size: number): string { type SessionValidationResult (line 175) | type SessionValidationResult = FILE: server/auth/sessions/newt.ts constant EXPIRES (line 7) | const EXPIRES = 1000 * 60 * 60 * 24 * 30; function createNewtSession (line 9) | async function createNewtSession( function validateNewtSessionToken (line 25) | async function validateNewtSessionToken( function invalidateNewtSession (line 58) | async function invalidateNewtSession(sessionId: string): Promise { function invalidateAllNewtSessions (line 62) | async function invalidateAllNewtSessions(newtId: string): Promise { type SessionValidationResult (line 66) | type SessionValidationResult = FILE: server/auth/sessions/olm.ts constant EXPIRES (line 7) | const EXPIRES = 1000 * 60 * 60 * 24 * 30; function createOlmSession (line 9) | async function createOlmSession( function validateOlmSessionToken (line 25) | async function validateOlmSessionToken( function invalidateOlmSession (line 58) | async function invalidateOlmSession(sessionId: string): Promise { function invalidateAllOlmSessions (line 62) | async function invalidateAllOlmSessions(olmId: string): Promise { type SessionValidationResult (line 66) | type SessionValidationResult = FILE: server/auth/sessions/resource.ts constant SESSION_COOKIE_NAME (line 8) | const SESSION_COOKIE_NAME = constant SESSION_COOKIE_EXPIRES (line 10) | const SESSION_COOKIE_EXPIRES = function createResourceSession (line 13) | async function createResourceSession(opts: { function validateResourceSessionToken (line 62) | async function validateResourceSessionToken( function invalidateResourceSession (line 114) | async function invalidateResourceSession( function invalidateAllSessions (line 122) | async function invalidateAllSessions( function serializeResourceSessionCookie (line 169) | function serializeResourceSessionCookie( function createBlankResourceSessionTokenCookie (line 190) | function createBlankResourceSessionTokenCookie( type ResourceSessionValidationResult (line 202) | type ResourceSessionValidationResult = { FILE: server/auth/sessions/verifySession.ts function verifySession (line 7) | async function verifySession(req: Request, forceLogin?: boolean) { FILE: server/auth/totp.ts function verifyTotpCode (line 9) | async function verifyTotpCode( function verifyBackUpCode (line 29) | async function verifyBackUpCode( FILE: server/auth/unauthorizedResponse.ts function unauthorized (line 4) | function unauthorized(msg?: string) { FILE: server/auth/verifyResourceAccessToken.ts function verifyResourceAccessToken (line 14) | async function verifyResourceAccessToken({ FILE: server/cleanup.ts function cleanup (line 5) | async function cleanup() { function initCleanup (line 13) | async function initCleanup() { FILE: server/db/asns.ts constant MAJOR_ASNS (line 4) | const MAJOR_ASNS = [ FILE: server/db/countries.ts constant COUNTRIES (line 1) | const COUNTRIES = [ FILE: server/db/names.ts function getUniqueClientName (line 37) | async function getUniqueClientName(orgId: string): Promise { function getUniqueSiteName (line 56) | async function getUniqueSiteName(orgId: string): Promise { function getUniqueResourceName (line 75) | async function getUniqueResourceName(orgId: string): Promise { function getUniqueSiteResourceName (line 110) | async function getUniqueSiteResourceName( function getUniqueExitNodeEndpointName (line 147) | async function getUniqueExitNodeEndpointName(): Promise { function generateName (line 168) | function generateName(): string { function getMacDeviceName (line 181) | function getMacDeviceName(macIdentifier?: string | null): string | null { function getIosDeviceName (line 188) | function getIosDeviceName(iosIdentifier?: string | null): string | null { function getUserDeviceName (line 195) | function getUserDeviceName( FILE: server/db/pg/driver.ts function createDb (line 6) | function createDb() { type Transaction (line 85) | type Transaction = Parameters< FILE: server/db/pg/logsDriver.ts function createLogsDb (line 8) | function createLogsDb() { FILE: server/db/pg/safeRead.ts function safeRead (line 9) | async function safeRead( FILE: server/db/pg/schema/privateSchema.ts type Approval (line 339) | type Approval = InferSelectModel; type Limit (line 340) | type Limit = InferSelectModel; type Account (line 341) | type Account = InferSelectModel; type Certificate (line 342) | type Certificate = InferSelectModel; type DnsChallenge (line 343) | type DnsChallenge = InferSelectModel; type Customer (line 344) | type Customer = InferSelectModel; type Subscription (line 345) | type Subscription = InferSelectModel; type SubscriptionItem (line 346) | type SubscriptionItem = InferSelectModel; type Usage (line 347) | type Usage = InferSelectModel; type UsageLimit (line 348) | type UsageLimit = InferSelectModel; type AccountDomain (line 349) | type AccountDomain = InferSelectModel; type UsageNotification (line 350) | type UsageNotification = InferSelectModel; type RemoteExitNode (line 351) | type RemoteExitNode = InferSelectModel; type RemoteExitNodeSession (line 352) | type RemoteExitNodeSession = InferSelectModel< type ExitNodeOrg (line 355) | type ExitNodeOrg = InferSelectModel; type LoginPage (line 356) | type LoginPage = InferSelectModel; type LoginPageBranding (line 357) | type LoginPageBranding = InferSelectModel; type ActionAuditLog (line 358) | type ActionAuditLog = InferSelectModel; type AccessAuditLog (line 359) | type AccessAuditLog = InferSelectModel; FILE: server/db/pg/schema/schema.ts type Org (line 1014) | type Org = InferSelectModel; type User (line 1015) | type User = InferSelectModel; type Site (line 1016) | type Site = InferSelectModel; type Resource (line 1017) | type Resource = InferSelectModel; type ExitNode (line 1018) | type ExitNode = InferSelectModel; type Target (line 1019) | type Target = InferSelectModel; type Session (line 1020) | type Session = InferSelectModel; type Newt (line 1021) | type Newt = InferSelectModel; type NewtSession (line 1022) | type NewtSession = InferSelectModel; type EmailVerificationCode (line 1023) | type EmailVerificationCode = InferSelectModel< type TwoFactorBackupCode (line 1026) | type TwoFactorBackupCode = InferSelectModel; type PasswordResetToken (line 1027) | type PasswordResetToken = InferSelectModel; type Role (line 1028) | type Role = InferSelectModel; type Action (line 1029) | type Action = InferSelectModel; type RoleAction (line 1030) | type RoleAction = InferSelectModel; type UserAction (line 1031) | type UserAction = InferSelectModel; type RoleSite (line 1032) | type RoleSite = InferSelectModel; type UserSite (line 1033) | type UserSite = InferSelectModel; type RoleResource (line 1034) | type RoleResource = InferSelectModel; type UserResource (line 1035) | type UserResource = InferSelectModel; type UserInvite (line 1036) | type UserInvite = InferSelectModel; type UserOrg (line 1037) | type UserOrg = InferSelectModel; type ResourceSession (line 1038) | type ResourceSession = InferSelectModel; type ResourcePincode (line 1039) | type ResourcePincode = InferSelectModel; type ResourcePassword (line 1040) | type ResourcePassword = InferSelectModel; type ResourceHeaderAuth (line 1041) | type ResourceHeaderAuth = InferSelectModel; type ResourceHeaderAuthExtendedCompatibility (line 1042) | type ResourceHeaderAuthExtendedCompatibility = InferSelectModel< type ResourceOtp (line 1045) | type ResourceOtp = InferSelectModel; type ResourceAccessToken (line 1046) | type ResourceAccessToken = InferSelectModel; type ResourceWhitelist (line 1047) | type ResourceWhitelist = InferSelectModel; type VersionMigration (line 1048) | type VersionMigration = InferSelectModel; type ResourceRule (line 1049) | type ResourceRule = InferSelectModel; type Domain (line 1050) | type Domain = InferSelectModel; type SupporterKey (line 1051) | type SupporterKey = InferSelectModel; type Idp (line 1052) | type Idp = InferSelectModel; type ApiKey (line 1053) | type ApiKey = InferSelectModel; type ApiKeyAction (line 1054) | type ApiKeyAction = InferSelectModel; type ApiKeyOrg (line 1055) | type ApiKeyOrg = InferSelectModel; type Client (line 1056) | type Client = InferSelectModel; type ClientSite (line 1057) | type ClientSite = InferSelectModel; type Olm (line 1058) | type Olm = InferSelectModel; type OlmSession (line 1059) | type OlmSession = InferSelectModel; type UserClient (line 1060) | type UserClient = InferSelectModel; type RoleClient (line 1061) | type RoleClient = InferSelectModel; type OrgDomains (line 1062) | type OrgDomains = InferSelectModel; type SiteResource (line 1063) | type SiteResource = InferSelectModel; type SetupToken (line 1064) | type SetupToken = InferSelectModel; type HostMeta (line 1065) | type HostMeta = InferSelectModel; type TargetHealthCheck (line 1066) | type TargetHealthCheck = InferSelectModel; type IdpOidcConfig (line 1067) | type IdpOidcConfig = InferSelectModel; type Blueprint (line 1068) | type Blueprint = InferSelectModel; type LicenseKey (line 1069) | type LicenseKey = InferSelectModel; type SecurityKey (line 1070) | type SecurityKey = InferSelectModel; type WebauthnChallenge (line 1071) | type WebauthnChallenge = InferSelectModel; type DeviceWebAuthCode (line 1072) | type DeviceWebAuthCode = InferSelectModel; type RequestAuditLog (line 1073) | type RequestAuditLog = InferSelectModel; type RoundTripMessageTracker (line 1074) | type RoundTripMessageTracker = InferSelectModel< FILE: server/db/queries/verifySessionQueries.ts type ResourceWithAuth (line 23) | type ResourceWithAuth = { type UserSessionWithUser (line 32) | type UserSessionWithUser = { function getResourceByDomain (line 40) | async function getResourceByDomain( function getUserSessionWithUser (line 87) | async function getUserSessionWithUser( function getUserOrgRole (line 109) | async function getUserOrgRole(userId: string, orgId: string) { function getRoleResourceAccess (line 130) | async function getRoleResourceAccess( function getUserResourceAccess (line 151) | async function getUserResourceAccess( function getResourceRules (line 172) | async function getResourceRules( function getOrgLoginPage (line 186) | async function getOrgLoginPage( FILE: server/db/sqlite/driver.ts function createDb (line 14) | function createDb() { type Transaction (line 24) | type Transaction = Parameters< function checkFileExists (line 28) | function checkFileExists(filePath: string): boolean { function bootstrapVolume (line 37) | function bootstrapVolume() { FILE: server/db/sqlite/safeRead.ts function safeRead (line 7) | async function safeRead( FILE: server/db/sqlite/schema/privateSchema.ts type Approval (line 330) | type Approval = InferSelectModel; type Limit (line 331) | type Limit = InferSelectModel; type Account (line 332) | type Account = InferSelectModel; type Certificate (line 333) | type Certificate = InferSelectModel; type DnsChallenge (line 334) | type DnsChallenge = InferSelectModel; type Customer (line 335) | type Customer = InferSelectModel; type Subscription (line 336) | type Subscription = InferSelectModel; type SubscriptionItem (line 337) | type SubscriptionItem = InferSelectModel; type Usage (line 338) | type Usage = InferSelectModel; type UsageLimit (line 339) | type UsageLimit = InferSelectModel; type AccountDomain (line 340) | type AccountDomain = InferSelectModel; type UsageNotification (line 341) | type UsageNotification = InferSelectModel; type RemoteExitNode (line 342) | type RemoteExitNode = InferSelectModel; type RemoteExitNodeSession (line 343) | type RemoteExitNodeSession = InferSelectModel< type ExitNodeOrg (line 346) | type ExitNodeOrg = InferSelectModel; type LoginPage (line 347) | type LoginPage = InferSelectModel; type LoginPageBranding (line 348) | type LoginPageBranding = InferSelectModel; type ActionAuditLog (line 349) | type ActionAuditLog = InferSelectModel; type AccessAuditLog (line 350) | type AccessAuditLog = InferSelectModel; FILE: server/db/sqlite/schema/schema.ts type Org (line 1111) | type Org = InferSelectModel; type User (line 1112) | type User = InferSelectModel; type Site (line 1113) | type Site = InferSelectModel; type Resource (line 1114) | type Resource = InferSelectModel; type ExitNode (line 1115) | type ExitNode = InferSelectModel; type Target (line 1116) | type Target = InferSelectModel; type Session (line 1117) | type Session = InferSelectModel; type Newt (line 1118) | type Newt = InferSelectModel; type NewtSession (line 1119) | type NewtSession = InferSelectModel; type Olm (line 1120) | type Olm = InferSelectModel; type OlmSession (line 1121) | type OlmSession = InferSelectModel; type EmailVerificationCode (line 1122) | type EmailVerificationCode = InferSelectModel< type TwoFactorBackupCode (line 1125) | type TwoFactorBackupCode = InferSelectModel; type PasswordResetToken (line 1126) | type PasswordResetToken = InferSelectModel; type Role (line 1127) | type Role = InferSelectModel; type Action (line 1128) | type Action = InferSelectModel; type RoleAction (line 1129) | type RoleAction = InferSelectModel; type UserAction (line 1130) | type UserAction = InferSelectModel; type RoleSite (line 1131) | type RoleSite = InferSelectModel; type UserSite (line 1132) | type UserSite = InferSelectModel; type RoleResource (line 1133) | type RoleResource = InferSelectModel; type UserResource (line 1134) | type UserResource = InferSelectModel; type UserInvite (line 1135) | type UserInvite = InferSelectModel; type UserOrg (line 1136) | type UserOrg = InferSelectModel; type ResourceSession (line 1137) | type ResourceSession = InferSelectModel; type ResourcePincode (line 1138) | type ResourcePincode = InferSelectModel; type ResourcePassword (line 1139) | type ResourcePassword = InferSelectModel; type ResourceHeaderAuth (line 1140) | type ResourceHeaderAuth = InferSelectModel; type ResourceHeaderAuthExtendedCompatibility (line 1141) | type ResourceHeaderAuthExtendedCompatibility = InferSelectModel< type ResourceOtp (line 1144) | type ResourceOtp = InferSelectModel; type ResourceAccessToken (line 1145) | type ResourceAccessToken = InferSelectModel; type ResourceWhitelist (line 1146) | type ResourceWhitelist = InferSelectModel; type VersionMigration (line 1147) | type VersionMigration = InferSelectModel; type ResourceRule (line 1148) | type ResourceRule = InferSelectModel; type Domain (line 1149) | type Domain = InferSelectModel; type DnsRecord (line 1150) | type DnsRecord = InferSelectModel; type Client (line 1151) | type Client = InferSelectModel; type ClientSite (line 1152) | type ClientSite = InferSelectModel; type RoleClient (line 1153) | type RoleClient = InferSelectModel; type UserClient (line 1154) | type UserClient = InferSelectModel; type SupporterKey (line 1155) | type SupporterKey = InferSelectModel; type Idp (line 1156) | type Idp = InferSelectModel; type ApiKey (line 1157) | type ApiKey = InferSelectModel; type ApiKeyAction (line 1158) | type ApiKeyAction = InferSelectModel; type ApiKeyOrg (line 1159) | type ApiKeyOrg = InferSelectModel; type SiteResource (line 1160) | type SiteResource = InferSelectModel; type OrgDomains (line 1161) | type OrgDomains = InferSelectModel; type SetupToken (line 1162) | type SetupToken = InferSelectModel; type HostMeta (line 1163) | type HostMeta = InferSelectModel; type TargetHealthCheck (line 1164) | type TargetHealthCheck = InferSelectModel; type IdpOidcConfig (line 1165) | type IdpOidcConfig = InferSelectModel; type Blueprint (line 1166) | type Blueprint = InferSelectModel; type LicenseKey (line 1167) | type LicenseKey = InferSelectModel; type SecurityKey (line 1168) | type SecurityKey = InferSelectModel; type WebauthnChallenge (line 1169) | type WebauthnChallenge = InferSelectModel; type RequestAuditLog (line 1170) | type RequestAuditLog = InferSelectModel; type DeviceWebAuthCode (line 1171) | type DeviceWebAuthCode = InferSelectModel; type RoundTripMessageTracker (line 1172) | type RoundTripMessageTracker = InferSelectModel< FILE: server/emails/index.ts function createEmailClient (line 8) | function createEmailClient() { FILE: server/emails/sendEmail.ts function sendEmail (line 6) | async function sendEmail( FILE: server/emails/templates/EnterpriseEditionKeyGenerated.tsx type EnterpriseEditionKeyGeneratedProps (line 18) | type EnterpriseEditionKeyGeneratedProps = { FILE: server/emails/templates/NotifyResetPassword.tsx type Props (line 14) | interface Props { FILE: server/emails/templates/NotifyUsageLimitApproaching.tsx type Props (line 14) | interface Props { FILE: server/emails/templates/NotifyUsageLimitReached.tsx type Props (line 14) | interface Props { FILE: server/emails/templates/ResetPasswordCode.tsx type Props (line 17) | interface Props { FILE: server/emails/templates/ResourceOTPCode.tsx type ResourceOTPCodeProps (line 16) | interface ResourceOTPCodeProps { FILE: server/emails/templates/SendInviteLink.tsx type SendInviteLinkProps (line 16) | interface SendInviteLinkProps { FILE: server/emails/templates/SupportEmail.tsx type SupportEmailProps (line 11) | interface SupportEmailProps { FILE: server/emails/templates/TwoFactorAuthNotification.tsx type Props (line 14) | interface Props { FILE: server/emails/templates/VerifyEmailCode.tsx type VerifyEmailProps (line 16) | interface VerifyEmailProps { FILE: server/emails/templates/WelcomeQuickStart.tsx type WelcomeQuickStartProps (line 18) | interface WelcomeQuickStartProps { FILE: server/emails/templates/components/ButtonLink.tsx function ButtonLink (line 3) | function ButtonLink({ FILE: server/emails/templates/components/CopyCodeBox.tsx constant DEFAULT_HINT (line 3) | const DEFAULT_HINT = "Copy and paste this code when prompted"; function CopyCodeBox (line 5) | function CopyCodeBox({ FILE: server/emails/templates/components/Email.tsx function EmailContainer (line 6) | function EmailContainer({ children }: { children: React.ReactNode }) { function EmailLetterHead (line 15) | function EmailLetterHead() { function EmailHeading (line 30) | function EmailHeading({ children }: { children: React.ReactNode }) { function EmailGreeting (line 40) | function EmailGreeting({ children }: { children: React.ReactNode }) { function EmailText (line 51) | function EmailText({ function EmailSection (line 70) | function EmailSection({ function EmailFooter (line 83) | function EmailFooter({ children }: { children: React.ReactNode }) { function EmailSignature (line 104) | function EmailSignature() { function EmailInfoSection (line 117) | function EmailInfoSection({ FILE: server/extendZod.ts function extendZod (line 6) | function extendZod() {} FILE: server/index.ts function startServers (line 27) | async function startServers() { type Request (line 71) | interface Request { FILE: server/integrationApiServer.ts function createIntegrationApiServer (line 25) | function createIntegrationApiServer() { function getOpenApiDocumentation (line 81) | function getOpenApiDocumentation() { FILE: server/internalServer.ts function createInternalServer (line 16) | function createInternalServer() { FILE: server/lib/asn.ts function getAsnForIp (line 4) | async function getAsnForIp(ip: string): Promise { FILE: server/lib/billing/createCustomer.ts function createCustomer (line 1) | async function createCustomer( FILE: server/lib/billing/features.ts type FeatureId (line 1) | enum FeatureId { function getFeatureDisplayName (line 11) | async function getFeatureDisplayName(featureId: FeatureId): Promise>; function getTier1FeaturePriceSet (line 70) | function getTier1FeaturePriceSet(): FeaturePriceSet { function getTier2FeaturePriceSet (line 89) | function getTier2FeaturePriceSet(): FeaturePriceSet { function getTier3FeaturePriceSet (line 108) | function getTier3FeaturePriceSet(): FeaturePriceSet { function getFeatureIdByPriceId (line 119) | function getFeatureIdByPriceId(priceId: string): FeatureId | undefined { FILE: server/lib/billing/getLineItems.ts function getLineItems (line 5) | async function getLineItems( FILE: server/lib/billing/getOrgTierData.ts function getOrgTierData (line 1) | async function getOrgTierData( FILE: server/lib/billing/licenses.ts type LicenseId (line 1) | enum LicenseId { type LicensePriceSet (line 6) | type LicensePriceSet = { function getLicensePriceSet (line 23) | function getLicensePriceSet( FILE: server/lib/billing/limitSet.ts type LimitSet (line 3) | type LimitSet = Partial<{ FILE: server/lib/billing/limitsService.ts class LimitService (line 7) | class LimitService { method applyLimitSetToOrg (line 8) | async applyLimitSetToOrg(orgId: string, limitSet: LimitSet): Promise; function isTargetsOnlyResource (line 307) | function isTargetsOnlyResource(resource: any): boolean { type Site (line 532) | type Site = z.infer; type Target (line 533) | type Target = z.infer; type Resource (line 534) | type Resource = z.infer; type Config (line 535) | type Config = z.infer; FILE: server/lib/cache.ts class AdaptiveCache (line 24) | class AdaptiveCache { method set (line 32) | async set(key: string, value: any, ttl?: number): Promise { method get (line 48) | async get(key: string): Promise { method del (line 64) | async del(key: string | string[]): Promise { method has (line 85) | async has(key: string): Promise { method mget (line 95) | async mget(keys: string[]): Promise<(T | undefined)[]> { method flushAll (line 103) | async flushAll(): Promise { method getStats (line 112) | getStats() { method getCurrentBackend (line 120) | getCurrentBackend(): "redis" | "local" { method take (line 129) | async take(key: string): Promise { method getTtl (line 142) | getTtl(key: string): number { method keys (line 154) | keys(): string[] { FILE: server/lib/calculateUserClientsForOrgs.ts function calculateUserClientsForOrgs (line 25) | async function calculateUserClientsForOrgs( function cleanupOrphanedClients (line 271) | async function cleanupOrphanedClients( FILE: server/lib/canUserAccessResource.ts function canUserAccessResource (line 5) | async function canUserAccessResource({ FILE: server/lib/certificates.ts function getValidCertificatesForDomains (line 1) | async function getValidCertificatesForDomains( FILE: server/lib/checkOrgAccessPolicy.ts type CheckOrgAccessPolicyProps (line 3) | type CheckOrgAccessPolicyProps = { type CheckOrgAccessPolicyResult (line 12) | type CheckOrgAccessPolicyResult = { function enforceResourceSessionLength (line 30) | async function enforceResourceSessionLength( function checkOrgAccessPolicy (line 37) | async function checkOrgAccessPolicy( FILE: server/lib/cleanupLogs.test.ts function dateToTimestamp (line 4) | function dateToTimestamp(dateStr: string): number { function calculateCutoffTimestampWithNow (line 10) | function calculateCutoffTimestampWithNow( function testCalculateCutoffTimestamp (line 27) | function testCalculateCutoffTimestamp() { FILE: server/lib/cleanupLogs.ts function initLogCleanupInterval (line 9) | function initLogCleanupInterval() { function calculateCutoffTimestamp (line 71) | function calculateCutoffTimestamp(retentionDays: number): number { FILE: server/lib/clientVersionChecks.ts function canCompress (line 3) | function canCompress( FILE: server/lib/config.ts class Config (line 10) | class Config { method constructor (line 19) | constructor() { method initServer (line 118) | public async initServer() { method checkKeyStatus (line 126) | private async checkKeyStatus() { method getRawConfig (line 132) | public getRawConfig() { method getNoReplyEmail (line 136) | public getNoReplyEmail(): string | undefined { method getDomain (line 142) | public getDomain(domainId: string) { method hideSupporterKey (line 149) | public hideSupporterKey(days: number = 7) { method isSupporterKeyHidden (line 159) | public isSupporterKeyHidden() { method checkSupporterKey (line 169) | public async checkSupporterKey() { method getSupporterData (line 229) | public getSupporterData() { FILE: server/lib/consts.ts constant APP_VERSION (line 5) | const APP_VERSION = "1.16.0"; constant APP_PATH (line 10) | const APP_PATH = path.join("config"); FILE: server/lib/corsWithLoginPage.ts function isValidLoginPageDomain (line 8) | async function isValidLoginPageDomain(host: string): Promise { function corsWithLoginPageSupport (line 25) | function corsWithLoginPageSupport(corsConfig: any) { FILE: server/lib/crypto.ts function encrypt (line 3) | function encrypt(value: string, key: string): string { function decrypt (line 8) | function decrypt(encryptedValue: string, key: string): string { FILE: server/lib/deleteOrg.ts type DeleteOrgByIdResult (line 29) | type DeleteOrgByIdResult = { function deleteOrgById (line 39) | async function deleteOrgById( function sendTerminationMessages (line 225) | function sendTerminationMessages(result: DeleteOrgByIdResult): void { FILE: server/lib/domainUtils.ts type DomainValidationResult (line 7) | type DomainValidationResult = function validateAndConstructDomain (line 26) | async function validateAndConstructDomain( FILE: server/lib/encryption.ts function encryptData (line 3) | function encryptData(data: string, key: Buffer): string { function decryptData (line 18) | function decryptData(encryptedData: string, key: Buffer): string { FILE: server/lib/exitNodes/exitNodeComms.ts type ExitNodeRequest (line 5) | interface ExitNodeRequest { function sendToExitNode (line 19) | async function sendToExitNode( FILE: server/lib/exitNodes/exitNodes.ts function verifyExitNodeOrgAccess (line 6) | async function verifyExitNodeOrgAccess( function listExitNodes (line 19) | async function listExitNodes( function selectBestExitNode (line 51) | function selectBestExitNode( function checkExitNodeOrg (line 62) | async function checkExitNodeOrg( function resolveExitNodes (line 70) | async function resolveExitNodes( FILE: server/lib/exitNodes/getCurrentExitNodeId.ts function getCurrentExitNodeId (line 6) | async function getCurrentExitNodeId(): Promise { FILE: server/lib/exitNodes/subnet.ts function getNextAvailableSubnet (line 5) | async function getNextAvailableSubnet(): Promise { FILE: server/lib/geoip.ts function getCountryCodeForIp (line 4) | async function getCountryCodeForIp( FILE: server/lib/hostMeta.ts function setHostMeta (line 7) | async function setHostMeta() { function getHostMeta (line 21) | async function getHostMeta() { FILE: server/lib/idp/generateRedirectUrl.ts function generateOidcRedirectUrl (line 5) | async function generateOidcRedirectUrl( FILE: server/lib/ip.test.ts function testFindNextAvailableCidr (line 5) | function testFindNextAvailableCidr() { FILE: server/lib/ip.ts type IPRange (line 9) | interface IPRange { type IPVersion (line 14) | type IPVersion = 4 | 6; function detectIpVersion (line 19) | function detectIpVersion(ip: string): IPVersion { function ipToBigInt (line 26) | function ipToBigInt(ip: string): bigint { function bigIntToIp (line 64) | function bigIntToIp(num: bigint, version: IPVersion): string { function parseEndpoint (line 122) | function parseEndpoint( function formatEndpoint (line 168) | function formatEndpoint(ip: string, port: number): string { function cidrToRange (line 181) | function cidrToRange(cidr: string): IPRange { function findNextAvailableCidr (line 211) | function findNextAvailableCidr( function isIpInCidr (line 290) | function isIpInCidr(ip: string, cidr: string): boolean { function doCidrsOverlap (line 311) | function doCidrsOverlap(cidr1: string, cidr2: string): boolean { function getNextAvailableClientSubnet (line 325) | async function getNextAvailableClientSubnet( function getNextAvailableAliasAddress (line 373) | async function getNextAvailableAliasAddress( function getNextAvailableOrgSubnet (line 423) | async function getNextAvailableOrgSubnet(): Promise { function generateRemoteSubnets (line 445) | function generateRemoteSubnets( type Alias (line 476) | type Alias = { alias: string | null; aliasAddress: string | null }; function generateAliasConfig (line 478) | function generateAliasConfig(allSiteResources: SiteResource[]): Alias[] { type SubnetProxyTarget (line 487) | type SubnetProxyTarget = { function generateSubnetProxyTargets (line 499) | function generateSubnetProxyTargets( function parsePortRangeString (line 654) | function parsePortRangeString( function stripPortFromHost (line 688) | function stripPortFromHost(ip: string, badgerVersion?: string): string { FILE: server/lib/isLicencedOrSubscribed.ts function isLicensedOrSubscribed (line 3) | async function isLicensedOrSubscribed( FILE: server/lib/isSubscribed.ts function isSubscribed (line 3) | async function isSubscribed( FILE: server/lib/lock.ts class LockManager (line 1) | class LockManager { method acquireLock (line 8) | async acquireLock( method releaseLock (line 19) | async releaseLock(lockKey: string): Promise {} method forceReleaseLock (line 25) | async forceReleaseLock(lockKey: string): Promise {} method getLockInfo (line 32) | async getLockInfo(lockKey: string): Promise<{ method extendLock (line 47) | async extendLock(lockKey: string, ttlMs: number): Promise { method acquireLockWithRetry (line 59) | async acquireLockWithRetry( method withLock (line 75) | async withLock( method getLockStatistics (line 98) | async getLockStatistics(): Promise<{ method disconnect (line 108) | async disconnect(): Promise {} FILE: server/lib/logAccessAudit.ts function cleanUpOldLogs (line 1) | async function cleanUpOldLogs(orgId: string, retentionDays: number) { function logAccessAudit (line 5) | async function logAccessAudit(data: { FILE: server/lib/normalizePostAuthPath.ts function normalizePostAuthPath (line 5) | function normalizePostAuthPath(path: string | null | undefined): string ... FILE: server/lib/rateLimitStore.ts function createStore (line 3) | function createStore(): Store { FILE: server/lib/readConfigFile.ts function readConfigFile (line 440) | function readConfigFile() { FILE: server/lib/rebuildClientAssociations.ts function getClientSiteResourceAccess (line 46) | async function getClientSiteResourceAccess( function rebuildClientAssociationsFromSiteResource (line 145) | async function rebuildClientAssociationsFromSiteResource( function handleMessagesForSiteClients (line 350) | async function handleMessagesForSiteClients( type PeerDestination (line 503) | interface PeerDestination { function updateClientSiteDestinations (line 509) | async function updateClientSiteDestinations( function handleSubnetProxyTargetUpdates (line 624) | async function handleSubnetProxyTargetUpdates( function rebuildClientAssociationsFromClient (line 772) | async function rebuildClientAssociationsFromClient( function handleMessagesForClientSites (line 980) | async function handleMessagesForClientSites( function handleMessagesForClientResources (line 1125) | async function handleMessagesForClientResources( FILE: server/lib/serverIpService.ts function fetchServerIp (line 12) | async function fetchServerIp() { function getServerIp (line 29) | function getServerIp() { FILE: server/lib/sshCA.ts function encodeString (line 22) | function encodeString(data: Buffer | string): Buffer { function encodeUInt32 (line 32) | function encodeUInt32(value: number): Buffer { function encodeUInt64 (line 41) | function encodeUInt64(value: bigint): Buffer { function decodeString (line 51) | function decodeString( function parseOpenSSHPublicKey (line 67) | function parseOpenSSHPublicKey(pubKeyLine: string): { function encodeEd25519PublicKey (line 95) | function encodeEd25519PublicKey(publicKey: Buffer): Buffer { function formatOpenSSHPublicKey (line 105) | function formatOpenSSHPublicKey(keyBlob: Buffer, comment: string = ""): ... type CertificateOptions (line 115) | interface CertificateOptions { function buildExtensions (line 137) | function buildExtensions(extensions: string[]): Buffer { function buildCriticalOptions (line 154) | function buildCriticalOptions(options: Map): Buffer { function buildPrincipals (line 169) | function buildPrincipals(principals: string[]): Buffer { function extractEd25519PublicKey (line 180) | function extractEd25519PublicKey(keyBlob: Buffer): Buffer { type CAKeyPair (line 190) | interface CAKeyPair { type SignedCertificate (line 201) | interface SignedCertificate { function generateCA (line 233) | function generateCA(comment: string = "pangolin-ssh-ca"): CAKeyPair { function getOrgCAKeys (line 269) | async function getOrgCAKeys( function signPublicKey (line 328) | function signPublicKey( FILE: server/lib/stoi.ts function stoi (line 1) | function stoi(val: any) { FILE: server/lib/telemetry.ts class TelemetryClient (line 14) | class TelemetryClient { method constructor (line 19) | constructor() { method startAnalyticsInterval (line 64) | private startAnalyticsInterval() { method anon (line 83) | private anon(value: string): string { method getSystemStats (line 90) | private async getSystemStats() { method sendStartupEvents (line 212) | private async sendStartupEvents() { method collectAndSendAnalytics (line 259) | private async collectAndSendAnalytics() { method sendTelemetry (line 333) | async sendTelemetry(eventName: string, properties: Record) { method shutdown (line 349) | shutdown() { function initTelemetryClient (line 363) | function initTelemetryClient() { FILE: server/lib/totp.ts function generateBackupCodes (line 3) | async function generateBackupCodes(): Promise { FILE: server/lib/traefik/TraefikConfigManager.ts class TraefikConfigManager (line 15) | class TraefikConfigManager { method constructor (line 32) | constructor() {} method scheduleNextExecution (line 37) | private scheduleNextExecution(): void { method start (line 56) | async start(): Promise { method stop (line 90) | stop(): void { method scanLocalCertificateState (line 108) | private async scanLocalCertificateState(): Promise< method shouldFetchCertificates (line 215) | private shouldFetchCertificates(currentDomains: Set): boolean { method HandleTraefikConfig (line 338) | public async HandleTraefikConfig(): Promise { method internalGetTraefikConfig (line 520) | private async internalGetTraefikConfig(): Promise<{ method writeTraefikDynamicConfig (line 629) | private async writeTraefikDynamicConfig(traefikConfig: any): Promise { method fileExists (line 1081) | private async fileExists(filePath: string): Promise { method forceCertificateRefresh (line 1093) | public async forceCertificateRefresh(): Promise { method getStatus (line 1103) | getStatus(): { function isDomainCoveredByWildcard (line 1150) | function isDomainCoveredByWildcard( FILE: server/lib/traefik/getTraefikConfig.ts type TargetWithSite (line 23) | type TargetWithSite = Target & { function getTraefikConfig (line 41) | async function getTraefikConfig( FILE: server/lib/traefik/middleware.ts function createPathRewriteMiddleware (line 3) | function createPathRewriteMiddleware( function escapeRegex (line 138) | function escapeRegex(string: string): string { FILE: server/lib/traefik/pathEncoding.test.ts function sanitize (line 5) | function sanitize(input: string | null | undefined): string | undefined { function encodePath (line 16) | function encodePath(path: string | null | undefined): string { function oldKeyComputation (line 29) | function oldKeyComputation( function newKeyComputation (line 49) | function newKeyComputation( function runTests (line 67) | function runTests() { FILE: server/lib/traefik/traefikConfig.test.ts function runTests (line 4) | function runTests() { FILE: server/lib/traefik/utils.ts function sanitize (line 3) | function sanitize(input: string | null | undefined): string | undefined { function encodePath (line 29) | function encodePath(path: string | null | undefined): string { function validatePathRewriteConfig (line 36) | function validatePathRewriteConfig( FILE: server/lib/userOrg.ts function assignUserToOrg (line 19) | async function assignUserToOrg( function removeUserFromOrg (line 56) | async function removeUserFromOrg( FILE: server/lib/validators.test.ts function runTests (line 4) | function runTests() { FILE: server/lib/validators.ts function isValidCIDR (line 4) | function isValidCIDR(cidr: string): boolean { function isValidIP (line 10) | function isValidIP(ip: string): boolean { function isValidUrlGlobPattern (line 14) | function isValidUrlGlobPattern(pattern: string): boolean { function isUrlValid (line 70) | function isUrlValid(url: string | undefined) { function isTargetValid (line 84) | function isTargetValid(value: string | undefined) { function isValidDomain (line 103) | function isValidDomain(domain: string): boolean { function validateHeaders (line 138) | function validateHeaders(headers: string): boolean { function isSecondLevelDomain (line 172) | function isSecondLevelDomain(domain: string): boolean { FILE: server/license/license.ts type LicenseKeyType (line 5) | type LicenseKeyType = (typeof keyTypes)[number]; type LicenseKeyTier (line 8) | type LicenseKeyTier = (typeof keyTiers)[number]; type LicenseStatus (line 10) | type LicenseStatus = { type LicenseKeyCache (line 21) | type LicenseKeyCache = { class License (line 33) | class License { method constructor (line 36) | constructor(private hostMeta: HostMeta) { } method check (line 38) | public async check(): Promise { method setServerSecret (line 46) | public setServerSecret(secret: string) { method isUnlocked (line 50) | public async isUnlocked() { FILE: server/middlewares/csrfProtection.ts function csrfProtectionMiddleware (line 3) | function csrfProtectionMiddleware( FILE: server/middlewares/getUserOrgs.ts function getUserOrgs (line 8) | async function getUserOrgs( FILE: server/middlewares/integration/verifyAccessTokenAccess.ts function verifyApiKeyAccessTokenAccess (line 8) | async function verifyApiKeyAccessTokenAccess( FILE: server/middlewares/integration/verifyApiKey.ts function verifyApiKey (line 10) | async function verifyApiKey( FILE: server/middlewares/integration/verifyApiKeyApiKeyAccess.ts function verifyApiKeyApiKeyAccess (line 8) | async function verifyApiKeyApiKeyAccess( FILE: server/middlewares/integration/verifyApiKeyClientAccess.ts function verifyApiKeyClientAccess (line 8) | async function verifyApiKeyClientAccess( FILE: server/middlewares/integration/verifyApiKeyDomainAccess.ts function verifyApiKeyDomainAccess (line 7) | async function verifyApiKeyDomainAccess( FILE: server/middlewares/integration/verifyApiKeyHasAction.ts function verifyApiKeyHasAction (line 10) | function verifyApiKeyHasAction(action: ActionsEnum) { FILE: server/middlewares/integration/verifyApiKeyIdpAccess.ts function verifyApiKeyIdpAccess (line 8) | async function verifyApiKeyIdpAccess( FILE: server/middlewares/integration/verifyApiKeyIsRoot.ts function verifyApiKeyIsRoot (line 6) | async function verifyApiKeyIsRoot( FILE: server/middlewares/integration/verifyApiKeyOrgAccess.ts function verifyApiKeyOrgAccess (line 8) | async function verifyApiKeyOrgAccess( FILE: server/middlewares/integration/verifyApiKeyResourceAccess.ts function verifyApiKeyResourceAccess (line 8) | async function verifyApiKeyResourceAccess( FILE: server/middlewares/integration/verifyApiKeyRoleAccess.ts function verifyApiKeyRoleAccess (line 9) | async function verifyApiKeyRoleAccess( FILE: server/middlewares/integration/verifyApiKeySetResourceClients.ts function verifyApiKeySetResourceClients (line 8) | async function verifyApiKeySetResourceClients( FILE: server/middlewares/integration/verifyApiKeySetResourceUsers.ts function verifyApiKeySetResourceUsers (line 8) | async function verifyApiKeySetResourceUsers( FILE: server/middlewares/integration/verifyApiKeySiteAccess.ts function verifyApiKeySiteAccess (line 8) | async function verifyApiKeySiteAccess( FILE: server/middlewares/integration/verifyApiKeySiteResourceAccess.ts function verifyApiKeySiteResourceAccess (line 8) | async function verifyApiKeySiteResourceAccess( FILE: server/middlewares/integration/verifyApiKeyTargetAccess.ts function verifyApiKeyTargetAccess (line 8) | async function verifyApiKeyTargetAccess( FILE: server/middlewares/integration/verifyApiKeyUserAccess.ts function verifyApiKeyUserAccess (line 8) | async function verifyApiKeyUserAccess( FILE: server/middlewares/logActionAudit.ts function logActionAudit (line 4) | function logActionAudit(action: ActionsEnum) { function cleanUpOldLogs (line 14) | async function cleanUpOldLogs(orgId: string, retentionDays: number) { FILE: server/middlewares/logIncoming.ts function logIncomingMiddleware (line 4) | function logIncomingMiddleware( FILE: server/middlewares/notFound.ts function notFoundMiddleware (line 5) | function notFoundMiddleware( FILE: server/middlewares/requestTimeout.ts function requestTimeoutMiddleware (line 6) | function requestTimeoutMiddleware(timeoutMs: number = 30000) { FILE: server/middlewares/verifyAccessTokenAccess.ts function verifyAccessTokenAccess (line 10) | async function verifyAccessTokenAccess( FILE: server/middlewares/verifyAdmin.ts function verifyAdmin (line 9) | async function verifyAdmin( FILE: server/middlewares/verifyApiKeyAccess.ts function verifyApiKeyAccess (line 9) | async function verifyApiKeyAccess( FILE: server/middlewares/verifyClientAccess.ts function verifyClientAccess (line 10) | async function verifyClientAccess( FILE: server/middlewares/verifyDomainAccess.ts function verifyDomainAccess (line 9) | async function verifyDomainAccess( FILE: server/middlewares/verifyIsLoggedInUser.ts function verifyIsLoggedInUser (line 5) | async function verifyIsLoggedInUser( FILE: server/middlewares/verifyLimits.ts function verifyLimits (line 7) | async function verifyLimits( FILE: server/middlewares/verifyOlmAccess.ts function verifyOlmAccess (line 7) | async function verifyOlmAccess( FILE: server/middlewares/verifyOrgAccess.ts function verifyOrgAccess (line 9) | async function verifyOrgAccess( FILE: server/middlewares/verifyResourceAccess.ts function verifyResourceAccess (line 9) | async function verifyResourceAccess( FILE: server/middlewares/verifyRoleAccess.ts function verifyRoleAccess (line 10) | async function verifyRoleAccess( FILE: server/middlewares/verifySetResourceClients.ts function verifySetResourceClients (line 9) | async function verifySetResourceClients( FILE: server/middlewares/verifySetResourceUsers.ts function verifySetResourceUsers (line 9) | async function verifySetResourceUsers( FILE: server/middlewares/verifySiteAccess.ts function verifySiteAccess (line 9) | async function verifySiteAccess( FILE: server/middlewares/verifySiteResourceAccess.ts function verifySiteResourceAccess (line 10) | async function verifySiteResourceAccess( FILE: server/middlewares/verifyTargetAccess.ts function verifyTargetAccess (line 10) | async function verifyTargetAccess( FILE: server/middlewares/verifyUserAccess.ts function verifyUserAccess (line 9) | async function verifyUserAccess( FILE: server/middlewares/verifyUserHasAction.ts function verifyUserHasAction (line 8) | function verifyUserHasAction(action: ActionsEnum) { FILE: server/middlewares/verifyUserInRole.ts function verifyUserInRole (line 6) | async function verifyUserInRole( FILE: server/middlewares/verifyUserIsOrgOwner.ts function verifyUserIsOrgOwner (line 8) | async function verifyUserIsOrgOwner( FILE: server/middlewares/verifyUserIsServerAdmin.ts function verifyUserIsServerAdmin (line 5) | async function verifyUserIsServerAdmin( FILE: server/nextServer.ts function createNextServer (line 10) | async function createNextServer() { FILE: server/openApi.ts type OpenAPITags (line 5) | enum OpenAPITags { FILE: server/private/auth/sessions/remoteExitNode.ts constant EXPIRES (line 25) | const EXPIRES = 1000 * 60 * 60 * 24 * 30; function createRemoteExitNodeSession (line 27) | async function createRemoteExitNodeSession( function validateRemoteExitNodeSessionToken (line 43) | async function validateRemoteExitNodeSessionToken( function invalidateRemoteExitNodeSession (line 85) | async function invalidateRemoteExitNodeSession( function invalidateAllRemoteExitNodeSessions (line 93) | async function invalidateAllRemoteExitNodeSessions( type SessionValidationResult (line 101) | type SessionValidationResult = FILE: server/private/cleanup.ts function cleanup (line 19) | async function cleanup() { function initCleanup (line 28) | async function initCleanup() { FILE: server/private/lib/billing/createCustomer.ts function createCustomer (line 19) | async function createCustomer( FILE: server/private/lib/billing/getOrgTierData.ts function getOrgTierData (line 20) | async function getOrgTierData( FILE: server/private/lib/cache.ts class AdaptiveCache (line 25) | class AdaptiveCache { method useRedis (line 26) | private useRedis(): boolean { method set (line 37) | async set(key: string, value: any, ttl?: number): Promise { method get (line 71) | async get(key: string): Promise { method del (line 104) | async del(key: string | string[]): Promise { method has (line 148) | async has(key: string): Promise { method mget (line 168) | async mget(keys: string[]): Promise<(T | undefined)[]> { method flushAll (line 196) | async flushAll(): Promise { method getStats (line 209) | getStats() { method getCurrentBackend (line 217) | getCurrentBackend(): "redis" | "local" { method take (line 226) | async take(key: string): Promise { method getTtl (line 239) | getTtl(key: string): number { method keys (line 256) | keys(): string[] { FILE: server/private/lib/certificates.ts function loadEncryptData (line 23) | function loadEncryptData() { type CertificateResult (line 33) | type CertificateResult = { function getValidCertificatesForDomains (line 44) | async function getValidCertificatesForDomains( function decryptFinalResults (line 180) | function decryptFinalResults( FILE: server/private/lib/checkOrgAccessPolicy.ts function enforceResourceSessionLength (line 24) | function enforceResourceSessionLength( function checkOrgAccessPolicy (line 53) | async function checkOrgAccessPolicy( FILE: server/private/lib/config.ts class PrivateConfig (line 23) | class PrivateConfig { method constructor (line 32) | constructor() { method getRawPrivateConfig (line 139) | public getRawPrivateConfig() { FILE: server/private/lib/exitNodes/exitNodeComms.ts type ExitNodeRequest (line 22) | interface ExitNodeRequest { function sendToExitNode (line 36) | async function sendToExitNode( FILE: server/private/lib/exitNodes/exitNodes.ts function checkExitNodeOnlineStatus (line 34) | async function checkExitNodeOnlineStatus( function verifyExitNodeOrgAccess (line 111) | async function verifyExitNodeOrgAccess( function listExitNodes (line 150) | async function listExitNodes( function selectBestExitNode (line 280) | function selectBestExitNode( function checkExitNodeOrg (line 355) | async function checkExitNodeOrg( function resolveExitNodes (line 378) | async function resolveExitNodes(hostname: string, publicKey: string) { FILE: server/private/lib/isLicencedOrSubscribed.ts function isLicensedOrSubscribed (line 19) | async function isLicensedOrSubscribed( FILE: server/private/lib/isSubscribed.ts function isSubscribed (line 18) | async function isSubscribed( FILE: server/private/lib/lock.ts class LockManager (line 21) | class LockManager { method acquireLock (line 28) | async acquireLock( method releaseLock (line 110) | async releaseLock(lockKey: string): Promise { method forceReleaseLock (line 160) | async forceReleaseLock(lockKey: string): Promise { method getLockInfo (line 182) | async getLockInfo(lockKey: string): Promise<{ method extendLock (line 226) | async extendLock(lockKey: string, ttlMs: number): Promise { method acquireLockWithRetry (line 279) | async acquireLockWithRetry( method withLock (line 317) | async withLock( method getLockStatistics (line 344) | async getLockStatistics(): Promise<{ method disconnect (line 380) | async disconnect(): Promise { FILE: server/private/lib/logAccessAudit.ts function getAccessDays (line 22) | async function getAccessDays(orgId: string): Promise { function cleanUpOldLogs (line 51) | async function cleanUpOldLogs(orgId: string, retentionDays: number) { function logAccessAudit (line 72) | async function logAccessAudit(data: { function getCountryCodeFromIp (line 146) | async function getCountryCodeFromIp(ip: string): Promise { method cleanupLocalRateLimit (line 505) | private async cleanupLocalRateLimit(): Promise { method forceSyncAllPendingData (line 544) | async forceSyncAllPendingData(): Promise { method cleanup (line 578) | async cleanup(): Promise { FILE: server/private/lib/rateLimitStore.ts function createStore (line 19) | function createStore(): Store { FILE: server/private/lib/readConfigFile.ts function readPrivateConfigFile (line 205) | function readPrivateConfigFile() { FILE: server/private/lib/redis.ts class RedisManager (line 19) | class RedisManager { method constructor (line 44) | constructor() { method onReconnection (line 57) | public onReconnection(callback: () => Promise): void { method offReconnection (line 62) | public offReconnection(callback: () => Promise): void { method triggerReconnectionCallbacks (line 66) | private async triggerReconnectionCallbacks(): Promise { method resubscribeToChannels (line 84) | private async resubscribeToChannels(): Promise { method getRedisConfig (line 104) | private getRedisConfig(): RedisOptions { method getReplicaRedisConfig (line 123) | private getReplicaRedisConfig(): RedisOptions | null { method initializeClients (line 150) | private initializeClients(): void { method updateOverallHealth (line 337) | private updateOverallHealth(): void { method executeWithRetry (line 343) | private async executeWithRetry( method startHealthMonitoring (line 401) | private startHealthMonitoring(): void { method isRedisEnabled (line 414) | public isRedisEnabled(): boolean { method checkRedisHealth (line 418) | private async checkRedisHealth(): Promise { method getClient (line 495) | public getClient(): Redis { method getWriteClient (line 499) | public getWriteClient(): Redis | null { method getReadClient (line 503) | public getReadClient(): Redis | null { method hasReplicaSupport (line 507) | public hasReplicaSupport(): boolean { method getHealthStatus (line 511) | public getHealthStatus(): { method set (line 527) | public async set( method get (line 549) | public async get(key: string): Promise { method del (line 569) | public async del(key: string): Promise { method incr (line 584) | public async incr(key: string): Promise { method sadd (line 598) | public async sadd(key: string, member: string): Promise { method srem (line 613) | public async srem(key: string, member: string): Promise { method smembers (line 628) | public async smembers(key: string): Promise { method hset (line 648) | public async hset( method hget (line 667) | public async hget(key: string, field: string): Promise { method hdel (line 687) | public async hdel(key: string, field: string): Promise { method hgetall (line 702) | public async hgetall(key: string): Promise> { method publish (line 722) | public async publish(channel: string, message: string): Promise { FILE: server/private/lib/redisStore.ts class RedisStore (line 29) | class RedisStore implements Store { method constructor (line 60) | constructor( method init (line 77) | init(options: Options): void { method increment (line 90) | async increment(key: string): Promise { method decrement (line 126) | async decrement(key: string): Promise { method resetKey (line 143) | async resetKey(key: string): Promise { method resetAll (line 162) | async resetAll(): Promise { method getHits (line 189) | async getHits( method shutdown (line 223) | async shutdown(): Promise { FILE: server/private/lib/traefik/getTraefikConfig.ts type TargetWithSite (line 55) | type TargetWithSite = Target & { function getTraefikConfig (line 73) | async function getTraefikConfig( FILE: server/private/license/license.ts type ActivateLicenseKeyAPIResponse (line 30) | type ActivateLicenseKeyAPIResponse = { type ValidateLicenseAPIResponse (line 40) | type ValidateLicenseAPIResponse = { type TokenPayload (line 52) | type TokenPayload = { class License (line 62) | class License { method constructor (line 87) | constructor(private hostMeta: HostMeta) { method listKeys (line 95) | public listKeys(): LicenseKeyCache[] { method setServerSecret (line 102) | public setServerSecret(secret: string) { method forceRecheck (line 106) | public async forceRecheck() { method isUnlocked (line 114) | public async isUnlocked(): Promise { method check (line 124) | public async check(): Promise { method activateLicenseKey (line 389) | public async activateLicenseKey(key: string) { method phoneHome (line 495) | private async phoneHome( FILE: server/private/license/licenseJwt.ts function validateJWT (line 22) | function validateJWT(token: string, publicKey: string): Payload { function verify (line 60) | function verify( function base64URLToBase64 (line 104) | function base64URLToBase64(base64url: string): string { FILE: server/private/middlewares/logActionAudit.ts function getActionDays (line 24) | async function getActionDays(orgId: string): Promise { function cleanUpOldLogs (line 53) | async function cleanUpOldLogs(orgId: string, retentionDays: number) { function logActionAudit (line 74) | function logActionAudit(action: ActionsEnum) { FILE: server/private/middlewares/verifyCertificateAccess.ts function verifyCertificateAccess (line 23) | async function verifyCertificateAccess( FILE: server/private/middlewares/verifyIdpAccess.ts function verifyIdpAccess (line 20) | async function verifyIdpAccess( FILE: server/private/middlewares/verifyLoginPageAccess.ts function verifyLoginPageAccess (line 20) | async function verifyLoginPageAccess( FILE: server/private/middlewares/verifyRemoteExitNodeAccess.ts function verifyRemoteExitNodeAccess (line 21) | async function verifyRemoteExitNodeAccess( FILE: server/private/middlewares/verifySubscription.ts function verifyValidSubscription (line 21) | function verifyValidSubscription(tiers: Tier[]) { FILE: server/private/middlewares/verifyValidLicense.ts function verifyValidLicense (line 20) | async function verifyValidLicense( FILE: server/private/routers/approvals/countApprovals.ts type CountApprovalsResponse (line 37) | type CountApprovalsResponse = { function countApprovals (line 41) | async function countApprovals( FILE: server/private/routers/approvals/listApprovals.ts function queryApprovals (line 72) | async function queryApprovals({ type ListApprovalsResponse (line 227) | type ListApprovalsResponse = { function listApprovals (line 239) | async function listApprovals( FILE: server/private/routers/approvals/processPendingApproval.ts type ProcessApprovalResponse (line 34) | type ProcessApprovalResponse = Approval; function processPendingApproval (line 36) | async function processPendingApproval( FILE: server/private/routers/auditLogs/exportAccessAuditLog.ts function exportAccessAuditLogs (line 43) | async function exportAccessAuditLogs( FILE: server/private/routers/auditLogs/exportActionAuditLog.ts function exportActionAuditLogs (line 43) | async function exportActionAuditLogs( FILE: server/private/routers/auditLogs/queryAccessAuditLog.ts type Q (line 94) | type Q = z.infer; function getWhere (line 96) | function getWhere(data: Q) { function queryAccess (line 117) | function queryAccess(data: Q) { function enrichWithResourceDetails (line 138) | async function enrichWithResourceDetails(logs: Awaited; function getWhere (line 85) | function getWhere(data: Q) { function queryAction (line 99) | function queryAction(data: Q) { function countActionQuery (line 115) | function countActionQuery(data: Q) { function queryUniqueFilterAttributes (line 123) | async function queryUniqueFilterAttributes( function queryActionAuditLogs (line 171) | async function queryActionAuditLogs( FILE: server/private/routers/auth/getSessionTransferToken.ts type GetSessionTransferTokenRenponse (line 33) | type GetSessionTransferTokenRenponse = { function getSessionTransferToken (line 37) | async function getSessionTransferToken( FILE: server/private/routers/auth/transferSession.ts type TransferSessionBodySchema (line 35) | type TransferSessionBodySchema = z.infer; function transferSession (line 37) | async function transferSession( FILE: server/private/routers/billing/changeTier.ts function changeTier (line 41) | async function changeTier( FILE: server/private/routers/billing/createCheckoutSession.ts function createCheckoutSession (line 41) | async function createCheckoutSession( FILE: server/private/routers/billing/createPortalSession.ts function createPortalSession (line 30) | async function createPortalSession( FILE: server/private/routers/billing/featureLifecycle.ts function getMaxRetentionDaysForTier (line 37) | function getMaxRetentionDaysForTier(tier: Tier | null): number | null { function capRetentionDays (line 59) | async function capRetentionDays( function handleTierChange (line 132) | async function handleTierChange( function handleTierChangeForOrg (line 161) | async function handleTierChangeForOrg( function disableFeature (line 228) | async function disableFeature( function disableOrgOidc (line 312) | async function disableOrgOidc(orgId: string): Promise {} function disableDeviceApprovals (line 314) | async function disableDeviceApprovals(orgId: string): Promise { function disableSshPam (line 323) | async function disableSshPam(orgId: string): Promise { function disableLoginPageBranding (line 329) | async function disableLoginPageBranding(orgId: string): Promise { function disableLoginPageDomain (line 349) | async function disableLoginPageDomain(orgId: string): Promise { function disableLogExport (line 375) | async function disableLogExport(orgId: string): Promise {} function disableAccessLogs (line 377) | async function disableAccessLogs(orgId: string): Promise { function disableActionLogs (line 386) | async function disableActionLogs(orgId: string): Promise { function disableRotateCredentials (line 395) | async function disableRotateCredentials(orgId: string): Promise {} function disableMaintencePage (line 397) | async function disableMaintencePage(orgId: string): Promise { function disableDevicePosture (line 408) | async function disableDevicePosture(orgId: string): Promise {} function disableTwoFactorEnforcement (line 410) | async function disableTwoFactorEnforcement(orgId: string): Promise { function disableSessionDurationPolicies (line 419) | async function disableSessionDurationPolicies(orgId: string): Promise { FILE: server/private/routers/billing/getOrgSubscriptions.ts function getOrgSubscriptions (line 42) | async function getOrgSubscriptions( function getOrgSubscriptionsData (line 102) | async function getOrgSubscriptionsData( FILE: server/private/routers/billing/getOrgUsage.ts function getOrgUsage (line 45) | async function getOrgUsage( FILE: server/private/routers/billing/hooks/getSubType.ts type SubscriptionType (line 25) | type SubscriptionType = Tier | "license"; function getSubType (line 27) | function getSubType(fullSubscription: Stripe.Response { function listSaasLicenseKeys (line 52) | async function listSaasLicenseKeys( FILE: server/private/routers/gerbil/createExitNode.ts function createExitNode (line 21) | async function createExitNode( FILE: server/private/routers/hybrid.ts type GetResourceByDomainParams (line 161) | type GetResourceByDomainParams = z.infer< type GetUserSessionParams (line 164) | type GetUserSessionParams = z.infer; type GetUserOrgRoleParams (line 165) | type GetUserOrgRoleParams = z.infer; type GetRoleResourceAccessParams (line 166) | type GetRoleResourceAccessParams = z.infer< type GetUserResourceAccessParams (line 169) | type GetUserResourceAccessParams = z.infer< type GetResourceRulesParams (line 172) | type GetResourceRulesParams = z.infer< type ValidateResourceSessionTokenParams (line 175) | type ValidateResourceSessionTokenParams = z.infer< type ValidateResourceSessionTokenBody (line 178) | type ValidateResourceSessionTokenBody = z.infer< type ResourceWithAuth (line 183) | type ResourceWithAuth = { type UserSessionWithUser (line 192) | type UserSessionWithUser = { function loadEncryptData (line 275) | function loadEncryptData() { FILE: server/private/routers/license/activateLicense.ts function activateLicense (line 27) | async function activateLicense( FILE: server/private/routers/license/deleteLicenseKey.ts function deleteLicenseKey (line 30) | async function deleteLicenseKey( FILE: server/private/routers/license/getLicenseStatus.ts function getLicenseStatus (line 22) | async function getLicenseStatus( FILE: server/private/routers/license/listLicenseKeys.ts function listLicenseKeys (line 22) | async function listLicenseKeys( FILE: server/private/routers/license/recheckStatus.ts function recheckStatus (line 21) | async function recheckStatus( FILE: server/private/routers/loginPage/createLoginPage.ts type CreateLoginPageBody (line 45) | type CreateLoginPageBody = z.infer; function createLoginPage (line 47) | async function createLoginPage( FILE: server/private/routers/loginPage/deleteLoginPage.ts function deleteLoginPage (line 32) | async function deleteLoginPage( FILE: server/private/routers/loginPage/deleteLoginPageBranding.ts function deleteLoginPageBranding (line 36) | async function deleteLoginPageBranding( FILE: server/private/routers/loginPage/getLoginPage.ts function query (line 29) | async function query(orgId: string) { function getLoginPage (line 42) | async function getLoginPage( FILE: server/private/routers/loginPage/getLoginPageBranding.ts function getLoginPageBranding (line 34) | async function getLoginPageBranding( FILE: server/private/routers/loginPage/loadLoginPage.ts function query (line 32) | async function query(orgId: string | undefined, fullDomain: string) { function loadLoginPage (line 84) | async function loadLoginPage( FILE: server/private/routers/loginPage/loadLoginPageBranding.ts function query (line 29) | async function query(orgId: string) { function loadLoginPageBranding (line 63) | async function loadLoginPageBranding( FILE: server/private/routers/loginPage/updateLoginPage.ts type UpdateLoginPageBody (line 56) | type UpdateLoginPageBody = z.infer; function updateLoginPage (line 58) | async function updateLoginPage( FILE: server/private/routers/loginPage/upsertLoginPageBranding.ts type UpdateLoginPageBrandingBody (line 122) | type UpdateLoginPageBrandingBody = z.infer; function upsertLoginPageBranding (line 124) | async function upsertLoginPageBranding( FILE: server/private/routers/misc/sendSupportEmail.ts function sendSupportEmail (line 30) | async function sendSupportEmail( FILE: server/private/routers/org/sendUsageNotifications.ts type SendUsageNotificationRequest (line 41) | type SendUsageNotificationRequest = z.infer< type SendUsageNotificationResponse (line 45) | type SendUsageNotificationResponse = { function getOrgAdmins (line 83) | async function getOrgAdmins(orgId: string) { function sendUsageNotification (line 114) | async function sendUsageNotification( FILE: server/private/routers/orgIdp/createOrgOidcIdp.ts function createOrgOidcIdp (line 69) | async function createOrgOidcIdp( FILE: server/private/routers/orgIdp/deleteOrgIdp.ts function deleteOrgIdp (line 45) | async function deleteOrgIdp( FILE: server/private/routers/orgIdp/getOrgIdp.ts function query (line 37) | async function query(idpId: number, orgId: string) { function getOrgIdp (line 62) | async function getOrgIdp( FILE: server/private/routers/orgIdp/listOrgIdps.ts function query (line 46) | async function query(orgId: string, limit: number, offset: number) { function listOrgIdps (line 78) | async function listOrgIdps( FILE: server/private/routers/orgIdp/updateOrgOidcIdp.ts type UpdateOrgIdpResponse (line 54) | type UpdateOrgIdpResponse = { function updateOrgOidcIdp (line 76) | async function updateOrgOidcIdp( FILE: server/private/routers/re-key/reGenerateClientSecret.ts type ReGenerateSecretBody (line 40) | type ReGenerateSecretBody = z.infer; function reGenerateClientSecret (line 42) | async function reGenerateClientSecret( FILE: server/private/routers/re-key/reGenerateExitNodeSecret.ts function reGenerateExitNodeSecret (line 45) | async function reGenerateExitNodeSecret( FILE: server/private/routers/re-key/reGenerateSiteSecret.ts function reGenerateSiteSecret (line 40) | async function reGenerateSiteSecret( FILE: server/private/routers/remoteExitNode/createRemoteExitNode.ts type CreateRemoteExitNodeBody (line 50) | type CreateRemoteExitNodeBody = z.infer; function createRemoteExitNode (line 52) | async function createRemoteExitNode( FILE: server/private/routers/remoteExitNode/deleteRemoteExitNode.ts function deleteRemoteExitNode (line 32) | async function deleteRemoteExitNode( FILE: server/private/routers/remoteExitNode/getRemoteExitNode.ts function query (line 31) | async function query(remoteExitNodeId: string) { function getRemoteExitNode (line 54) | async function getRemoteExitNode( FILE: server/private/routers/remoteExitNode/getRemoteExitNodeToken.ts function getRemoteExitNodeToken (line 38) | async function getRemoteExitNodeToken( FILE: server/private/routers/remoteExitNode/handleRemoteExitNodePingMessage.ts constant OFFLINE_CHECK_INTERVAL (line 22) | const OFFLINE_CHECK_INTERVAL = 30 * 1000; constant OFFLINE_THRESHOLD_MS (line 23) | const OFFLINE_THRESHOLD_MS = 2 * 60 * 1000; FILE: server/private/routers/remoteExitNode/listRemoteExitNodes.ts function queryRemoteExitNodes (line 45) | function queryRemoteExitNodes(orgId: string) { function listRemoteExitNodes (line 67) | async function listRemoteExitNodes( FILE: server/private/routers/remoteExitNode/pickRemoteExitNodeDefaults.ts function pickRemoteExitNodeDefaults (line 28) | async function pickRemoteExitNodeDefaults( FILE: server/private/routers/remoteExitNode/quickStartRemoteExitNode.ts constant INSTALLER_KEY (line 29) | const INSTALLER_KEY = "af4e4785-7e09-11f0-b93a-74563c4e2a7e"; function quickStartRemoteExitNode (line 35) | async function quickStartRemoteExitNode( FILE: server/private/routers/resource/getMaintenanceInfo.ts function query (line 33) | async function query(fullDomain: string) { function getMaintenanceInfo (line 71) | async function getMaintenanceInfo( FILE: server/private/routers/ssh/signSshKey.ts type SignSshKeyResponse (line 63) | type SignSshKeyResponse = { function signSshKey (line 95) | async function signSshKey( FILE: server/private/routers/ws/ws.ts constant MAX_PENDING_MESSAGES (line 56) | const MAX_PENDING_MESSAGES = 50; constant NODE_ID (line 191) | const NODE_ID = uuidv4(); constant REDIS_CHANNEL (line 192) | const REDIS_CHANNEL = "websocket_messages"; constant PING_DB_WRITE_INTERVAL (line 204) | const PING_DB_WRITE_INTERVAL = 45; FILE: server/routers/accessToken/deleteAccessToken.ts function deleteAccessToken (line 28) | async function deleteAccessToken( FILE: server/routers/accessToken/generateAccessToken.ts type GenerateAccessTokenResponse (line 37) | type GenerateAccessTokenResponse = Omit< function generateAccessToken (line 60) | async function generateAccessToken( FILE: server/routers/accessToken/listAccessTokens.ts function queryAccessTokens (line 49) | function queryAccessTokens( type ListAccessTokensResponse (line 116) | type ListAccessTokensResponse = { function listAccessTokens (line 149) | async function listAccessTokens( FILE: server/routers/apiKeys/createOrgApiKey.ts type CreateOrgApiKeyBody (line 26) | type CreateOrgApiKeyBody = z.infer; type CreateOrgApiKeyResponse (line 28) | type CreateOrgApiKeyResponse = { function createOrgApiKey (line 54) | async function createOrgApiKey( FILE: server/routers/apiKeys/createRootApiKey.ts type CreateRootApiKeyBody (line 21) | type CreateRootApiKeyBody = z.infer; type CreateRootApiKeyResponse (line 23) | type CreateRootApiKeyResponse = { function createRootApiKey (line 31) | async function createRootApiKey( FILE: server/routers/apiKeys/deleteApiKey.ts function deleteApiKey (line 28) | async function deleteApiKey( FILE: server/routers/apiKeys/deleteOrgApiKey.ts function deleteOrgApiKey (line 17) | async function deleteOrgApiKey( FILE: server/routers/apiKeys/getApiKey.ts function query (line 16) | async function query(apiKeyId: string) { type GetApiKeyResponse (line 30) | type GetApiKeyResponse = NonNullable< function getApiKey (line 34) | async function getApiKey( FILE: server/routers/apiKeys/listApiKeyActions.ts function queryActions (line 32) | function queryActions(apiKeyId: string) { type ListApiKeyActionsResponse (line 42) | type ListApiKeyActionsResponse = { function listApiKeyActions (line 59) | async function listApiKeyActions( FILE: server/routers/apiKeys/listOrgApiKeys.ts function queryApiKeys (line 32) | function queryApiKeys(orgId: string) { type ListOrgApiKeysResponse (line 46) | type ListOrgApiKeysResponse = { function listOrgApiKeys (line 63) | async function listOrgApiKeys( FILE: server/routers/apiKeys/listRootApiKeys.ts function queryApiKeys (line 27) | function queryApiKeys() { type ListRootApiKeysResponse (line 39) | type ListRootApiKeysResponse = { function listRootApiKeys (line 44) | async function listRootApiKeys( FILE: server/routers/apiKeys/setApiKeyActions.ts function setApiKeyActions (line 42) | async function setApiKeyActions( FILE: server/routers/apiKeys/setApiKeyOrgs.ts function setApiKeyOrgs (line 22) | async function setApiKeyOrgs( FILE: server/routers/auditLogs/exportRequestAuditLog.ts constant MAX_EXPORT_LIMIT (line 17) | const MAX_EXPORT_LIMIT = 50_000; function exportRequestAuditLogs (line 34) | async function exportRequestAuditLogs( FILE: server/routers/auditLogs/generateCSV.ts function generateCSV (line 1) | function generateCSV(data: any[]): string { FILE: server/routers/auditLogs/queryRequestAnalytics.ts type Q (line 61) | type Q = z.infer; function query (line 63) | async function query(query: Q) { type QueryRequestAnalyticsResponse (line 162) | type QueryRequestAnalyticsResponse = Awaited>; function queryRequestAnalytics (line 164) | async function queryRequestAnalytics( FILE: server/routers/auditLogs/queryRequestAuditLog.ts type Q (line 87) | type Q = z.infer; function getWhere (line 89) | function getWhere(data: Q) { function queryRequest (line 109) | function queryRequest(data: Q) { function enrichWithResourceDetails (line 139) | async function enrichWithResourceDetails(logs: Awaited; type ChangePasswordResponse (line 30) | type ChangePasswordResponse = { function invalidateAllSessionsExceptCurrent (line 34) | async function invalidateAllSessionsExceptCurrent( function changePassword (line 76) | async function changePassword( FILE: server/routers/auth/checkResourceSession.ts type CheckResourceSessionParams (line 15) | type CheckResourceSessionParams = z.infer; type CheckResourceSessionResponse (line 17) | type CheckResourceSessionResponse = { function checkResourceSession (line 21) | async function checkResourceSession( FILE: server/routers/auth/deleteMyAccount.ts type DeleteMyAccountPreviewResponse (line 31) | type DeleteMyAccountPreviewResponse = { type DeleteMyAccountCodeRequestedResponse (line 37) | type DeleteMyAccountCodeRequestedResponse = { type DeleteMyAccountSuccessResponse (line 41) | type DeleteMyAccountSuccessResponse = { function deleteMyAccount (line 45) | async function deleteMyAccount( FILE: server/routers/auth/disable2fa.ts type Disable2faBody (line 24) | type Disable2faBody = z.infer; type Disable2faResponse (line 26) | type Disable2faResponse = { function disable2fa (line 30) | async function disable2fa( FILE: server/routers/auth/initialSetupComplete.ts type InitialSetupCompleteResponse (line 9) | type InitialSetupCompleteResponse = { function initialSetupComplete (line 13) | async function initialSetupComplete( FILE: server/routers/auth/login.ts type LoginBody (line 32) | type LoginBody = z.infer; type LoginResponse (line 34) | type LoginResponse = { function login (line 41) | async function login( FILE: server/routers/auth/logout.ts function logout (line 13) | async function logout( FILE: server/routers/auth/lookupUser.ts type LookupUserResponse (line 25) | type LookupUserResponse = { function lookupUser (line 57) | async function lookupUser( FILE: server/routers/auth/pollDeviceWebAuth.ts type PollDeviceWebAuthParams (line 19) | type PollDeviceWebAuthParams = z.infer; function hashDeviceCode (line 22) | function hashDeviceCode(code: string): string { type PollDeviceWebAuthResponse (line 26) | type PollDeviceWebAuthResponse = { function pollDeviceWebAuth (line 31) | async function pollDeviceWebAuth( FILE: server/routers/auth/requestEmailVerificationCode.ts type RequestEmailVerificationCodeResponse (line 11) | type RequestEmailVerificationCodeResponse = { function requestEmailVerificationCode (line 15) | async function requestEmailVerificationCode( FILE: server/routers/auth/requestPasswordReset.ts type RequestPasswordResetBody (line 24) | type RequestPasswordResetBody = z.infer; type RequestPasswordResetResponse (line 26) | type RequestPasswordResetResponse = { function requestPasswordReset (line 30) | async function requestPasswordReset( function randomDelay (line 143) | async function randomDelay(maxDelayMs: number) { FILE: server/routers/auth/requestTotpSecret.ts type RequestTotpSecretBody (line 24) | type RequestTotpSecretBody = z.infer; type RequestTotpSecretResponse (line 26) | type RequestTotpSecretResponse = { function requestTotpSecret (line 31) | async function requestTotpSecret( FILE: server/routers/auth/resetPassword.ts type ResetPasswordBody (line 27) | type ResetPasswordBody = z.infer; type ResetPasswordResponse (line 29) | type ResetPasswordResponse = { function resetPassword (line 33) | async function resetPassword( FILE: server/routers/auth/securityKey.ts function storeChallenge (line 68) | async function storeChallenge( function getChallenge (line 91) | async function getChallenge(sessionId: string) { function clearChallenge (line 113) | async function clearChallenge(sessionId: string) { function startRegistration (line 142) | async function startRegistration( function verifyRegistration (line 268) | async function verifyRegistration( function listSecurityKeys (line 363) | async function listSecurityKeys( function deleteSecurityKey (line 404) | async function deleteSecurityKey( function startAuthentication (line 506) | async function startAuthentication( function verifyAuthentication (line 608) | async function verifyAuthentication( FILE: server/routers/auth/setServerAdmin.ts type SetServerAdminBody (line 22) | type SetServerAdminBody = z.infer; type SetServerAdminResponse (line 24) | type SetServerAdminResponse = null; function setServerAdmin (line 26) | async function setServerAdmin( FILE: server/routers/auth/signup.ts type SignUpBody (line 36) | type SignUpBody = z.infer; type SignUpResponse (line 38) | type SignUpResponse = { function signup (line 42) | async function signup( FILE: server/routers/auth/startDeviceWebAuth.ts type StartDeviceWebAuthBody (line 24) | type StartDeviceWebAuthBody = z.infer; type StartDeviceWebAuthResponse (line 26) | type StartDeviceWebAuthResponse = { function generateDeviceCode (line 32) | function generateDeviceCode(): string { function hashDeviceCode (line 39) | function hashDeviceCode(code: string): string { function getCityFromIp (line 44) | async function getCityFromIp(ip: string): Promise { function startDeviceWebAuth (line 66) | async function startDeviceWebAuth( FILE: server/routers/auth/types.ts type TransferSessionResponse (line 1) | type TransferSessionResponse = { type GetSessionTransferTokenRenponse (line 6) | type GetSessionTransferTokenRenponse = { FILE: server/routers/auth/validateSetupToken.ts type ValidateSetupTokenResponse (line 15) | type ValidateSetupTokenResponse = { function validateSetupToken (line 20) | async function validateSetupToken( FILE: server/routers/auth/verifyDeviceWebAuth.ts function hashDeviceCode (line 23) | function hashDeviceCode(code: string): string { type VerifyDeviceWebAuthBody (line 27) | type VerifyDeviceWebAuthBody = z.infer; type VerifyDeviceWebAuthResponse (line 29) | type VerifyDeviceWebAuthResponse = { function verifyDeviceWebAuth (line 41) | async function verifyDeviceWebAuth( FILE: server/routers/auth/verifyEmail.ts type VerifyEmailBody (line 20) | type VerifyEmailBody = z.infer; type VerifyEmailResponse (line 22) | type VerifyEmailResponse = { function verifyEmail (line 26) | async function verifyEmail( function isValidCode (line 126) | async function isValidCode(user: User, code: string): Promise { FILE: server/routers/auth/verifyTotp.ts type VerifyTotpBody (line 27) | type VerifyTotpBody = z.infer; type VerifyTotpResponse (line 29) | type VerifyTotpResponse = { function verifyTotp (line 34) | async function verifyTotp( FILE: server/routers/badger/exchangeSession.ts type ExchangeSessionBodySchema (line 30) | type ExchangeSessionBodySchema = z.infer< type ExchangeSessionResponse (line 34) | type ExchangeSessionResponse = { function exchangeSession (line 39) | async function exchangeSession( FILE: server/routers/badger/logRequestAudit.ts constant BATCH_SIZE (line 50) | const BATCH_SIZE = 100; constant BATCH_INTERVAL_MS (line 51) | const BATCH_INTERVAL_MS = 5000; constant MAX_BUFFER_SIZE (line 52) | const MAX_BUFFER_SIZE = 10000; function flushAuditLogs (line 59) | async function flushAuditLogs() { function scheduleFlush (line 105) | function scheduleFlush() { function shutdownAuditLogger (line 119) | async function shutdownAuditLogger() { function getRetentionDays (line 131) | async function getRetentionDays(orgId: string): Promise { function cleanUpOldLogs (line 161) | async function cleanUpOldLogs(orgId: string, retentionDays: number) { function logRequestAudit (line 182) | async function logRequestAudit( FILE: server/routers/badger/verifySession.test.ts function isPathAllowed (line 3) | function isPathAllowed(pattern: string, path: string): boolean { function runTests (line 73) | function runTests() { FILE: server/routers/badger/verifySession.ts type VerifyResourceSessionSchema (line 59) | type VerifyResourceSessionSchema = z.infer< type BasicUserData (line 63) | type BasicUserData = { type VerifyUserResponse (line 70) | type VerifyUserResponse = { function verifyResourceSession (line 78) | async function verifyResourceSession( function extractResourceSessionToken (line 750) | function extractResourceSessionToken( function notAllowed (line 793) | async function notAllowed( function allowed (line 836) | function allowed(res: Response, userData?: BasicUserData) { function headerAuthChallenged (line 850) | async function headerAuthChallenged( function isUserAllowedToAccessResource (line 895) | async function isUserAllowedToAccessResource( function checkRules (line 968) | async function checkRules( function isPathAllowed (line 1029) | function isPathAllowed(pattern: string, path: string): boolean { function isIpInGeoIP (line 1167) | async function isIpInGeoIP( function isIpInAsn (line 1178) | async function isIpInAsn( function getAsnFromIp (line 1208) | async function getAsnFromIp(ip: string): Promise { function getCountryCodeFromIp (line 1224) | async function getCountryCodeFromIp(ip: string): Promise & { FILE: server/routers/certificates/createCertificate.ts function createCertificate (line 3) | async function createCertificate( FILE: server/routers/certificates/types.ts type GetCertificateResponse (line 1) | type GetCertificateResponse = { FILE: server/routers/client/archiveClient.ts function archiveClient (line 28) | async function archiveClient( FILE: server/routers/client/blockClient.ts function blockClient (line 30) | async function blockClient( FILE: server/routers/client/createClient.ts type CreateClientBody (line 43) | type CreateClientBody = z.infer; type CreateClientResponse (line 45) | type CreateClientResponse = Client; function createClient (line 65) | async function createClient( FILE: server/routers/client/createUserClient.ts type CreateClientAndOlmBody (line 43) | type CreateClientAndOlmBody = z.infer; type CreateClientAndOlmResponse (line 45) | type CreateClientAndOlmResponse = Client; function createUserClient (line 66) | async function createUserClient( FILE: server/routers/client/deleteClient.ts function deleteClient (line 31) | async function deleteClient( FILE: server/routers/client/getClient.ts function query (line 29) | async function query(clientId?: number, niceId?: string, orgId?: string) { type PostureData (line 59) | type PostureData = { function maskPostureDataWithPlaceholder (line 73) | function maskPostureDataWithPlaceholder(posture: PostureData): PostureDa... function getPlatformPostureData (line 83) | function getPlatformPostureData( type GetClientResponse (line 217) | type GetClientResponse = NonNullable< function getClient (line 269) | async function getClient( FILE: server/routers/client/listClients.ts function getLatestOlmVersion (line 39) | async function getLatestOlmVersion(): Promise { function queryClientsBase (line 175) | function queryClientsBase() { function getSiteAssociations (line 206) | async function getSiteAssociations(clientIds: number[]) { type ClientWithSites (line 221) | type ClientWithSites = Awaited>[0] & { type OlmWithUpdateAvailable (line 230) | type OlmWithUpdateAvailable = ClientWithSites; type ListClientsResponse (line 232) | type ListClientsResponse = PaginatedResponse<{ function listClients (line 248) | async function listClients( FILE: server/routers/client/listUserDevices.ts function getLatestOlmVersion (line 40) | async function getLatestOlmVersion(): Promise { function queryUserDevicesBase (line 206) | function queryUserDevicesBase() { type OlmWithUpdateAvailable (line 245) | type OlmWithUpdateAvailable = Awaited< type ListUserDevicesResponse (line 251) | type ListUserDevicesResponse = PaginatedResponse<{ function listUserDevices (line 267) | async function listUserDevices( FILE: server/routers/client/pickClientDefaults.ts type PickClientDefaultsResponse (line 12) | type PickClientDefaultsResponse = { function pickClientDefaults (line 33) | async function pickClientDefaults( FILE: server/routers/client/targets.ts function addTargets (line 8) | async function addTargets( function removeTargets (line 23) | async function removeTargets( function updateTargets (line 38) | async function updateTargets( function addPeerData (line 61) | async function addPeerData( function removePeerData (line 98) | async function removePeerData( function updatePeerData (line 135) | async function updatePeerData( FILE: server/routers/client/terminate.ts function sendTerminateClient (line 6) | async function sendTerminateClient( FILE: server/routers/client/unarchiveClient.ts function unarchiveClient (line 28) | async function unarchiveClient( FILE: server/routers/client/unblockClient.ts function unblockClient (line 28) | async function unblockClient( FILE: server/routers/client/updateClient.ts type UpdateClientBody (line 22) | type UpdateClientBody = z.infer; function updateClient (line 42) | async function updateClient( FILE: server/routers/domain/createOrgDomain.ts type CreateDomainResponse (line 36) | type CreateDomainResponse = { function isSubdomainOrEqual (line 47) | function isSubdomainOrEqual(a: string, b: string): boolean { function createOrgDomain (line 54) | async function createOrgDomain( FILE: server/routers/domain/deleteOrgDomain.ts type DeleteAccountDomainResponse (line 18) | type DeleteAccountDomainResponse = { function deleteAccountDomain (line 22) | async function deleteAccountDomain( FILE: server/routers/domain/getDNSRecords.ts function query (line 18) | async function query(domainId: string) { type GetDNSRecordsResponse (line 27) | type GetDNSRecordsResponse = Awaited>; function getDNSRecords (line 43) | async function getDNSRecords( FILE: server/routers/domain/getDomain.ts function query (line 18) | async function query(domainId?: string, orgId?: string) { type GetDomainResponse (line 29) | type GetDomainResponse = NonNullable>>; function getDomain (line 45) | async function getDomain( FILE: server/routers/domain/listDomains.ts function queryDomains (line 32) | async function queryDomains(orgId: string, limit: number, offset: number) { type ListDomainsResponse (line 54) | type ListDomainsResponse = { function listDomains (line 73) | async function listDomains( FILE: server/routers/domain/restartOrgDomain.ts type RestartOrgDomainResponse (line 16) | type RestartOrgDomainResponse = { function restartOrgDomain (line 20) | async function restartOrgDomain( FILE: server/routers/domain/types.ts type CheckDomainAvailabilityResponse (line 1) | type CheckDomainAvailabilityResponse = { FILE: server/routers/domain/updateDomain.ts type UpdateDomainResponse (line 22) | type UpdateDomainResponse = { function updateOrgDomain (line 42) | async function updateOrgDomain( FILE: server/routers/generatedLicense/types.ts type GeneratedLicenseKey (line 1) | type GeneratedLicenseKey = { type ListGeneratedLicenseKeysResponse (line 13) | type ListGeneratedLicenseKeysResponse = GeneratedLicenseKey[]; type NewLicenseKey (line 15) | type NewLicenseKey = { type GenerateNewLicenseResponse (line 33) | type GenerateNewLicenseResponse = NewLicenseKey; FILE: server/routers/gerbil/createExitNode.ts function createExitNode (line 8) | async function createExitNode( FILE: server/routers/gerbil/getAllRelays.ts type PeerDestination (line 26) | interface PeerDestination { type ProxyMapping (line 32) | interface ProxyMapping { function getAllRelays (line 36) | async function getAllRelays( function generateRelayMappings (line 89) | async function generateRelayMappings(exitNode: ExitNode) { FILE: server/routers/gerbil/getConfig.ts type GetConfigResponse (line 20) | type GetConfigResponse = { function getConfig (line 29) | async function getConfig( function generateGerbilConfig (line 84) | async function generateGerbilConfig(exitNode: ExitNode) { FILE: server/routers/gerbil/getResolvedHostname.ts function getResolvedHostname (line 17) | async function getResolvedHostname( FILE: server/routers/gerbil/peers.ts function addPeer (line 7) | async function addPeer( function deletePeer (line 34) | async function deletePeer(exitNodeId: number, publicKey: string) { FILE: server/routers/gerbil/receiveBandwidth.ts type PeerBandwidth (line 14) | interface PeerBandwidth { type AccumulatorEntry (line 20) | interface AccumulatorEntry { constant MAX_RETRIES (line 30) | const MAX_RETRIES = 3; constant BASE_DELAY_MS (line 31) | const BASE_DELAY_MS = 50; constant FLUSH_INTERVAL_MS (line 34) | const FLUSH_INTERVAL_MS = 30_000; function isDeadlockError (line 42) | function isDeadlockError(error: any): boolean { function withDeadlockRetry (line 53) | async function withDeadlockRetry( function flushSiteBandwidthToDb (line 89) | async function flushSiteBandwidthToDb(): Promise { function updateSiteBandwidth (line 252) | async function updateSiteBandwidth( FILE: server/routers/gerbil/updateHolePunch.ts type PeerDestination (line 40) | interface PeerDestination { function updateHolePunch (line 45) | async function updateHolePunch( function updateAndGenerateEndpointDestinations (line 125) | async function updateAndGenerateEndpointDestinations( function handleSiteEndpointChange (line 396) | async function handleSiteEndpointChange(siteId: number, newEndpoint: str... function handleClientEndpointChange (line 459) | async function handleClientEndpointChange( FILE: server/routers/idp/createIdpOrgPolicy.ts type CreateIdpOrgPolicyResponse (line 24) | type CreateIdpOrgPolicyResponse = {}; function createIdpOrgPolicy (line 44) | async function createIdpOrgPolicy( FILE: server/routers/idp/createOidcIdp.ts type CreateIdpResponse (line 31) | type CreateIdpResponse = { function createOidcIdp (line 53) | async function createOidcIdp( FILE: server/routers/idp/deleteIdp.ts function deleteIdp (line 31) | async function deleteIdp( FILE: server/routers/idp/deleteIdpOrgPolicy.ts function deleteIdpOrgPolicy (line 29) | async function deleteIdpOrgPolicy( FILE: server/routers/idp/generateOidcUrl.ts type GenerateOidcUrlResponse (line 38) | type GenerateOidcUrlResponse = { function generateOidcUrl (line 42) | async function generateOidcUrl( FILE: server/routers/idp/getIdp.ts function query (line 21) | async function query(idpId: number) { type GetIdpResponse (line 31) | type GetIdpResponse = NonNullable>>; function getIdp (line 44) | async function getIdp( FILE: server/routers/idp/listIdpOrgPolicies.ts function query (line 32) | async function query(idpId: number, limit: number, offset: number) { type ListIdpOrgPoliciesResponse (line 42) | type ListIdpOrgPoliciesResponse = { function listIdpOrgPolicies (line 59) | async function listIdpOrgPolicies( FILE: server/routers/idp/listIdps.ts function query (line 28) | async function query(limit: number, offset: number) { type ListIdpsResponse (line 48) | type ListIdpsResponse = { function listIdps (line 68) | async function listIdps( FILE: server/routers/idp/updateIdpOrgPolicy.ts type UpdateIdpOrgPolicyResponse (line 23) | type UpdateIdpOrgPolicyResponse = {}; function updateIdpOrgPolicy (line 43) | async function updateIdpOrgPolicy( FILE: server/routers/idp/updateOidcIdp.ts type UpdateIdpResponse (line 37) | type UpdateIdpResponse = { function updateOidcIdp (line 59) | async function updateOidcIdp( FILE: server/routers/idp/validateOidcCallback.ts type ValidateOidcUrlCallbackResponse (line 64) | type ValidateOidcUrlCallbackResponse = { function validateOidcCallback (line 68) | async function validateOidcCallback( function hydrateOrgMapping (line 742) | function hydrateOrgMapping( FILE: server/routers/license/types.ts type ActivateLicenseStatus (line 3) | type ActivateLicenseStatus = LicenseStatus; type DeleteLicenseKeyResponse (line 5) | type DeleteLicenseKeyResponse = LicenseStatus; type GetLicenseStatusResponse (line 7) | type GetLicenseStatusResponse = LicenseStatus; type ListLicenseKeysResponse (line 9) | type ListLicenseKeysResponse = LicenseKeyCache[]; type RecheckStatusResponse (line 11) | type RecheckStatusResponse = LicenseStatus; FILE: server/routers/loginPage/types.ts type CreateLoginPageResponse (line 3) | type CreateLoginPageResponse = LoginPage; type DeleteLoginPageResponse (line 5) | type DeleteLoginPageResponse = LoginPage; type GetLoginPageResponse (line 7) | type GetLoginPageResponse = LoginPage; type UpdateLoginPageResponse (line 9) | type UpdateLoginPageResponse = LoginPage; type LoadLoginPageResponse (line 11) | type LoadLoginPageResponse = LoginPage & { orgId: string }; type LoadLoginPageBrandingResponse (line 13) | type LoadLoginPageBrandingResponse = LoginPageBranding & { type GetLoginPageBrandingResponse (line 18) | type GetLoginPageBrandingResponse = LoginPageBranding; FILE: server/routers/newt/buildConfiguration.ts function buildClientConfigurationForNewtClient (line 19) | async function buildClientConfigurationForNewtClient( function buildTargetConfigurationForNewtClient (line 181) | async function buildTargetConfigurationForNewtClient(siteId: number) { FILE: server/routers/newt/createNewt.ts type CreateNewtBody (line 18) | type CreateNewtBody = z.infer; type CreateNewtResponse (line 20) | type CreateNewtResponse = { function createNewt (line 31) | async function createNewt( FILE: server/routers/newt/dockerSocket.ts function fetchContainers (line 3) | function fetchContainers(newtId: string) { function dockerSocket (line 11) | function dockerSocket(newtId: string) { FILE: server/routers/newt/getNewtToken.ts type NewtGetTokenBody (line 26) | type NewtGetTokenBody = z.infer; function getNewtToken (line 28) | async function getNewtToken( FILE: server/routers/newt/handleGetConfigMessage.ts type Input (line 16) | type Input = z.infer; FILE: server/routers/newt/handleNewtPingMessage.ts constant OFFLINE_CHECK_INTERVAL (line 11) | const OFFLINE_CHECK_INTERVAL = 30 * 1000; constant OFFLINE_THRESHOLD_MS (line 12) | const OFFLINE_THRESHOLD_MS = 2 * 60 * 1000; FILE: server/routers/newt/handleNewtRegisterMessage.ts type ExitNodePingResult (line 18) | type ExitNodePingResult = { function getUniqueSubnetForSite (line 225) | async function getUniqueSubnetForSite( FILE: server/routers/newt/handleReceiveBandwidthMessage.ts type PeerBandwidth (line 7) | interface PeerBandwidth { type BandwidthAccumulator (line 13) | interface BandwidthAccumulator { constant MAX_RETRIES (line 19) | const MAX_RETRIES = 3; constant BASE_DELAY_MS (line 20) | const BASE_DELAY_MS = 50; constant FLUSH_INTERVAL_MS (line 23) | const FLUSH_INTERVAL_MS = 120_000; function isDeadlockError (line 31) | function isDeadlockError(error: any): boolean { function withDeadlockRetry (line 42) | async function withDeadlockRetry( function flushBandwidthToDb (line 78) | async function flushBandwidthToDb(): Promise { FILE: server/routers/newt/peers.ts function addPeer (line 7) | async function addPeer( function deletePeer (line 51) | async function deletePeer( function updatePeer (line 93) | async function updatePeer( FILE: server/routers/newt/sync.ts function sendNewtSyncMessage (line 11) | async function sendNewtSyncMessage(newt: Newt, site: Site) { FILE: server/routers/newt/targets.ts function addTargets (line 7) | async function addTargets( function removeTargets (line 110) | async function removeTargets( FILE: server/routers/olm/archiveUserOlm.ts function archiveUserOlm (line 19) | async function archiveUserOlm( FILE: server/routers/olm/buildConfiguration.ts function buildSiteConfigurationForOlmClient (line 20) | async function buildSiteConfigurationForOlmClient( FILE: server/routers/olm/createOlm.ts type CreateNewtBody (line 18) | type CreateNewtBody = z.infer; type CreateNewtResponse (line 20) | type CreateNewtResponse = { function createNewt (line 31) | async function createNewt( FILE: server/routers/olm/createUserOlm.ts type CreateOlmBody (line 24) | type CreateOlmBody = z.infer; type CreateOlmResponse (line 26) | type CreateOlmResponse = { function createUserOlm (line 49) | async function createUserOlm( FILE: server/routers/olm/deleteUserOlm.ts function deleteUserOlm (line 34) | async function deleteUserOlm( FILE: server/routers/olm/error.ts function sendOlmError (line 93) | async function sendOlmError( FILE: server/routers/olm/fingerprintingUtils.ts function fingerprintSnapshotHash (line 7) | function fingerprintSnapshotHash(fingerprint: any, postures: any): string { function handleFingerprintInsertion (line 40) | async function handleFingerprintInsertion( function cleanUpOldFingerprintSnapshots (line 218) | async function cleanUpOldFingerprintSnapshots(retentionDays: number) { FILE: server/routers/olm/getOlmToken.ts type OlmGetTokenBody (line 38) | type OlmGetTokenBody = z.infer; function getOlmToken (line 40) | async function getOlmToken( FILE: server/routers/olm/getUserOlm.ts function getUserOlm (line 36) | async function getUserOlm( FILE: server/routers/olm/handleOlmPingMessage.ts constant OFFLINE_CHECK_INTERVAL (line 18) | const OFFLINE_CHECK_INTERVAL = 30 * 1000; constant OFFLINE_THRESHOLD_MS (line 19) | const OFFLINE_THRESHOLD_MS = 2 * 60 * 1000; FILE: server/routers/olm/listUserOlms.ts type ListUserOlmsResponse (line 47) | type ListUserOlmsResponse = { function listUserOlms (line 64) | async function listUserOlms( FILE: server/routers/olm/peers.ts function addPeer (line 9) | async function addPeer( function deletePeer (line 62) | async function deletePeer( function updatePeer (line 99) | async function updatePeer( function initPeerAddHandshake (line 150) | async function initPeerAddHandshake( FILE: server/routers/olm/recoverOlmWithFingerprint.ts function recoverOlmWithFingerprint (line 25) | async function recoverOlmWithFingerprint( FILE: server/routers/olm/sync.ts function sendOlmSyncMessage (line 16) | async function sendOlmSyncMessage(olm: Olm, client: Client) { FILE: server/routers/olm/unarchiveUserOlm.ts function unarchiveUserOlm (line 19) | async function unarchiveUserOlm( FILE: server/routers/org/checkId.ts function checkId (line 16) | async function checkId( FILE: server/routers/org/checkOrgUserAccess.ts function queryUser (line 16) | async function queryUser(orgId: string, userId: string) { type CheckOrgUserAccessResponse (line 47) | type CheckOrgUserAccessResponse = CheckOrgAccessPolicyResult; function checkOrgUserAccess (line 65) | async function checkOrgUserAccess( FILE: server/routers/org/createOrg.ts function createOrg (line 76) | async function createOrg( FILE: server/routers/org/deleteOrg.ts type DeleteOrgResponse (line 17) | type DeleteOrgResponse = {}; function deleteOrg (line 30) | async function deleteOrg( FILE: server/routers/org/getOrg.ts type GetOrgResponse (line 17) | type GetOrgResponse = { function getOrg (line 32) | async function getOrg( FILE: server/routers/org/getOrgOverview.ts type GetOrgOverviewResponse (line 25) | type GetOrgOverviewResponse = { function getOrgOverview (line 36) | async function getOrgOverview( FILE: server/routers/org/listOrgs.ts type ListOrgsResponse (line 39) | type ListOrgsResponse = { function listOrgs (line 44) | async function listOrgs( FILE: server/routers/org/listUserOrgs.ts type ResponseOrg (line 43) | type ResponseOrg = Org & { type ListUserOrgsResponse (line 49) | type ListUserOrgsResponse = { function listUserOrgs (line 54) | async function listUserOrgs( FILE: server/routers/org/pickOrgDefaults.ts type PickOrgDefaultsResponse (line 9) | type PickOrgDefaultsResponse = { function pickOrgDefaults (line 14) | async function pickOrgDefaults( FILE: server/routers/org/resetOrgBandwidth.ts function resetOrgBandwidth (line 27) | async function resetOrgBandwidth( FILE: server/routers/org/updateOrg.ts function updateOrg (line 63) | async function updateOrg( FILE: server/routers/orgIdp/types.ts type CreateOrgIdpResponse (line 3) | type CreateOrgIdpResponse = { type GetOrgIdpResponse (line 8) | type GetOrgIdpResponse = { type ListOrgIdpsResponse (line 14) | type ListOrgIdpsResponse = { FILE: server/routers/remoteExitNode/types.ts type CreateRemoteExitNodeResponse (line 3) | type CreateRemoteExitNodeResponse = { type PickRemoteExitNodeDefaultsResponse (line 9) | type PickRemoteExitNodeDefaultsResponse = { type QuickStartRemoteExitNodeResponse (line 14) | type QuickStartRemoteExitNodeResponse = { type ListRemoteExitNodesResponse (line 19) | type ListRemoteExitNodesResponse = { type GetRemoteExitNodeResponse (line 34) | type GetRemoteExitNodeResponse = { FILE: server/routers/resource/addEmailToResourceWhitelist.ts function addEmailToResourceWhitelist (line 46) | async function addEmailToResourceWhitelist( FILE: server/routers/resource/addRoleToResource.ts function addRoleToResource (line 46) | async function addRoleToResource( FILE: server/routers/resource/addUserToResource.ts function addUserToResource (line 46) | async function addUserToResource( FILE: server/routers/resource/authWithAccessToken.ts type AuthWithAccessTokenResponse (line 32) | type AuthWithAccessTokenResponse = { function authWithAccessToken (line 37) | async function authWithAccessToken( FILE: server/routers/resource/authWithPassword.ts type AuthWithPasswordResponse (line 26) | type AuthWithPasswordResponse = { function authWithPassword (line 30) | async function authWithPassword( FILE: server/routers/resource/authWithPincode.ts type AuthWithPincodeResponse (line 25) | type AuthWithPincodeResponse = { function authWithPincode (line 29) | async function authWithPincode( FILE: server/routers/resource/authWithWhitelist.ts type AuthWithWhitelistResponse (line 26) | type AuthWithWhitelistResponse = { function authWithWhitelist (line 31) | async function authWithWhitelist( FILE: server/routers/resource/createResource.ts type CreateResourceResponse (line 76) | type CreateResourceResponse = Resource; function createResource (line 96) | async function createResource( function createHttpResource (line 169) | async function createHttpResource( function createRawResource (line 328) | async function createRawResource( FILE: server/routers/resource/createResourceRule.ts function createResourceRule (line 48) | async function createResourceRule( FILE: server/routers/resource/deleteResource.ts function deleteResource (line 32) | async function deleteResource( FILE: server/routers/resource/deleteResourceRule.ts function deleteResourceRule (line 29) | async function deleteResourceRule( FILE: server/routers/resource/getExchangeToken.ts type GetExchangeTokenResponse (line 23) | type GetExchangeTokenResponse = { function getExchangeToken (line 27) | async function getExchangeToken( FILE: server/routers/resource/getResource.ts function query (line 25) | async function query(resourceId?: number, niceId?: string, orgId?: strin... type GetResourceResponse (line 45) | type GetResourceResponse = Omit< function getResource (line 80) | async function getResource( FILE: server/routers/resource/getResourceAuthInfo.ts type GetResourceAuthInfoResponse (line 23) | type GetResourceAuthInfoResponse = { function getResourceAuthInfo (line 41) | async function getResourceAuthInfo( FILE: server/routers/resource/getResourceWhitelist.ts function queryWhitelist (line 17) | async function queryWhitelist(resourceId: number) { type GetResourceWhitelistResponse (line 26) | type GetResourceWhitelistResponse = { function getResourceWhitelist (line 41) | async function getResourceWhitelist( FILE: server/routers/resource/getUserResources.ts function getUserResources (line 20) | async function getUserResources( type GetUserResourcesResponse (line 256) | type GetUserResourcesResponse = { FILE: server/routers/resource/listAllResourceNames.ts function queryResourceNames (line 17) | function queryResourceNames(orgId: string) { type ListResourceNamesResponse (line 28) | type ListResourceNamesResponse = Awaited< function listAllResourceNames (line 45) | async function listAllResourceNames( FILE: server/routers/resource/listResourceRoles.ts function query (line 17) | async function query(resourceId: number) { type ListResourceRolesResponse (line 30) | type ListResourceRolesResponse = { function listResourceRoles (line 45) | async function listResourceRoles( FILE: server/routers/resource/listResourceRules.ts function queryResourceRules (line 32) | function queryResourceRules(resourceId: number) { type ListResourceRulesResponse (line 50) | type ListResourceRulesResponse = { function listResourceRules (line 67) | async function listResourceRules( FILE: server/routers/resource/listResourceUsers.ts function queryUsers (line 17) | async function queryUsers(resourceId: number) { type ListResourceUsersResponse (line 33) | type ListResourceUsersResponse = { function listResourceUsers (line 48) | async function listResourceUsers( FILE: server/routers/resource/listResources.ts type ResourceWithTargets (line 119) | type ResourceWithTargets = { function queryResourcesBase (line 165) | function queryResourcesBase() { type ListResourcesResponse (line 220) | type ListResourcesResponse = PaginatedResponse<{ function listResources (line 238) | async function listResources( FILE: server/routers/resource/removeEmailFromResourceWhitelist.ts function removeEmailFromResourceWhitelist (line 46) | async function removeEmailFromResourceWhitelist( FILE: server/routers/resource/removeRoleFromResource.ts function removeRoleFromResource (line 46) | async function removeRoleFromResource( FILE: server/routers/resource/removeUserFromResource.ts function removeUserFromResource (line 46) | async function removeUserFromResource( FILE: server/routers/resource/setResourceHeaderAuth.ts function setResourceHeaderAuth (line 46) | async function setResourceHeaderAuth( FILE: server/routers/resource/setResourcePassword.ts function setResourcePassword (line 42) | async function setResourcePassword( FILE: server/routers/resource/setResourcePincode.ts function setResourcePincode (line 46) | async function setResourcePincode( FILE: server/routers/resource/setResourceRoles.ts function setResourceRoles (line 40) | async function setResourceRoles( FILE: server/routers/resource/setResourceUsers.ts function setResourceUsers (line 40) | async function setResourceUsers( FILE: server/routers/resource/setResourceWhitelist.ts function setResourceWhitelist (line 49) | async function setResourceWhitelist( FILE: server/routers/resource/types.ts type GetMaintenanceInfoResponse (line 1) | type GetMaintenanceInfoResponse = { FILE: server/routers/resource/updateResource.ts type UpdateResourceResponse (line 149) | type UpdateResourceResponse = Resource; function updateResource (line 198) | async function updateResource( function updateHttpResource (line 269) | async function updateHttpResource( function updateRawResource (line 446) | async function updateRawResource( FILE: server/routers/resource/updateResourceRule.ts function updateResourceRule (line 55) | async function updateResourceRule( FILE: server/routers/role/addRoleAction.ts function addRoleAction (line 20) | async function addRoleAction( FILE: server/routers/role/addRoleSite.ts function addRoleSite (line 20) | async function addRoleSite( FILE: server/routers/role/createRole.ts type CreateRoleBody (line 40) | type CreateRoleBody = z.infer; type CreateRoleResponse (line 42) | type CreateRoleResponse = Role; function createRole (line 62) | async function createRole( FILE: server/routers/role/deleteRole.ts function deleteRole (line 39) | async function deleteRole( FILE: server/routers/role/getRole.ts function getRole (line 28) | async function getRole( FILE: server/routers/role/listRoleActions.ts function listRoleActions (line 16) | async function listRoleActions( FILE: server/routers/role/listRoleResources.ts function listRoleResources (line 16) | async function listRoleResources( FILE: server/routers/role/listRoleSites.ts function listRoleSites (line 16) | async function listRoleSites( FILE: server/routers/role/listRoles.ts function queryRoles (line 32) | async function queryRoles(orgId: string, limit: number, offset: number) { type ListRolesResponse (line 54) | type ListRolesResponse = { function listRoles (line 75) | async function listRoles( FILE: server/routers/role/removeRoleAction.ts function removeRoleAction (line 20) | async function removeRoleAction( FILE: server/routers/role/removeRoleResource.ts function removeRoleResource (line 20) | async function removeRoleResource( FILE: server/routers/role/removeRoleSite.ts function removeRoleSite (line 20) | async function removeRoleSite( FILE: server/routers/role/updateRole.ts type UpdateRoleBody (line 37) | type UpdateRoleBody = z.infer; type UpdateRoleResponse (line 39) | type UpdateRoleResponse = Role; function updateRole (line 59) | async function updateRole( FILE: server/routers/serverInfo/getServerInfo.ts type GetServerInfoResponse (line 11) | type GetServerInfoResponse = { function getServerInfo (line 19) | async function getServerInfo( FILE: server/routers/site/createSite.ts type CreateSiteBody (line 53) | type CreateSiteBody = z.infer; type CreateSiteResponse (line 55) | type CreateSiteResponse = Site; function createSite (line 75) | async function createSite( FILE: server/routers/site/deleteSite.ts function deleteSite (line 33) | async function deleteSite( FILE: server/routers/site/getSite.ts function query (line 25) | async function query(siteId?: number, niceId?: string, orgId?: string) { type GetSiteResponse (line 45) | type GetSiteResponse = NonNullable< function getSite (line 77) | async function getSite( FILE: server/routers/site/listSiteRoles.ts function listSiteRoles (line 16) | async function listSiteRoles( FILE: server/routers/site/listSites.ts function getLatestNewtVersion (line 24) | async function getLatestNewtVersion(): Promise { function querySitesBase (line 141) | function querySitesBase() { type SiteWithUpdateAvailable (line 171) | type SiteWithUpdateAvailable = Awaited... type ListSitesResponse (line 175) | type ListSitesResponse = PaginatedResponse<{ function listSites (line 191) | async function listSites( FILE: server/routers/site/pickSiteDefaults.ts type PickSiteDefaultsResponse (line 20) | type PickSiteDefaultsResponse = { function pickSiteDefaults (line 51) | async function pickSiteDefaults( FILE: server/routers/site/socketIntegration.ts type ContainerNetwork (line 16) | interface ContainerNetwork { type ContainerPort (line 27) | interface ContainerPort { type Container (line 34) | interface Container { function validateSiteIdParams (line 55) | function validateSiteIdParams(params: any) { function getSiteAndValidateNewt (line 66) | async function getSiteAndValidateNewt(siteId: number) { function getNewtBySiteId (line 87) | async function getNewtBySiteId(siteId: number) { function getSiteAndNewt (line 101) | async function getSiteAndNewt(siteId: number) { function asyncHandler (line 107) | function asyncHandler( function triggerFetch (line 143) | async function triggerFetch(siteId: number) { function queryContainers (line 158) | async function queryContainers(siteId: number) { function isDockerAvailable (line 172) | async function isDockerAvailable(siteId: number): Promise { function getDockerStatus (line 181) | async function getDockerStatus( function checkSocket (line 199) | async function checkSocket( type GetDockerStatusResponse (line 214) | type GetDockerStatusResponse = NonNullable< type ListContainersResponse (line 218) | type ListContainersResponse = Awaited< type TriggerFetchResponse (line 222) | type TriggerFetchResponse = Awaited>; function checkDockerSocket (line 245) | async function checkDockerSocket( FILE: server/routers/site/updateSite.ts function updateSite (line 58) | async function updateSite( FILE: server/routers/siteResource/addClientToSiteResource.ts function addClientToSiteResource (line 47) | async function addClientToSiteResource( FILE: server/routers/siteResource/addRoleToSiteResource.ts function addRoleToSiteResource (line 47) | async function addRoleToSiteResource( FILE: server/routers/siteResource/addUserToSiteResource.ts function addUserToSiteResource (line 47) | async function addUserToSiteResource( FILE: server/routers/siteResource/batchAddClientToSiteResources.ts function batchAddClientToSiteResources (line 54) | async function batchAddClientToSiteResources( FILE: server/routers/siteResource/createSiteResource.ts type CreateSiteResourceBody (line 110) | type CreateSiteResourceBody = z.infer; type CreateSiteResourceResponse (line 111) | type CreateSiteResourceResponse = SiteResource; function createSiteResource (line 131) | async function createSiteResource( FILE: server/routers/siteResource/deleteSiteResource.ts type DeleteSiteResourceResponse (line 18) | type DeleteSiteResourceResponse = { function deleteSiteResource (line 33) | async function deleteSiteResource( FILE: server/routers/siteResource/getSiteResource.ts function query (line 25) | async function query( type GetSiteResourceResponse (line 60) | type GetSiteResourceResponse = NonNullable< function getSiteResource (line 94) | async function getSiteResource( FILE: server/routers/siteResource/listAllSiteResourcesByOrg.ts type ListAllSiteResourcesByOrgResponse (line 74) | type ListAllSiteResourcesByOrgResponse = PaginatedResponse<{ function querySiteResourcesBase (line 82) | function querySiteResourcesBase() { function listAllSiteResourcesByOrg (line 123) | async function listAllSiteResourcesByOrg( FILE: server/routers/siteResource/listSiteResourceClients.ts function queryClients (line 22) | async function queryClients(siteResourceId: number) { type ListSiteResourceClientsResponse (line 34) | type ListSiteResourceClientsResponse = { function listSiteResourceClients (line 49) | async function listSiteResourceClients( FILE: server/routers/siteResource/listSiteResourceRoles.ts function query (line 22) | async function query(siteResourceId: number) { type ListSiteResourceRolesResponse (line 35) | type ListSiteResourceRolesResponse = { function listSiteResourceRoles (line 50) | async function listSiteResourceRoles( FILE: server/routers/siteResource/listSiteResourceUsers.ts function queryUsers (line 22) | async function queryUsers(siteResourceId: number) { type ListSiteResourceUsersResponse (line 38) | type ListSiteResourceUsersResponse = { function listSiteResourceUsers (line 53) | async function listSiteResourceUsers( FILE: server/routers/siteResource/listSiteResources.ts type ListSiteResourcesResponse (line 53) | type ListSiteResourcesResponse = { function listSiteResources (line 69) | async function listSiteResources( FILE: server/routers/siteResource/removeClientFromSiteResource.ts function removeClientFromSiteResource (line 47) | async function removeClientFromSiteResource( FILE: server/routers/siteResource/removeRoleFromSiteResource.ts function removeRoleFromSiteResource (line 47) | async function removeRoleFromSiteResource( FILE: server/routers/siteResource/removeUserFromSiteResource.ts function removeUserFromSiteResource (line 47) | async function removeUserFromSiteResource( FILE: server/routers/siteResource/setSiteResourceClients.ts function setSiteResourceClients (line 47) | async function setSiteResourceClients( FILE: server/routers/siteResource/setSiteResourceRoles.ts function setSiteResourceRoles (line 48) | async function setSiteResourceRoles( FILE: server/routers/siteResource/setSiteResourceUsers.ts function setSiteResourceUsers (line 48) | async function setSiteResourceUsers( FILE: server/routers/siteResource/updateSiteResource.ts type UpdateSiteResourceBody (line 117) | type UpdateSiteResourceBody = z.infer; type UpdateSiteResourceResponse (line 118) | type UpdateSiteResourceResponse = SiteResource; function updateSiteResource (line 138) | async function updateSiteResource( function handleMessagingForUpdatedSiteResource (line 557) | async function handleMessagingForUpdatedSiteResource( FILE: server/routers/supporterKey/hideSupporterKey.ts type HideSupporterKeyResponse (line 8) | type HideSupporterKeyResponse = { function hideSupporterKey (line 12) | async function hideSupporterKey( FILE: server/routers/supporterKey/isSupporterKeyVisible.ts type IsSupporterKeyVisibleResponse (line 12) | type IsSupporterKeyVisibleResponse = { constant USER_LIMIT (line 17) | const USER_LIMIT = 5; function isSupporterKeyVisible (line 19) | async function isSupporterKeyVisible( FILE: server/routers/supporterKey/validateSupporterKey.ts type ValidateSupporterKeyResponse (line 17) | type ValidateSupporterKeyResponse = { function validateSupporterKey (line 24) | async function validateSupporterKey( FILE: server/routers/target/createTarget.ts type CreateTargetResponse (line 55) | type CreateTargetResponse = Target & TargetHealthCheck; function createTarget (line 75) | async function createTarget( FILE: server/routers/target/deleteTarget.ts function deleteTarget (line 31) | async function deleteTarget( FILE: server/routers/target/getTarget.ts type GetTargetResponse (line 17) | type GetTargetResponse = Target & function getTarget (line 33) | async function getTarget( FILE: server/routers/target/handleHealthcheckStatusMessage.ts type TargetHealthStatus (line 8) | interface TargetHealthStatus { type HealthcheckStatusMessage (line 29) | interface HealthcheckStatusMessage { FILE: server/routers/target/helpers.ts function pickPort (line 7) | async function pickPort( function getAllowedIps (line 47) | async function getAllowedIps(siteId: number) { FILE: server/routers/target/listTargets.ts function queryTargets (line 32) | function queryTargets(resourceId: number) { type TargetWithParsedHeaders (line 75) | type TargetWithParsedHeaders = Omit< type ListTargetsResponse (line 82) | type ListTargetsResponse = { function listTargets (line 99) | async function listTargets( FILE: server/routers/target/updateTarget.ts function updateTarget (line 80) | async function updateTarget( FILE: server/routers/traefik/configSchema.ts type DynamicTraefikConfig (line 1) | type DynamicTraefikConfig = { type Http (line 5) | type Http = { type Routers (line 11) | type Routers = { type Router (line 15) | type Router = { type Services (line 22) | type Services = { type Service (line 26) | type Service = { type LoadBalancer (line 30) | type LoadBalancer = { type Server (line 34) | type Server = { type Middlewares (line 38) | type Middlewares = { type MiddlewarePlugin (line 42) | type MiddlewarePlugin = { type Plugin (line 46) | type Plugin = { type MiddlewarePluginConfig (line 50) | type MiddlewarePluginConfig = { FILE: server/routers/traefik/traefikConfigProvider.ts function traefikConfigProvider (line 11) | async function traefikConfigProvider( FILE: server/routers/user/acceptInvite.ts type AcceptInviteResponse (line 24) | type AcceptInviteResponse = { function acceptInvite (line 29) | async function acceptInvite( FILE: server/routers/user/addUserAction.ts function addUserAction (line 18) | async function addUserAction( FILE: server/routers/user/addUserRole.ts type AddUserRoleResponse (line 20) | type AddUserRoleResponse = z.infer; function addUserRole (line 33) | async function addUserRole( FILE: server/routers/user/addUserSite.ts function addUserSite (line 17) | async function addUserSite( FILE: server/routers/user/adminGeneratePasswordResetCode.ts type AdminGeneratePasswordResetCodeBody (line 22) | type AdminGeneratePasswordResetCodeBody = z.infer< type AdminGeneratePasswordResetCodeResponse (line 26) | type AdminGeneratePasswordResetCodeResponse = { function adminGeneratePasswordResetCode (line 32) | async function adminGeneratePasswordResetCode( FILE: server/routers/user/adminGetUser.ts function queryUser (line 27) | async function queryUser(userId: string) { type AdminGetUserResponse (line 50) | type AdminGetUserResponse = NonNullable< function adminGetUser (line 54) | async function adminGetUser( FILE: server/routers/user/adminListUsers.ts function queryUsers (line 27) | async function queryUsers(limit: number, offset: number) { type AdminListUsersResponse (line 49) | type AdminListUsersResponse = { function adminListUsers (line 54) | async function adminListUsers( FILE: server/routers/user/adminRemoveUser.ts function adminRemoveUser (line 17) | async function adminRemoveUser( FILE: server/routers/user/adminUpdateUser2FA.ts type UpdateUser2FAResponse (line 21) | type UpdateUser2FAResponse = { function updateUser2FA (line 44) | async function updateUser2FA( FILE: server/routers/user/createOrgUser.ts type CreateOrgUserResponse (line 34) | type CreateOrgUserResponse = {}; function createOrgUser (line 54) | async function createOrgUser( FILE: server/routers/user/getOrgUser.ts function queryUser (line 14) | async function queryUser(orgId: string, userId: string) { type GetOrgUserResponse (line 45) | type GetOrgUserResponse = NonNullable< function getOrgUser (line 65) | async function getOrgUser( FILE: server/routers/user/getOrgUserByUsername.ts function getOrgUserByUsername (line 46) | async function getOrgUserByUsername( FILE: server/routers/user/getUser.ts function queryUser (line 11) | async function queryUser(userId: string) { type GetUserResponse (line 32) | type GetUserResponse = NonNullable< function getUser (line 36) | async function getUser( FILE: server/routers/user/inviteUser.ts type InviteUserBody (line 36) | type InviteUserBody = z.infer; type InviteUserResponse (line 38) | type InviteUserResponse = { function inviteUser (line 61) | async function inviteUser( FILE: server/routers/user/listInvitations.ts function queryInvitations (line 32) | async function queryInvitations(orgId: string, limit: number, offset: nu... type ListInvitationsResponse (line 48) | type ListInvitationsResponse = { function listInvitations (line 65) | async function listInvitations( FILE: server/routers/user/listUsers.ts function queryUsers (line 33) | async function queryUsers(orgId: string, limit: number, offset: number) { type ListUsersResponse (line 63) | type ListUsersResponse = { function listUsers (line 80) | async function listUsers( FILE: server/routers/user/myDevice.ts type ResponseOrg (line 17) | type ResponseOrg = { type MyDeviceResponse (line 23) | type MyDeviceResponse = { function myDevice (line 29) | async function myDevice( FILE: server/routers/user/removeInvitation.ts function removeInvitation (line 29) | async function removeInvitation( FILE: server/routers/user/removeUserAction.ts function removeUserAction (line 21) | async function removeUserAction( FILE: server/routers/user/removeUserOrg.ts function removeUserOrg (line 43) | async function removeUserOrg( FILE: server/routers/user/removeUserResource.ts function removeUserResource (line 17) | async function removeUserResource( FILE: server/routers/user/removeUserSite.ts function removeUserSite (line 20) | async function removeUserSite( FILE: server/routers/user/updateOrgUser.ts function updateOrgUser (line 43) | async function updateOrgUser( FILE: server/routers/ws/checkRoundTripMessage.ts function checkRoundTripMessage (line 33) | async function checkRoundTripMessage( FILE: server/routers/ws/handleRoundTripMessage.ts type RoundTripCompleteMessage (line 6) | interface RoundTripCompleteMessage { FILE: server/routers/ws/types.ts type WebSocketRequest (line 16) | interface WebSocketRequest extends IncomingMessage { type ClientType (line 20) | type ClientType = "newt" | "olm" | "remoteExitNode"; type AuthenticatedWebSocket (line 22) | interface AuthenticatedWebSocket extends WebSocket { type TokenPayload (line 31) | interface TokenPayload { type WSMessage (line 37) | interface WSMessage { type HandlerResponse (line 43) | interface HandlerResponse { type HandlerContext (line 51) | interface HandlerContext { type MessageHandler (line 69) | type MessageHandler = ( type SendMessageOptions (line 74) | interface SendMessageOptions { type RedisMessage (line 80) | interface RedisMessage { FILE: server/routers/ws/ws.ts type PublicTokenPayload (line 25) | interface PublicTokenPayload { constant NODE_ID (line 35) | const NODE_ID = uuidv4(); FILE: server/setup/clearStaleData.ts function clearStaleData (line 16) | async function clearStaleData() { FILE: server/setup/copyInConfig.ts function copyInConfig (line 7) | async function copyInConfig() { function copyInDomains (line 40) | async function copyInDomains() { FILE: server/setup/ensureActions.ts function ensureActions (line 7) | async function ensureActions() { FILE: server/setup/ensureSetupToken.ts method read (line 8) | read(bytes: Uint8Array): void { function generateToken (line 13) | function generateToken(): string { function validateToken (line 19) | function validateToken(token: string): boolean { function generateId (line 24) | function generateId(length: number): string { function showSetupToken (line 29) | function showSetupToken(token: string, source: string): void { function ensureSetupToken (line 36) | async function ensureSetupToken() { FILE: server/setup/index.ts function runSetupFunctions (line 6) | async function runSetupFunctions() { FILE: server/setup/migrationsPg.ts function run (line 53) | async function run() { function runMigrations (line 58) | async function runMigrations() { function executeScripts (line 110) | async function executeScripts() { FILE: server/setup/migrationsSqlite.ts function run (line 84) | async function run() { function backupDb (line 89) | function backupDb() { function runMigrations (line 110) | async function runMigrations() { function executeScripts (line 151) | async function executeScripts() { FILE: server/setup/scriptsPg/1.10.0.ts function migration (line 9) | async function migration() { function generateName (line 134) | function generateName(): string { FILE: server/setup/scriptsPg/1.10.2.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsPg/1.11.0.ts function migration (line 8) | async function migration() { FILE: server/setup/scriptsPg/1.11.1.ts function migration (line 6) | async function migration() { FILE: server/setup/scriptsPg/1.12.0.ts function migration (line 6) | async function migration() { FILE: server/setup/scriptsPg/1.13.0.ts function generateName (line 18) | function generateName(): string { function migration (line 33) | async function migration() { FILE: server/setup/scriptsPg/1.14.0.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsPg/1.15.0.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsPg/1.15.3.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsPg/1.15.4.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsPg/1.16.0.ts function getServerSecret (line 11) | function getServerSecret(): string { function migration (line 55) | async function migration() { FILE: server/setup/scriptsPg/1.6.0.ts function migration (line 9) | async function migration() { FILE: server/setup/scriptsPg/1.7.0.ts function migration (line 6) | async function migration() { FILE: server/setup/scriptsPg/1.8.0.ts function migration (line 6) | async function migration() { FILE: server/setup/scriptsPg/1.9.0.ts function migration (line 6) | async function migration() { FILE: server/setup/scriptsSqlite/1.0.0-beta1.ts function migration (line 1) | async function migration() { FILE: server/setup/scriptsSqlite/1.0.0-beta10.ts function migration (line 5) | async function migration() { FILE: server/setup/scriptsSqlite/1.0.0-beta12.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.0.0-beta13.ts function migration (line 6) | async function migration() { FILE: server/setup/scriptsSqlite/1.0.0-beta15.ts function migration (line 10) | async function migration() { FILE: server/setup/scriptsSqlite/1.0.0-beta2.ts function migration (line 5) | async function migration() { function getBaseDomain (line 48) | function getBaseDomain(url: string): string { FILE: server/setup/scriptsSqlite/1.0.0-beta3.ts function migration (line 5) | async function migration() { FILE: server/setup/scriptsSqlite/1.0.0-beta5.ts function migration (line 8) | async function migration() { FILE: server/setup/scriptsSqlite/1.0.0-beta6.ts function migration (line 5) | async function migration() { FILE: server/setup/scriptsSqlite/1.0.0-beta9.ts function migration (line 20) | async function migration() { FILE: server/setup/scriptsSqlite/1.0.0.ts function migration (line 10) | async function migration() { FILE: server/setup/scriptsSqlite/1.1.0.ts function migration (line 6) | async function migration() { FILE: server/setup/scriptsSqlite/1.10.0.ts function migration (line 8) | async function migration() { function generateName (line 115) | function generateName(): string { FILE: server/setup/scriptsSqlite/1.10.1.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.10.2.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.11.0.ts function migration (line 9) | async function migration() { FILE: server/setup/scriptsSqlite/1.11.1.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.12.0.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.13.0.ts function generateName (line 17) | function generateName(): string { function migration (line 32) | async function migration() { FILE: server/setup/scriptsSqlite/1.14.0.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.15.0.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.15.3.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.15.4.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.16.0.ts function getServerSecret (line 11) | function getServerSecret(): string { function migration (line 55) | async function migration() { FILE: server/setup/scriptsSqlite/1.2.0.ts function migration (line 12) | async function migration() { FILE: server/setup/scriptsSqlite/1.3.0.ts function migration (line 11) | async function migration() { function generateIdFromEntropySize (line 200) | function generateIdFromEntropySize(size: number): string { FILE: server/setup/scriptsSqlite/1.5.0.ts function migration (line 10) | async function migration() { FILE: server/setup/scriptsSqlite/1.6.0.ts function migration (line 9) | async function migration() { FILE: server/setup/scriptsSqlite/1.7.0.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.8.0.ts function migration (line 7) | async function migration() { FILE: server/setup/scriptsSqlite/1.9.0.ts function migration (line 7) | async function migration() { FILE: server/types/ArrayElement.ts type ArrayElement (line 1) | type ArrayElement = FILE: server/types/Auth.ts type AuthenticatedRequest (line 5) | interface AuthenticatedRequest extends Request { FILE: server/types/ErrorResponse.ts type ErrorResponse (line 3) | interface ErrorResponse extends MessageResponse { FILE: server/types/HttpCode.ts type HttpCode (line 1) | enum HttpCode { FILE: server/types/MessageResponse.ts type ResponseT (line 1) | interface ResponseT { FILE: server/types/Pagination.ts type Pagination (line 1) | type Pagination = { total: number; pageSize: number; page: number }; type PaginatedResponse (line 3) | type PaginatedResponse = T & { FILE: server/types/Response.ts type ResponseT (line 1) | interface ResponseT { FILE: server/types/Tiers.ts type Tier (line 1) | type Tier = "tier1" | "tier2" | "tier3" | "enterprise"; FILE: server/types/UserTypes.ts type UserType (line 1) | enum UserType { FILE: src/actions/server.ts type CookieOptions (line 7) | type CookieOptions = { function parseSetCookieString (line 17) | function parseSetCookieString( function makeApiRequest (line 71) | async function makeApiRequest( type LoginRequest (line 203) | type LoginRequest = { type LoginResponse (line 210) | type LoginResponse = { type SecurityKeyStartRequest (line 217) | type SecurityKeyStartRequest = { type SecurityKeyStartResponse (line 221) | type SecurityKeyStartResponse = { type SecurityKeyVerifyRequest (line 230) | type SecurityKeyVerifyRequest = { type SecurityKeyVerifyResponse (line 234) | type SecurityKeyVerifyResponse = { function loginProxy (line 239) | async function loginProxy( function securityKeyStartProxy (line 251) | async function securityKeyStartProxy( function securityKeyVerifyProxy (line 263) | async function securityKeyVerifyProxy( type ResourcePasswordRequest (line 287) | type ResourcePasswordRequest = { type ResourcePasswordResponse (line 291) | type ResourcePasswordResponse = { type ResourcePincodeRequest (line 295) | type ResourcePincodeRequest = { type ResourcePincodeResponse (line 299) | type ResourcePincodeResponse = { type ResourceWhitelistRequest (line 303) | type ResourceWhitelistRequest = { type ResourceWhitelistResponse (line 308) | type ResourceWhitelistResponse = { type ResourceAccessResponse (line 313) | type ResourceAccessResponse = { function resourcePasswordProxy (line 318) | async function resourcePasswordProxy( function resourcePincodeProxy (line 330) | async function resourcePincodeProxy( function resourceWhitelistProxy (line 342) | async function resourceWhitelistProxy( function resourceAccessProxy (line 358) | async function resourceAccessProxy( type GenerateOidcUrlRequest (line 373) | type GenerateOidcUrlRequest = { type GenerateOidcUrlResponse (line 377) | type GenerateOidcUrlResponse = { type ValidateOidcUrlCallbackRequest (line 381) | type ValidateOidcUrlCallbackRequest = { type ValidateOidcUrlCallbackResponse (line 387) | type ValidateOidcUrlCallbackResponse = { function validateOidcUrlCallbackProxy (line 391) | async function validateOidcUrlCallbackProxy( function generateOidcUrlProxy (line 410) | async function generateOidcUrlProxy( FILE: src/app/[orgId]/layout.tsx function OrgLayout (line 24) | async function OrgLayout(props: { FILE: src/app/[orgId]/page.tsx type OrgPageProps (line 14) | type OrgPageProps = { function OrgPage (line 18) | async function OrgPage(props: OrgPageProps) { FILE: src/app/[orgId]/settings/(private)/access/approvals/page.tsx type ApprovalFeedPageProps (line 16) | interface ApprovalFeedPageProps { function ApprovalFeedPage (line 20) | async function ApprovalFeedPage(props: ApprovalFeedPageProps) { FILE: src/app/[orgId]/settings/(private)/billing/layout.tsx type BillingSettingsProps (line 11) | type BillingSettingsProps = { function BillingSettingsPage (line 16) | async function BillingSettingsPage({ FILE: src/app/[orgId]/settings/(private)/billing/page.tsx type PlanId (line 60) | type PlanId = "basic" | "home" | "team" | "business" | "enterprise"; type PlanOption (line 62) | type PlanOption = { function BillingPage (line 195) | function BillingPage() { FILE: src/app/[orgId]/settings/(private)/idp/[idpId]/general/page.tsx function GeneralPage (line 51) | function GeneralPage() { FILE: src/app/[orgId]/settings/(private)/idp/[idpId]/layout.tsx type SettingsLayoutProps (line 10) | interface SettingsLayoutProps { function SettingsLayout (line 15) | async function SettingsLayout(props: SettingsLayoutProps) { FILE: src/app/[orgId]/settings/(private)/idp/[idpId]/page.tsx function IdpPage (line 3) | async function IdpPage(props: { FILE: src/app/[orgId]/settings/(private)/idp/create/page.tsx function Page (line 46) | function Page() { FILE: src/app/[orgId]/settings/(private)/idp/layout.tsx type LayoutProps (line 1) | interface LayoutProps { function Layout (line 6) | async function Layout(props: LayoutProps) { FILE: src/app/[orgId]/settings/(private)/idp/page.tsx type OrgIdpPageProps (line 11) | type OrgIdpPageProps = { function OrgIdpPage (line 17) | async function OrgIdpPage(props: OrgIdpPageProps) { FILE: src/app/[orgId]/settings/(private)/license/layout.tsx type LicensesSettingsProps (line 10) | type LicensesSettingsProps = { function LicensesSetingsLayoutProps (line 15) | async function LicensesSetingsLayoutProps({ FILE: src/app/[orgId]/settings/(private)/license/page.tsx type Props (line 7) | type Props = { function Page (line 13) | async function Page({ params }: Props) { FILE: src/app/[orgId]/settings/(private)/remote-exit-nodes/[remoteExitNodeId]/credentials/page.tsx function CredentialsPage (line 39) | function CredentialsPage() { FILE: src/app/[orgId]/settings/(private)/remote-exit-nodes/[remoteExitNodeId]/layout.tsx type SettingsLayoutProps (line 12) | interface SettingsLayoutProps { function SettingsLayout (line 17) | async function SettingsLayout(props: SettingsLayoutProps) { FILE: src/app/[orgId]/settings/(private)/remote-exit-nodes/[remoteExitNodeId]/page.tsx function RemoteExitNodePage (line 3) | async function RemoteExitNodePage(props: { FILE: src/app/[orgId]/settings/(private)/remote-exit-nodes/create/page.tsx function CreateRemoteExitNodePage (line 43) | function CreateRemoteExitNodePage() { FILE: src/app/[orgId]/settings/(private)/remote-exit-nodes/page.tsx type RemoteExitNodesPageProps (line 11) | type RemoteExitNodesPageProps = { function RemoteExitNodesPage (line 17) | async function RemoteExitNodesPage( FILE: src/app/[orgId]/settings/access/invitations/page.tsx type InvitationsPageProps (line 16) | type InvitationsPageProps = { function InvitationsPage (line 22) | async function InvitationsPage(props: InvitationsPageProps) { FILE: src/app/[orgId]/settings/access/layout.tsx type AccessLayoutProps (line 1) | interface AccessLayoutProps { function ResourceLayout (line 8) | async function ResourceLayout(props: AccessLayoutProps) { FILE: src/app/[orgId]/settings/access/page.tsx type AccessPageProps (line 3) | type AccessPageProps = { function AccessPage (line 7) | async function AccessPage(props: AccessPageProps) { FILE: src/app/[orgId]/settings/access/roles/page.tsx type RolesPageProps (line 12) | type RolesPageProps = { function RolesPage (line 18) | async function RolesPage(props: RolesPageProps) { FILE: src/app/[orgId]/settings/access/users/[userId]/access-controls/page.tsx function AccessControlsPage (line 48) | function AccessControlsPage() { FILE: src/app/[orgId]/settings/access/users/[userId]/layout.tsx type UserLayoutProps (line 12) | interface UserLayoutProps { function UserLayoutProps (line 17) | async function UserLayoutProps(props: UserLayoutProps) { FILE: src/app/[orgId]/settings/access/users/[userId]/page.tsx function UserPage (line 3) | async function UserPage(props: { FILE: src/app/[orgId]/settings/access/users/create/page.tsx type UserType (line 53) | type UserType = "internal" | "oidc"; type IdpOption (line 55) | interface IdpOption { type UserOption (line 62) | interface UserOption { function Page (line 72) | function Page() { FILE: src/app/[orgId]/settings/access/users/page.tsx type UsersPageProps (line 16) | type UsersPageProps = { function UsersPage (line 22) | async function UsersPage(props: UsersPageProps) { FILE: src/app/[orgId]/settings/api-keys/[apiKeyId]/layout.tsx type SettingsLayoutProps (line 11) | interface SettingsLayoutProps { function SettingsLayout (line 16) | async function SettingsLayout(props: SettingsLayoutProps) { FILE: src/app/[orgId]/settings/api-keys/[apiKeyId]/page.tsx function ApiKeysPage (line 3) | async function ApiKeysPage(props: { FILE: src/app/[orgId]/settings/api-keys/[apiKeyId]/permissions/page.tsx function Page (line 23) | function Page() { FILE: src/app/[orgId]/settings/api-keys/create/page.tsx function Page (line 51) | function Page() { FILE: src/app/[orgId]/settings/api-keys/page.tsx type ApiKeyPageProps (line 11) | type ApiKeyPageProps = { function ApiKeysPage (line 17) | async function ApiKeysPage(props: ApiKeyPageProps) { FILE: src/app/[orgId]/settings/blueprints/[blueprintId]/page.tsx type BluePrintsPageProps (line 15) | type BluePrintsPageProps = { function BluePrintDetailPage (line 23) | async function BluePrintDetailPage(props: BluePrintsPageProps) { FILE: src/app/[orgId]/settings/blueprints/create/page.tsx type CreateBlueprintPageProps (line 10) | interface CreateBlueprintPageProps { function CreateBlueprintPage (line 18) | async function CreateBlueprintPage( FILE: src/app/[orgId]/settings/blueprints/page.tsx type BluePrintsPageProps (line 15) | type BluePrintsPageProps = { function BluePrintsPage (line 23) | async function BluePrintsPage(props: BluePrintsPageProps) { FILE: src/app/[orgId]/settings/clients/layout.tsx type SettingsLayoutProps (line 6) | interface SettingsLayoutProps { function SettingsLayout (line 11) | async function SettingsLayout(props: SettingsLayoutProps) { FILE: src/app/[orgId]/settings/clients/machine/[niceId]/credentials/page.tsx function CredentialsPage (line 36) | function CredentialsPage() { FILE: src/app/[orgId]/settings/clients/machine/[niceId]/general/page.tsx type GeneralFormValues (line 43) | type GeneralFormValues = z.infer; function GeneralPage (line 45) | function GeneralPage() { FILE: src/app/[orgId]/settings/clients/machine/[niceId]/layout.tsx type SettingsLayoutProps (line 12) | type SettingsLayoutProps = { function SettingsLayout (line 17) | async function SettingsLayout(props: SettingsLayoutProps) { FILE: src/app/[orgId]/settings/clients/machine/[niceId]/page.tsx function ClientPage (line 3) | async function ClientPage(props: { FILE: src/app/[orgId]/settings/clients/machine/create/page.tsx type ClientType (line 49) | type ClientType = "olm"; type TunnelTypeOption (line 51) | interface TunnelTypeOption { function Page (line 58) | function Page() { FILE: src/app/[orgId]/settings/clients/machine/page.tsx type ClientsPageProps (line 12) | type ClientsPageProps = { function ClientsPage (line 19) | async function ClientsPage(props: ClientsPageProps) { FILE: src/app/[orgId]/settings/clients/page.tsx type ClientsPageProps (line 3) | type ClientsPageProps = { function ClientsPage (line 10) | async function ClientsPage(props: ClientsPageProps) { FILE: src/app/[orgId]/settings/clients/user/[niceId]/general/page.tsx function formatTimestamp (line 45) | function formatTimestamp(timestamp: number | null | undefined): string { function formatPlatform (line 50) | function formatPlatform(platform: string | null | undefined): string { function getPlatformIcon (line 63) | function getPlatformIcon(platform: string | null | undefined) { type FieldConfig (line 81) | type FieldConfig = { function getPlatformFieldConfig (line 86) | function getPlatformFieldConfig( function GeneralPage (line 145) | function GeneralPage() { FILE: src/app/[orgId]/settings/clients/user/[niceId]/layout.tsx type SettingsLayoutProps (line 12) | type SettingsLayoutProps = { function SettingsLayout (line 17) | async function SettingsLayout(props: SettingsLayoutProps) { FILE: src/app/[orgId]/settings/clients/user/[niceId]/page.tsx function ClientPage (line 3) | async function ClientPage(props: { FILE: src/app/[orgId]/settings/clients/user/page.tsx type ClientsPageProps (line 11) | type ClientsPageProps = { function ClientsPage (line 18) | async function ClientsPage(props: ClientsPageProps) { FILE: src/app/[orgId]/settings/domains/[domainId]/page.tsx type DomainSettingsPageProps (line 14) | interface DomainSettingsPageProps { function DomainSettingsPage (line 18) | async function DomainSettingsPage({ FILE: src/app/[orgId]/settings/domains/page.tsx type Props (line 15) | type Props = { function DomainsPage (line 19) | async function DomainsPage(props: Props) { FILE: src/app/[orgId]/settings/general/auth-page/page.tsx type AuthPageProps (line 16) | interface AuthPageProps { function AuthPage (line 20) | async function AuthPage(props: AuthPageProps) { FILE: src/app/[orgId]/settings/general/layout.tsx type GeneralSettingsProps (line 15) | type GeneralSettingsProps = { function GeneralSettingsPage (line 20) | async function GeneralSettingsPage({ FILE: src/app/[orgId]/settings/general/page.tsx function GeneralPage (line 48) | function GeneralPage() { type SectionFormProps (line 58) | type SectionFormProps = { function DeleteForm (line 62) | function DeleteForm({ org }: SectionFormProps) { function GeneralSectionForm (line 160) | function GeneralSectionForm({ org }: SectionFormProps) { FILE: src/app/[orgId]/settings/general/security/page.tsx constant SESSION_LENGTH_OPTIONS (line 49) | const SESSION_LENGTH_OPTIONS = [ constant PASSWORD_EXPIRY_OPTIONS (line 65) | const PASSWORD_EXPIRY_OPTIONS = [ constant LOG_RETENTION_OPTIONS (line 85) | const LOG_RETENTION_OPTIONS = [ type SectionFormProps (line 100) | type SectionFormProps = { function SecurityPage (line 104) | function SecurityPage() { function LogRetentionSectionForm (line 117) | function LogRetentionSectionForm({ org }: SectionFormProps) { function SecuritySettingsSectionForm (line 497) | function SecuritySettingsSectionForm({ org }: SectionFormProps) { FILE: src/app/[orgId]/settings/layout.tsx type SettingsLayoutProps (line 27) | interface SettingsLayoutProps { function SettingsLayout (line 32) | async function SettingsLayout(props: SettingsLayoutProps) { FILE: src/app/[orgId]/settings/logs/access/page.tsx function GeneralPage (line 24) | function GeneralPage() { FILE: src/app/[orgId]/settings/logs/action/page.tsx function GeneralPage (line 22) | function GeneralPage() { FILE: src/app/[orgId]/settings/logs/analytics/page.tsx type AnalyticsPageProps (line 6) | interface AnalyticsPageProps { function AnalyticsPage (line 11) | async function AnalyticsPage(props: AnalyticsPageProps) { FILE: src/app/[orgId]/settings/logs/layout.tsx type GeneralSettingsProps (line 5) | type GeneralSettingsProps = { function GeneralSettingsPage (line 10) | async function GeneralSettingsPage({ FILE: src/app/[orgId]/settings/logs/page.tsx function GeneralPage (line 1) | function GeneralPage() { FILE: src/app/[orgId]/settings/logs/request/page.tsx function GeneralPage (line 21) | function GeneralPage() { FILE: src/app/[orgId]/settings/not-found.tsx function NotFound (line 3) | async function NotFound() { FILE: src/app/[orgId]/settings/page.tsx type OrgPageProps (line 3) | type OrgPageProps = { function SettingsPage (line 7) | async function SettingsPage(props: OrgPageProps) { FILE: src/app/[orgId]/settings/resources/client/page.tsx type ClientResourcesPageProps (line 15) | interface ClientResourcesPageProps { function ClientResourcesPage (line 20) | async function ClientResourcesPage( FILE: src/app/[orgId]/settings/resources/page.tsx type ResourcesPageProps (line 3) | interface ResourcesPageProps { function ResourcesPage (line 7) | async function ResourcesPage(props: ResourcesPageProps) { FILE: src/app/[orgId]/settings/resources/proxy/[niceId]/authentication/page.tsx function ResourceAuthenticationPage (line 89) | function ResourceAuthenticationPage() { type OneTimePasswordFormSectionProps (line 791) | type OneTimePasswordFormSectionProps = Pick< function OneTimePasswordFormSection (line 799) | function OneTimePasswordFormSection({ FILE: src/app/[orgId]/settings/resources/proxy/[niceId]/general/page.tsx type MaintenanceSectionFormProps (line 66) | type MaintenanceSectionFormProps = { function MaintenanceSectionForm (line 71) | function MaintenanceSectionForm({ function GeneralForm (line 439) | function GeneralForm() { FILE: src/app/[orgId]/settings/resources/proxy/[niceId]/layout.tsx type ResourceLayoutProps (line 20) | interface ResourceLayoutProps { function ResourceLayout (line 25) | async function ResourceLayout(props: ResourceLayoutProps) { FILE: src/app/[orgId]/settings/resources/proxy/[niceId]/page.tsx function ResourcePage (line 3) | async function ResourcePage(props: { FILE: src/app/[orgId]/settings/resources/proxy/[niceId]/proxy/page.tsx type LocalTarget (line 107) | type LocalTarget = Omit< function ReverseProxyTargetsPage (line 116) | function ReverseProxyTargetsPage(props: { function ProxyResourceTargetsForm (line 162) | function ProxyResourceTargetsForm({ function ProxyResourceHttpForm (line 1009) | function ProxyResourceHttpForm({ function ProxyResourceProtocolForm (line 1305) | function ProxyResourceProtocolForm({ FILE: src/app/[orgId]/settings/resources/proxy/[niceId]/rules/page.tsx type LocalRule (line 101) | type LocalRule = ArrayElement & { function ResourceRules (line 106) | function ResourceRules(props: { FILE: src/app/[orgId]/settings/resources/proxy/create/page.tsx type ResourceType (line 187) | type ResourceType = "http" | "raw"; type ResourceTypeOption (line 189) | interface ResourceTypeOption { type LocalTarget (line 196) | type LocalTarget = Omit< function Page (line 205) | function Page() { FILE: src/app/[orgId]/settings/resources/proxy/page.tsx type ProxyResourcesPageProps (line 17) | interface ProxyResourcesPageProps { function ProxyResourcesPage (line 22) | async function ProxyResourcesPage( FILE: src/app/[orgId]/settings/share-links/page.tsx type ShareLinksPageProps (line 15) | type ShareLinksPageProps = { function ShareLinksPage (line 21) | async function ShareLinksPage(props: ShareLinksPageProps) { FILE: src/app/[orgId]/settings/sites/[niceId]/credentials/page.tsx function CredentialsPage (line 43) | function CredentialsPage() { FILE: src/app/[orgId]/settings/sites/[niceId]/general/page.tsx type GeneralFormValues (line 44) | type GeneralFormValues = z.infer; function GeneralPage (line 46) | function GeneralPage() { FILE: src/app/[orgId]/settings/sites/[niceId]/layout.tsx type SettingsLayoutProps (line 13) | interface SettingsLayoutProps { function SettingsLayout (line 18) | async function SettingsLayout(props: SettingsLayoutProps) { FILE: src/app/[orgId]/settings/sites/[niceId]/page.tsx function SitePage (line 3) | async function SitePage(props: { FILE: src/app/[orgId]/settings/sites/[niceId]/wireguardConfig.ts function gf (line 6) | function gf(init: number[] | undefined = undefined) { function pack (line 14) | function pack(o: Uint8Array, n: Float64Array) { function carry (line 39) | function carry(o: Float64Array) { function cswap (line 47) | function cswap(p: Float64Array, q: Float64Array, b: number) { function add (line 57) | function add(o: Float64Array, a: Float64Array, b: Float64Array) { function subtract (line 61) | function subtract(o: Float64Array, a: Float64Array, b: Float64Array) { function multmod (line 65) | function multmod(o: Float64Array, a: Float64Array, b: Float64Array) { function invert (line 76) | function invert(o: Float64Array, i: Float64Array) { function clamp (line 86) | function clamp(z: Uint8Array) { function generatePublicKey (line 91) | function generatePublicKey(privateKey: Uint8Array) { function generatePresharedKey (line 135) | function generatePresharedKey() { function generatePrivateKey (line 141) | function generatePrivateKey() { function encodeBase64 (line 147) | function encodeBase64(dest: Uint8Array, src: Uint8Array) { function keyToBase64 (line 164) | function keyToBase64(key: Uint8Array) { function generateKeypair (line 177) | function generateKeypair() { FILE: src/app/[orgId]/settings/sites/create/page.tsx type SiteType (line 67) | type SiteType = "newt" | "wireguard" | "local"; type TunnelTypeOption (line 69) | interface TunnelTypeOption { type RemoteExitNodeOption (line 76) | interface RemoteExitNodeOption { type CommandItem (line 83) | type CommandItem = string | { title: string; command: string }; type Commands (line 85) | type Commands = { type Platform (line 103) | type Platform = (typeof platforms)[number]; function Page (line 105) | function Page() { FILE: src/app/[orgId]/settings/sites/page.tsx type SitesPageProps (line 10) | type SitesPageProps = { function SitesPage (line 17) | async function SitesPage(props: SitesPageProps) { FILE: src/app/admin/api-keys/[apiKeyId]/layout.tsx type SettingsLayoutProps (line 11) | interface SettingsLayoutProps { function SettingsLayout (line 16) | async function SettingsLayout(props: SettingsLayoutProps) { FILE: src/app/admin/api-keys/[apiKeyId]/page.tsx function ApiKeysPage (line 3) | async function ApiKeysPage(props: { FILE: src/app/admin/api-keys/[apiKeyId]/permissions/page.tsx function Page (line 23) | function Page() { FILE: src/app/admin/api-keys/create/page.tsx function Page (line 50) | function Page() { FILE: src/app/admin/api-keys/page.tsx type ApiKeyPageProps (line 9) | type ApiKeyPageProps = {}; function ApiKeysPage (line 13) | async function ApiKeysPage(props: ApiKeyPageProps) { FILE: src/app/admin/idp/[idpId]/general/page.tsx function GeneralPage (line 48) | function GeneralPage() { FILE: src/app/admin/idp/[idpId]/layout.tsx type SettingsLayoutProps (line 10) | interface SettingsLayoutProps { function SettingsLayout (line 15) | async function SettingsLayout(props: SettingsLayoutProps) { FILE: src/app/admin/idp/[idpId]/page.tsx function IdpPage (line 3) | async function IdpPage(props: { FILE: src/app/admin/idp/[idpId]/policies/page.tsx type Organization (line 68) | type Organization = { function PoliciesPage (line 73) | function PoliciesPage() { FILE: src/app/admin/idp/create/page.tsx function Page (line 42) | function Page() { FILE: src/app/admin/idp/page.tsx function IdpPage (line 8) | async function IdpPage() { FILE: src/app/admin/layout.tsx type LayoutProps (line 23) | interface LayoutProps { function AdminLayout (line 27) | async function AdminLayout(props: LayoutProps) { FILE: src/app/admin/license/layout.tsx type LayoutProps (line 6) | interface LayoutProps { function AdminLicenseLayout (line 10) | async function AdminLicenseLayout(props: LayoutProps) { FILE: src/app/admin/license/page.tsx function obfuscateLicenseKey (line 54) | function obfuscateLicenseKey(key: string): string { function LicensePage (line 61) | function LicensePage() { FILE: src/app/admin/page.tsx type AdminPageProps (line 5) | type AdminPageProps = {}; function OrgPage (line 7) | async function OrgPage(props: AdminPageProps) { FILE: src/app/admin/users/AdminUsersTable.tsx type GlobalUserRow (line 22) | type GlobalUserRow = { type Props (line 35) | type Props = { function UsersTable (line 39) | function UsersTable({ users }: Props) { FILE: src/app/admin/users/[userId]/general/page.tsx function GeneralPage (line 23) | function GeneralPage() { FILE: src/app/admin/users/[userId]/layout.tsx type UserLayoutProps (line 12) | interface UserLayoutProps { function UserLayoutProps (line 17) | async function UserLayoutProps(props: UserLayoutProps) { FILE: src/app/admin/users/[userId]/page.tsx function UserPage (line 3) | async function UserPage(props: { FILE: src/app/admin/users/page.tsx type PageProps (line 11) | type PageProps = { function UsersPage (line 17) | async function UsersPage(props: PageProps) { FILE: src/app/auth/2fa/setup/page.tsx function Setup2FAPage (line 16) | function Setup2FAPage() { FILE: src/app/auth/delete-account/DeleteAccountClient.tsx type DeleteAccountClientProps (line 15) | type DeleteAccountClientProps = { function DeleteAccountClient (line 19) | function DeleteAccountClient({ FILE: src/app/auth/delete-account/page.tsx function DeleteAccountPage (line 11) | async function DeleteAccountPage() { FILE: src/app/auth/idp/[idpId]/oidc/callback/page.tsx function Page (line 14) | async function Page(props: { FILE: src/app/auth/initial-setup/layout.tsx function Layout (line 7) | async function Layout(props: { children: React.ReactNode }) { FILE: src/app/auth/initial-setup/page.tsx function InitialSetupPage (line 45) | function InitialSetupPage() { FILE: src/app/auth/layout.tsx type AuthLayoutProps (line 17) | type AuthLayoutProps = { function AuthLayout (line 21) | async function AuthLayout({ children }: AuthLayoutProps) { FILE: src/app/auth/login/device/page.tsx type Props (line 10) | type Props = { function deviceRedirectSearchParams (line 14) | function deviceRedirectSearchParams(params: { function DeviceLoginPage (line 25) | async function DeviceLoginPage({ searchParams }: Props) { FILE: src/app/auth/login/device/success/page.tsx function DeviceAuthSuccessPage (line 12) | function DeviceAuthSuccessPage() { FILE: src/app/auth/login/page.tsx function Page (line 23) | async function Page(props: { function buildQueryString (line 205) | function buildQueryString(searchParams: { FILE: src/app/auth/org/[orgId]/page.tsx function OrgAuthPage (line 18) | async function OrgAuthPage(props: { FILE: src/app/auth/org/page.tsx function OrgAuthPage (line 24) | async function OrgAuthPage(props: { FILE: src/app/auth/reset-password/ResetPasswordForm.tsx type ResetPasswordFormProps (line 53) | type ResetPasswordFormProps = { function ResetPasswordForm (line 60) | function ResetPasswordForm({ FILE: src/app/auth/reset-password/page.tsx function Page (line 13) | async function Page(props: { FILE: src/app/auth/resource/[resourceGuid]/page.tsx function ResourceAuthPage (line 33) | async function ResourceAuthPage(props: { FILE: src/app/auth/signup/page.tsx function Page (line 13) | async function Page(props: { FILE: src/app/auth/verify-email/page.tsx function Page (line 10) | async function Page(props: { FILE: src/app/invite/page.tsx function InvitePage (line 6) | async function InvitePage(props: { FILE: src/app/layout.tsx function RootLayout (line 41) | async function RootLayout({ function loadBrandingColors (line 138) | function loadBrandingColors() { FILE: src/app/maintenance-screen/page.tsx function MaintenanceScreen (line 22) | async function MaintenanceScreen() { FILE: src/app/navigation.tsx type SidebarNavSection (line 30) | type SidebarNavSection = { type OrgNavSectionsOptions (line 36) | type OrgNavSectionsOptions = { FILE: src/app/not-found.tsx function NotFound (line 3) | async function NotFound() { FILE: src/app/page.tsx function Page (line 20) | async function Page(props: { FILE: src/app/robots.ts function robots (line 3) | function robots(): MetadataRoute.Robots { FILE: src/app/s/[accessToken]/page.tsx function ResourceAuthPage (line 3) | async function ResourceAuthPage(props: { FILE: src/app/setup/layout.tsx function SetupLayout (line 21) | async function SetupLayout({ FILE: src/app/setup/page.tsx type Step (line 36) | type Step = "org" | "site" | "resources"; function StepperForm (line 38) | function StepperForm() { function debounce (line 438) | function debounce any>( FILE: src/components/AccessPageHeaderAndNav.tsx type AccessPageHeaderAndNavProps (line 7) | interface AccessPageHeaderAndNavProps { function AccessPageHeaderAndNav (line 12) | function AccessPageHeaderAndNav({ FILE: src/components/AccessToken.tsx type AccessTokenProps (line 18) | type AccessTokenProps = { function AccessToken (line 23) | function AccessToken({ token, resourceId }: AccessTokenProps) { FILE: src/components/AccessTokenUsage.tsx type AccessTokenSectionProps (line 20) | interface AccessTokenSectionProps { function AccessTokenSection (line 26) | function AccessTokenSection({ FILE: src/components/ActionBanner.tsx type ActionBannerProps (line 47) | type ActionBannerProps = { function ActionBanner (line 55) | function ActionBanner({ FILE: src/components/AdminIdpDataTable.tsx type DataTableProps (line 8) | interface DataTableProps { function IdpDataTable (line 15) | function IdpDataTable({ FILE: src/components/AdminIdpTable.tsx type IdpRow (line 26) | type IdpRow = { type Props (line 34) | type Props = { function IdpTable (line 38) | function IdpTable({ idps }: Props) { FILE: src/components/AdminUsersDataTable.tsx type DataTableProps (line 7) | interface DataTableProps { function UsersDataTable (line 14) | function UsersDataTable({ FILE: src/components/AdminUsersTable.tsx type GlobalUserRow (line 36) | type GlobalUserRow = { type Props (line 49) | type Props = { type AdminGeneratePasswordResetCodeResponse (line 53) | type AdminGeneratePasswordResetCodeResponse = { function UsersTable (line 59) | function UsersTable({ users }: Props) { FILE: src/components/ApiKeysDataTable.tsx type DataTableProps (line 32) | interface DataTableProps { function ApiKeysDataTable (line 40) | function ApiKeysDataTable({ FILE: src/components/ApiKeysTable.tsx type ApiKeyRow (line 25) | type ApiKeyRow = { type ApiKeyTableProps (line 32) | type ApiKeyTableProps = { function ApiKeysTable (line 36) | function ApiKeysTable({ apiKeys }: ApiKeyTableProps) { FILE: src/components/ApplyInternalRedirect.tsx type ApplyInternalRedirectProps (line 7) | type ApplyInternalRedirectProps = { function ApplyInternalRedirect (line 11) | function ApplyInternalRedirect({ FILE: src/components/ApprovalFeed.tsx type ApprovalFeedProps (line 36) | type ApprovalFeedProps = { function ApprovalFeed (line 41) | function ApprovalFeed({ type ApprovalRequestProps (line 184) | type ApprovalRequestProps = { function ApprovalRequest (line 190) | function ApprovalRequest({ approval, orgId, onSuccess }: ApprovalRequest... FILE: src/components/ApprovalsEmptyState.tsx type ApprovalsEmptyStateProps (line 16) | type ApprovalsEmptyStateProps = { function ApprovalsEmptyState (line 20) | function ApprovalsEmptyState({ orgId }: ApprovalsEmptyStateProps) { FILE: src/components/AuthPageBrandingForm.tsx type AuthPageCustomizationProps (line 41) | type AuthPageCustomizationProps = { function AuthPageBrandingForm (line 130) | function AuthPageBrandingForm({ FILE: src/components/AuthPageSettings.tsx type AuthPageSettingsProps (line 56) | interface AuthPageSettingsProps { type AuthPageSettingsRef (line 62) | interface AuthPageSettingsRef { function AuthPageSettings (line 67) | function AuthPageSettings({ FILE: src/components/AutoLoginHandler.tsx type AutoLoginHandlerProps (line 20) | type AutoLoginHandlerProps = { function AutoLoginHandler (line 27) | function AutoLoginHandler({ FILE: src/components/AutoProvisionConfigWidget.tsx type Role (line 26) | type Role = { type AutoProvisionConfigWidgetProps (line 31) | type AutoProvisionConfigWidgetProps = { function AutoProvisionConfigWidget (line 42) | function AutoProvisionConfigWidget({ FILE: src/components/BlueprintDetailsForm.tsx type CreateBlueprintFormProps (line 34) | type CreateBlueprintFormProps = { function BlueprintDetailsForm (line 38) | function BlueprintDetailsForm({ FILE: src/components/BlueprintsTable.tsx type BlueprintRow (line 21) | type BlueprintRow = ListBlueprintsResponse["blueprints"][number]; type Props (line 23) | type Props = { function BlueprintsTable (line 28) | function BlueprintsTable({ blueprints, orgId }: Props) { FILE: src/components/BrandingLogo.tsx type BrandingLogoProps (line 9) | type BrandingLogoProps = { function BrandingLogo (line 15) | function BrandingLogo(props: BrandingLogoProps) { FILE: src/components/CertificateStatus.tsx type CertificateStatusProps (line 8) | type CertificateStatusProps = { function CertificateStatus (line 20) | function CertificateStatus({ FILE: src/components/ChangePasswordDialog.tsx type ChangePasswordDialogProps (line 18) | type ChangePasswordDialogProps = { function ChangePasswordDialog (line 23) | function ChangePasswordDialog({ FILE: src/components/ChangePasswordForm.tsx type ChangePasswordFormProps (line 62) | type ChangePasswordFormProps = { FILE: src/components/ClientInfoCard.tsx type ClientInfoCardProps (line 14) | type ClientInfoCardProps = {}; function SiteInfoCard (line 16) | function SiteInfoCard({}: ClientInfoCardProps) { FILE: src/components/ClientResourcesTable.tsx type InternalResourceRow (line 42) | type InternalResourceRow = { type ClientResourcesTableProps (line 66) | type ClientResourcesTableProps = { function ClientResourcesTable (line 73) | function ClientResourcesTable({ FILE: src/components/ClientsDataTable.tsx type TabFilter (line 6) | type TabFilter = { type DataTableProps (line 12) | interface DataTableProps { function ClientsDataTable (line 25) | function ClientsDataTable({ FILE: src/components/ColumnFilter.tsx type FilterOption (line 20) | interface FilterOption { type ColumnFilterProps (line 25) | interface ColumnFilterProps { function ColumnFilter (line 35) | function ColumnFilter({ FILE: src/components/ColumnFilterButton.tsx type FilterOption (line 20) | interface FilterOption { type ColumnFilterButtonProps (line 25) | interface ColumnFilterButtonProps { function ColumnFilterButton (line 36) | function ColumnFilterButton({ FILE: src/components/ConfirmDeleteDialog.tsx type InviteUserFormProps (line 28) | type InviteUserFormProps = { function ConfirmDeleteDialog (line 39) | function ConfirmDeleteDialog({ FILE: src/components/ContainersSelector.tsx type ContainerSelectorProps (line 51) | interface ContainerSelectorProps { function getContainerHostname (line 676) | function getContainerHostname(container: Container): string { FILE: src/components/CopyTextBox.tsx type CopyTextBoxProps (line 8) | type CopyTextBoxProps = { function CopyTextBox (line 15) | function CopyTextBox({ FILE: src/components/CopyToClipboard.tsx type CopyToClipboardProps (line 6) | type CopyToClipboardProps = { FILE: src/components/CreateBlueprintForm.tsx type CreateBlueprintFormProps (line 36) | type CreateBlueprintFormProps = { function CreateBlueprintForm (line 40) | function CreateBlueprintForm({ FILE: src/components/CreateDomainForm.tsx function toPunycode (line 59) | function toPunycode(domain: string): string { function fromPunycode (line 68) | function fromPunycode(domain: string): string { function isValidDomainFormat (line 77) | function isValidDomainFormat(domain: string): boolean { type FormValues (line 112) | type FormValues = z.infer; type CreateDomainFormProps (line 114) | type CreateDomainFormProps = { function CreateDomainForm (line 126) | function CreateDomainForm({ FILE: src/components/CreateInternalResourceDialog.tsx type Site (line 28) | type Site = ListSitesResponse["sites"][0]; type CreateInternalResourceDialogProps (line 30) | type CreateInternalResourceDialogProps = { function CreateInternalResourceDialog (line 38) | function CreateInternalResourceDialog({ FILE: src/components/CreateRoleForm.tsx type CreateRoleFormProps (line 29) | type CreateRoleFormProps = { function CreateRoleForm (line 35) | function CreateRoleForm({ FILE: src/components/CreateShareLinkForm.tsx type FormProps (line 73) | type FormProps = { function CreateShareLinkForm (line 79) | function CreateShareLinkForm({ FILE: src/components/Credenza.tsx type BaseProps (line 28) | interface BaseProps { type RootCredenzaProps (line 32) | interface RootCredenzaProps extends BaseProps { type CredenzaProps (line 37) | interface CredenzaProps extends BaseProps { FILE: src/components/CustomDomainInput.tsx type DomainOption (line 14) | interface DomainOption { type CustomDomainInputProps (line 19) | interface CustomDomainInputProps { function CustomDomainInput (line 27) | function CustomDomainInput({ FILE: src/components/DNSRecordTable.tsx type DNSRecordRow (line 11) | type DNSRecordRow = { type Props (line 19) | type Props = { function DNSRecordsTable (line 24) | function DNSRecordsTable({ records, type }: Props) { FILE: src/components/DNSRecordsDataTable.tsx type TabFilter (line 34) | type TabFilter = { type DNSRecordsDataTableProps (line 40) | type DNSRecordsDataTableProps = { function DNSRecordsDataTable (line 61) | function DNSRecordsDataTable({ FILE: src/components/DashboardLoginForm.tsx type DashboardLoginFormProps (line 24) | type DashboardLoginFormProps = { function DashboardLoginForm (line 35) | function DashboardLoginForm({ FILE: src/components/DataTablePagination.tsx type DataTablePaginationProps (line 19) | interface DataTablePaginationProps { function DataTablePagination (line 31) | function DataTablePagination({ FILE: src/components/DateTimePicker.tsx type DateTimeValue (line 17) | interface DateTimeValue { type DateTimePickerProps (line 22) | interface DateTimePickerProps { function DateTimePicker (line 32) | function DateTimePicker({ type DateRangePickerProps (line 167) | interface DateRangePickerProps { function DateRangePicker (line 180) | function DateRangePicker({ FILE: src/components/DeleteAccountConfirmDialog.tsx type DeleteAccountConfirmDialogProps (line 45) | type DeleteAccountConfirmDialogProps = { function DeleteAccountConfirmDialog (line 50) | function DeleteAccountConfirmDialog({ FILE: src/components/DeleteRoleForm.tsx type CreateRoleFormProps (line 43) | type CreateRoleFormProps = { function DeleteRoleForm (line 50) | function DeleteRoleForm({ FILE: src/components/DeviceAuthConfirmation.tsx type DeviceAuthMetadata (line 18) | type DeviceAuthMetadata = { type DeviceAuthConfirmationProps (line 26) | type DeviceAuthConfirmationProps = { function DeviceAuthConfirmation (line 33) | function DeviceAuthConfirmation({ FILE: src/components/DeviceLoginForm.tsx type DeviceAuthMetadata (line 46) | type DeviceAuthMetadata = { type DeviceLoginFormProps (line 54) | type DeviceLoginFormProps = { function DeviceLoginForm (line 61) | function DeviceLoginForm({ FILE: src/components/Disable2FaForm.tsx type Disable2FaProps (line 37) | type Disable2FaProps = { function Disable2FaForm (line 42) | function Disable2FaForm({ open, setOpen }: Disable2FaProps) { FILE: src/components/DismissableBanner.tsx type DismissableBannerProps (line 9) | type DismissableBannerProps = { FILE: src/components/DomainCertForm.tsx type DomainInfoCardProps (line 45) | type DomainInfoCardProps = { function toPunycode (line 52) | function toPunycode(domain: string): string { function isValidDomainFormat (line 61) | function isValidDomainFormat(domain: string): boolean { type FormValues (line 96) | type FormValues = z.infer; function DomainCertForm (line 103) | function DomainCertForm({ FILE: src/components/DomainInfoCard.tsx type DomainInfoCardProps (line 15) | type DomainInfoCardProps = { function DomainInfoCard (line 22) | function DomainInfoCard({ FILE: src/components/DomainPicker.tsx type AvailableOption (line 49) | type AvailableOption = { type DomainOption (line 55) | type DomainOption = { type DomainPickerProps (line 65) | interface DomainPickerProps { function DomainPicker (line 84) | function DomainPicker({ function debounce (line 802) | function debounce any>( FILE: src/components/DomainsDataTable.tsx type DataTableProps (line 7) | interface DataTableProps { function DomainsDataTable (line 15) | function DomainsDataTable({ FILE: src/components/DomainsTable.tsx type DomainRow (line 38) | type DomainRow = { type Props (line 51) | type Props = { function DomainsTable (line 56) | function DomainsTable({ domains, orgId }: Props) { FILE: src/components/EditInternalResourceDialog.tsx type Site (line 30) | type Site = ListSitesResponse["sites"][0]; type EditInternalResourceDialogProps (line 32) | type EditInternalResourceDialogProps = { function EditInternalResourceDialog (line 41) | function EditInternalResourceDialog({ FILE: src/components/EditRoleForm.tsx type EditRoleFormProps (line 29) | type EditRoleFormProps = { function EditRoleForm (line 36) | function EditRoleForm({ FILE: src/components/Enable2FaDialog.tsx type Enable2FaDialogProps (line 19) | type Enable2FaDialogProps = { function Enable2FaDialog (line 24) | function Enable2FaDialog({ FILE: src/components/Enable2FaForm.tsx type Enable2FaProps (line 6) | type Enable2FaProps = { function Enable2FaForm (line 11) | function Enable2FaForm({ open, setOpen }: Enable2FaProps) { FILE: src/components/ExitNodeInfoCard.tsx type ExitNodeInfoCardProps (line 14) | type ExitNodeInfoCardProps = {}; function ExitNodeInfoCard (line 16) | function ExitNodeInfoCard({}: ExitNodeInfoCardProps) { FILE: src/components/ExitNodesDataTable.tsx type DataTableProps (line 7) | interface DataTableProps { function ExitNodesDataTable (line 17) | function ExitNodesDataTable({ FILE: src/components/ExitNodesTable.tsx type RemoteExitNodeRow (line 25) | type RemoteExitNodeRow = { type ExitNodesTableProps (line 38) | type ExitNodesTableProps = { function ExitNodesTable (line 43) | function ExitNodesTable({ FILE: src/components/GenerateLicenseKeyForm.tsx type FormProps (line 42) | type FormProps = { function GenerateLicenseKeyForm (line 49) | function GenerateLicenseKeyForm({ FILE: src/components/GenerateLicenseKeysTable.tsx type GnerateLicenseKeysTableProps (line 20) | type GnerateLicenseKeysTableProps = { function obfuscateLicenseKey (line 25) | function obfuscateLicenseKey(key: string): string { constant GENERATE_QUERY (line 32) | const GENERATE_QUERY = "generate"; function GenerateLicenseKeysTable (line 34) | function GenerateLicenseKeysTable({ FILE: src/components/HeadersInput.tsx type HeadersInputProps (line 6) | interface HeadersInputProps { function HeadersInput (line 14) | function HeadersInput({ FILE: src/components/HealthCheckDialog.tsx type HealthCheckConfig (line 40) | type HealthCheckConfig = { type HealthCheckDialogProps (line 57) | type HealthCheckDialogProps = { function HealthCheckDialog (line 67) | function HealthCheckDialog({ FILE: src/components/HorizontalTabs.tsx type TabItem (line 11) | type TabItem = { type HorizontalTabsProps (line 19) | interface HorizontalTabsProps { function HorizontalTabs (line 27) | function HorizontalTabs({ FILE: src/components/IdpCreateWizard.tsx type CreateIdpFormValues (line 34) | type CreateIdpFormValues = { type IdpCreateWizardProps (line 48) | type IdpCreateWizardProps = { function IdpCreateWizard (line 54) | function IdpCreateWizard({ FILE: src/components/IdpGlobalModeBanner.tsx function IdpGlobalModeBanner (line 12) | function IdpGlobalModeBanner() { FILE: src/components/IdpLoginButtons.tsx type LoginFormIDP (line 20) | type LoginFormIDP = { type IdpLoginButtonsProps (line 26) | type IdpLoginButtonsProps = { function IdpLoginButtons (line 32) | function IdpLoginButtons({ FILE: src/components/IdpTypeBadge.tsx type IdpTypeBadgeProps (line 6) | type IdpTypeBadgeProps = { function IdpTypeBadge (line 12) | function IdpTypeBadge({ FILE: src/components/InfoSection.tsx function InfoSections (line 5) | function InfoSections({ function InfoSection (line 26) | function InfoSection({ function InfoSectionTitle (line 36) | function InfoSectionTitle({ function InfoSectionContent (line 46) | function InfoSectionContent({ FILE: src/components/InternalResourceForm.tsx type PortMode (line 95) | type PortMode = "all" | "blocked" | "custom"; type Site (line 126) | type Site = ListSitesResponse["sites"][0]; type InternalResourceData (line 128) | type InternalResourceData = { type InternalResourceFormValues (line 146) | type InternalResourceFormValues = { type InternalResourceFormProps (line 162) | type InternalResourceFormProps = { function InternalResourceForm (line 173) | function InternalResourceForm({ FILE: src/components/InvitationsDataTable.tsx type DataTableProps (line 7) | interface DataTableProps { function InvitationsDataTable (line 14) | function InvitationsDataTable({ FILE: src/components/InvitationsTable.tsx type InvitationRow (line 25) | type InvitationRow = { type InvitationsTableProps (line 33) | type InvitationsTableProps = { function InvitationsTable (line 37) | function InvitationsTable({ FILE: src/components/InviteStatusCard.tsx type InviteStatusCardProps (line 20) | type InviteStatusCardProps = { function InviteStatusCard (line 28) | function InviteStatusCard({ FILE: src/components/Layout.tsx type LayoutProps (line 10) | interface LayoutProps { function Layout (line 21) | async function Layout({ FILE: src/components/LayoutHeader.tsx type LayoutHeaderProps (line 12) | interface LayoutHeaderProps { function LayoutHeader (line 16) | function LayoutHeader({ showTopBar }: LayoutHeaderProps) { FILE: src/components/LayoutMobileMenu.tsx type LayoutMobileMenuProps (line 26) | interface LayoutMobileMenuProps { function LayoutMobileMenu (line 34) | function LayoutMobileMenu({ FILE: src/components/LayoutSidebar.tsx type LayoutSidebarProps (line 36) | interface LayoutSidebarProps { function LayoutSidebar (line 44) | function LayoutSidebar({ FILE: src/components/LicenseKeysDataTable.tsx type LicenseKeysDataTableProps (line 14) | type LicenseKeysDataTableProps = { function obfuscateLicenseKey (line 20) | function obfuscateLicenseKey(key: string): string { function LicenseKeysDataTable (line 27) | function LicenseKeysDataTable({ FILE: src/components/LicenseViolation.tsx function LicenseViolation (line 8) | function LicenseViolation() { FILE: src/components/LocaleSwitcher.tsx function LocaleSwitcher (line 4) | function LocaleSwitcher() { FILE: src/components/LocaleSwitcherSelect.tsx type Props (line 16) | type Props = { function LocaleSwitcherSelect (line 22) | function LocaleSwitcherSelect({ FILE: src/components/LogAnalyticsData.tsx type AnalyticsContentProps (line 53) | type AnalyticsContentProps = { function LogAnalyticsData (line 57) | function LogAnalyticsData(props: AnalyticsContentProps) { function generateSampleDailyRequests (line 345) | function generateSampleDailyRequests(): QueryRequestAnalyticsResponse["r... type RequestChartProps (line 367) | type RequestChartProps = { function RequestChart (line 378) | function RequestChart(props: RequestChartProps) { type TopCountriesListProps (line 476) | type TopCountriesListProps = { function TopCountriesList (line 485) | function TopCountriesList(props: TopCountriesListProps) { FILE: src/components/LogDataTable.tsx constant STORAGE_KEYS (line 42) | const STORAGE_KEYS = { type TabFilter (line 81) | type TabFilter = { type DataTableProps (line 87) | type DataTableProps = { function LogDataTable (line 126) | function LogDataTable({ FILE: src/components/LoginCardHeader.tsx type LoginCardHeaderProps (line 8) | type LoginCardHeaderProps = { function LoginCardHeader (line 12) | function LoginCardHeader({ subtitle }: LoginCardHeaderProps) { FILE: src/components/LoginForm.tsx type LoginFormIDP (line 45) | type LoginFormIDP = { type LoginFormProps (line 51) | type LoginFormProps = { function LoginForm (line 60) | function LoginForm({ FILE: src/components/LoginOrgSelector.tsx type LoginOrgSelectorProps (line 11) | type LoginOrgSelectorProps = { function LoginOrgSelector (line 19) | function LoginOrgSelector({ FILE: src/components/LoginPasswordForm.tsx type LoginPasswordFormProps (line 26) | type LoginPasswordFormProps = { function LoginPasswordForm (line 32) | function LoginPasswordForm({ FILE: src/components/MachineClientsBanner.tsx type MachineClientsBannerProps (line 10) | type MachineClientsBannerProps = { FILE: src/components/MachineClientsTable.tsx type ClientRow (line 37) | type ClientRow = { type ClientTableProps (line 58) | type ClientTableProps = { function MachineClientsTable (line 65) | function MachineClientsTable({ FILE: src/components/MemberResourcesPortal.tsx type Resource (line 45) | type Resource = { type SiteResource (line 61) | type SiteResource = { type MemberResourcesPortalProps (line 73) | type MemberResourcesPortalProps = { function MemberResourcesPortal (line 340) | function MemberResourcesPortal({ FILE: src/components/MfaInputForm.tsx type MfaInputFormProps (line 23) | type MfaInputFormProps = { function MfaInputForm (line 32) | function MfaInputForm({ FILE: src/components/NewPricingLicenseForm.tsx constant TIER_TO_LICENSE_ID (line 42) | const TIER_TO_LICENSE_ID = { type FormProps (line 47) | type FormProps = { function NewPricingLicenseForm (line 54) | function NewPricingLicenseForm({ FILE: src/components/OptionSelect.tsx type OptionSelectOption (line 7) | type OptionSelectOption = { type OptionSelectProps (line 13) | type OptionSelectProps = { function OptionSelect (line 24) | function OptionSelect({ FILE: src/components/OrgApiKeysDataTable.tsx type DataTableProps (line 7) | interface DataTableProps { function OrgApiKeysDataTable (line 15) | function OrgApiKeysDataTable({ FILE: src/components/OrgApiKeysTable.tsx type OrgApiKeyRow (line 25) | type OrgApiKeyRow = { type OrgApiKeyTableProps (line 32) | type OrgApiKeyTableProps = { function OrgApiKeysTable (line 37) | function OrgApiKeysTable({ FILE: src/components/OrgIdpDataTable.tsx type DataTableProps (line 7) | interface DataTableProps { function IdpDataTable (line 13) | function IdpDataTable({ FILE: src/components/OrgIdpTable.tsx type IdpRow (line 25) | type IdpRow = { type Props (line 32) | type Props = { function IdpTable (line 37) | function IdpTable({ idps, orgId }: Props) { FILE: src/components/OrgInfoCard.tsx type OrgInfoCardProps (line 13) | type OrgInfoCardProps = {}; function OrgInfoCard (line 15) | function OrgInfoCard({}: OrgInfoCardProps) { FILE: src/components/OrgLoginPage.tsx type OrgLoginPageProps (line 20) | type OrgLoginPageProps = { function buildQueryString (line 30) | function buildQueryString(searchParams: { function OrgLoginPage (line 45) | async function OrgLoginPage({ FILE: src/components/OrgPolicyRequired.tsx type OrgPolicyRequiredProps (line 15) | type OrgPolicyRequiredProps = { function OrgPolicyRequired (line 22) | function OrgPolicyRequired({ FILE: src/components/OrgPolicyResult.tsx type OrgPolicyResultProps (line 23) | type OrgPolicyResultProps = { type PolicyItem (line 29) | type PolicyItem = { function OrgPolicyResult (line 38) | function OrgPolicyResult({ FILE: src/components/OrgSelectionForm.tsx function OrgSelectionForm (line 17) | function OrgSelectionForm() { function buildQueryString (line 145) | function buildQueryString(searchParams: URLSearchParams): string { FILE: src/components/OrgSelector.tsx type OrgSelectorProps (line 33) | interface OrgSelectorProps { function OrgSelector (line 39) | function OrgSelector({ FILE: src/components/OrgSignInLink.tsx type OrgSignInLinkProps (line 9) | type OrgSignInLinkProps = { constant STORAGE_KEY_CLICKED (line 15) | const STORAGE_KEY_CLICKED = "orgSignInLinkClicked"; constant STORAGE_KEY_ACKNOWLEDGED (line 16) | const STORAGE_KEY_ACKNOWLEDGED = "orgSignInTipAcknowledged"; function OrgSignInLink (line 18) | function OrgSignInLink({ FILE: src/components/OrganizationLanding.tsx type Organization (line 17) | interface Organization { type OrganizationLandingProps (line 22) | interface OrganizationLandingProps { function OrganizationLanding (line 27) | function OrganizationLanding({ FILE: src/components/OrganizationLandingCard.tsx type OrgStat (line 24) | interface OrgStat { type OrganizationLandingCardProps (line 30) | type OrganizationLandingCardProps = { function OrganizationLandingCard (line 45) | function OrganizationLandingCard( FILE: src/components/PaidFeaturesAlert.tsx constant TIER_ORDER (line 13) | const TIER_ORDER: Tier[] = ["tier1", "tier2", "tier3", "enterprise"]; constant TIER_TRANSLATION_KEYS (line 15) | const TIER_TRANSLATION_KEYS: Record< function formatRequiredTiersList (line 28) | function formatRequiredTiersList( constant PANGOLIN_CLOUD_SIGNUP_URL (line 51) | const PANGOLIN_CLOUD_SIGNUP_URL = "https://app.pangolin.net/auth/signup/"; constant ENTERPRISE_DOCS_URL (line 52) | const ENTERPRISE_DOCS_URL = constant BOOK_A_DEMO_URL (line 54) | const BOOK_A_DEMO_URL = "https://click.fossorial.io/ep922"; function getTierLinkRenderer (line 56) | function getTierLinkRenderer(billingHref: string) { function getPangolinCloudLinkRenderer (line 66) | function getPangolinCloudLinkRenderer() { function getBookADemoLinkRenderer (line 82) | function getBookADemoLinkRenderer() { function getDocsLinkRenderer (line 98) | function getDocsLinkRenderer(href: string) { type Props (line 114) | type Props = { function PaidFeaturesAlert (line 118) | function PaidFeaturesAlert({ tiers }: Props) { FILE: src/components/PathMatchRenameModal.tsx function PathMatchModal (line 26) | function PathMatchModal({ function PathRewriteModal (line 141) | function PathRewriteModal({ function PathMatchDisplay (line 281) | function PathMatchDisplay({ function PathRewriteDisplay (line 312) | function PathRewriteDisplay({ FILE: src/components/PermissionsSelectBox.tsx type PermissionsSelectBoxProps (line 14) | type PermissionsSelectBoxProps = { function getActionsCategories (line 20) | function getActionsCategories(root: boolean) { function PermissionsSelectBox (line 179) | function PermissionsSelectBox({ FILE: src/components/PlaceHolderLoader.tsx type LoaderProps (line 6) | interface LoaderProps { FILE: src/components/PolicyDataTable.tsx type DataTableProps (line 7) | interface DataTableProps { function PolicyDataTable (line 13) | function PolicyDataTable({ FILE: src/components/PolicyTable.tsx type PolicyRow (line 25) | interface PolicyRow { type Props (line 31) | interface Props { function PolicyTable (line 38) | function PolicyTable({ FILE: src/components/PrivateResourcesBanner.tsx type PrivateResourcesBannerProps (line 10) | type PrivateResourcesBannerProps = { FILE: src/components/ProductUpdates.tsx function ProductUpdates (line 35) | function ProductUpdates({ type ProductUpdatesListPopupProps (line 157) | type ProductUpdatesListPopupProps = { function ProductUpdatesListPopup (line 164) | function ProductUpdatesListPopup({ type NewVersionAvailableProps (line 319) | type NewVersionAvailableProps = { function NewVersionAvailable (line 325) | function NewVersionAvailable({ FILE: src/components/ProfessionalContentOverlay.tsx type ProfessionalContentOverlayProps (line 6) | type ProfessionalContentOverlayProps = { function ProfessionalContentOverlay (line 11) | function ProfessionalContentOverlay({ FILE: src/components/ProfileIcon.tsx function ProfileIcon (line 35) | function ProfileIcon() { FILE: src/components/ProxyResourcesTable.tsx type TargetHealth (line 51) | type TargetHealth = { type ResourceRow (line 59) | type ResourceRow = { function getOverallHealthStatus (line 77) | function getOverallHealthStatus( function StatusIcon (line 108) | function StatusIcon({ type ProxyResourcesTableProps (line 131) | type ProxyResourcesTableProps = { function ProxyResourcesTable (line 138) | function ProxyResourcesTable({ type ResourceEnabledFormProps (line 662) | type ResourceEnabledFormProps = { function ResourceEnabledForm (line 670) | function ResourceEnabledForm({ FILE: src/components/QRContainer.tsx function QRContainer (line 3) | function QRContainer({ children =
, outline = true }) { FILE: src/components/RedirectToOrg.tsx type RedirectToOrgProps (line 7) | type RedirectToOrgProps = { function RedirectToOrg (line 11) | function RedirectToOrg({ targetOrgId }: RedirectToOrgProps) { FILE: src/components/RefreshButton.tsx function RefreshButton (line 10) | function RefreshButton() { FILE: src/components/RegenerateInvitationForm.tsx type RegenerateInvitationFormProps (line 29) | type RegenerateInvitationFormProps = { function RegenerateInvitationForm (line 47) | function RegenerateInvitationForm({ FILE: src/components/RegionSelector.tsx type Region (line 14) | type Region = { function RegionSelector (line 33) | function RegionSelector() { FILE: src/components/ResetPasswordForm.tsx type ResetPasswordFormProps (line 53) | type ResetPasswordFormProps = { function ResetPasswordForm (line 60) | function ResetPasswordForm({ FILE: src/components/ResourceAccessDenied.tsx function ResourceAccessDenied (line 14) | function ResourceAccessDenied() { FILE: src/components/ResourceAuthPortal.tsx type ResourceAuthPortalProps (line 76) | type ResourceAuthPortalProps = { function ResourceAuthPortal (line 100) | function ResourceAuthPortal(props: ResourceAuthPortalProps) { FILE: src/components/ResourceInfoBox.tsx type ResourceInfoBoxType (line 18) | type ResourceInfoBoxType = {}; function ResourceInfoBox (line 20) | function ResourceInfoBox({}: ResourceInfoBoxType) { FILE: src/components/ResourceNotFound.tsx function ResourceNotFound (line 12) | async function ResourceNotFound() { FILE: src/components/RestartDomainButton.tsx type RestartDomainButtonProps (line 12) | interface RestartDomainButtonProps { function RestartDomainButton (line 17) | function RestartDomainButton({ FILE: src/components/RoleForm.tsx constant SSH_SUDO_MODE_VALUES (line 30) | const SSH_SUDO_MODE_VALUES = ["none", "full", "commands"] as const; type SshSudoMode (line 31) | type SshSudoMode = (typeof SSH_SUDO_MODE_VALUES)[number]; function parseRoleJsonArray (line 33) | function parseRoleJsonArray(value: string | null | undefined): string[] { function toSshSudoMode (line 43) | function toSshSudoMode(value: string | null | undefined): SshSudoMode { type RoleFormValues (line 49) | type RoleFormValues = { type RoleFormProps (line 60) | type RoleFormProps = { function RoleForm (line 67) | function RoleForm({ FILE: src/components/RolesDataTable.tsx type DataTableProps (line 7) | interface DataTableProps { function RolesDataTable (line 15) | function RolesDataTable({ FILE: src/components/RolesTable.tsx type RoleRow (line 22) | type RoleRow = Role; type RolesTableProps (line 24) | type RolesTableProps = { function UsersTable (line 28) | function UsersTable({ roles }: RolesTableProps) { FILE: src/components/SecurityKeyAuthButton.tsx type SecurityKeyAuthButtonProps (line 15) | type SecurityKeyAuthButtonProps = { function SecurityKeyAuthButton (line 24) | function SecurityKeyAuthButton({ FILE: src/components/SecurityKeyForm.tsx type SecurityKeyFormProps (line 39) | type SecurityKeyFormProps = { type SecurityKey (line 44) | type SecurityKey = { type DeleteSecurityKeyData (line 50) | type DeleteSecurityKeyData = { type RegisterFormValues (line 55) | type RegisterFormValues = { type DeleteFormValues (line 61) | type DeleteFormValues = { type FieldProps (line 66) | type FieldProps = { function SecurityKeyForm (line 76) | function SecurityKeyForm({ FILE: src/components/SetLastOrgCookie.tsx type SetLastOrgCookieProps (line 5) | interface SetLastOrgCookieProps { function SetLastOrgCookie (line 9) | function SetLastOrgCookie({ orgId }: SetLastOrgCookieProps) { FILE: src/components/SetResourceHeaderAuthForm.tsx type SetHeaderAuthFormValues (line 43) | type SetHeaderAuthFormValues = z.infer; type SetHeaderAuthFormProps (line 51) | type SetHeaderAuthFormProps = { function SetResourceHeaderAuthForm (line 58) | function SetResourceHeaderAuthForm({ FILE: src/components/SetResourcePasswordForm.tsx type SetPasswordFormValues (line 40) | type SetPasswordFormValues = z.infer; type SetPasswordFormProps (line 42) | type SetPasswordFormProps = { function SetResourcePasswordForm (line 49) | function SetResourcePasswordForm({ FILE: src/components/SetResourcePincodeForm.tsx type SetPincodeFormValues (line 45) | type SetPincodeFormValues = z.infer; type SetPincodeFormProps (line 47) | type SetPincodeFormProps = { function SetResourcePincodeForm (line 54) | function SetResourcePincodeForm({ FILE: src/components/Settings.tsx function SettingsContainer (line 3) | function SettingsContainer({ children }: { children: React.ReactNode }) { function SettingsSection (line 7) | function SettingsSection({ children }: { children: React.ReactNode }) { function SettingsSectionHeader (line 15) | function SettingsSectionHeader({ function SettingsSectionForm (line 23) | function SettingsSectionForm({ function SettingsSectionTitle (line 35) | function SettingsSectionTitle({ function SettingsSectionDescription (line 47) | function SettingsSectionDescription({ function SettingsSectionBody (line 55) | function SettingsSectionBody({ function SettingsSectionFooter (line 63) | function SettingsSectionFooter({ function SettingsSectionGrid (line 75) | function SettingsSectionGrid({ FILE: src/components/SettingsSectionTitle.tsx type SettingsSectionTitleProps (line 1) | type SettingsSectionTitleProps = { function SettingsSectionTitle (line 7) | function SettingsSectionTitle({ FILE: src/components/ShareLinksDataTable.tsx type DataTableProps (line 7) | interface DataTableProps { function ShareLinksDataTable (line 15) | function ShareLinksDataTable({ FILE: src/components/ShareLinksTable.tsx type ShareLinkRow (line 39) | type ShareLinkRow = { type ShareLinksTableProps (line 49) | type ShareLinksTableProps = { function ShareLinksTable (line 54) | function ShareLinksTable({ FILE: src/components/SidebarLicenseButton.tsx type SidebarLicenseButtonProps (line 15) | interface SidebarLicenseButtonProps { function SidebarLicenseButton (line 19) | function SidebarLicenseButton({ FILE: src/components/SidebarNav.tsx type SidebarNavItem (line 30) | type SidebarNavItem = { type SidebarNavSection (line 39) | type SidebarNavSection = { type SidebarNavProps (line 44) | interface SidebarNavProps extends React.HTMLAttributes { type CollapsibleNavItemProps (line 52) | type CollapsibleNavItemProps = { function CollapsibleNavItem (line 66) | function CollapsibleNavItem({ type CollapsedNavItemWithPopoverProps (line 195) | type CollapsedNavItemWithPopoverProps = { constant TOOLTIP_SUPPRESS_MS (line 210) | const TOOLTIP_SUPPRESS_MS = 400; function CollapsedNavItemWithPopover (line 212) | function CollapsedNavItemWithPopover({ function SidebarNav (line 356) | function SidebarNav({ FILE: src/components/SidebarSupportButton.tsx type SupportFormValues (line 37) | type SupportFormValues = { type SidebarSupportButtonProps (line 42) | type SidebarSupportButtonProps = { function SidebarSupportButton (line 46) | function SidebarSupportButton({ FILE: src/components/SignupForm.tsx type SignupFormProps (line 69) | type SignupFormProps = { function SignupForm (line 102) | function SignupForm({ FILE: src/components/SiteInfoCard.tsx type SiteInfoCardProps (line 14) | type SiteInfoCardProps = {}; function SiteInfoCard (line 16) | function SiteInfoCard({}: SiteInfoCardProps) { FILE: src/components/SitePriceCalculator.tsx type SitePriceCalculatorProps (line 16) | type SitePriceCalculatorProps = { function SitePriceCalculator (line 22) | function SitePriceCalculator({ FILE: src/components/SitesTable.tsx type SiteRow (line 41) | type SiteRow = { type SitesTableProps (line 58) | type SitesTableProps = { function SitesTable (line 65) | function SitesTable({ FILE: src/components/SmartLoginForm.tsx type SmartLoginFormProps (line 42) | type SmartLoginFormProps = { type ViewState (line 48) | type ViewState = function SmartLoginForm (line 61) | function SmartLoginForm({ FILE: src/components/SplashImage.tsx type SplashImageProps (line 8) | type SplashImageProps = { function SplashImage (line 12) | function SplashImage({ children }: SplashImageProps) { FILE: src/components/StoreInternalRedirect.tsx constant TTL_MS (line 6) | const TTL_MS = 10 * 60 * 1000; function StoreInternalRedirect (line 8) | function StoreInternalRedirect() { FILE: src/components/StrategySelect.tsx type StrategyOption (line 7) | interface StrategyOption { type StrategySelectProps (line 15) | interface StrategySelectProps { function StrategySelect (line 23) | function StrategySelect({ FILE: src/components/SubscriptionViolation.tsx function SubscriptionViolation (line 10) | function SubscriptionViolation() { FILE: src/components/SupporterMessage.tsx function SupporterMessage (line 8) | function SupporterMessage({ tier }: { tier: string }) { FILE: src/components/SupporterStatus.tsx type SupporterStatusProps (line 59) | interface SupporterStatusProps { function SupporterStatus (line 63) | function SupporterStatus({ FILE: src/components/SwitchInput.tsx type SwitchComponentProps (line 13) | interface SwitchComponentProps { function SwitchInput (line 24) | function SwitchInput({ FILE: src/components/TailwindIndicator.tsx function TailwindIndicator (line 4) | function TailwindIndicator() { FILE: src/components/TanstackQueryProvider.tsx type ReactQueryProviderProps (line 12) | type ReactQueryProviderProps = { function TanstackQueryProvider (line 16) | function TanstackQueryProvider({ children }: ReactQueryProviderProps) { FILE: src/components/ThemeSwitcher.tsx function ThemeSwitcher (line 9) | function ThemeSwitcher() { FILE: src/components/TopbarNav.tsx type TopbarNavProps (line 8) | interface TopbarNavProps extends React.HTMLAttributes { function TopbarNav (line 18) | function TopbarNav({ FILE: src/components/Toploader.tsx function TopLoader (line 5) | function TopLoader() { FILE: src/components/TwoFactorSetupForm.tsx type TwoFactorSetupFormProps (line 36) | type TwoFactorSetupFormProps = { FILE: src/components/UserDevicesTable.tsx type ClientRow (line 41) | type ClientRow = { type ClientTableProps (line 72) | type ClientTableProps = { function UserDevicesTable (line 79) | function UserDevicesTable({ FILE: src/components/UserProfileCard.tsx type UserProfileCardProps (line 6) | type UserProfileCardProps = { function UserProfileCard (line 13) | function UserProfileCard({ FILE: src/components/UsersDataTable.tsx type DataTableProps (line 7) | interface DataTableProps { function UsersDataTable (line 15) | function UsersDataTable({ FILE: src/components/UsersTable.tsx type UserRow (line 28) | type UserRow = { type UsersTableProps (line 43) | type UsersTableProps = { function UsersTable (line 47) | function UsersTable({ users: u }: UsersTableProps) { FILE: src/components/ValidateOidcToken.tsx type ValidateOidcTokenParams (line 21) | type ValidateOidcTokenParams = { function ValidateOidcToken (line 36) | function ValidateOidcToken(props: ValidateOidcTokenParams) { FILE: src/components/ValidateSessionTransferToken.tsx type ValidateSessionTransferTokenParams (line 13) | type ValidateSessionTransferTokenParams = { function ValidateSessionTransferToken (line 18) | function ValidateSessionTransferToken( FILE: src/components/VerifyEmailForm.tsx type VerifyEmailFormProps (line 42) | type VerifyEmailFormProps = { function VerifyEmailForm (line 47) | function VerifyEmailForm({ FILE: src/components/ViewDevicesDialog.tsx type ViewDevicesDialogProps (line 35) | type ViewDevicesDialogProps = { type Device (line 40) | type Device = { function ViewDevicesDialog (line 50) | function ViewDevicesDialog({ FILE: src/components/ViewportHeightFix.tsx function ViewportHeightFix (line 10) | function ViewportHeightFix() { FILE: src/components/WorldMap.tsx type CountryData (line 13) | type CountryData = { type WorldMapProps (line 20) | type WorldMapProps = { function WorldMap (line 28) | function WorldMap({ data, label }: WorldMapProps) { type MapTooltipProps (line 120) | interface MapTooltipProps { function MapTooltip (line 128) | function MapTooltip({ name, value, label, x, y }: MapTooltipProps) { function setupProjetionPath (line 173) | function setupProjetionPath() { function drawInteractiveCountries (line 184) | function drawInteractiveCountries( type WorldJsonCountryData (line 230) | type WorldJsonCountryData = { properties: { name: string; a3: string } }; function parseWorldTopoJsonToGeoJsonFeatures (line 232) | function parseWorldTopoJsonToGeoJsonFeatures(): Array = ColumnDef< type FilterOption (line 46) | type FilterOption = { type DataTableFilter (line 52) | type DataTableFilter = { type DataTablePaginationUpdateFn (line 62) | type DataTablePaginationUpdateFn = (newPage: PaginationState) => void; type ControlledDataTableProps (line 64) | type ControlledDataTableProps = { function ControlledDataTable (line 87) | function ControlledDataTable({ FILE: src/components/ui/data-table.tsx type ExtendedColumnDef (line 18) | type ExtendedColumnDef = ColumnDef< constant STORAGE_KEYS (line 54) | const STORAGE_KEYS = { type TabFilter (line 137) | type TabFilter = { type FilterOption (line 143) | type FilterOption = { type DataTableFilter (line 149) | type DataTableFilter = { type DataTablePaginationState (line 162) | type DataTablePaginationState = PaginationState & { type DataTablePaginationUpdateFn (line 166) | type DataTablePaginationUpdateFn = (newPage: PaginationState) => void; type DataTableProps (line 168) | type DataTableProps = { function DataTable (line 200) | function DataTable({ FILE: src/components/ui/dropdown-menu.tsx function DropdownMenu (line 8) | function DropdownMenu({ function DropdownMenuPortal (line 14) | function DropdownMenuPortal({ function DropdownMenuTrigger (line 25) | function DropdownMenuTrigger({ function DropdownMenuContent (line 36) | function DropdownMenuContent({ function DropdownMenuGroup (line 56) | function DropdownMenuGroup({ function DropdownMenuItem (line 67) | function DropdownMenuItem({ function DropdownMenuCheckboxItem (line 90) | function DropdownMenuCheckboxItem({ function DropdownMenuRadioGroup (line 116) | function DropdownMenuRadioGroup({ function DropdownMenuRadioItem (line 127) | function DropdownMenuRadioItem({ function DropdownMenuLabel (line 151) | function DropdownMenuLabel({ function DropdownMenuSeparator (line 171) | function DropdownMenuSeparator({ function DropdownMenuShortcut (line 184) | function DropdownMenuShortcut({ function DropdownMenuSub (line 200) | function DropdownMenuSub({ function DropdownMenuSubTrigger (line 208) | function DropdownMenuSubTrigger({ function DropdownMenuSubContent (line 232) | function DropdownMenuSubContent({ FILE: src/components/ui/form.tsx type FormFieldContextValue (line 21) | type FormFieldContextValue< type FormItemContextValue (line 68) | type FormItemContextValue = { function FormItem (line 76) | function FormItem({ className, ...props }: React.ComponentProps<"div">) { function FormLabel (line 90) | function FormLabel({ function FormControl (line 107) | function FormControl({ ...props }: React.ComponentProps) { function FormDescription (line 126) | function FormDescription({ className, ...props }: React.ComponentProps<"... function FormMessage (line 139) | function FormMessage({ className, ...props }: React.ComponentProps<"p">) { FILE: src/components/ui/info-popup.tsx type InfoPopupProps (line 12) | interface InfoPopupProps { function InfoPopup (line 19) | function InfoPopup({ text, info, trigger, children }: InfoPopupProps) { FILE: src/components/ui/input-otp.tsx function InputOTP (line 8) | function InputOTP({ function InputOTPGroup (line 30) | function InputOTPGroup({ className, ...props }: React.ComponentProps<"di... function InputOTPSlot (line 40) | function InputOTPSlot({ function InputOTPSeparator (line 73) | function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) { FILE: src/components/ui/input.tsx type InputProps (line 6) | type InputProps = React.InputHTMLAttributes; FILE: src/components/ui/label.tsx function Label (line 7) | function Label({ FILE: src/components/ui/popover.tsx function Popover (line 7) | function Popover({ function PopoverTrigger (line 13) | function PopoverTrigger({ function PopoverContent (line 19) | function PopoverContent({ function PopoverAnchor (line 41) | function PopoverAnchor({ FILE: src/components/ui/progress.tsx type ProgressProps (line 39) | type ProgressProps = React.ComponentProps & function Progress (line 42) | function Progress({ className, value, variant, ...props }: ProgressProps) { FILE: src/components/ui/scroll-area.tsx function ScrollArea (line 7) | function ScrollArea({ function ScrollBar (line 30) | function ScrollBar({ FILE: src/components/ui/select.tsx function Select (line 8) | function Select({ function SelectGroup (line 14) | function SelectGroup({ function SelectValue (line 20) | function SelectValue({ function SelectTrigger (line 26) | function SelectTrigger({ function SelectContent (line 54) | function SelectContent({ function SelectLabel (line 89) | function SelectLabel({ function SelectItem (line 105) | function SelectItem({ function SelectSeparator (line 129) | function SelectSeparator({ function SelectScrollUpButton (line 145) | function SelectScrollUpButton({ function SelectScrollDownButton (line 163) | function SelectScrollDownButton({ FILE: src/components/ui/sheet.tsx type SheetContentProps (line 50) | interface SheetContentProps FILE: src/components/ui/switch.tsx function Switch (line 7) | function Switch({ FILE: src/components/ui/table.tsx function TableContainer (line 5) | function TableContainer({ children }: { children: React.ReactNode }) { FILE: src/components/ui/textarea.tsx type TextareaProps (line 5) | interface TextareaProps extends React.TextareaHTMLAttributes; type ToastActionElement (line 118) | type ToastActionElement = React.ReactElement; FILE: src/components/ui/toaster.tsx function Toaster (line 14) | function Toaster() { FILE: src/components/ui/tooltip.tsx function TooltipProvider (line 7) | function TooltipProvider({ function Tooltip (line 20) | function Tooltip({ function TooltipTrigger (line 30) | function TooltipTrigger({ function TooltipContent (line 36) | function TooltipContent({ FILE: src/contexts/apiKeyContext.ts type ApiKeyContextType (line 4) | interface ApiKeyContextType { FILE: src/contexts/clientContext.ts type ClientContextType (line 4) | interface ClientContextType { FILE: src/contexts/domainContext.ts type DomainContextType (line 3) | interface DomainContextType { function useDomain (line 11) | function useDomain() { FILE: src/contexts/envContext.ts type EnvContextType (line 4) | interface EnvContextType { FILE: src/contexts/licenseStatusContext.ts type LicenseStatusContextType (line 4) | type LicenseStatusContextType = { FILE: src/contexts/orgContext.ts type OrgContextType (line 4) | interface OrgContextType { FILE: src/contexts/orgUserContext.ts type OrgUserContext (line 4) | interface OrgUserContext { FILE: src/contexts/remoteExitNodeContext.ts type RemoteExitNodeContextType (line 4) | type RemoteExitNodeContextType = { FILE: src/contexts/resourceContext.ts type ResourceContextType (line 5) | interface ResourceContextType { FILE: src/contexts/siteContext.ts type SiteContextType (line 4) | interface SiteContextType { FILE: src/contexts/subscriptionStatusContext.ts type SubscriptionStatusContextType (line 5) | type SubscriptionStatusContextType = { FILE: src/contexts/supporterStatusContext.ts type SupporterStatus (line 3) | type SupporterStatus = { type SupporterStatusContextType (line 8) | type SupporterStatusContextType = { FILE: src/contexts/userContext.ts type UserContextType (line 4) | interface UserContextType { FILE: src/hooks/useApikeyContext.ts function useApiKeyContext (line 4) | function useApiKeyContext() { FILE: src/hooks/useCertificate.ts type UseCertificateProps (line 9) | type UseCertificateProps = { type UseCertificateReturn (line 18) | type UseCertificateReturn = { function useCertificate (line 28) | function useCertificate({ FILE: src/hooks/useClientContext.ts function useClientContext (line 4) | function useClientContext() { FILE: src/hooks/useDomainContext.ts function useDomainContext (line 4) | function useDomainContext() { FILE: src/hooks/useEnvContext.ts function useEnvContext (line 4) | function useEnvContext() { FILE: src/hooks/useLicenseStatusContext.ts function useLicenseStatusContext (line 4) | function useLicenseStatusContext() { FILE: src/hooks/useLocalStorage.ts type SetValue (line 9) | type SetValue = Dispatch>; function useLocalStorage (line 11) | function useLocalStorage( FILE: src/hooks/useMediaQuery.ts function useMediaQuery (line 3) | function useMediaQuery(query: string) { FILE: src/hooks/useNavigationContext.ts function useNavigationContext (line 4) | function useNavigationContext() { FILE: src/hooks/useOrgContext.ts function useOrgContext (line 4) | function useOrgContext() { FILE: src/hooks/useOrgUserContext.ts function userOrgUserContext (line 4) | function userOrgUserContext() { FILE: src/hooks/usePaidStatus.ts function usePaidStatus (line 6) | function usePaidStatus() { FILE: src/hooks/useRemoteExitNodeContext.ts function useRemoteExitNodeContext (line 8) | function useRemoteExitNodeContext() { FILE: src/hooks/useResourceContext.ts function useResourceContext (line 4) | function useResourceContext() { FILE: src/hooks/useSiteContext.ts function useSiteContext (line 4) | function useSiteContext() { FILE: src/hooks/useStoredColumnVisibility.ts constant STORAGE_KEYS (line 4) | const STORAGE_KEYS = { function useStoredColumnVisibility (line 52) | function useStoredColumnVisibility( FILE: src/hooks/useStoredPageSize.ts constant STORAGE_KEYS (line 3) | const STORAGE_KEYS = { function useStoredPageSize (line 38) | function useStoredPageSize(tableId: string, defaultPageSize?: number) { FILE: src/hooks/useSubscriptionStatusContext.ts function useSubscriptionStatusContext (line 5) | function useSubscriptionStatusContext() { FILE: src/hooks/useSupporterStatusContext.ts function useSupporterStatusContext (line 4) | function useSupporterStatusContext() { FILE: src/hooks/useToast.ts constant TOAST_LIMIT (line 8) | const TOAST_LIMIT = 3; constant TOAST_REMOVE_DELAY (line 9) | const TOAST_REMOVE_DELAY = 1 * 1000; type ToasterToast (line 11) | type ToasterToast = ToastProps & { function genId (line 27) | function genId() { type ActionType (line 32) | type ActionType = typeof actionTypes; type Action (line 34) | type Action = type State (line 52) | interface State { function dispatch (line 133) | function dispatch(action: Action) { type Toast (line 140) | type Toast = Omit; function toast (line 142) | function toast({ ...props }: Toast) { function useToast (line 171) | function useToast() { FILE: src/hooks/useUserContext.ts function useUserContext (line 4) | function useUserContext() { FILE: src/hooks/useUserLookup.ts type UseUserLookupResult (line 7) | type UseUserLookupResult = { function useUserLookup (line 13) | function useUserLookup(): UseUserLookupResult { FILE: src/i18n/config.ts type Locale (line 1) | type Locale = (typeof locales)[number]; FILE: src/lib/api/cookies.ts function authCookieHeader (line 3) | async function authCookieHeader() { FILE: src/lib/api/formatAxiosError.ts function formatAxiosError (line 1) | function formatAxiosError(error: any, defaultMessage?: string): string { FILE: src/lib/api/index.ts function createApiClient (line 6) | function createApiClient({ env }: { env: Env }): AxiosInstance { FILE: src/lib/cleanRedirect.ts type CleanRedirectOptions (line 1) | type CleanRedirectOptions = { constant ALLOWED_QUERY_PARAMS (line 8) | const ALLOWED_QUERY_PARAMS = new Set([ constant DUMMY_BASE (line 15) | const DUMMY_BASE = "https://internal.local"; function cleanRedirect (line 17) | function cleanRedirect( function sanitizeUrl (line 38) | function sanitizeUrl( FILE: src/lib/cn.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: src/lib/countryCodeList.ts constant COUNTRY_CODE_LIST (line 2) | const COUNTRY_CODE_LIST: Record< FILE: src/lib/countryCodeToFlagEmoji.ts function countryCodeToFlagEmoji (line 1) | function countryCodeToFlagEmoji(isoAlpha2: string) { FILE: src/lib/dataSize.ts function parseDataSize (line 1) | function parseDataSize(sizeStr: string): number { FILE: src/lib/docker.ts type DockerState (line 12) | interface DockerState { class DockerManager (line 19) | class DockerManager { method constructor (line 23) | constructor(api: any, siteId: number) { method checkDockerSocket (line 28) | async checkDockerSocket(): Promise { method getDockerSocketStatus (line 39) | async getDockerSocketStatus(): Promise { method fetchContainers (line 57) | async fetchContainers(maxRetries: number = 3): Promise { method initializeDocker (line 104) | async initializeDocker(): Promise { FILE: src/lib/durationToMs.ts function durationToMs (line 1) | function durationToMs( FILE: src/lib/formatDeviceFingerprint.ts type DeviceFingerprint (line 1) | type DeviceFingerprint = { function formatPlatform (line 15) | function formatPlatform(platform: string | null | undefined): string { function formatFingerprintInfo (line 35) | function formatFingerprintInfo( FILE: src/lib/getSevenDaysAgo.ts function getSevenDaysAgo (line 1) | function getSevenDaysAgo() { FILE: src/lib/getUserDisplayName.ts type UserDisplayNameInput (line 3) | type UserDisplayNameInput = function getUserDisplayName (line 20) | function getUserDisplayName(input: UserDisplayNameInput): string { FILE: src/lib/internalRedirect.ts constant INTERNAL_REDIRECT_KEY (line 3) | const INTERNAL_REDIRECT_KEY = "internal_redirect"; function consumeInternalRedirectPath (line 10) | function consumeInternalRedirectPath(): string | null { function getInternalRedirectTarget (line 48) | function getInternalRedirectTarget(orgId: string): string | null { FILE: src/lib/parseHostTarget.ts function parseHostTarget (line 1) | function parseHostTarget(input: string) { FILE: src/lib/pullEnv.ts function pullEnv (line 3) | function pullEnv(): Env { FILE: src/lib/queries.ts type ProductUpdate (line 31) | type ProductUpdate = { type LatestVersionResponse (line 42) | type LatestVersionResponse = { type LogAnalyticsFilters (line 217) | type LogAnalyticsFilters = z.TypeOf; type ApprovalItem (line 344) | type ApprovalItem = { FILE: src/lib/replacePlaceholder.ts function replacePlaceholder (line 1) | function replacePlaceholder( FILE: src/lib/shareLinks.ts function constructShareLink (line 1) | function constructShareLink(token: string) { FILE: src/lib/sortColumn.ts function getNextSortOrder (line 3) | function getNextSortOrder( function getSortDirection (line 41) | function getSortDirection( FILE: src/lib/subdomain-utils.ts type DomainType (line 1) | type DomainType = "organization" | "provided" | "provided-search"; constant SINGLE_LABEL_RE (line 3) | const SINGLE_LABEL_RE = /^[\p{L}\p{N}-]+$/u; constant MULTI_LABEL_RE (line 4) | const MULTI_LABEL_RE = /^[\p{L}\p{N}-]+(\.[\p{L}\p{N}-]+)*$/u; constant SINGLE_LABEL_STRICT_RE (line 5) | const SINGLE_LABEL_STRICT_RE = function sanitizeInputRaw (line 8) | function sanitizeInputRaw(input: string): string { function finalizeSubdomainSanitize (line 16) | function finalizeSubdomainSanitize(input: string): string { function validateByDomainType (line 28) | function validateByDomainType( FILE: src/lib/themeColors.ts function setGlobalColorTheme (line 57) | function setGlobalColorTheme( FILE: src/lib/timeAgoFormatter.ts function timeAgoFormatter (line 1) | function timeAgoFormatter( FILE: src/lib/types/env.ts type Env (line 1) | type Env = { FILE: src/lib/types/sort.ts type SortOrder (line 1) | type SortOrder = "asc" | "desc" | "indeterminate"; FILE: src/lib/validateLocalPath.ts function validateLocalPath (line 1) | function validateLocalPath(value: string) { FILE: src/lib/wait.ts function wait (line 1) | function wait(ms: number): Promise { FILE: src/lib/wireguard.ts function generateWireGuardConfig (line 1) | function generateWireGuardConfig( function generateObfuscatedWireGuardConfig (line 24) | function generateObfuscatedWireGuardConfig(options?: { FILE: src/middleware.ts function middleware (line 4) | function middleware(request: NextRequest) { FILE: src/providers/ApiKeyProvider.tsx type ApiKeyProviderProps (line 8) | interface ApiKeyProviderProps { function ApiKeyProvider (line 13) | function ApiKeyProvider({ children, apiKey: ak }: ApiKeyProviderProps) { FILE: src/providers/ClientProvider.tsx type ClientProviderProps (line 7) | interface ClientProviderProps { function ClientProvider (line 12) | function ClientProvider({ FILE: src/providers/DomainProvider.tsx type DomainProviderProps (line 8) | interface DomainProviderProps { function DomainProvider (line 14) | function DomainProvider({ FILE: src/providers/EnvProvider.tsx type ApiProviderProps (line 6) | interface ApiProviderProps { function EnvProvider (line 11) | function EnvProvider({ children, env }: ApiProviderProps) { FILE: src/providers/LicenseStatusProvider.tsx type ProviderProps (line 8) | interface ProviderProps { function LicenseStatusProvider (line 13) | function LicenseStatusProvider({ FILE: src/providers/OrgProvider.tsx type OrgProviderProps (line 8) | interface OrgProviderProps { function OrgProvider (line 13) | function OrgProvider({ children, org: serverOrg }: OrgProviderProps) { FILE: src/providers/OrgUserProvider.tsx type OrgUserProviderProps (line 8) | interface OrgUserProviderProps { function OrgUserProvider (line 13) | function OrgUserProvider({ FILE: src/providers/RemoteExitNodeProvider.tsx type RemoteExitNodeProviderProps (line 8) | type RemoteExitNodeProviderProps = { function RemoteExitNodeProvider (line 13) | function RemoteExitNodeProvider({ FILE: src/providers/ResourceProvider.tsx type ResourceProviderProps (line 9) | interface ResourceProviderProps { function ResourceProvider (line 15) | function ResourceProvider({ FILE: src/providers/SiteProvider.tsx type SiteProviderProps (line 8) | interface SiteProviderProps { function SiteProvider (line 13) | function SiteProvider({ FILE: src/providers/SubscriptionStatusProvider.tsx type ProviderProps (line 9) | interface ProviderProps { function SubscriptionStatusProvider (line 16) | function SubscriptionStatusProvider({ FILE: src/providers/SupporterStatusProvider.tsx type ProviderProps (line 8) | interface ProviderProps { function SupporterStatusProvider (line 13) | function SupporterStatusProvider({ FILE: src/providers/ThemeDataProvider.tsx type ThemeColorStateProps (line 7) | type ThemeColorStateProps = { function ThemeDataProvider (line 12) | function ThemeDataProvider({ FILE: src/providers/ThemeProvider.tsx type ThemeProviderProps (line 5) | type ThemeProviderProps = React.ComponentProps; function ThemeProvider (line 7) | function ThemeProvider({ children, ...props }: ThemeProviderProps) { FILE: src/providers/UserProvider.tsx type UserProviderProps (line 8) | interface UserProviderProps { function UserProvider (line 13) | function UserProvider({ children, user: u }: UserProviderProps) { FILE: src/services/locale.ts constant COOKIE_NAME (line 8) | const COOKIE_NAME = "NEXT_LOCALE"; function getUserLocale (line 10) | async function getUserLocale(): Promise { function setUserLocale (line 35) | async function setUserLocale(locale: Locale) { FILE: src/types/canvas-confetti.d.ts type ConfettiOptions (line 2) | interface ConfettiOptions { FILE: src/types/tanstack-query.d.ts type Meta (line 4) | interface Meta extends Record { type Register (line 9) | interface Register { FILE: test/assert.ts function assertEqualsObj (line 8) | function assertEqualsObj(actual: T, expected: T, message: string): vo... function assertEquals (line 23) | function assertEquals(actual: T, expected: T, message: string): void { function assertThrows (line 36) | function assertThrows(