box-node-sdk 1.35.0 → 1.37.2

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.
Files changed (126) hide show
  1. package/CHANGELOG.md +37 -2
  2. package/README.md +1 -1
  3. package/lib/api-request-manager.d.ts +38 -0
  4. package/lib/api-request-manager.js +48 -55
  5. package/lib/api-request-manager.js.map +1 -0
  6. package/lib/api-request.d.ts +141 -0
  7. package/lib/api-request.js +202 -281
  8. package/lib/api-request.js.map +1 -0
  9. package/lib/box-client.d.ts +269 -0
  10. package/lib/box-client.js +551 -713
  11. package/lib/box-client.js.map +1 -0
  12. package/lib/box-node-sdk.d.ts +216 -0
  13. package/lib/box-node-sdk.js +317 -352
  14. package/lib/box-node-sdk.js.map +1 -0
  15. package/lib/chunked-uploader.d.ts +129 -0
  16. package/lib/chunked-uploader.js +287 -358
  17. package/lib/chunked-uploader.js.map +1 -0
  18. package/lib/enterprise-event-stream.d.ts +82 -0
  19. package/lib/enterprise-event-stream.js +189 -203
  20. package/lib/enterprise-event-stream.js.map +1 -0
  21. package/lib/event-stream.d.ts +92 -0
  22. package/lib/event-stream.js +274 -302
  23. package/lib/event-stream.js.map +1 -0
  24. package/lib/managers/collaboration-allowlist.d.ts +137 -0
  25. package/lib/managers/collaboration-allowlist.js +200 -0
  26. package/lib/managers/collaboration-allowlist.js.map +1 -0
  27. package/lib/managers/collaboration-whitelist.d.ts +3 -0
  28. package/lib/managers/collaboration-whitelist.js +8 -222
  29. package/lib/managers/collaboration-whitelist.js.map +1 -0
  30. package/lib/managers/collaborations.d.ts +166 -0
  31. package/lib/managers/collaborations.js +225 -258
  32. package/lib/managers/collaborations.js.map +1 -0
  33. package/lib/managers/collections.d.ts +42 -0
  34. package/lib/managers/collections.js +45 -50
  35. package/lib/managers/collections.js.map +1 -0
  36. package/lib/managers/comments.d.ts +103 -0
  37. package/lib/managers/comments.js +158 -173
  38. package/lib/managers/comments.js.map +1 -0
  39. package/lib/managers/device-pins.d.ts +52 -0
  40. package/lib/managers/device-pins.js +75 -88
  41. package/lib/managers/device-pins.js.map +1 -0
  42. package/lib/managers/enterprise.d.ts +162 -0
  43. package/lib/managers/enterprise.js +168 -199
  44. package/lib/managers/enterprise.js.map +1 -0
  45. package/lib/managers/events.d.ts +177 -0
  46. package/lib/managers/events.js +230 -254
  47. package/lib/managers/events.js.map +1 -0
  48. package/lib/managers/files.d.ts +772 -0
  49. package/lib/managers/files.js +1400 -1602
  50. package/lib/managers/files.js.map +1 -0
  51. package/lib/managers/folders.d.ts +347 -0
  52. package/lib/managers/folders.js +551 -567
  53. package/lib/managers/folders.js.map +1 -0
  54. package/lib/managers/groups.d.ts +202 -0
  55. package/lib/managers/groups.js +238 -287
  56. package/lib/managers/groups.js.map +1 -0
  57. package/lib/managers/legal-hold-policies.d.ts +190 -0
  58. package/lib/managers/legal-hold-policies.js +228 -272
  59. package/lib/managers/legal-hold-policies.js.map +1 -0
  60. package/lib/managers/metadata.d.ts +228 -0
  61. package/lib/managers/metadata.js +265 -328
  62. package/lib/managers/metadata.js.map +1 -0
  63. package/lib/managers/recent-items.d.ts +38 -0
  64. package/lib/managers/recent-items.js +32 -39
  65. package/lib/managers/recent-items.js.map +1 -0
  66. package/lib/managers/retention-policies.d.ts +213 -0
  67. package/lib/managers/retention-policies.js +235 -281
  68. package/lib/managers/retention-policies.js.map +1 -0
  69. package/lib/managers/search.d.ts +82 -0
  70. package/lib/managers/search.js +68 -88
  71. package/lib/managers/search.js.map +1 -0
  72. package/lib/managers/shared-items.d.ts +33 -0
  73. package/lib/managers/shared-items.js +54 -62
  74. package/lib/managers/shared-items.js.map +1 -0
  75. package/lib/managers/storage-policies.d.ts +86 -0
  76. package/lib/managers/storage-policies.js +108 -142
  77. package/lib/managers/storage-policies.js.map +1 -0
  78. package/lib/managers/tasks.d.ts +161 -0
  79. package/lib/managers/tasks.js +219 -260
  80. package/lib/managers/tasks.js.map +1 -0
  81. package/lib/managers/terms-of-service.d.ts +161 -0
  82. package/lib/managers/terms-of-service.js +250 -273
  83. package/lib/managers/terms-of-service.js.map +1 -0
  84. package/lib/managers/trash.d.ts +30 -0
  85. package/lib/managers/trash.js +30 -41
  86. package/lib/managers/trash.js.map +1 -0
  87. package/lib/managers/users.d.ts +131 -0
  88. package/lib/managers/users.js +160 -203
  89. package/lib/managers/users.js.map +1 -0
  90. package/lib/managers/web-links.d.ts +127 -0
  91. package/lib/managers/web-links.js +183 -209
  92. package/lib/managers/web-links.js.map +1 -0
  93. package/lib/managers/webhooks.d.ts +166 -0
  94. package/lib/managers/webhooks.js +312 -305
  95. package/lib/managers/webhooks.js.map +1 -0
  96. package/lib/sessions/anonymous-session.d.ts +69 -0
  97. package/lib/sessions/anonymous-session.js +88 -102
  98. package/lib/sessions/anonymous-session.js.map +1 -0
  99. package/lib/sessions/app-auth-session.d.ts +92 -0
  100. package/lib/sessions/app-auth-session.js +140 -160
  101. package/lib/sessions/app-auth-session.js.map +1 -0
  102. package/lib/sessions/basic-session.d.ts +56 -0
  103. package/lib/sessions/basic-session.js +40 -50
  104. package/lib/sessions/basic-session.js.map +1 -0
  105. package/lib/sessions/persistent-session.d.ts +96 -0
  106. package/lib/sessions/persistent-session.js +191 -211
  107. package/lib/sessions/persistent-session.js.map +1 -0
  108. package/lib/token-manager.d.ts +191 -0
  109. package/lib/token-manager.js +390 -465
  110. package/lib/token-manager.js.map +1 -0
  111. package/lib/util/config.d.ts +86 -0
  112. package/lib/util/config.js +124 -152
  113. package/lib/util/config.js.map +1 -0
  114. package/lib/util/errors.d.ts +50 -0
  115. package/lib/util/errors.js +134 -145
  116. package/lib/util/errors.js.map +1 -0
  117. package/lib/util/exponential-backoff.d.ts +11 -0
  118. package/lib/util/exponential-backoff.js +10 -22
  119. package/lib/util/exponential-backoff.js.map +1 -0
  120. package/lib/util/paging-iterator.d.ts +53 -0
  121. package/lib/util/paging-iterator.js +202 -218
  122. package/lib/util/paging-iterator.js.map +1 -0
  123. package/lib/util/url-path.d.ts +16 -0
  124. package/lib/util/url-path.js +20 -35
  125. package/lib/util/url-path.js.map +1 -0
  126. package/package.json +24 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/managers/webhooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @fileoverview An Anonymous Box API Session.
