(options: { browser: boolean })
| 190 | } |
| 191 | |
| 192 | async function loginCommand(options: { browser: boolean }): Promise<void> { |
| 193 | trackEvent("command", { name: "login" }); |
| 194 | const existingToken = await getValidAccessToken(); |
| 195 | if (existingToken) { |
| 196 | console.log(pc.yellow("You are already logged in.")); |
| 197 | console.log(pc.dim("Run 'ctx7 logout' first if you want to log in with a different account.")); |
| 198 | return; |
| 199 | } |
| 200 | clearTokens(); |
| 201 | |
| 202 | const token = await performLogin(options.browser); |
| 203 | if (!token) { |
| 204 | process.exit(1); |
| 205 | } |
| 206 | console.log(""); |
| 207 | console.log(pc.dim("You can now use authenticated Context7 features.")); |
| 208 | } |
| 209 | |
| 210 | function logoutCommand(): void { |
| 211 | trackEvent("command", { name: "logout" }); |
no test coverage detected