@cloudbase/oauth 1.2.1-beta → 2.3.0-alpha.0

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 (125) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc +26 -0
  3. package/CHANGELOG.md +30 -0
  4. package/Dockerfile +15 -0
  5. package/README.md +183 -0
  6. package/_exmaple/assets/scripts/function/function.ts +99 -0
  7. package/_exmaple/assets/scripts/index.ts +101 -0
  8. package/_exmaple/assets/scripts/request.ts +11 -0
  9. package/_exmaple/index.html +15 -0
  10. package/_exmaple/package.json +33 -0
  11. package/_exmaple/tsconfig.json +71 -0
  12. package/_exmaple/typings.d.ts +0 -0
  13. package/_exmaple/webpack.config.js +42 -0
  14. package/dist/cjs/auth/apis.d.ts +55 -0
  15. package/dist/cjs/auth/apis.js +568 -0
  16. package/{auth → dist/cjs/auth}/consts.d.ts +9 -21
  17. package/dist/cjs/auth/consts.js +61 -0
  18. package/dist/cjs/auth/models.d.ts +354 -0
  19. package/dist/cjs/auth/models.js +3 -0
  20. package/dist/cjs/captcha/captcha.d.ts +35 -0
  21. package/dist/cjs/captcha/captcha.js +267 -0
  22. package/dist/cjs/index.d.ts +14 -0
  23. package/dist/cjs/index.js +63 -0
  24. package/{oauthclient → dist/cjs/oauth2client}/consts.d.ts +22 -1
  25. package/dist/cjs/oauth2client/consts.js +73 -0
  26. package/dist/cjs/oauth2client/interface.d.ts +15 -0
  27. package/dist/cjs/oauth2client/interface.js +10 -0
  28. package/dist/cjs/oauth2client/models.d.ts +47 -0
  29. package/dist/cjs/oauth2client/models.js +3 -0
  30. package/dist/cjs/oauth2client/oauth2client.d.ts +71 -0
  31. package/dist/cjs/oauth2client/oauth2client.js +640 -0
  32. package/dist/cjs/utils/function/single-promise.d.ts +5 -0
  33. package/dist/cjs/utils/function/single-promise.js +89 -0
  34. package/dist/cjs/utils/uuid.d.ts +1 -0
  35. package/dist/cjs/utils/uuid.js +12 -0
  36. package/dist/esm/auth/apis.d.ts +55 -0
  37. package/dist/esm/auth/apis.js +566 -0
  38. package/dist/esm/auth/consts.d.ts +54 -0
  39. package/dist/esm/auth/consts.js +58 -0
  40. package/dist/esm/auth/models.d.ts +354 -0
  41. package/dist/esm/auth/models.js +1 -0
  42. package/dist/esm/captcha/captcha.d.ts +35 -0
  43. package/dist/esm/captcha/captcha.js +264 -0
  44. package/dist/esm/index.d.ts +14 -0
  45. package/dist/esm/index.js +32 -0
  46. package/dist/esm/oauth2client/consts.d.ts +67 -0
  47. package/dist/esm/oauth2client/consts.js +70 -0
  48. package/dist/esm/oauth2client/interface.d.ts +15 -0
  49. package/dist/esm/oauth2client/interface.js +7 -0
  50. package/dist/esm/oauth2client/models.d.ts +47 -0
  51. package/dist/esm/oauth2client/models.js +1 -0
  52. package/dist/esm/oauth2client/oauth2client.d.ts +71 -0
  53. package/dist/esm/oauth2client/oauth2client.js +636 -0
  54. package/dist/esm/utils/function/single-promise.d.ts +5 -0
  55. package/dist/esm/utils/function/single-promise.js +86 -0
  56. package/dist/esm/utils/uuid.d.ts +1 -0
  57. package/dist/esm/utils/uuid.js +8 -0
  58. package/package.json +27 -14
  59. package/publish.sh +2 -0
  60. package/src/auth/apis.ts +642 -0
  61. package/src/auth/consts.ts +57 -0
  62. package/src/auth/models.ts +444 -0
  63. package/src/captcha/captcha.ts +222 -0
  64. package/src/index.ts +49 -0
  65. package/src/oauth2client/consts.ts +69 -0
  66. package/src/oauth2client/interface.ts +57 -0
  67. package/src/oauth2client/models.ts +61 -0
  68. package/src/oauth2client/oauth2client.ts +620 -0
  69. package/src/utils/function/single-promise.ts +40 -0
  70. package/src/utils/uuid.ts +11 -0
  71. package/tsconfig.esm.json +44 -0
  72. package/tsconfig.json +44 -0
  73. package/wiki/README.md +75 -0
  74. package/app/index.d.ts +0 -29
  75. package/app/index.js +0 -50
  76. package/app/index.js.map +0 -1
  77. package/app/internal.d.ts +0 -12
  78. package/app/internal.js +0 -25
  79. package/app/internal.js.map +0 -1
  80. package/app/openuri.d.ts +0 -20
  81. package/app/openuri.js +0 -106
  82. package/app/openuri.js.map +0 -1
  83. package/app/request.d.ts +0 -19
  84. package/app/request.js +0 -52
  85. package/app/request.js.map +0 -1
  86. package/app/storage.d.ts +0 -41
  87. package/app/storage.js +0 -35
  88. package/app/storage.js.map +0 -1
  89. package/auth/consts.js +0 -79
  90. package/auth/consts.js.map +0 -1
  91. package/auth/index.d.ts +0 -242
  92. package/auth/index.js +0 -550
  93. package/auth/index.js.map +0 -1
  94. package/auth/models.d.ts +0 -284
  95. package/auth/models.js +0 -4
  96. package/auth/models.js.map +0 -1
  97. package/captcha/index.d.ts +0 -45
  98. package/captcha/index.js +0 -135
  99. package/captcha/index.js.map +0 -1
  100. package/function/index.d.ts +0 -38
  101. package/function/index.js +0 -80
  102. package/function/index.js.map +0 -1
  103. package/index.d.ts +0 -8
  104. package/index.js +0 -17
  105. package/index.js.map +0 -1
  106. package/oauthclient/consts.js +0 -53
  107. package/oauthclient/consts.js.map +0 -1
  108. package/oauthclient/index.d.ts +0 -18
  109. package/oauthclient/index.js +0 -21
  110. package/oauthclient/index.js.map +0 -1
  111. package/oauthclient/interface.d.ts +0 -29
  112. package/oauthclient/interface.js +0 -10
  113. package/oauthclient/interface.js.map +0 -1
  114. package/oauthclient/models.d.ts +0 -40
  115. package/oauthclient/models.js +0 -3
  116. package/oauthclient/models.js.map +0 -1
  117. package/oauthclient/oauthclient.d.ts +0 -146
  118. package/oauthclient/oauthclient.js +0 -414
  119. package/oauthclient/oauthclient.js.map +0 -1
  120. package/utils/promise.d.ts +0 -18
  121. package/utils/promise.js +0 -48
  122. package/utils/promise.js.map +0 -1
  123. package/utils/uuid.d.ts +0 -5
  124. package/utils/uuid.js +0 -16
  125. package/utils/uuid.js.map +0 -1
