(env: NodeJS.ProcessEnv, ownerToken: string | undefined)
| 172 | } |
| 173 | |
| 174 | function parseOAuthConfig(env: NodeJS.ProcessEnv, ownerToken: string | undefined): OAuthConfig { |
| 175 | return { |
| 176 | ownerToken: parseRequiredSecret(env.DEVSPACE_OAUTH_OWNER_TOKEN ?? ownerToken, "DEVSPACE_OAUTH_OWNER_TOKEN"), |
| 177 | accessTokenTtlSeconds: parsePositiveInteger( |
| 178 | env.DEVSPACE_OAUTH_ACCESS_TOKEN_TTL_SECONDS, |
| 179 | DEFAULT_OAUTH_ACCESS_TOKEN_TTL_SECONDS, |
| 180 | "DEVSPACE_OAUTH_ACCESS_TOKEN_TTL_SECONDS", |
| 181 | ), |
| 182 | refreshTokenTtlSeconds: parsePositiveInteger( |
| 183 | env.DEVSPACE_OAUTH_REFRESH_TOKEN_TTL_SECONDS, |
| 184 | DEFAULT_OAUTH_REFRESH_TOKEN_TTL_SECONDS, |
| 185 | "DEVSPACE_OAUTH_REFRESH_TOKEN_TTL_SECONDS", |
| 186 | ), |
| 187 | scopes: parseStringList(env.DEVSPACE_OAUTH_SCOPES, ["devspace"]), |
| 188 | allowedRedirectHosts: parseStringList(env.DEVSPACE_OAUTH_ALLOWED_REDIRECT_HOSTS, [ |
| 189 | "chatgpt.com", |
| 190 | "localhost", |
| 191 | "127.0.0.1", |
| 192 | ]), |
| 193 | }; |
| 194 | } |
| 195 | |
| 196 | function defaultStateDir(): string { |
| 197 | return join(homedir(), ".local", "share", "devspace"); |
no test coverage detected