3
+ */
4
+ declare type Config = any;
5
+ declare type TokenManager = any;
6
+ declare type TokenInfo = any;
7
+ declare type TokenRequestOptions = any;
8
+ /**
9
+ * An Anonymous Box API Session.
10
+ *
11
+ * The Anonymous API Session holds a Client Credentials accessToken, which it
12
+ * returns to the client so that it may make calls on behalf of anonymous users.
13
+ *
14
+ * Anonymous tokens will be refreshed in the background if a request is made within the
15
+ * "stale buffer" (defaults to 10 minutes before the token is set to expire).
16
+ * If the token is also expired, all incoming requests will be held until a fresh token
17
+ * is retrieved.
18
+ *
19
+ * @param {Config} config The SDK configuration options
20
+ * @param {TokenManager} tokenManager The TokenManager
21
+ * @constructor
22
+ */
23
+ declare class AnonymousSession {
24
+ _config: Config;
25
+ _tokenManager: TokenManager;
26
+ _tokenInfo: TokenInfo;
27
+ _refreshPromise: Promise<any> | null;
28
+ constructor(config: Config, tokenManager: TokenManager);
29
+ /**
30
+ * Initiate a refresh of the anonymous access tokens. New tokens should be passed to the
31
+ * caller, and then cached for later use.
32
+ *
33
+ * @param {?TokenRequestOptions} [options] - Sets optional behavior for the token grant
34
+ * @returns {Promise<string>} Promise resolving to the access token
35
+ * @private
36
+ */
37
+ _refreshAnonymousAccessToken(options?: TokenRequestOptions): Promise<any>;
38
+ /**
39
+ * Produces a valid, anonymous access token.
40
+ * Performs a refresh before returning if the current token is expired. If the current
41
+ * token is considered stale but still valid, return the current token but initiate a
42
+ * new refresh in the background.
43
+ *
44
+ * @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
45
+ * @returns {Promise<string>} Promise resolving to the access token
46
+ */
47
+ getAccessToken(options?: TokenRequestOptions): Promise<any>;
48
+ /**
49
+ * Revokes the anonymous token used by this anonymous session, and clears the saved tokenInfo.
50
+ *
51
+ * @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
52
+ * @returns {Promise} Promise resolving if the revoke succeeds
53
+ */
54
+ revokeTokens(options?: TokenRequestOptions): any;
55
+ /**
56
+ * Return the anonymous session token, since there is no need to downscope a
57
+ * token that does not have any associated user credentials.
58
+ * @param {string|string[]} scopes The scope(s) requested for the new token
59
+ * @param {string} [resource] The absolute URL of an API resource to scope the new token to
60
+ * @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
61
+ * @returns {Promise<TokenInfo>} Promise resolving to the new token info
62
+ */
63
+ exchangeToken(scopes: string | string[], resource?: string, options?: TokenRequestOptions): Promise<any>;
64
+ }
65
+ /**
66
+ * @module box-node-sdk/lib/sessions/anonymous-session
67
+ * @see {@Link AnonymousSession}
68
+ */
69
+ export = AnonymousSession;
@@ -1,23 +1,17 @@
1
+ "use strict";
1
2
  /**
2
3
  * @fileoverview An Anonymous Box API Session.
3
4
  */