package/auth/models.d.ts DELETED
@@ -1,284 +0,0 @@
1
- export interface SignInRequest {
2
- username?: string;
3
- password?: string;
4
- verification_token?: string;
5
- two_factor_password?: string;
6
- }
7
- export interface SignInWithProviderRequest {
8
- provider_token: string;
9
- provider_id?: string;
10
- }
11
- export interface SignUpRequest {
12
- phone_number?: string;
13
- email?: string;
14
- verification_token?: string;
15
- provider_token?: string;
16
- username?: string;
17
- password?: string;
18
- name?: string;
19
- gender?: string;
20
- picture?: string;
21
- locale?: string;
22
- anonymous_token?: string;
23
- }
24
- export interface SendVerificationCodeRequest {
25
- phone_number?: string;
26
- email?: string;
27
- target?: string | 'ANY';
28
- usage?: string;
29
- }
30
- export interface SendVerificationCodeResponse {
31
- verification_id: string;
32
- is_user: boolean | false;
33
- }
34
- export interface VerifyResponse {
35
- verification_token: string;
36
- expires_in: number;
37
- }
38
- export interface VerifyRequest {
39
- verification_code: string;
40
- verification_id: string;
41
- }
42
- export interface VerifyRequest {
43
- verification_code: string;
44
- verification_id: string;
45
- }
46
- export interface ResetPasswordRequest {
47
- email: string;
48
- phone_number: string;
49
- new_password: string;
50
- verification_token: string;
51
- }
52
- export interface ProviderBindRequest {
53
- provider_token: string;
54
- expires_in: number;
55
- }
56
- export interface GrantProviderTokenRequest {
57
- provider_id: string;
58
- provider_redirect_uri?: string;
59
- provider_code?: string;
60
- provider_access_token?: string;
61
- provider_id_token?: string;
62
- }
63
- export interface GrantProviderTokenResponse {
64
- provider_token: string;
65
- expires_in: number;
66
- provider_profile?: ProviderProfile;
67
- }
68
- export interface PatchProviderTokenRequest {
69
- provider_token: string;
70
- provider_params: Map<string, string>;
71
- }
72
- export interface PatchProviderTokenResponse {
73
- provider_token: string;
74
- expires_in: number;
75
- provider_profile: ProviderProfile;
76
- }
77
- export interface GenProviderRedirectUriRequest {
78
- provider_id: string;
79
- redirect_uri: string;
80
- state: string;
81
- scope?: string;
82
- response_type?: string;
83
- other_params?: Map<string, string>;
84
- }
85
- export interface GenProviderRedirectUriResponse {
86
- uri: string;
87
- signout_uri?: string;
88
- }
89
- export interface BindWithProviderRequest {
90
- provider_token: string;
91
- }
92
- export interface BindWithProviderRequest {
93
- provider_token: string;
94
- }
95
- export interface UserProfileProvider {
96
- id: string;
97
- provider_user_id: string;
98
- name?: string;
99
- }
100
- export interface UserProfile {
101
- name?: string;
102
- picture?: string;
103
- username?: string;
104
- email?: string;
105
- email_verified?: boolean;
106
- phone_number?: string;
107
- groups?: [ProfileGroup];
108
- providers?: [UserProfileProvider];
109
- gender?: string;
110
- birthdate?: string;
111
- zoneinfo?: string;
112
- locale?: string;
113
- created_from?: string;
114
- }
115
- export interface ProvidersResponse {
116
- total: number;
117
- data: [UserProvider];
118
- }
119
- export interface UserProvider {
120
- id: string;
121
- name: string;
122
- provider_user_name?: string;
123
- bind: boolean;
124
- }
125
- export interface ProfileGroup {
126
- id: string;
127
- expires_at?: string;
128
- }
129
- export interface ProviderProfile {
130
- provider_id: string;
131
- name?: string;
132
- picture?: string;
133
- phone_number?: string;
134
- email?: string;
135
- }
136
- export interface TransByProviderRequest {
137
- provider_token: string;
138
- }
139
- export interface GrantTokenRequest {
140
- grant_type: string;
141
- code?: string;
142
- refresh_token?: string;
143
- username?: string;
144
- password?: string;
145
- scope?: string;
146
- nonce?: string;
147
- code_verifier?: string;
148
- device_code?: string;
149
- }
150
- export interface UnbindProviderRequest {
151
- provider_id: string;
152
- }
153
- export interface CheckPasswordRequest {
154
- password: string;
155
- }
156
- export interface CheckIfUserExistRequest {
157
- username: string;
158
- }
159
- export interface CheckIfUserExistResponse {
160
- exist: boolean;
161
- }
162
- export interface EditContactRequest {
163
- phone_number?: string;
164
- email?: string;
165
- sudo_token: string;
166
- verification_token: string;
167
- conflict_resolution?: string;
168
- }
169
- export interface SetPasswordRequest {
170
- sudo_token: string;
171
- new_password: string;
172
- }
173
- export interface SetPasswordRequest {
174
- new_password: string;
175
- sudo_token: string;
176
- }
177
- export interface UpdatePasswordRequest {
178
- old_password: string;
179
- new_password: string;
180
- }
181
- export interface SudoRequest {
182
- password?: string;
183
- verification_token?: string;
184
- }
185
- export interface SudoResponse {
186
- sudo_token: string;
187
- }
188
- export interface WithSudoRequest {
189
- sudo_token: string;
190
- }
191
- export interface ChangeBoundProviderRequest {
192
- trans_token: string;
193
- provider_id: string;
194
- }
195
- export interface ChangeBoundProviderResponse {
196
- client_id: string;
197
- }
198
- export interface QueryUserProfileRequest {
199
- id?: [string];
200
- username?: string;
201
- email?: string;
202
- phone_number?: string;
203
- }
204
- export interface QueryUserProfileResponse {
205
- total: number;
206
- data?: [SimpleUserProfile];
207
- }
208
- export interface SimpleUserProfile {
209
- sub: string;
210
- name: string;
211
- picture?: string;
212
- gender?: string;
213
- locale?: string;
214
- email?: string;
215
- phone_number?: string;
216
- }
217
- export interface AuthorizeRequest {
218
- client_id: string;
219
- response_type?: string;
220
- redirect_uri?: string;
221
- state?: string;
222
- scope?: string;
223
- code_challenge?: string;
224
- code_challenge_method?: string;
225
- sign_out_uri?: string;
226
- }
227
- export interface AuthorizeResponse {
228
- code?: string;
229
- access_token?: string;
230
- id_token?: string;
231
- token_type?: string;
232
- scope?: string;
233
- state?: string;
234
- expires_in?: number;
235
- }
236
- export interface AuthorizeInfoRequest {
237
- client_id: string;
238
- response_type?: string;
239
- redirect_uri?: string;
240
- state?: string;
241
- scope?: string;
242
- sign_out_uri?: string;
243
- locale?: string;
244
- }
245
- export interface AuthorizeInfoResponse {
246
- client: Client;
247
- scopes?: Scope[];
248
- }
249
- export interface Client {
250
- id: string;
251
- name: string;
252
- description?: string;
253
- picture?: string;
254
- url?: string;
255
- }
256
- export interface Scope {
257
- id: string;
258
- name: string;
259
- description?: string;
260
- picture?: string;
261
- url?: string;
262
- children?: Scope[];
263
- }
264
- export interface RevokeDeviceRequest {
265
- device_id: string;
266
- }
267
- export interface AuthorizeDeviceRequest {
268
- client_id: string;
269
- user_code: string;
270
- scope?: string;
271
- state?: string;
272
- }
273
- export interface DeviceAuthorizeRequest {
274
- client_id?: string;
275
- scope?: string;
276
- }
277
- export interface DeviceAuthorizeResponse {
278
- device_code: string;
279
- user_code?: string;
280
- expires_in: number;
281
- interval: number;
282
- verification_uri?: string;
283
- verification_uri_complete?: string;
284
- }
package/auth/models.js DELETED
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- ``;
4
- //# sourceMappingURL=models.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/auth/models.ts"],"names":[],"mappings":";;AAqVA,EAAE,CAAA"}
@@ -1,45 +0,0 @@
1
- import { App, RequestOptions, RequestFn, Storage, OpenURIWithCallback } from "../app";
2
- export interface CaptchaOptions {
3
- request: RequestFn;
4
- storage: Storage;
5
- openURIWithCallback: OpenURIWithCallback;
6
- }
7
- export interface CaptchaInitOptions {
8
- request?: RequestFn;
9
- }
10
- export declare function getCaptcha(app: App, opts?: CaptchaInitOptions): Captcha;
11
- export interface CaptchaToken {
12
- captcha_token: string;
13
- expires_in: number;
14
- expires_at?: Date | null;
15
- }
16
- export interface CaptchaRequestOptions extends RequestOptions {
17
- withCaptcha?: boolean;
18
- }
19
- export interface GetCaptchaResponse {
20
- captcha_token?: string;
21
- expires_in?: number;
22
- url?: string;
23
- }
24
- export declare class Captcha {
25
- private _config;
26
- private _tokenSectionName;
27
- /**
28
- * constructor
29
- * @param {CaptchaOptions} opts
30
- */
31
- constructor(opts: CaptchaOptions);
32
- /**
33
- * request http like simple fetch api, exp:request('/v1/user/me', {withCredentials:true})
34
- * @param {string} url
35
- * @param {AuthClientRequestOptions} options
36
- */
37
- request<T>(url: string, options?: CaptchaRequestOptions): Promise<T>;
38
- /**
39
- * _getCaptchaToken get captcha token
40
- */
41
- private _getCaptchaToken;
42
- private _appendCaptchaTokenToURL;
43
- private _saveCaptchaToken;
44
- private _findCaptchaToken;
45
- }
package/captcha/index.js DELETED
@@ -1,135 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Captcha = exports.getCaptcha = void 0;
4
- const internal_1 = require("../app/internal");
5
- function getCaptcha(app, opts) {
6
- return internal_1._getComponent(app, "captcha", () => {
7
- const initOpts = {
8
- request: app.options.request,
9
- storage: app.options.storage,
10
- openURIWithCallback: app.options.openURIWithCallback,
11
- };
12
- if (opts && opts.request) {
13
- initOpts.request = opts.request;
14
- }
15
- return new Captcha(initOpts);
16
- });
17
- }
18
- exports.getCaptcha = getCaptcha;
19
- const GET_CAPTCHA_URL = '/auth/v1/captcha/init';
20
- class Captcha {
21
- /**
22
- * constructor
23
- * @param {CaptchaOptions} opts
24
- */
25
- constructor(opts) {
26
- this._config = opts;
27
- this._tokenSectionName = 'captcha_';
28
- }
29
- /**
30
- * request http like simple fetch api, exp:request('/v1/user/me', {withCredentials:true})
31
- * @param {string} url
32
- * @param {AuthClientRequestOptions} options
33
- */
34
- async request(url, options) {
35
- if (!options) {
36
- options = {};
37
- }
38
- if (!options.method) {
39
- options.method = 'GET';
40
- }
41
- const state = options.method + ":" + url;
42
- let reqURL = url;
43
- if (options.withCaptcha) {
44
- reqURL = await this._appendCaptchaTokenToURL(url, state, false);
45
- }
46
- let resp;
47
- try {
48
- resp = await this._config.request(reqURL, options);
49
- }
50
- catch (err) {
51
- if (err.error === 'captcha_required' || err.error === 'captcha_invalid') {
52
- url = await this._appendCaptchaTokenToURL(url, state, err.error === 'captcha_invalid');
53
- return this._config.request(url, options);
54
- }
55
- else {
56
- return Promise.reject(err);
57
- }
58
- }
59
- return resp;
60
- }
61
- /**
62
- * _getCaptchaToken get captcha token
63
- */
64
- async _getCaptchaToken(forceNewToken, state) {
65
- if (!forceNewToken) {
66
- // if local has captcha token then return
67
- const captchaToken = await this._findCaptchaToken();
68
- if (captchaToken) {
69
- return captchaToken;
70
- }
71
- }
72
- const redirectURL = window.location.origin + window.location.pathname;
73
- const captchaTokenResp = await this._config.request(GET_CAPTCHA_URL, {
74
- method: 'POST',
75
- body: {
76
- redirect_uri: redirectURL,
77
- state: state
78
- },
79
- withBasicAuth: true,
80
- });
81
- if (captchaTokenResp.captcha_token) {
82
- const captchaToken = {
83
- captcha_token: captchaTokenResp.captcha_token,
84
- expires_in: captchaTokenResp.expires_in,
85
- };
86
- await this._saveCaptchaToken(captchaToken);
87
- return captchaTokenResp.captcha_token;
88
- }
89
- const callbackData = await this._config.openURIWithCallback(captchaTokenResp.url, { width: '355px', height: '355px' });
90
- const captchaToken = {
91
- captcha_token: callbackData.captcha_token,
92
- expires_in: Number(callbackData.expires_in)
93
- };
94
- await this._saveCaptchaToken(captchaToken);
95
- return captchaToken.captcha_token;
96
- }
97
- async _appendCaptchaTokenToURL(url, state, forceNewToken) {
98
- const captchaToken = await this._getCaptchaToken(forceNewToken, state);
99
- if (url.indexOf("?") > 0) {
100
- url += "&captcha_token=" + captchaToken;
101
- }
102
- else {
103
- url += "?captcha_token=" + captchaToken;
104
- }
105
- return url;
106
- }
107
- async _saveCaptchaToken(token) {
108
- token.expires_at = new Date(Date.now() + (token.expires_in - 10) * 1000);
109
- const tokenStr = JSON.stringify(token);
110
- await this._config.storage.setItem(this._tokenSectionName, tokenStr);
111
- }
112
- async _findCaptchaToken() {
113
- const tokenStr = await this._config.storage.getItem(this._tokenSectionName);
114
- if (tokenStr !== undefined && tokenStr !== null) {
115
- try {
116
- const captchaToken = JSON.parse(tokenStr);
117
- if (captchaToken && captchaToken.expires_at) {
118
- captchaToken.expires_at = new Date(captchaToken.expires_at);
119
- }
120
- const isExpired = captchaToken.expires_at < new Date();
121
- if (isExpired) {
122
- return null;
123
- }
124
- return captchaToken.captcha_token;
125
- }
126
- catch (error) {
127
- await this._config.storage.removeItem(this._tokenSectionName);
128
- return null;
129
- }
130
- }
131
- return null;
132
- }
133
- }
134
- exports.Captcha = Captcha;
135
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/captcha/index.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import { App } from "../app";
2
- import { AuthClient } from "../oauthclient";
3
- export interface FunctionOptions {
4
- credentialsClient: AuthClient;
5
- env: string;
6
- }
7
- /**
8
- * Returns the existing `Auth` instance that is associated with the app
9
- */
10
- export declare function getFunction(app: App): Function;
11
- export declare class Function {
12
- private _config;
13
- /**
14
- * constructor
15
- * @param {AuthOptions} opts
16
- */
17
- constructor(opts: FunctionOptions);
18
- /**
19
- * callFunction call function
20
- * @param {SignInRequest} params A SignInRequest Object.
21
- * @return {Promise<Credentials>} A Promise<Credentials> object.
22
- */
23
- callFunction(params: FunctionRequest): Promise<FunctionResponse>;
24
- }
25
- export interface FunctionRequest {
26
- name: string;
27
- data: any;
28
- }
29
- export interface FunctionResponse {
30
- requestId: string;
31
- result: any;
32
- }
33
- export interface functionHTTPResponse {
34
- requestId: string;
35
- data: any;
36
- code: string;
37
- message: string;
38
- }
package/function/index.js DELETED
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Function = exports.getFunction = void 0;
4
- const oauthclient_1 = require("../oauthclient");
5
- const uuid_1 = require("../utils/uuid");
6
- const internal_1 = require("../app/internal");
7
- /**
8
- * Returns the existing `Auth` instance that is associated with the app
9
- */
10
- function getFunction(app) {
11
- return internal_1._getComponent(app, "function", () => {
12
- const credentialsClient = oauthclient_1.getOAuthClient(app);
13
- return new Function({
14
- credentialsClient: credentialsClient,
15
- env: app.options.clientId
16
- });
17
- });
18
- }
19
- exports.getFunction = getFunction;
20
- class Function {
21
- /**
22
- * constructor
23
- * @param {AuthOptions} opts
24
- */
25
- constructor(opts) {
26
- this._config = {
27
- credentialsClient: opts.credentialsClient,
28
- env: opts.env,
29
- };
30
- }
31
- /**
32
- * callFunction call function
33
- * @param {SignInRequest} params A SignInRequest Object.
34
- * @return {Promise<Credentials>} A Promise<Credentials> object.
35
- */
36
- async callFunction(params) {
37
- let accessToken;
38
- try {
39
- accessToken = await this._config.credentialsClient.getAccessToken();
40
- }
41
- catch (e) {
42
- if (e.error === oauthclient_1.ErrorType.UNAUTHENTICATED) {
43
- accessToken = "";
44
- }
45
- else {
46
- return Promise.reject(e);
47
- }
48
- }
49
- const requestId = uuid_1.uuidv4();
50
- var reqBody = {
51
- "action": "functions.invokeFunction",
52
- "dataVersion": "2020-01-10",
53
- "env": this._config.env,
54
- "function_name": params.name,
55
- "request_data": JSON.stringify(params.data),
56
- "seqId": requestId,
57
- "access_token": accessToken
58
- };
59
- const url = "/web?env=" + this._config.env;
60
- const resp = await this._config.credentialsClient.request(url, {
61
- method: 'POST',
62
- body: reqBody,
63
- headers: {
64
- 'content-type': 'application/json'
65
- }
66
- });
67
- if (resp.code) {
68
- return Promise.reject({
69
- error: resp.code,
70
- error_description: resp.message
71
- });
72
- }
73
- return {
74
- requestId: resp.requestId,
75
- result: resp.data.response_data,
76
- };
77
- }
78
- }
79
- exports.Function = Function;
80
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/function/index.ts"],"names":[],"mappings":";;;AACA,gDAAqE;AACrE,wCAAqC;AACrC,8CAA8C;AAO9C;;GAEG;AACH,SAAgB,WAAW,CAAC,GAAQ;IAChC,OAAO,wBAAa,CAAW,GAAG,EAAE,UAAU,EAAE,GAAa,EAAE;QAC3D,MAAM,iBAAiB,GAAG,4BAAc,CAAC,GAAG,CAAC,CAAA;QAC7C,OAAO,IAAI,QAAQ,CAAC;YAChB,iBAAiB,EAAE,iBAAiB;YACpC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ;SAC5B,CAAC,CAAA;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AARD,kCAQC;AAGD,MAAa,QAAQ;IAIjB;;;OAGG;IACH,YAAY,IAAqB;QAC7B,IAAI,CAAC,OAAO,GAAG;YACX,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,GAAG,EAAE,IAAI,CAAC,GAAG;SAChB,CAAA;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,MAAuB;QAC7C,IAAI,WAAmB,CAAA;QACvB,IAAI;YACA,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAA;SACtE;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,CAAC,KAAK,KAAK,uBAAS,CAAC,eAAe,EAAE;gBACvC,WAAW,GAAG,EAAE,CAAA;aACnB;iBAAM;gBACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;aAC3B;SACJ;QACD,MAAM,SAAS,GAAG,aAAM,EAAE,CAAA;QAC1B,IAAI,OAAO,GAAG;YACV,QAAQ,EAAE,0BAA0B;YACpC,aAAa,EAAE,YAAY;YAC3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACvB,eAAe,EAAE,MAAM,CAAC,IAAI;YAC5B,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3C,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,WAAW;SAC9B,CAAA;QACD,MAAM,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAuB,GAAG,EAAE;YACjF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;YACb,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;aACrC;SACJ,CAAC,CAAA;QACF,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,OAAO,OAAO,CAAC,MAAM,CAAC;gBAClB,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,iBAAiB,EAAE,IAAI,CAAC,OAAO;aAClC,CAAC,CAAA;SACL;QACD,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;SAClC,CAAA;IACL,CAAC;CACJ;AA5DD,4BA4DC"}
package/index.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import { Auth } from './auth';
2
- import { App, Options } from './app';
3
- export declare function initializeClient(options: Options): Client;
4
- export declare class Client {
5
- auth: Auth;
6
- app: App;
7
- constructor(initOptions: Options);
8
- }
package/index.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Client = exports.initializeClient = void 0;
4
- const auth_1 = require("./auth");
5
- const app_1 = require("./app");
6
- function initializeClient(options) {
7
- return new Client(options);
8
- }
9
- exports.initializeClient = initializeClient;
10
- class Client {
11
- constructor(initOptions) {
12
- this.app = app_1.initializeApp(initOptions);
13
- this.auth = auth_1.getAuth(this.app);
14
- }
15
- }
16
- exports.Client = Client;
17
- //# sourceMappingURL=index.js.map
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAqC;AACrC,+BAAkD;AAElD,SAAgB,gBAAgB,CAAC,OAAgB;IAC7C,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAFD,4CAEC;AAED,MAAa,MAAM;IAIf,YAAY,WAAoB;QAC5B,IAAI,CAAC,GAAG,GAAG,mBAAa,CAAC,WAAW,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;CACJ;AARD,wBAQC"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorType = exports.Syntax = void 0;
4
- var Syntax;
5
- (function (Syntax) {
6
- Syntax["CLIENT_ID"] = "client_id";
7
- Syntax["CLIENT_SECRET"] = "client_secret";
8
- Syntax["RESPONSE_TYPE"] = "response_type";
9
- Syntax["SCOPE"] = "scope";
10
- Syntax["STATE"] = "state";
11
- Syntax["REDIRECT_URI"] = "redirect_uri";
12
- Syntax["ERROR"] = "error";
13
- Syntax["ERROR_DESCRIPTION"] = "error_description";
14
- Syntax["ERROR_URI"] = "error_uri";
15
- Syntax["GRANT_TYPE"] = "grant_type";
16
- Syntax["CODE"] = "code";
17
- Syntax["ACCESS_TOKEN"] = "access_token";
18
- Syntax["TOKEN_TYPE"] = "token_type";
19
- Syntax["EXPIRES_IN"] = "expires_in";
20
- Syntax["USERNAME"] = "username";
21
- Syntax["PASSWORD"] = "password";
22
- Syntax["REFRESH_TOKEN"] = "refresh_token";
23
- })(Syntax = exports.Syntax || (exports.Syntax = {}));
24
- var ErrorType;
25
- (function (ErrorType) {
26
- ErrorType["UNREACHABLE"] = "unreachable";
27
- ErrorType["LOCAL"] = "local";
28
- ErrorType["CANCELLED"] = "cancelled";
29
- ErrorType["UNKNOWN"] = "unknown";
30
- ErrorType["INVALID_ARGUMENT"] = "invalid_argument";
31
- ErrorType["DEADLINE_EXCEEDED"] = "deadline_exceeded";
32
- ErrorType["NOT_FOUND"] = "not_found";
33
- ErrorType["ALREADY_EXISTS"] = "already_exists";
34
- ErrorType["PERMISSION_DENIED"] = "permission_denied";
35
- ErrorType["UNAUTHENTICATED"] = "unauthenticated";
36
- ErrorType["RESOURCE_EXHAUSTED"] = "resource_exhausted";
37
- ErrorType["FAILED_PRECONDITION"] = "failed_precondition";
38
- ErrorType["ABORTED"] = "aborted";
39
- ErrorType["OUT_OF_RANGE"] = "out_of_range";
40
- ErrorType["UNIMPLEMENTED"] = "unimplemented";
41
- ErrorType["INTERNAL"] = "internal";
42
- ErrorType["UNAVAILABLE"] = "unavailable";
43
- ErrorType["DATA_LOSS"] = "data_loss";
44
- // CommonError
45
- ErrorType["ACCESS_DENIED"] = "access_denied";
46
- ErrorType["UNSUPPORTED_RESPONSE_TYPE"] = "unsupported_response_type";
47
- ErrorType["INVALID_SCOPE"] = "invalid_scope";
48
- ErrorType["INVALID_GRANT"] = "invalid_grant";
49
- ErrorType["SERVER_ERROR"] = "server_error";
50
- ErrorType["TEMPORARILY_UNAVAILABLE"] = "temporarily_unavailable";
51
- ErrorType["INTERACTION_REQUIRED"] = "interaction_required";
52
- })(ErrorType = exports.ErrorType || (exports.ErrorType = {}));
53
- //# sourceMappingURL=consts.js.map