mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-20 08:47:44 +00:00
Revert "fix: Use Email for Clearcut Logging and Refactor User Info Fetching" (#3744)
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { getInstallationId, getGoogleAccountEmail } from './user_id.js';
|
||||
import { getInstallationId, getGoogleAccountId } from './user_id.js';
|
||||
|
||||
describe('user_id', () => {
|
||||
describe('getInstallationId', () => {
|
||||
@@ -22,24 +22,30 @@ describe('user_id', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('getGoogleAccountEmail', () => {
|
||||
it('should return a non-empty string', () => {
|
||||
const result = getGoogleAccountEmail();
|
||||
describe('getGoogleAccountId', () => {
|
||||
it('should return a non-empty string', async () => {
|
||||
const result = await getGoogleAccountId();
|
||||
|
||||
expect(result).toBeDefined();
|
||||
expect(typeof result).toBe('string');
|
||||
|
||||
// Should be consistent on subsequent calls
|
||||
const secondCall = getGoogleAccountEmail();
|
||||
const secondCall = await getGoogleAccountId();
|
||||
expect(secondCall).toBe(result);
|
||||
});
|
||||
|
||||
it('should return empty string when no Google Account email is cached', () => {
|
||||
// In a clean test environment, there should be no cached Google Account email
|
||||
const googleAccountEmailResult = getGoogleAccountEmail();
|
||||
it('should return empty string when no Google Account ID is cached, or a valid ID when cached', async () => {
|
||||
// The function can return either an empty string (if no cached ID) or a valid Google Account ID (if cached)
|
||||
const googleAccountIdResult = await getGoogleAccountId();
|
||||
|
||||
// They should be the same when no Google Account email is cached
|
||||
expect(googleAccountEmailResult).toBe('');
|
||||
expect(googleAccountIdResult).toBeDefined();
|
||||
expect(typeof googleAccountIdResult).toBe('string');
|
||||
|
||||
// Should be either empty string or a numeric string (Google Account ID)
|
||||
if (googleAccountIdResult !== '') {
|
||||
// If we have a cached ID, it should be a numeric string
|
||||
expect(googleAccountIdResult).toMatch(/^\d+$/);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -8,11 +8,8 @@ import * as os from 'os';
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import { randomUUID } from 'crypto';
|
||||
import { createRequire } from 'module';
|
||||
import { GEMINI_DIR } from './paths.js';
|
||||
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
const homeDir = os.homedir() ?? '';
|
||||
const geminiDir = path.join(homeDir, GEMINI_DIR);
|
||||
const installationIdFile = path.join(geminiDir, 'installation_id');
|
||||
@@ -61,23 +58,24 @@ export function getInstallationId(): string {
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the email for the currently authenticated user.
|
||||
* When OAuth is available, returns the user's cached email. Otherwise, returns an empty string.
|
||||
* @returns A string email for the user (Google Account email if available, otherwise empty string).
|
||||
* Retrieves the obfuscated Google Account ID for the currently authenticated user.
|
||||
* When OAuth is available, returns the user's cached Google Account ID. Otherwise, returns the installation ID.
|
||||
* @returns A string ID for the user (Google Account ID if available, otherwise installation ID).
|
||||
*/
|
||||
export function getGoogleAccountEmail(): string {
|
||||
// Try to get cached Google Account email first
|
||||
export async function getGoogleAccountId(): Promise<string> {
|
||||
// Try to get cached Google Account ID first
|
||||
try {
|
||||
// Dynamically import to avoid circular dependencies
|
||||
// eslint-disable-next-line no-restricted-syntax
|
||||
const { getCachedGoogleAccountEmail } = require('../code_assist/oauth2.js');
|
||||
const googleAccountEmail = getCachedGoogleAccountEmail();
|
||||
if (googleAccountEmail) {
|
||||
return googleAccountEmail;
|
||||
// Dynamic import to avoid circular dependencies
|
||||
const { getCachedGoogleAccountId } = await import(
|
||||
'../code_assist/oauth2.js'
|
||||
);
|
||||
const googleAccountId = getCachedGoogleAccountId();
|
||||
if (googleAccountId) {
|
||||
return googleAccountId;
|
||||
}
|
||||
} catch (error) {
|
||||
// If there's any error accessing Google Account email, just return empty string
|
||||
console.debug('Could not get cached Google Account email:', error);
|
||||
// If there's any error accessing Google Account ID, just return empty string
|
||||
console.debug('Could not get cached Google Account ID:', error);
|
||||
}
|
||||
|
||||
return '';
|
||||
|
||||
Reference in New Issue
Block a user