4
-
5
- 'use strict';
6
-
7
5
  // ------------------------------------------------------------------------------
8
6
  // Requirements
9
7
  // ------------------------------------------------------------------------------
10
-
11
- const Promise = require('bluebird');
12
-
8
+ var bluebird_1 = require("bluebird");
13
9
  // ------------------------------------------------------------------------------
14
10
  // Private
15
11
  // ------------------------------------------------------------------------------
16
-
17
12
  // ------------------------------------------------------------------------------
18
13
  // Public
19
14
  // ------------------------------------------------------------------------------
20
-
21
15
  /**
22
16
  * An Anonymous Box API Session.
23
17
  *
@@ -33,98 +27,90 @@ const Promise = require('bluebird');
33
27
  * @param {TokenManager} tokenManager The TokenManager
34
28
  * @constructor
35
29
  */
36
- function AnonymousSession(config, tokenManager) {
37
- this._config = config;
38
- this._tokenManager = tokenManager;
39
-
40
- // The TokenInfo object for this anonymous session
41
- this._tokenInfo = null;
42
-
43
- this._refreshPromise = null;
44
- }
45
-
46
- /**
47
- * Initiate a refresh of the anonymous access tokens. New tokens should be passed to the
48
- * caller, and then cached for later use.
49
- *
50
- * @param {?TokenRequestOptions} [options] - Sets optional behavior for the token grant
51
- * @returns {Promise<string>} Promise resolving to the access token
52
- * @private
53
- */
54
- AnonymousSession.prototype._refreshAnonymousAccessToken = function(options) {
55
-
56
- // If tokens aren't already being refreshed, start the refresh
57
- if (!this._refreshPromise) {
58
- // Initiate a refresh
59
- this._refreshPromise = this._tokenManager.getTokensClientCredentialsGrant(options)
60
- .then(tokenInfo => {
61
- // Set new token info and propagate the new access token
62
- this._tokenInfo = tokenInfo;
63
- return tokenInfo.accessToken;
64
- })
65
- .finally(() => {
66
- // Refresh complete, clear promise
67
- this._refreshPromise = null;
68
- });
69
- }
70
-
71
- return this._refreshPromise;
72
- };
73
-
74
- /**
75
- * Produces a valid, anonymous access token.
76
- * Performs a refresh before returning if the current token is expired. If the current
77
- * token is considered stale but still valid, return the current token but initiate a
78
- * new refresh in the background.
79
- *
80
- * @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
81
- * @returns {Promise<string>} Promise resolving to the access token
82
- */
83
- AnonymousSession.prototype.getAccessToken = function(options) {
84
- // If the current token is no longer fresh, get a new token. All incoming
85
- // requests will be held until a fresh token is retrieved.
86
- var expirationBuffer = Math.max(this._config.expiredBufferMS, this._config.staleBufferMS);
87
- if (!this._tokenInfo || !this._tokenManager.isAccessTokenValid(this._tokenInfo, expirationBuffer)) {
88
- return this._refreshAnonymousAccessToken(options);
89
- }
90
-
91
- // Your token is not currently stale! Return the current access token.
92
- return Promise.resolve(this._tokenInfo.accessToken);
93
- };
94
-
95
- /**
96
- * Revokes the anonymous token used by this anonymous session, and clears the saved tokenInfo.
97
- *
98
- * @param {TokenRequestOptions} options] - Sets optional behavior for the token grant
99
- * @returns {Promise} Promise resolving if the revoke succeeds
100
- */
101
- AnonymousSession.prototype.revokeTokens = function(options) {
102
- // The current anonymous token is revoked (but a new one will be created automatically as needed).
103
- var tokenInfo = this._tokenInfo || {},
104
- accessToken = tokenInfo.accessToken;
105
- this._tokenInfo = null;
106
- return this._tokenManager.revokeTokens(accessToken, options);
107
- };
108
-
109
- /**
110
- * Return the anonymous session token, since there is no need to downscope a
111
- * token that does not have any associated user credentials.
112
- * @param {string|string[]} scopes The scope(s) requested for the new token
113
- * @param {string} [resource] The absolute URL of an API resource to scope the new token to
114
- * @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
115
- * @returns {Promise<TokenInfo>} Promise resolving to the new token info
116
- */
117
- AnonymousSession.prototype.exchangeToken = function(scopes, resource, options) {
118
-
119
- // We need to get the access token, in case it hasn't been generated yet
120
- return this.getAccessToken(options)
121
- // Pass back the entire token info object, not just the acces token,
122
- // to maintain parity with the other session classes
123
- .then(() => this._tokenInfo);
124
- };
125
-
126
- /**
127
- * @module box-node-sdk/lib/sessions/anonymous-session
128
- * @see {@Link AnonymousSession}
129
- */
30
+ var AnonymousSession = /** @class */ (function () {
31
+ function AnonymousSession(config, tokenManager) {
32
+ this._config = config;
33
+ this._tokenManager = tokenManager;
34
+ // The TokenInfo object for this anonymous session
35
+ this._tokenInfo = null;
36
+ this._refreshPromise = null;
37
+ }
38
+ /**
39
+ * Initiate a refresh of the anonymous access tokens. New tokens should be passed to the
40
+ * caller, and then cached for later use.
41
+ *
42
+ * @param {?TokenRequestOptions} [options] - Sets optional behavior for the token grant
43
+ * @returns {Promise<string>} Promise resolving to the access token
44
+ * @private
45
+ */
46
+ AnonymousSession.prototype._refreshAnonymousAccessToken = function (options) {
47
+ var _this = this;
48
+ // If tokens aren't already being refreshed, start the refresh
49
+ if (!this._refreshPromise) {
50
+ // Initiate a refresh
51
+ this._refreshPromise = this._tokenManager
52
+ .getTokensClientCredentialsGrant(options)
53
+ .then(function (tokenInfo) {
54
+ // Set new token info and propagate the new access token
55
+ _this._tokenInfo = tokenInfo;
56
+ return tokenInfo.accessToken;
57
+ })
58
+ .finally(function () {
59
+ // Refresh complete, clear promise
60
+ _this._refreshPromise = null;
61
+ });
62
+ }
63
+ return this._refreshPromise;
64
+ };
65
+ /**
66
+ * Produces a valid, anonymous access token.
67
+ * Performs a refresh before returning if the current token is expired. If the current
68
+ * token is considered stale but still valid, return the current token but initiate a
69
+ * new refresh in the background.
70
+ *
71
+ * @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
72
+ * @returns {Promise<string>} Promise resolving to the access token
73
+ */
74
+ AnonymousSession.prototype.getAccessToken = function (options) {
75
+ // If the current token is no longer fresh, get a new token. All incoming
76
+ // requests will be held until a fresh token is retrieved.
77
+ var expirationBuffer = Math.max(this._config.expiredBufferMS, this._config.staleBufferMS);
78
+ if (!this._tokenInfo ||
79
+ !this._tokenManager.isAccessTokenValid(this._tokenInfo, expirationBuffer)) {
80
+ return this._refreshAnonymousAccessToken(options);
81
+ }
82
+ // Your token is not currently stale! Return the current access token.
83
+ return bluebird_1.Promise.resolve(this._tokenInfo.accessToken);
84
+ };
85
+ /**
86
+ * Revokes the anonymous token used by this anonymous session, and clears the saved tokenInfo.
87
+ *
88
+ * @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
89
+ * @returns {Promise} Promise resolving if the revoke succeeds
90
+ */
91
+ AnonymousSession.prototype.revokeTokens = function (options) {
92
+ // The current anonymous token is revoked (but a new one will be created automatically as needed).
93
+ var tokenInfo = this._tokenInfo || {}, accessToken = tokenInfo.accessToken;
94
+ this._tokenInfo = null;
95
+ return this._tokenManager.revokeTokens(accessToken, options);
96
+ };
97
+ /**
98
+ * Return the anonymous session token, since there is no need to downscope a
99
+ * token that does not have any associated user credentials.
100
+ * @param {string|string[]} scopes The scope(s) requested for the new token
101
+ * @param {string} [resource] The absolute URL of an API resource to scope the new token to
102
+ * @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
103
+ * @returns {Promise<TokenInfo>} Promise resolving to the new token info
104
+ */
105
+ AnonymousSession.prototype.exchangeToken = function (scopes, resource, options) {
106
+ var _this = this;
107
+ // We need to get the access token, in case it hasn't been generated yet
108
+ return (this.getAccessToken(options)
109
+ // Pass back the entire token info object, not just the acces token,
110
+ // to maintain parity with the other session classes
111
+ .then(function () { return _this._tokenInfo; }));
112
+ };
113
+ return AnonymousSession;
114
+ }());
130
115
  module.exports = AnonymousSession;
