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>