Skip to main content

Class: GoogleDriveTokenManager

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:48

Manages OAuth tokens for Google Drive.

Constructors

Constructor

new GoogleDriveTokenManager(args: {
clientId: string;
clientSecret?: string;
secretStore: SecretStore;
storageKey: string;
}): GoogleDriveTokenManager;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:219

Parameters

args
clientId

string

clientSecret?

string

secretStore

SecretStore

storageKey

string

Returns

GoogleDriveTokenManager

Properties

clientId

private readonly clientId: string;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:49


clientSecret

private readonly clientSecret: string | undefined;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:51


credentialGeneration

private credentialGeneration: number = 0;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:54

Invalidates asynchronous work started with older credentials.


secretStore

private readonly secretStore: SecretStore;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:56


storageKey

private readonly storageKey: string;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:58


tokenMutationQueue

private tokenMutationQueue: Promise<void>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:61

Serializes writes so a later login or logout determines final state.


refreshSingleFlight

private readonly refreshSingleFlight: () => Promise<string>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:67

Single-flight wrapper to prevent concurrent refresh storms when multiple call sites request an access token at the same time.

Returns

Promise<string>

Methods

clear()

clear(): Promise<void>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:69

Returns

Promise<void>


getTokens()

getTokens(): Promise<GoogleDriveTokens | undefined>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:76

Returns

Promise<GoogleDriveTokens | undefined>


setTokens()

setTokens(tokens: GoogleDriveTokens): Promise<void>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:87

Parameters

tokens

GoogleDriveTokens

Returns

Promise<void>


isConnected()

isConnected(): Promise<boolean>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:98

Returns

Promise<boolean>


getValidAccessToken()

getValidAccessToken(): Promise<string>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:106

Returns a valid access token, refreshing if required.

Returns

Promise<string>


refresh()

private refresh(refreshToken: string): Promise<GoogleTokenResponse>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:121

Parameters

refreshToken

string

Returns

Promise<GoogleTokenResponse>


enqueueTokenMutation()

private enqueueTokenMutation(operation: () => Promise<void>): Promise<void>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:140

Parameters

operation

() => Promise<void>

Returns

Promise<void>


storeRefreshedTokens()

private storeRefreshedTokens(tokens: GoogleDriveTokens, expectedGeneration: number): Promise<void>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:157

Parameters

tokens

GoogleDriveTokens

expectedGeneration

number

Returns

Promise<void>


clearIfGenerationMatches()

private clearIfGenerationMatches(expectedGeneration: number): Promise<void>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:176

Parameters

expectedGeneration

number

Returns

Promise<void>


revoke()

revoke(): Promise<void>;

Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:189

Returns

Promise<void>