116
+ //# sourceMappingURL=anonymous-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anonymous-session.js","sourceRoot":"","sources":["../../src/sessions/anonymous-session.ts"],"names":[],"mappings":";AAAA;;GAEG;AAEH,iFAAiF;AACjF,eAAe;AACf,iFAAiF;AAEjF,qCAAmC;AAWnC,iFAAiF;AACjF,UAAU;AACV,iFAAiF;AAEjF,iFAAiF;AACjF,SAAS;AACT,iFAAiF;AAEjF;;;;;;;;;;;;;;GAcG;AACH;IAMC,0BAAY,MAAc,EAAE,YAA0B;QACrD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAElC,kDAAkD;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,uDAA4B,GAA5B,UAA6B,OAA6B;QAA1D,iBAkBC;QAjBA,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC1B,qBAAqB;YACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa;iBACvC,+BAA+B,CAAC,OAAO,CAAC;iBACxC,IAAI,CAAC,UAAC,SAAoB;gBAC1B,wDAAwD;gBACxD,KAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,OAAO,SAAS,CAAC,WAAW,CAAC;YAC9B,CAAC,CAAC;iBACD,OAAO,CAAC;gBACR,kCAAkC;gBAClC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC7B,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC,eAA+B,CAAC;IAC7C,CAAC;IAED;;;;;;;;OAQG;IACH,yCAAc,GAAd,UAAe,OAA6B;QAC3C,yEAAyE;QACzE,0DAA0D;QAC1D,IAAI,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC9B,IAAI,CAAC,OAAO,CAAC,eAAe,EAC5B,IAAI,CAAC,OAAO,CAAC,aAAa,CAC1B,CAAC;QACF,IACC,CAAC,IAAI,CAAC,UAAU;YAChB,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,EACxE;YACD,OAAO,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;SAClD;QAED,sEAAsE;QACtE,OAAO,kBAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,uCAAY,GAAZ,UAAa,OAA6B;QACzC,kGAAkG;QAClG,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,EACpC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACH,wCAAa,GAAb,UACC,MAAyB,EACzB,QAAiB,EACjB,OAA6B;QAH9B,iBAYC;QAPA,wEAAwE;QACxE,OAAO,CACN,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC3B,oEAAoE;YACpE,oDAAoD;aACnD,IAAI,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,EAAf,CAAe,CAAC,CAC7B,CAAC;IACH,CAAC;IACF,uBAAC;AAAD,CAAC,AA1GD,IA0GC;AAMD,iBAAS,gBAAgB,CAAC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * @fileoverview App Auth Box API Session.
3
+ */
4
+ declare type Config = any;
5
+ declare type TokenManager = any;
6
+ declare type TokenStore = any;
7
+ declare type TokenInfo = any;
8
+ declare type TokenRequestOptions = any;
9
+ /**
10
+ * App Auth Box API Session.
11
+ *
12
+ * The App Auth API Session holds an accessToken for an app user or enterprise,
13
+ * which it returns to the client so that it may make calls on behalf of
14
+ * these entities.
15
+ *
16
+ * These access tokens will be refreshed in the background if a request is made within the
17
+ * "stale buffer" (defaults to 10 minutes before the token is set to expire).
18
+ * If the token is also expired, all incoming requests will be held until a fresh token
19
+ * is retrieved.
20
+ *
21
+ * @param {string} type The type of the entity to authenticate the app auth session as, "user" or "enterprise"
22
+ * @param {string} id The Box ID of the entity to authenticate as
23
+ * @param {Config} config The SDK configuration options
24
+ * @param {TokenManager} tokenManager The TokenManager
25
+ * @param {TokenStore} [tokenStore] The token store instance to use for caching token info
26
+ * @constructor
27
+ */
28
+ declare class AppAuthSession {
29
+ _type: string;
30
+ _id: string;
31
+ _config: Config;
32
+ _tokenManager: TokenManager;
33
+ _tokenStore: TokenStore | null;
34
+ _tokenInfo: TokenInfo;
35
+ _refreshPromise: Promise<any> | null;
36
+ constructor(type: string, id: string, config: Config, tokenManager: TokenManager, tokenStore?: TokenStore);
37
+ /**
38
+ * Initiate a refresh of the app auth access tokens. New tokens should be passed
39
+ * to the caller, and then cached for later use.
40
+ *
41
+ * @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
42
+ * @returns {Promise<string>} Promise resolving to the access token
43
+ * @private
44
+ */
45
+ _refreshAppAuthAccessToken(options?: TokenRequestOptions): Promise<any> | null;
46
+ /**
47
+ * Produces a valid, app auth access token.
48
+ * Performs a refresh before returning if the current token is expired. If the current
49
+ * token is considered stale but still valid, return the current token but initiate a
50
+ * new refresh in the background.
51
+ *
52
+ * @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
53
+ * @returns {Promise<string>} Promise resolving to the access token
54
+ */
55
+ getAccessToken(options?: TokenRequestOptions): any;
56
+ /**
57
+ * Revokes the app auth token used by this session, and clears the saved tokenInfo.
58
+ *
59
+ * @param {TokenRequestOptions} [options]- Sets optional behavior for the token grant
60
+ * @returns {Promise} Promise resolving if the revoke succeeds
61
+ */
62
+ revokeTokens(options: TokenRequestOptions): any;
63
+ /**
64
+ * Exchange the client access token for one with lower scope
65
+ * @param {string|string[]} scopes The scope(s) requested for the new token
66
+ * @param {string} [resource] The absolute URL of an API resource to scope the new token to
67
+ * @param {Object} [options] - Optional parameters
68
+ * @param {TokenRequestOptions} [options.tokenRequestOptions] - Sets optional behavior for the token grant
69
+ * @param {ActorParams} [options.actor] - Optional actor parameters for creating annotator tokens
70
+ * @returns {Promise<TokenInfo>} Promise resolving to the new token info
71
+ */
72
+ exchangeToken(scopes: string | string[], resource?: string, options?: {
73
+ tokenRequestOptions?: TokenRequestOptions;
74
+ actor?: any;
75
+ }): any;
76
+ /**
77
+ * Handle an an "Expired Tokens" Error. If our tokens are expired, we need to clear the token
78
+ * store (if present) before continuing.
79
+ *
80
+ * @param {Errors~ExpiredTokensError} err An "expired tokens" error including information
81
+ * about the request/response.
82
+ * @returns {Promise<Error>} Promise resolving to an error. This will
83
+ * usually be the original response error, but could an error from trying to access the
84
+ * token store as well.
85
+ */
86
+ handleExpiredTokensError(err: any): any;
87
+ }
88
+ /**
89
+ * @module box-node-sdk/lib/sessions/app-auth-session
90
+ * @see {@Link AppAuthSession}
91
+ */
92
+ export = AppAuthSession;