@agility/management-sdk 0.1.2 → 0.1.4-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/api-documentation-manifest.md +275 -0
- package/.cursor/api-functions-analysis.md +111 -0
- package/.cursor/docs-final-check.md +269 -0
- package/.cursor/manifest.md +153 -0
- package/.env +92 -0
- package/README.md +219 -352
- package/dist/apiClient.d.ts +86 -0
- package/dist/apiClient.js +229 -0
- package/dist/apiClient.js.map +1 -0
- package/dist/apiMethods/assetMethods.d.ts +28 -6
- package/dist/apiMethods/assetMethods.js +346 -74
- package/dist/apiMethods/assetMethods.js.map +1 -0
- package/dist/apiMethods/authMethods.d.ts +239 -0
- package/dist/apiMethods/authMethods.js +604 -0
- package/dist/apiMethods/batchMethods.d.ts +32 -1
- package/dist/apiMethods/batchMethods.js +324 -42
- package/dist/apiMethods/batchMethods.js.map +1 -0
- package/dist/apiMethods/clientInstance.d.ts +58 -4
- package/dist/apiMethods/clientInstance.js +383 -56
- package/dist/apiMethods/clientInstance.js.map +1 -0
- package/dist/apiMethods/containerMethods.d.ts +15 -7
- package/dist/apiMethods/containerMethods.js +199 -83
- package/dist/apiMethods/containerMethods.js.map +1 -0
- package/dist/apiMethods/contentMethods.d.ts +17 -10
- package/dist/apiMethods/contentMethods.js +432 -149
- package/dist/apiMethods/contentMethods.js.map +1 -0
- package/dist/apiMethods/instanceMethods.d.ts +9 -0
- package/dist/apiMethods/instanceMethods.js +69 -0
- package/dist/apiMethods/instanceMethods.js.map +1 -0
- package/dist/apiMethods/instanceUserMethods.d.ts +3 -3
- package/dist/apiMethods/instanceUserMethods.js +93 -39
- package/dist/apiMethods/instanceUserMethods.js.map +1 -0
- package/dist/apiMethods/modelMethods.d.ts +6 -5
- package/dist/apiMethods/modelMethods.js +150 -61
- package/dist/apiMethods/modelMethods.js.map +1 -0
- package/dist/apiMethods/pageMethods.d.ts +21 -9
- package/dist/apiMethods/pageMethods.js +500 -134
- package/dist/apiMethods/pageMethods.js.map +1 -0
- package/dist/apiMethods/serverUserMethods.d.ts +10 -0
- package/dist/apiMethods/serverUserMethods.js +89 -0
- package/dist/apiMethods/serverUserMethods.js.map +1 -0
- package/dist/apiMethods/webhookMethods.d.ts +12 -0
- package/dist/apiMethods/webhookMethods.js +131 -0
- package/dist/apiMethods/webhookMethods.js.map +1 -0
- package/dist/enums/assetGroupingType.d.ts +3 -0
- package/dist/enums/assetGroupingType.js +7 -0
- package/dist/enums/assetGroupingType.js.map +1 -0
- package/dist/enums/batchItemType.d.ts +7 -0
- package/dist/enums/batchItemType.js +11 -0
- package/dist/enums/batchOperationType.js +1 -1
- package/dist/enums/batchOperationType.js.map +1 -0
- package/dist/enums/batchState..js +1 -1
- package/dist/enums/batchState.d.ts +7 -0
- package/dist/enums/batchState.js +12 -0
- package/dist/enums/batchState.js.map +1 -0
- package/dist/enums/pageItemTemplateType.d.ts +4 -0
- package/dist/enums/pageItemTemplateType.js +8 -0
- package/dist/enums/pageItemTemplateType.js.map +1 -0
- package/dist/enums/workflowOperationType.d.ts +26 -0
- package/dist/enums/workflowOperationType.js +30 -0
- package/dist/errors/exception.d.ts +4 -0
- package/dist/errors/exception.js +11 -0
- package/dist/errors/exception.js.map +1 -0
- package/dist/index.d.ts +41 -9
- package/dist/index.js +48 -10
- package/dist/index.js.map +1 -0
- package/dist/models/assetContainer.d.ts +7 -0
- package/dist/models/assetContainer.js +9 -0
- package/dist/models/assetGalleries.d.ts +5 -0
- package/dist/models/assetGalleries.js +9 -0
- package/dist/models/assetMediaGrouping.d.ts +17 -0
- package/dist/models/assetMediaGrouping.js +9 -0
- package/dist/models/assetMediaGroupingMetaData.d.ts +4 -0
- package/dist/models/assetMediaGroupingMetaData.js +9 -0
- package/dist/models/authTokens.d.ts +73 -0
- package/dist/models/authTokens.js +2 -0
- package/dist/models/batch.js +5 -2
- package/dist/models/batchItem.d.ts +1 -0
- package/dist/models/batchItem.js +5 -2
- package/dist/models/batchRequests.d.ts +67 -0
- package/dist/models/batchRequests.js +2 -0
- package/dist/models/batchTypes.d.ts +34 -0
- package/dist/models/batchTypes.js +2 -0
- package/dist/models/container.d.ts +2 -1
- package/dist/models/container.js +5 -2
- package/dist/models/contentDefinitionTypeID.d.ts +17 -0
- package/dist/models/contentDefinitionTypeID.js +21 -0
- package/dist/models/contentItem.js +25 -10
- package/dist/models/contentItemHistory.d.ts +20 -0
- package/dist/models/contentItemHistory.js +15 -0
- package/dist/models/contentListFilterModel.d.ts +26 -0
- package/dist/models/contentListFilterModel.js +33 -0
- package/dist/models/contentSectionDefaultModule.d.ts +7 -0
- package/dist/models/contentSectionDefaultModule.js +9 -0
- package/dist/models/contentSectionDefinition.d.ts +35 -0
- package/dist/models/contentSectionDefinition.js +9 -0
- package/dist/models/contentViewColumn.js +5 -2
- package/dist/models/exception.js +23 -5
- package/dist/models/instanceRole.js +5 -2
- package/dist/models/instanceUser.js +5 -2
- package/dist/models/itemComments.d.ts +14 -0
- package/dist/models/itemComments.js +15 -0
- package/dist/models/listParams.d.ts +9 -0
- package/dist/models/listParams.js +16 -0
- package/dist/models/locales.d.ts +3 -0
- package/dist/models/locales.js +30 -0
- package/dist/models/media.js +10 -4
- package/dist/models/model.js +10 -4
- package/dist/models/notification.js +5 -2
- package/dist/models/options.d.ts +2 -5
- package/dist/models/options.js +4 -20
- package/dist/models/pageHistory.d.ts +21 -0
- package/dist/models/pageHistory.js +15 -0
- package/dist/models/pageItem.js +30 -12
- package/dist/models/pageModel.d.ts +14 -0
- package/dist/models/pageModel.js +9 -0
- package/dist/models/serverUser.d.ts +21 -0
- package/dist/models/serverUser.js +9 -0
- package/dist/models/sharedModule.d.ts +7 -0
- package/dist/models/sharedModule.js +9 -0
- package/dist/models/sitemap.js +10 -4
- package/dist/models/webhook.d.ts +9 -0
- package/dist/models/webhook.js +9 -0
- package/dist/models/websiteListing.d.ts +16 -0
- package/dist/models/websiteListing.js +9 -0
- package/dist/models/websiteUser.js +10 -4
- package/dist/tests/authHelper.d.ts +2 -0
- package/dist/tests/authHelper.js +14 -0
- package/dist/tests/authHelper.js.map +1 -0
- package/dist/tests/config/apiClient.config.d.ts +16 -0
- package/dist/tests/config/apiClient.config.js +84 -0
- package/dist/tests/config/apiClient.config.js.map +1 -0
- package/dist/tests/config/test.config.d.ts +24 -0
- package/dist/tests/config/test.config.js +47 -0
- package/dist/tests/config/test.config.js.map +1 -0
- package/dist/tokenStorage.d.ts +72 -0
- package/dist/tokenStorage.js +366 -0
- package/dist/types/apiResponse.d.ts +13 -0
- package/dist/types/apiResponse.js +3 -0
- package/dist/types/apiResponse.js.map +1 -0
- package/dist/types/assetContainer.d.ts +7 -0
- package/dist/types/assetContainer.js +3 -0
- package/dist/types/assetContainer.js.map +1 -0
- package/dist/types/assetGalleries.d.ts +5 -0
- package/dist/types/assetGalleries.js +3 -0
- package/dist/types/assetGalleries.js.map +1 -0
- package/dist/types/assetMediaGrouping.d.ts +17 -0
- package/dist/types/assetMediaGrouping.js +3 -0
- package/dist/types/assetMediaGrouping.js.map +1 -0
- package/dist/types/assetMediaGroupingMetaData.d.ts +4 -0
- package/dist/types/assetMediaGroupingMetaData.js +3 -0
- package/dist/types/assetMediaGroupingMetaData.js.map +1 -0
- package/dist/types/batch.d.ts +29 -0
- package/dist/types/batch.js +3 -0
- package/dist/types/batch.js.map +1 -0
- package/dist/types/batchItem.d.ts +13 -0
- package/dist/types/batchItem.js +3 -0
- package/dist/types/batchItem.js.map +1 -0
- package/dist/types/container.d.ts +47 -0
- package/dist/types/container.js +3 -0
- package/dist/types/container.js.map +1 -0
- package/dist/types/contentItem.d.ts +37 -0
- package/dist/types/contentItem.js +3 -0
- package/dist/types/contentItem.js.map +1 -0
- package/dist/types/contentItemHistory.d.ts +20 -0
- package/dist/types/contentItemHistory.js +3 -0
- package/dist/types/contentItemHistory.js.map +1 -0
- package/dist/types/contentListFilterModel.d.ts +26 -0
- package/dist/types/contentListFilterModel.js +3 -0
- package/dist/types/contentListFilterModel.js.map +1 -0
- package/dist/types/contentSectionDefaultModule.d.ts +7 -0
- package/dist/types/contentSectionDefaultModule.js +3 -0
- package/dist/types/contentSectionDefaultModule.js.map +1 -0
- package/dist/types/contentSectionDefinition.d.ts +35 -0
- package/dist/types/contentSectionDefinition.js +3 -0
- package/dist/types/contentSectionDefinition.js.map +1 -0
- package/dist/types/contentViewColumn.d.ts +8 -0
- package/dist/types/contentViewColumn.js +3 -0
- package/dist/types/contentViewColumn.js.map +1 -0
- package/dist/types/instanceRole.d.ts +7 -0
- package/dist/types/instanceRole.js +3 -0
- package/dist/types/instanceRole.js.map +1 -0
- package/dist/types/instanceUser.d.ts +14 -0
- package/dist/types/instanceUser.js +3 -0
- package/dist/types/instanceUser.js.map +1 -0
- package/dist/types/itemComments.d.ts +14 -0
- package/dist/types/itemComments.js +3 -0
- package/dist/types/itemComments.js.map +1 -0
- package/dist/types/listParams.d.ts +9 -0
- package/dist/types/listParams.js +3 -0
- package/dist/types/listParams.js.map +1 -0
- package/dist/types/locales.d.ts +1 -0
- package/dist/types/locales.js +3 -0
- package/dist/types/locales.js.map +1 -0
- package/dist/types/media.d.ts +30 -0
- package/dist/types/media.js +3 -0
- package/dist/types/media.js.map +1 -0
- package/dist/types/model.d.ts +30 -0
- package/dist/types/model.js +3 -0
- package/dist/types/model.js.map +1 -0
- package/dist/types/notification.d.ts +13 -0
- package/dist/types/notification.js +3 -0
- package/dist/types/notification.js.map +1 -0
- package/dist/types/options.d.ts +7 -0
- package/dist/types/options.js +3 -0
- package/dist/types/options.js.map +1 -0
- package/dist/types/pageHistory.d.ts +21 -0
- package/dist/types/pageHistory.js +3 -0
- package/dist/types/pageHistory.js.map +1 -0
- package/dist/types/pageItem.d.ts +56 -0
- package/dist/types/pageItem.js +3 -0
- package/dist/types/pageItem.js.map +1 -0
- package/dist/types/pageModel.d.ts +14 -0
- package/dist/types/pageModel.js +3 -0
- package/dist/types/pageModel.js.map +1 -0
- package/dist/types/serverUser.d.ts +21 -0
- package/dist/types/serverUser.js +3 -0
- package/dist/types/serverUser.js.map +1 -0
- package/dist/types/sharedModule.d.ts +7 -0
- package/dist/types/sharedModule.js +3 -0
- package/dist/types/sharedModule.js.map +1 -0
- package/dist/types/sitemap.d.ts +20 -0
- package/dist/types/sitemap.js +3 -0
- package/dist/types/sitemap.js.map +1 -0
- package/dist/types/tokenResponseData.d.ts +10 -0
- package/dist/types/tokenResponseData.js +3 -0
- package/dist/types/tokenResponseData.js.map +1 -0
- package/dist/types/webhook.d.ts +9 -0
- package/dist/types/webhook.js +3 -0
- package/dist/types/webhook.js.map +1 -0
- package/dist/types/websiteListing.d.ts +16 -0
- package/dist/types/websiteListing.js +3 -0
- package/dist/types/websiteListing.js.map +1 -0
- package/dist/types/websiteUser.d.ts +22 -0
- package/dist/types/websiteUser.js +3 -0
- package/dist/types/websiteUser.js.map +1 -0
- package/docs/asset-methods.md +382 -0
- package/docs/auth.md +594 -0
- package/docs/batch-methods.md +244 -0
- package/docs/cicd.md +607 -0
- package/docs/container-methods.md +268 -0
- package/docs/content-methods.md +423 -0
- package/docs/instance-methods.md +105 -0
- package/docs/instance-user-methods.md +231 -0
- package/docs/model-methods.md +434 -0
- package/docs/multi-instance-operations.md +192 -0
- package/docs/page-methods.md +671 -0
- package/docs/server-user-methods.md +280 -0
- package/docs/webhook-methods.md +452 -0
- package/package.json +14 -10
- package/tsconfig.json +2 -2
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { Options } from "../models/options";
|
|
2
|
+
import { OAuthTokenResponse, AuthUrlOptions, TokenExchangeRequest, TokenRefreshRequest, TokenValidationResponse, TokenManagerConfig, AuthState } from "../models/authTokens";
|
|
3
|
+
/**
|
|
4
|
+
* Internal authentication methods - not exposed publicly
|
|
5
|
+
* Handles OAuth flow and token management with secure storage
|
|
6
|
+
*/
|
|
7
|
+
export declare class AuthMethods {
|
|
8
|
+
private _options;
|
|
9
|
+
private _clientInstance;
|
|
10
|
+
private _tokenStorage;
|
|
11
|
+
constructor(options: Options);
|
|
12
|
+
/**
|
|
13
|
+
* Generate OAuth authorization URL for user authentication
|
|
14
|
+
* @param options - Authorization URL configuration options
|
|
15
|
+
* @returns Complete authorization URL for user redirection
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const client = new ApiClient();
|
|
20
|
+
* const authUrl = client.authMethods.generateAuthUrl({
|
|
21
|
+
* redirectUri: 'https://yourapp.com/auth/callback',
|
|
22
|
+
* scope: 'openid profile email offline_access',
|
|
23
|
+
* state: 'random-state-string'
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* // Redirect user to authorization URL
|
|
27
|
+
* window.location.href = authUrl;
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
generateAuthUrl(options: AuthUrlOptions): string;
|
|
31
|
+
/**
|
|
32
|
+
* Exchange authorization code for access tokens
|
|
33
|
+
* Automatically stores tokens securely and sets them in Options
|
|
34
|
+
* @param request - Token exchange request parameters
|
|
35
|
+
* @returns Promise containing access and refresh tokens
|
|
36
|
+
*/
|
|
37
|
+
exchangeCodeForToken(request: TokenExchangeRequest, region?: string): Promise<OAuthTokenResponse>;
|
|
38
|
+
/**
|
|
39
|
+
* Refresh an expired access token using refresh token
|
|
40
|
+
* Automatically updates stored tokens and Options
|
|
41
|
+
* @param request - Token refresh request parameters
|
|
42
|
+
* @returns Promise containing new access token
|
|
43
|
+
*/
|
|
44
|
+
refreshAccessToken(request: TokenRefreshRequest, region?: string): Promise<OAuthTokenResponse>;
|
|
45
|
+
/**
|
|
46
|
+
* Validate an access token and get token information
|
|
47
|
+
* @param token - Access token to validate
|
|
48
|
+
* @returns Promise containing token validation information
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const client = new ApiClient();
|
|
53
|
+
*
|
|
54
|
+
* const tokenInfo = await client.authMethods.validateToken('your_access_token');
|
|
55
|
+
*
|
|
56
|
+
* if (tokenInfo.active) {
|
|
57
|
+
* console.log('Token is valid');
|
|
58
|
+
* console.log('Expires at:', new Date(tokenInfo.exp * 1000));
|
|
59
|
+
* console.log('Scope:', tokenInfo.scope);
|
|
60
|
+
* } else {
|
|
61
|
+
* console.log('Token is invalid or expired');
|
|
62
|
+
* }
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
validateToken(token: string, region?: string): Promise<TokenValidationResponse>;
|
|
66
|
+
/**
|
|
67
|
+
* Revoke an access token or refresh token
|
|
68
|
+
* @param token - Token to revoke
|
|
69
|
+
* @returns Promise indicating success
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const client = new ApiClient();
|
|
74
|
+
*
|
|
75
|
+
* // Revoke access token on logout
|
|
76
|
+
* await client.authMethods.revokeToken('access_token');
|
|
77
|
+
*
|
|
78
|
+
* // Clear the client's token
|
|
79
|
+
* client.clearToken();
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
revokeToken(token: string, region?: string): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Set the access token in the shared Options instance
|
|
85
|
+
* Also stores token in keytar for consistency
|
|
86
|
+
* @param token - Valid access token
|
|
87
|
+
*/
|
|
88
|
+
setAccessToken(token: string): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Get a valid access token - automatically refreshes if expired
|
|
91
|
+
* @returns Promise containing valid access token or null if authentication required
|
|
92
|
+
*/
|
|
93
|
+
getValidAccessToken(): Promise<string | null>;
|
|
94
|
+
/**
|
|
95
|
+
* Perform OAuth authentication flow
|
|
96
|
+
* @param options - OAuth configuration options
|
|
97
|
+
* @returns Promise resolving when authentication is complete
|
|
98
|
+
*/
|
|
99
|
+
performOAuthFlow(options: AuthUrlOptions): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Clear all authentication data
|
|
102
|
+
*/
|
|
103
|
+
clearAuthentication(): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Check if user is authenticated (has valid token)
|
|
106
|
+
* @returns Promise resolving to true if authenticated
|
|
107
|
+
*/
|
|
108
|
+
isAuthenticated(): Promise<boolean>;
|
|
109
|
+
/**
|
|
110
|
+
* Check if a token is expired based on expiration timestamp
|
|
111
|
+
* @param expiresAt - Token expiration timestamp (seconds since epoch)
|
|
112
|
+
* @param bufferSeconds - Buffer time in seconds to consider token expired early (default: 300 = 5 minutes)
|
|
113
|
+
* @returns True if token is expired or will expire within buffer time
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* const client = new ApiClient();
|
|
118
|
+
*
|
|
119
|
+
* const expiresAt = Math.floor(Date.now() / 1000) + 3600; // 1 hour from now
|
|
120
|
+
*
|
|
121
|
+
* if (client.authMethods.isTokenExpired(expiresAt)) {
|
|
122
|
+
* console.log('Token is expired or will expire soon');
|
|
123
|
+
* // Refresh token or re-authenticate
|
|
124
|
+
* }
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
isTokenExpired(expiresAt: number, bufferSeconds?: number): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Calculate token expiration timestamp from expires_in value
|
|
130
|
+
* @param expiresIn - Token lifetime in seconds
|
|
131
|
+
* @returns Expiration timestamp (seconds since epoch)
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* const client = new ApiClient();
|
|
136
|
+
*
|
|
137
|
+
* const tokens = await client.authMethods.exchangeCodeForToken(request);
|
|
138
|
+
* const expiresAt = client.authMethods.calculateExpirationTime(tokens.expires_in);
|
|
139
|
+
*
|
|
140
|
+
* // Store expiration time for later use
|
|
141
|
+
* localStorage.setItem('token_expires_at', expiresAt.toString());
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
calculateExpirationTime(expiresIn: number): number;
|
|
145
|
+
/**
|
|
146
|
+
* Generate a cryptographically secure random state parameter for OAuth
|
|
147
|
+
* @param length - Length of the state string (default: 32)
|
|
148
|
+
* @returns Random state string
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```typescript
|
|
152
|
+
* const client = new ApiClient();
|
|
153
|
+
*
|
|
154
|
+
* const state = client.authMethods.generateState();
|
|
155
|
+
*
|
|
156
|
+
* // Store state for validation
|
|
157
|
+
* sessionStorage.setItem('oauth_state', state);
|
|
158
|
+
*
|
|
159
|
+
* // Use in authorization URL
|
|
160
|
+
* const authUrl = client.authMethods.generateAuthUrl({
|
|
161
|
+
* redirectUri: 'https://yourapp.com/callback',
|
|
162
|
+
* state: state
|
|
163
|
+
* });
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
generateState(length?: number): string;
|
|
167
|
+
/**
|
|
168
|
+
* Create a token manager for automatic token refresh
|
|
169
|
+
* @param config - Token manager configuration
|
|
170
|
+
* @returns Token manager instance
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```typescript
|
|
174
|
+
* const client = new ApiClient();
|
|
175
|
+
*
|
|
176
|
+
* const tokenManager = client.authMethods.createTokenManager({
|
|
177
|
+
* accessToken: 'current_access_token',
|
|
178
|
+
* refreshToken: 'current_refresh_token',
|
|
179
|
+
* expiresAt: 1234567890
|
|
180
|
+
* });
|
|
181
|
+
*
|
|
182
|
+
* // Get valid token (auto-refreshes if needed and updates client)
|
|
183
|
+
* const validToken = await tokenManager.getValidToken();
|
|
184
|
+
*
|
|
185
|
+
* // Client is now updated with fresh token - make API calls
|
|
186
|
+
* const content = await client.contentMethods.getContentItem(123, guid, locale);
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
createTokenManager(config: TokenManagerConfig): TokenManager;
|
|
190
|
+
/**
|
|
191
|
+
* Get current authentication state
|
|
192
|
+
* @param token - Current access token
|
|
193
|
+
* @param expiresAt - Token expiration timestamp
|
|
194
|
+
* @param refreshToken - Optional refresh token
|
|
195
|
+
* @returns Authentication state information
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```typescript
|
|
199
|
+
* const client = new ApiClient();
|
|
200
|
+
*
|
|
201
|
+
* const authState = client.authMethods.getAuthState(
|
|
202
|
+
* localStorage.getItem('access_token'),
|
|
203
|
+
* parseInt(localStorage.getItem('token_expires_at')),
|
|
204
|
+
* localStorage.getItem('refresh_token')
|
|
205
|
+
* );
|
|
206
|
+
*
|
|
207
|
+
* if (authState.isAuthenticated) {
|
|
208
|
+
* console.log('User is authenticated');
|
|
209
|
+
* } else {
|
|
210
|
+
* console.log('User needs to authenticate');
|
|
211
|
+
* }
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
getAuthState(token?: string, expiresAt?: number, refreshToken?: string): AuthState;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Token manager class for automatic token refresh
|
|
218
|
+
*/
|
|
219
|
+
export declare class TokenManager {
|
|
220
|
+
private authMethods;
|
|
221
|
+
private config;
|
|
222
|
+
constructor(authMethods: AuthMethods, config: TokenManagerConfig);
|
|
223
|
+
/**
|
|
224
|
+
* Get a valid access token, refreshing if necessary
|
|
225
|
+
* This automatically updates the shared token in the AuthMethods instance
|
|
226
|
+
* @returns Promise containing valid access token
|
|
227
|
+
*/
|
|
228
|
+
getValidToken(): Promise<string>;
|
|
229
|
+
/**
|
|
230
|
+
* Update the token configuration
|
|
231
|
+
* @param config - New token configuration
|
|
232
|
+
*/
|
|
233
|
+
updateConfig(config: Partial<TokenManagerConfig>): void;
|
|
234
|
+
/**
|
|
235
|
+
* Get current token configuration
|
|
236
|
+
* @returns Current token configuration
|
|
237
|
+
*/
|
|
238
|
+
getConfig(): TokenManagerConfig;
|
|
239
|
+
}
|