rettiwt-api 1.0.5 → 1.0.7
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/README.md +2 -2
- package/dist/{queries → graphql/queries}/RootQuery.d.ts +0 -0
- package/dist/{queries → graphql/queries}/RootQuery.js +15 -3
- package/dist/graphql/queries/RootQuery.js.map +1 -0
- package/dist/graphql/resolvers/AccountResolver.d.ts +12 -0
- package/dist/graphql/resolvers/AccountResolver.js +84 -0
- package/dist/graphql/resolvers/AccountResolver.js.map +1 -0
- package/dist/{resolvers → graphql/resolvers}/ResolverBase.d.ts +1 -1
- package/dist/{resolvers → graphql/resolvers}/ResolverBase.js +0 -0
- package/dist/graphql/resolvers/ResolverBase.js.map +1 -0
- package/dist/{resolvers → graphql/resolvers}/TweetResolver.d.ts +10 -9
- package/dist/{resolvers → graphql/resolvers}/TweetResolver.js +51 -35
- package/dist/graphql/resolvers/TweetResolver.js.map +1 -0
- package/dist/{resolvers → graphql/resolvers}/UserResolver.d.ts +5 -4
- package/dist/{resolvers → graphql/resolvers}/UserResolver.js +51 -35
- package/dist/graphql/resolvers/UserResolver.js.map +1 -0
- package/dist/{models/graphql → graphql/types}/Global.d.ts +0 -0
- package/dist/{models/graphql → graphql/types}/Global.js +0 -0
- package/dist/graphql/types/Global.js.map +1 -0
- package/dist/graphql/types/TweetTypes.d.ts +4 -0
- package/dist/{models/graphql → graphql/types}/TweetTypes.js +5 -7
- package/dist/graphql/types/TweetTypes.js.map +1 -0
- package/dist/graphql/types/UserTypes.d.ts +3 -0
- package/dist/{models/graphql → graphql/types}/UserTypes.js +9 -11
- package/dist/graphql/types/UserTypes.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/server.js +6 -4
- package/dist/server.js.map +1 -1
- package/dist/services/AuthService.js +2 -2
- package/dist/services/AuthService.js.map +1 -1
- package/dist/services/CacheService.d.ts +3 -3
- package/dist/services/CacheService.js +22 -75
- package/dist/services/CacheService.js.map +1 -1
- package/dist/services/FetcherService.d.ts +14 -4
- package/dist/services/FetcherService.js +58 -52
- package/dist/services/FetcherService.js.map +1 -1
- package/dist/services/accounts/AccountService.d.ts +42 -0
- package/dist/services/accounts/AccountService.js +291 -0
- package/dist/services/accounts/AccountService.js.map +1 -0
- package/dist/services/accounts/LoginFlows.d.ts +77 -0
- package/dist/services/accounts/LoginFlows.js +92 -0
- package/dist/services/accounts/LoginFlows.js.map +1 -0
- package/dist/services/data/TweetService.d.ts +6 -6
- package/dist/services/data/TweetService.js +44 -27
- package/dist/services/data/TweetService.js.map +1 -1
- package/dist/services/data/UserAccountService.d.ts +3 -3
- package/dist/services/data/UserAccountService.js +22 -8
- package/dist/services/data/UserAccountService.js.map +1 -1
- package/dist/services/data/UserService.d.ts +42 -0
- package/dist/services/data/UserService.js +255 -0
- package/dist/services/data/UserService.js.map +1 -0
- package/dist/services/helper/Extractors.js +1 -1
- package/dist/services/helper/Extractors.js.map +1 -1
- package/dist/services/helper/Headers.d.ts +11 -1
- package/dist/services/helper/Headers.js +28 -2
- package/dist/services/helper/Headers.js.map +1 -1
- package/dist/services/helper/Parser.d.ts +1 -1
- package/dist/services/helper/Parser.js +4 -3
- package/dist/services/helper/Parser.js.map +1 -1
- package/dist/services/helper/Urls.d.ts +2 -2
- package/dist/services/helper/Urls.js +19 -3
- package/dist/services/helper/Urls.js.map +1 -1
- package/dist/services/helper/deserializers/Tweets.d.ts +12 -0
- package/dist/services/helper/deserializers/Tweets.js +92 -0
- package/dist/services/helper/deserializers/Tweets.js.map +1 -0
- package/dist/services/helper/deserializers/User.d.ts +0 -0
- package/dist/services/helper/deserializers/User.js +2 -0
- package/dist/services/helper/deserializers/User.js.map +1 -0
- package/dist/services/helper/deserializers/Users.d.ts +7 -0
- package/dist/services/helper/deserializers/Users.js +27 -0
- package/dist/services/helper/deserializers/Users.js.map +1 -0
- package/dist/services/helper/extractors/TweetExtractors.d.ts +0 -0
- package/dist/services/helper/extractors/TweetExtractors.js +2 -0
- package/dist/services/helper/extractors/TweetExtractors.js.map +1 -0
- package/dist/services/helper/extractors/Tweets.d.ts +32 -0
- package/dist/services/helper/extractors/Tweets.js +264 -0
- package/dist/services/helper/extractors/Tweets.js.map +1 -0
- package/dist/services/helper/extractors/UserExtractors.d.ts +45 -0
- package/dist/services/helper/extractors/UserExtractors.js +176 -0
- package/dist/services/helper/extractors/UserExtractors.js.map +1 -0
- package/dist/services/helper/extractors/Users.d.ts +20 -0
- package/dist/services/helper/extractors/Users.js +151 -0
- package/dist/services/helper/extractors/Users.js.map +1 -0
- package/dist/services/helper/urls/Authentication.d.ts +4 -0
- package/dist/services/helper/urls/Authentication.js +11 -0
- package/dist/services/helper/urls/Authentication.js.map +1 -0
- package/dist/services/helper/urls/Tweets.d.ts +32 -0
- package/dist/services/helper/urls/Tweets.js +51 -0
- package/dist/services/helper/urls/Tweets.js.map +1 -0
- package/dist/services/helper/urls/Urls.d.ts +4 -0
- package/dist/services/helper/urls/Urls.js +11 -0
- package/dist/services/helper/urls/Urls.js.map +1 -0
- package/dist/services/helper/urls/Users.d.ts +31 -0
- package/dist/services/helper/urls/Users.js +66 -0
- package/dist/services/helper/urls/Users.js.map +1 -0
- package/dist/types/{graphql/Errors.d.ts → Errors.d.ts} +0 -0
- package/dist/types/{graphql/Errors.js → Errors.js} +0 -0
- package/dist/types/Errors.js.map +1 -0
- package/dist/types/HTTP.d.ts +0 -7
- package/dist/types/HTTP.js +1 -10
- package/dist/types/HTTP.js.map +1 -1
- package/dist/types/Resolvers.d.ts +9 -0
- package/dist/types/Resolvers.js +3 -0
- package/dist/types/Resolvers.js.map +1 -0
- package/dist/types/Service.d.ts +2 -0
- package/dist/types/Service.js.map +1 -1
- package/dist/types/Tweet.d.ts +1 -0
- package/dist/types/Tweet.js.map +1 -1
- package/dist/types/User.d.ts +19 -0
- package/dist/types/User.js +4 -0
- package/dist/types/User.js.map +1 -0
- package/dist/types/data/Errors.d.ts +26 -0
- package/dist/types/data/Errors.js +36 -0
- package/dist/types/data/Errors.js.map +1 -0
- package/dist/types/data/Service.d.ts +29 -0
- package/dist/types/data/Service.js +19 -0
- package/dist/types/data/Service.js.map +1 -0
- package/dist/types/data/Tweet.d.ts +41 -0
- package/dist/types/data/Tweet.js +5 -0
- package/dist/types/data/Tweet.js.map +1 -0
- package/dist/types/data/User.d.ts +19 -0
- package/dist/types/data/User.js +4 -0
- package/dist/types/data/User.js.map +1 -0
- package/dist/types/raw/http/Error.d.ts +34 -0
- package/dist/types/raw/{user/Users.js → http/Error.js} +1 -1
- package/dist/types/raw/http/Error.js.map +1 -0
- package/dist/types/raw/http/Response.d.ts +34 -0
- package/dist/types/raw/http/Response.js +3 -0
- package/dist/types/raw/http/Response.js.map +1 -0
- package/package.json +4 -2
- package/src/{queries → graphql/queries}/RootQuery.ts +16 -4
- package/src/graphql/resolvers/AccountResolver.ts +22 -0
- package/src/{resolvers → graphql/resolvers}/ResolverBase.ts +1 -1
- package/src/{resolvers → graphql/resolvers}/TweetResolver.ts +43 -30
- package/src/{resolvers → graphql/resolvers}/UserResolver.ts +41 -27
- package/src/{models/graphql → graphql/types}/Global.ts +0 -0
- package/src/{models/graphql → graphql/types}/TweetTypes.ts +9 -11
- package/src/{models/graphql → graphql/types}/UserTypes.ts +13 -15
- package/src/index.ts +5 -3
- package/src/server.ts +6 -4
- package/src/services/AuthService.ts +1 -1
- package/src/services/CacheService.ts +6 -8
- package/src/services/FetcherService.ts +37 -22
- package/src/services/accounts/AccountService.ts +156 -0
- package/src/services/accounts/LoginFlows.ts +90 -0
- package/src/services/data/TweetService.ts +53 -37
- package/src/services/data/UserService.ts +187 -0
- package/src/services/helper/Headers.ts +27 -1
- package/src/services/helper/Parser.ts +6 -4
- package/src/services/helper/{Deserializers.ts → deserializers/Tweets.ts} +3 -28
- package/src/services/helper/deserializers/Users.ts +26 -0
- package/src/services/helper/extractors/Tweets.ts +252 -0
- package/src/services/helper/extractors/Users.ts +137 -0
- package/src/services/helper/urls/Authentication.ts +6 -0
- package/src/services/helper/urls/Tweets.ts +46 -0
- package/src/services/helper/urls/Users.ts +62 -0
- package/src/types/HTTP.ts +0 -8
- package/src/types/Resolvers.ts +9 -0
- package/src/types/data/Errors.ts +28 -0
- package/src/types/{Service.ts → data/Service.ts} +6 -5
- package/src/types/{Tweet.ts → data/Tweet.ts} +1 -0
- package/src/types/{UserAccount.ts → data/User.ts} +0 -0
- package/tsconfig.json +2 -2
- package/dist/models/graphql/Global.js.map +0 -1
- package/dist/models/graphql/TweetTypes.d.ts +0 -6
- package/dist/models/graphql/TweetTypes.js.map +0 -1
- package/dist/models/graphql/UserTypes.d.ts +0 -3
- package/dist/models/graphql/UserTypes.js.map +0 -1
- package/dist/queries/RootQuery.js.map +0 -1
- package/dist/resolvers/ResolverBase.js.map +0 -1
- package/dist/resolvers/TweetResolver.js.map +0 -1
- package/dist/resolvers/UserResolver.js.map +0 -1
- package/dist/test/Test.js +0 -2
- package/dist/test/Test.js.map +0 -1
- package/dist/types/graphql/Errors.js.map +0 -1
- package/dist/types/raw/user/Users.d.ts +0 -120
- package/dist/types/raw/user/Users.js.map +0 -1
- package/src/services/data/UserAccountService.ts +0 -176
- package/src/services/helper/Extractors.ts +0 -455
- package/src/services/helper/Urls.ts +0 -109
- package/src/types/graphql/Errors.ts +0 -16
- package/src/types/raw/user/Tweets.ts +0 -2847
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../../src/services/CacheService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../../src/services/CacheService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,0DAAmC;AAEnC,UAAU;AACV,uDAA2C;AAE3C;;;;GAIG;AACH;IAKI,iBAAiB;IACjB;QACI,yBAAyB;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAS,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,wBAAW,GAAlB;QACI,uCAAuC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;SACtC;QAED,iCAAiC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACI,4BAAK,GAAZ,UAAa,IAAS;QAClB,wCAAwC;QACxC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEhC,kCAAkC;QAClC,KAAiB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;YAAlB,IAAI,IAAI,aAAA;YACT,gDAAgD;YAChD,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAE9D,0CAA0C;YAC1C,IAAG,CAAC,MAAM,EAAE;gBACR,uBAAuB;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;aAC1D;SACJ;IACL,CAAC;IAED;;;OAGG;IACI,2BAAI,GAAX,UAAY,EAAU;QAClB,0BAA0B;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE9B,OAAO,GAAG,CAAC;IACf,CAAC;IACL,mBAAC;AAAD,CAAC,AAxDD,IAwDC;AAxDY,oCAAY"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { CurlyResult } from 'node-libcurl';
|
|
2
2
|
import { AuthService } from './AuthService';
|
|
3
|
+
/**
|
|
4
|
+
* @summary Stores all the different type of http requests
|
|
5
|
+
*/
|
|
6
|
+
export declare enum HttpMethods {
|
|
7
|
+
POST = "POST",
|
|
8
|
+
GET = "GET"
|
|
9
|
+
}
|
|
3
10
|
/**
|
|
4
11
|
* @service The base serivice from which all other data services derive their behaviour
|
|
5
12
|
*/
|
|
6
13
|
export declare class FetcherService {
|
|
7
14
|
private auth;
|
|
15
|
+
private cache;
|
|
8
16
|
protected isAuthenticated: boolean;
|
|
9
17
|
constructor(auth: AuthService);
|
|
10
18
|
/**
|
|
@@ -15,17 +23,19 @@ export declare class FetcherService {
|
|
|
15
23
|
/**
|
|
16
24
|
* @returns The absolute raw json data from give url
|
|
17
25
|
* @param url The url to fetch data from
|
|
18
|
-
* @param
|
|
26
|
+
* @param authenticate Whether to authenticate requests or not
|
|
27
|
+
* @param method The HTTP method to use
|
|
28
|
+
* @param data The data to be sent along with the request (works with only POST method)
|
|
19
29
|
*/
|
|
20
|
-
protected request<DataType>(url: string,
|
|
30
|
+
protected request<DataType>(url: string, authenticate?: boolean, method?: HttpMethods, data?: any): Promise<CurlyResult<DataType>>;
|
|
21
31
|
/**
|
|
22
32
|
* @summary Caches the extracted data
|
|
23
33
|
* @param data The extracted data to be cached
|
|
24
34
|
*/
|
|
25
|
-
protected cacheData(data: any):
|
|
35
|
+
protected cacheData(data: any): void;
|
|
26
36
|
/**
|
|
27
37
|
* @returns The data with the given id (if it exists in cache)
|
|
28
38
|
* @param id The id of the data to be read from cache
|
|
29
39
|
*/
|
|
30
|
-
protected readData(id: string):
|
|
40
|
+
protected readData(id: string): any;
|
|
31
41
|
}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
14
|
if (k2 === undefined) k2 = k;
|
|
4
15
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -59,7 +70,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
59
70
|
}
|
|
60
71
|
};
|
|
61
72
|
exports.__esModule = true;
|
|
62
|
-
exports.FetcherService = void 0;
|
|
73
|
+
exports.FetcherService = exports.HttpMethods = void 0;
|
|
63
74
|
// PACKAGES
|
|
64
75
|
var node_libcurl_1 = require("node-libcurl");
|
|
65
76
|
var CacheService_1 = require("./CacheService");
|
|
@@ -67,7 +78,17 @@ var CacheService_1 = require("./CacheService");
|
|
|
67
78
|
var HTTP_1 = require("../types/HTTP");
|
|
68
79
|
// HELPERS
|
|
69
80
|
var Headers = __importStar(require("./helper/Headers"));
|
|
70
|
-
var
|
|
81
|
+
var UserDeserializers = __importStar(require("./helper/deserializers/Users"));
|
|
82
|
+
var TweetDeserializers = __importStar(require("./helper/deserializers/Tweets"));
|
|
83
|
+
/**
|
|
84
|
+
* @summary Stores all the different type of http requests
|
|
85
|
+
*/
|
|
86
|
+
var HttpMethods;
|
|
87
|
+
(function (HttpMethods) {
|
|
88
|
+
HttpMethods["POST"] = "POST";
|
|
89
|
+
HttpMethods["GET"] = "GET";
|
|
90
|
+
})(HttpMethods = exports.HttpMethods || (exports.HttpMethods = {}));
|
|
91
|
+
;
|
|
71
92
|
/**
|
|
72
93
|
* @service The base serivice from which all other data services derive their behaviour
|
|
73
94
|
*/
|
|
@@ -75,6 +96,7 @@ var FetcherService = /** @class */ (function () {
|
|
|
75
96
|
// MEMBER METHODS
|
|
76
97
|
function FetcherService(auth) {
|
|
77
98
|
this.auth = auth;
|
|
99
|
+
this.cache = CacheService_1.CacheService.getInstance();
|
|
78
100
|
this.isAuthenticated = this.auth.isAuthenticated;
|
|
79
101
|
}
|
|
80
102
|
/**
|
|
@@ -90,38 +112,42 @@ var FetcherService = /** @class */ (function () {
|
|
|
90
112
|
/**
|
|
91
113
|
* @returns The absolute raw json data from give url
|
|
92
114
|
* @param url The url to fetch data from
|
|
93
|
-
* @param
|
|
115
|
+
* @param authenticate Whether to authenticate requests or not
|
|
116
|
+
* @param method The HTTP method to use
|
|
117
|
+
* @param data The data to be sent along with the request (works with only POST method)
|
|
94
118
|
*/
|
|
95
|
-
FetcherService.prototype.request = function (url,
|
|
96
|
-
if (
|
|
119
|
+
FetcherService.prototype.request = function (url, authenticate, method, data) {
|
|
120
|
+
if (authenticate === void 0) { authenticate = true; }
|
|
121
|
+
if (method === void 0) { method = HttpMethods.GET; }
|
|
97
122
|
return __awaiter(this, void 0, void 0, function () {
|
|
98
|
-
var
|
|
99
|
-
var
|
|
123
|
+
var config, _a, _b, _c, _d, _e;
|
|
124
|
+
var _f;
|
|
100
125
|
var _this = this;
|
|
101
|
-
return __generator(this, function (
|
|
102
|
-
switch (
|
|
126
|
+
return __generator(this, function (_g) {
|
|
127
|
+
switch (_g.label) {
|
|
103
128
|
case 0:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (!authenticated) return [3 /*break*/, 2];
|
|
108
|
-
_f = (_e = Headers).authorizedHeader;
|
|
129
|
+
_f = {};
|
|
130
|
+
if (!authenticate) return [3 /*break*/, 2];
|
|
131
|
+
_c = (_b = Headers).authorizedHeader;
|
|
109
132
|
return [4 /*yield*/, this.auth.getAuthCredentials()];
|
|
110
133
|
case 1:
|
|
111
|
-
|
|
134
|
+
_a = _c.apply(_b, [_g.sent()]);
|
|
112
135
|
return [3 /*break*/, 4];
|
|
113
136
|
case 2:
|
|
114
|
-
|
|
137
|
+
_e = (_d = Headers).guestHeader;
|
|
115
138
|
return [4 /*yield*/, this.auth.getGuestCredentials()];
|
|
116
139
|
case 3:
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
case 4:
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return [
|
|
140
|
+
_a = _e.apply(_d, [_g.sent()]);
|
|
141
|
+
_g.label = 4;
|
|
142
|
+
case 4:
|
|
143
|
+
config = (_f.httpHeader = _a,
|
|
144
|
+
_f.sslVerifyPeer = false,
|
|
145
|
+
_f);
|
|
146
|
+
if (!(method == HttpMethods.POST)) return [3 /*break*/, 6];
|
|
147
|
+
return [4 /*yield*/, node_libcurl_1.curly.post(url, __assign(__assign({}, config), { postFields: JSON.stringify(data) })).then(function (res) { return _this.handleHTTPError(res); })];
|
|
148
|
+
case 5: return [2 /*return*/, _g.sent()];
|
|
149
|
+
case 6: return [4 /*yield*/, node_libcurl_1.curly.get(url, config).then(function (res) { return _this.handleHTTPError(res); })];
|
|
150
|
+
case 7: return [2 /*return*/, _g.sent()];
|
|
125
151
|
}
|
|
126
152
|
});
|
|
127
153
|
});
|
|
@@ -131,40 +157,20 @@ var FetcherService = /** @class */ (function () {
|
|
|
131
157
|
* @param data The extracted data to be cached
|
|
132
158
|
*/
|
|
133
159
|
FetcherService.prototype.cacheData = function (data) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
cache = _a.sent();
|
|
141
|
-
users = data.users.map(function (user) { return Deserializers.toUser(user); });
|
|
142
|
-
tweets = data.tweets.map(function (tweet) { return Deserializers.toTweet(tweet); });
|
|
143
|
-
// Caching the data
|
|
144
|
-
cache.write(users);
|
|
145
|
-
cache.write(tweets);
|
|
146
|
-
return [2 /*return*/];
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
});
|
|
160
|
+
// Parsing the extracted data
|
|
161
|
+
var users = data.users.map(function (user) { return UserDeserializers.toUser(user); });
|
|
162
|
+
var tweets = data.tweets.map(function (tweet) { return TweetDeserializers.toTweet(tweet); });
|
|
163
|
+
// Caching the data
|
|
164
|
+
this.cache.write(users);
|
|
165
|
+
this.cache.write(tweets);
|
|
150
166
|
};
|
|
151
167
|
/**
|
|
152
168
|
* @returns The data with the given id (if it exists in cache)
|
|
153
169
|
* @param id The id of the data to be read from cache
|
|
154
170
|
*/
|
|
155
171
|
FetcherService.prototype.readData = function (id) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
return __generator(this, function (_a) {
|
|
159
|
-
switch (_a.label) {
|
|
160
|
-
case 0: return [4 /*yield*/, CacheService_1.CacheService.getInstance()];
|
|
161
|
-
case 1:
|
|
162
|
-
cache = _a.sent();
|
|
163
|
-
// Reading data from cache
|
|
164
|
-
return [2 /*return*/, cache.read(id)];
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
});
|
|
172
|
+
// Reading data from cache
|
|
173
|
+
return this.cache.read(id);
|
|
168
174
|
};
|
|
169
175
|
return FetcherService;
|
|
170
176
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetcherService.js","sourceRoot":"","sources":["../../src/services/FetcherService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FetcherService.js","sourceRoot":"","sources":["../../src/services/FetcherService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export declare class AccountService {
|
|
2
|
+
private auth;
|
|
3
|
+
private guestCreds;
|
|
4
|
+
private cookies;
|
|
5
|
+
private flowToken;
|
|
6
|
+
constructor();
|
|
7
|
+
/**
|
|
8
|
+
* @returns The current guest credentials to use. If if does not exists, then a new one is created
|
|
9
|
+
*/
|
|
10
|
+
private getGuestCredentials;
|
|
11
|
+
/**
|
|
12
|
+
* @summary Step 1: Initiates login
|
|
13
|
+
*/
|
|
14
|
+
private initiateLogin;
|
|
15
|
+
/**
|
|
16
|
+
* @summary Step 2: Does something
|
|
17
|
+
*/
|
|
18
|
+
private jsInstrumentationSubtask;
|
|
19
|
+
/**
|
|
20
|
+
* @summary Step 3: Takes the email for login
|
|
21
|
+
*/
|
|
22
|
+
private enterUserIdentifier;
|
|
23
|
+
/**
|
|
24
|
+
* @summary Step 4: Takes the username for login
|
|
25
|
+
*/
|
|
26
|
+
private enterAlternateUserIdentifier;
|
|
27
|
+
/**
|
|
28
|
+
* @summary Step 5: Takes the password for login
|
|
29
|
+
*/
|
|
30
|
+
private enterPassword;
|
|
31
|
+
/**
|
|
32
|
+
* @summary Step 6: Gets the actual cookies
|
|
33
|
+
*/
|
|
34
|
+
private accountDuplicationCheck;
|
|
35
|
+
/**
|
|
36
|
+
* @param email The email of the account to be logged into
|
|
37
|
+
* @param userName The username associated with the given account
|
|
38
|
+
* @param password The password to the account
|
|
39
|
+
* @returns The cookies for authenticating with the given account
|
|
40
|
+
*/
|
|
41
|
+
login(email: string, userName: string, password: string): Promise<string>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
exports.__esModule = true;
|
|
42
|
+
exports.AccountService = void 0;
|
|
43
|
+
// PACKAGES
|
|
44
|
+
var node_libcurl_1 = require("node-libcurl");
|
|
45
|
+
// SERVICES
|
|
46
|
+
var AuthService_1 = require("../AuthService");
|
|
47
|
+
// HELPERS
|
|
48
|
+
var LoginFlows_1 = __importDefault(require("./LoginFlows"));
|
|
49
|
+
var Headers_1 = require("../helper/Headers");
|
|
50
|
+
var cookiejar_1 = require("cookiejar");
|
|
51
|
+
var AccountService = /** @class */ (function () {
|
|
52
|
+
// MEMBER METHODS
|
|
53
|
+
function AccountService() {
|
|
54
|
+
this.auth = new AuthService_1.AuthService();
|
|
55
|
+
this.guestCreds = { authToken: '', guestToken: '' };
|
|
56
|
+
this.cookies = [];
|
|
57
|
+
this.flowToken = '';
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @returns The current guest credentials to use. If if does not exists, then a new one is created
|
|
61
|
+
*/
|
|
62
|
+
AccountService.prototype.getGuestCredentials = function () {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
64
|
+
var _a;
|
|
65
|
+
return __generator(this, function (_b) {
|
|
66
|
+
switch (_b.label) {
|
|
67
|
+
case 0:
|
|
68
|
+
if (!!this.guestCreds.guestToken) return [3 /*break*/, 2];
|
|
69
|
+
_a = this;
|
|
70
|
+
return [4 /*yield*/, this.auth.getGuestCredentials()];
|
|
71
|
+
case 1:
|
|
72
|
+
_a.guestCreds = _b.sent();
|
|
73
|
+
_b.label = 2;
|
|
74
|
+
case 2: return [2 /*return*/, this.guestCreds];
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* @summary Step 1: Initiates login
|
|
81
|
+
*/
|
|
82
|
+
AccountService.prototype.initiateLogin = function () {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
84
|
+
var res, _a, _b, _c, _d;
|
|
85
|
+
var _e;
|
|
86
|
+
return __generator(this, function (_f) {
|
|
87
|
+
switch (_f.label) {
|
|
88
|
+
case 0:
|
|
89
|
+
_b = (_a = node_libcurl_1.curly).post;
|
|
90
|
+
_c = [LoginFlows_1["default"].InitiateLogin.url];
|
|
91
|
+
_e = {};
|
|
92
|
+
_d = Headers_1.loginHeader;
|
|
93
|
+
return [4 /*yield*/, this.getGuestCredentials()];
|
|
94
|
+
case 1: return [4 /*yield*/, _b.apply(_a, _c.concat([(_e.httpHeader = _d.apply(void 0, [_f.sent(), this.cookies.toString()]),
|
|
95
|
+
_e.sslVerifyPeer = false,
|
|
96
|
+
_e.postFields = '',
|
|
97
|
+
_e)]))];
|
|
98
|
+
case 2:
|
|
99
|
+
res = _f.sent();
|
|
100
|
+
// Storing cookies received
|
|
101
|
+
this.cookies = new cookiejar_1.CookieJar().setCookies(res.headers[0]['Set-Cookie']);
|
|
102
|
+
// Getting the flow token
|
|
103
|
+
this.flowToken = res.data['flow_token'];
|
|
104
|
+
return [2 /*return*/];
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* @summary Step 2: Does something
|
|
111
|
+
*/
|
|
112
|
+
AccountService.prototype.jsInstrumentationSubtask = function () {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
114
|
+
var res, _a, _b, _c, _d;
|
|
115
|
+
var _e;
|
|
116
|
+
return __generator(this, function (_f) {
|
|
117
|
+
switch (_f.label) {
|
|
118
|
+
case 0:
|
|
119
|
+
_b = (_a = node_libcurl_1.curly).post;
|
|
120
|
+
_c = [LoginFlows_1["default"].JsInstrumentationSubtask.url];
|
|
121
|
+
_e = {};
|
|
122
|
+
_d = Headers_1.loginHeader;
|
|
123
|
+
return [4 /*yield*/, this.getGuestCredentials()];
|
|
124
|
+
case 1: return [4 /*yield*/, _b.apply(_a, _c.concat([(_e.httpHeader = _d.apply(void 0, [_f.sent(), this.cookies.join(';').toString()]),
|
|
125
|
+
_e.sslVerifyPeer = false,
|
|
126
|
+
_e.postFields = JSON.stringify(LoginFlows_1["default"].JsInstrumentationSubtask.body(this.flowToken)),
|
|
127
|
+
_e)]))];
|
|
128
|
+
case 2:
|
|
129
|
+
res = _f.sent();
|
|
130
|
+
// Getting the flow token
|
|
131
|
+
this.flowToken = res.data['flow_token'];
|
|
132
|
+
return [2 /*return*/];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* @summary Step 3: Takes the email for login
|
|
139
|
+
*/
|
|
140
|
+
AccountService.prototype.enterUserIdentifier = function (email) {
|
|
141
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
142
|
+
var res, _a, _b, _c, _d;
|
|
143
|
+
var _e;
|
|
144
|
+
return __generator(this, function (_f) {
|
|
145
|
+
switch (_f.label) {
|
|
146
|
+
case 0:
|
|
147
|
+
_b = (_a = node_libcurl_1.curly).post;
|
|
148
|
+
_c = [LoginFlows_1["default"].EnterUserIdentifier.url];
|
|
149
|
+
_e = {};
|
|
150
|
+
_d = Headers_1.loginHeader;
|
|
151
|
+
return [4 /*yield*/, this.getGuestCredentials()];
|
|
152
|
+
case 1: return [4 /*yield*/, _b.apply(_a, _c.concat([(_e.httpHeader = _d.apply(void 0, [_f.sent(), this.cookies.join(';').toString()]),
|
|
153
|
+
_e.sslVerifyPeer = false,
|
|
154
|
+
_e.postFields = JSON.stringify(LoginFlows_1["default"].EnterUserIdentifier.body(this.flowToken, email)),
|
|
155
|
+
_e)]))];
|
|
156
|
+
case 2:
|
|
157
|
+
res = _f.sent();
|
|
158
|
+
// Getting the flow token
|
|
159
|
+
this.flowToken = res.data['flow_token'];
|
|
160
|
+
return [2 /*return*/];
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* @summary Step 4: Takes the username for login
|
|
167
|
+
*/
|
|
168
|
+
AccountService.prototype.enterAlternateUserIdentifier = function (userName) {
|
|
169
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
170
|
+
var res, _a, _b, _c, _d;
|
|
171
|
+
var _e;
|
|
172
|
+
return __generator(this, function (_f) {
|
|
173
|
+
switch (_f.label) {
|
|
174
|
+
case 0:
|
|
175
|
+
_b = (_a = node_libcurl_1.curly).post;
|
|
176
|
+
_c = [LoginFlows_1["default"].EnterAlternateUserIdentifier.url];
|
|
177
|
+
_e = {};
|
|
178
|
+
_d = Headers_1.loginHeader;
|
|
179
|
+
return [4 /*yield*/, this.getGuestCredentials()];
|
|
180
|
+
case 1: return [4 /*yield*/, _b.apply(_a, _c.concat([(_e.httpHeader = _d.apply(void 0, [_f.sent(), this.cookies.join(';').toString()]),
|
|
181
|
+
_e.sslVerifyPeer = false,
|
|
182
|
+
_e.postFields = JSON.stringify(LoginFlows_1["default"].EnterAlternateUserIdentifier.body(this.flowToken, userName)),
|
|
183
|
+
_e)]))];
|
|
184
|
+
case 2:
|
|
185
|
+
res = _f.sent();
|
|
186
|
+
// Getting the flow token
|
|
187
|
+
this.flowToken = res.data['flow_token'];
|
|
188
|
+
return [2 /*return*/];
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* @summary Step 5: Takes the password for login
|
|
195
|
+
*/
|
|
196
|
+
AccountService.prototype.enterPassword = function (password) {
|
|
197
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
198
|
+
var res, _a, _b, _c, _d;
|
|
199
|
+
var _e;
|
|
200
|
+
return __generator(this, function (_f) {
|
|
201
|
+
switch (_f.label) {
|
|
202
|
+
case 0:
|
|
203
|
+
_b = (_a = node_libcurl_1.curly).post;
|
|
204
|
+
_c = [LoginFlows_1["default"].EnterPassword.url];
|
|
205
|
+
_e = {};
|
|
206
|
+
_d = Headers_1.loginHeader;
|
|
207
|
+
return [4 /*yield*/, this.getGuestCredentials()];
|
|
208
|
+
case 1: return [4 /*yield*/, _b.apply(_a, _c.concat([(_e.httpHeader = _d.apply(void 0, [_f.sent(), this.cookies.join(';').toString()]),
|
|
209
|
+
_e.sslVerifyPeer = false,
|
|
210
|
+
_e.postFields = JSON.stringify(LoginFlows_1["default"].EnterPassword.body(this.flowToken, password)),
|
|
211
|
+
_e)]))];
|
|
212
|
+
case 2:
|
|
213
|
+
res = _f.sent();
|
|
214
|
+
// Getting the flow token
|
|
215
|
+
this.flowToken = res.data['flow_token'];
|
|
216
|
+
return [2 /*return*/];
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* @summary Step 6: Gets the actual cookies
|
|
223
|
+
*/
|
|
224
|
+
AccountService.prototype.accountDuplicationCheck = function () {
|
|
225
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
226
|
+
var res, _a, _b, _c, _d;
|
|
227
|
+
var _e;
|
|
228
|
+
return __generator(this, function (_f) {
|
|
229
|
+
switch (_f.label) {
|
|
230
|
+
case 0:
|
|
231
|
+
_b = (_a = node_libcurl_1.curly).post;
|
|
232
|
+
_c = [LoginFlows_1["default"].AccountDuplicationCheck.url];
|
|
233
|
+
_e = {};
|
|
234
|
+
_d = Headers_1.loginHeader;
|
|
235
|
+
return [4 /*yield*/, this.getGuestCredentials()];
|
|
236
|
+
case 1: return [4 /*yield*/, _b.apply(_a, _c.concat([(_e.httpHeader = _d.apply(void 0, [_f.sent(), this.cookies.join(';').toString()]),
|
|
237
|
+
_e.sslVerifyPeer = false,
|
|
238
|
+
_e.postFields = JSON.stringify(LoginFlows_1["default"].AccountDuplicationCheck.body(this.flowToken)),
|
|
239
|
+
_e)]))];
|
|
240
|
+
case 2:
|
|
241
|
+
res = _f.sent();
|
|
242
|
+
// Storing cookies received
|
|
243
|
+
this.cookies = new cookiejar_1.CookieJar().setCookies(res.headers[0]['Set-Cookie']);
|
|
244
|
+
// Getting the flow token
|
|
245
|
+
this.flowToken = res.data['flow_token'];
|
|
246
|
+
return [2 /*return*/];
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* @param email The email of the account to be logged into
|
|
253
|
+
* @param userName The username associated with the given account
|
|
254
|
+
* @param password The password to the account
|
|
255
|
+
* @returns The cookies for authenticating with the given account
|
|
256
|
+
*/
|
|
257
|
+
AccountService.prototype.login = function (email, userName, password) {
|
|
258
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
259
|
+
return __generator(this, function (_a) {
|
|
260
|
+
switch (_a.label) {
|
|
261
|
+
case 0:
|
|
262
|
+
// Executing each step of login flow
|
|
263
|
+
return [4 /*yield*/, this.initiateLogin()];
|
|
264
|
+
case 1:
|
|
265
|
+
// Executing each step of login flow
|
|
266
|
+
_a.sent();
|
|
267
|
+
return [4 /*yield*/, this.jsInstrumentationSubtask()];
|
|
268
|
+
case 2:
|
|
269
|
+
_a.sent();
|
|
270
|
+
return [4 /*yield*/, this.enterUserIdentifier(email)];
|
|
271
|
+
case 3:
|
|
272
|
+
_a.sent();
|
|
273
|
+
return [4 /*yield*/, this.enterAlternateUserIdentifier(userName)];
|
|
274
|
+
case 4:
|
|
275
|
+
_a.sent();
|
|
276
|
+
return [4 /*yield*/, this.enterPassword(password)];
|
|
277
|
+
case 5:
|
|
278
|
+
_a.sent();
|
|
279
|
+
return [4 /*yield*/, this.accountDuplicationCheck()];
|
|
280
|
+
case 6:
|
|
281
|
+
_a.sent();
|
|
282
|
+
// Returning the final cookies
|
|
283
|
+
return [2 /*return*/, this.cookies.join(';')];
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
};
|
|
288
|
+
return AccountService;
|
|
289
|
+
}());
|
|
290
|
+
exports.AccountService = AccountService;
|
|
291
|
+
//# sourceMappingURL=AccountService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountService.js","sourceRoot":"","sources":["../../../src/services/accounts/AccountService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
declare const LoginFlows: {
|
|
2
|
+
InitiateLogin: {
|
|
3
|
+
url: string;
|
|
4
|
+
};
|
|
5
|
+
JsInstrumentationSubtask: {
|
|
6
|
+
url: string;
|
|
7
|
+
body: (flowToken: string) => {
|
|
8
|
+
flow_token: string;
|
|
9
|
+
subtask_inputs: {
|
|
10
|
+
subtask_id: string;
|
|
11
|
+
js_instrumentation: {
|
|
12
|
+
response: string;
|
|
13
|
+
link: string;
|
|
14
|
+
};
|
|
15
|
+
}[];
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
EnterUserIdentifier: {
|
|
19
|
+
url: string;
|
|
20
|
+
body: (flowToken: string, email: string) => {
|
|
21
|
+
flow_token: string;
|
|
22
|
+
subtask_inputs: {
|
|
23
|
+
subtask_id: string;
|
|
24
|
+
settings_list: {
|
|
25
|
+
setting_responses: {
|
|
26
|
+
key: string;
|
|
27
|
+
response_data: {
|
|
28
|
+
text_data: {
|
|
29
|
+
result: string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
}[];
|
|
33
|
+
link: string;
|
|
34
|
+
};
|
|
35
|
+
}[];
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
EnterAlternateUserIdentifier: {
|
|
39
|
+
url: string;
|
|
40
|
+
body: (flowToken: string, userName: string) => {
|
|
41
|
+
flow_token: string;
|
|
42
|
+
subtask_inputs: {
|
|
43
|
+
subtask_id: string;
|
|
44
|
+
enter_text: {
|
|
45
|
+
text: string;
|
|
46
|
+
link: string;
|
|
47
|
+
};
|
|
48
|
+
}[];
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
EnterPassword: {
|
|
52
|
+
url: string;
|
|
53
|
+
body: (flowToken: string, password: string) => {
|
|
54
|
+
flow_token: string;
|
|
55
|
+
subtask_inputs: {
|
|
56
|
+
subtask_id: string;
|
|
57
|
+
enter_password: {
|
|
58
|
+
password: string;
|
|
59
|
+
link: string;
|
|
60
|
+
};
|
|
61
|
+
}[];
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
AccountDuplicationCheck: {
|
|
65
|
+
url: string;
|
|
66
|
+
body: (flowToken: string) => {
|
|
67
|
+
flow_token: string;
|
|
68
|
+
subtask_inputs: {
|
|
69
|
+
subtask_id: string;
|
|
70
|
+
check_logged_in_account: {
|
|
71
|
+
link: string;
|
|
72
|
+
};
|
|
73
|
+
}[];
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
export default LoginFlows;
|