rettiwt-api 1.0.2 → 1.0.4
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 +1 -1
- package/dist/resolvers/TweetResolver.js +24 -20
- package/dist/resolvers/TweetResolver.js.map +1 -1
- package/dist/resolvers/UserResolver.d.ts +0 -9
- package/dist/resolvers/UserResolver.js +18 -67
- package/dist/resolvers/UserResolver.js.map +1 -1
- package/dist/services/AuthService.d.ts +1 -0
- package/dist/services/AuthService.js +2 -0
- package/dist/services/AuthService.js.map +1 -1
- package/dist/services/FetcherService.d.ts +1 -0
- package/dist/services/FetcherService.js +2 -1
- package/dist/services/FetcherService.js.map +1 -1
- package/dist/services/data/TweetService.js +19 -4
- package/dist/services/data/TweetService.js.map +1 -1
- package/dist/services/data/UserAccountService.d.ts +0 -7
- package/dist/services/data/UserAccountService.js +18 -29
- package/dist/services/data/UserAccountService.js.map +1 -1
- package/dist/services/helper/Extractors.js +1 -1
- package/dist/services/helper/Extractors.js.map +1 -1
- package/dist/types/Service.d.ts +3 -2
- package/dist/types/raw/tweet/Tweet.d.ts +2 -2
- package/package.json +1 -1
- package/src/resolvers/TweetResolver.ts +8 -8
- package/src/resolvers/UserResolver.ts +6 -57
- package/src/services/AuthService.ts +4 -0
- package/src/services/FetcherService.ts +3 -1
- package/src/services/data/TweetService.ts +16 -1
- package/src/services/data/UserAccountService.ts +15 -26
- package/src/services/helper/Extractors.ts +1 -1
- package/src/types/Service.ts +3 -2
- package/src/types/raw/tweet/Tweet.ts +2 -2
package/README.md
CHANGED
|
@@ -39,7 +39,7 @@ If you wan't full functionality, you need to use the cookie of a logged in Twitt
|
|
|
39
39
|
- For GraphQL Server mode, pass the cookie-string in the header while making a request to the graphql server
|
|
40
40
|
- For npm library mode, pass the cookie-string to the constructor while creating instance of Rettiwt
|
|
41
41
|
|
|
42
|
-
### **If you don't want to risk
|
|
42
|
+
### **If you don't want to risk your twitter account getting banned, using cookies is completely optional and you can omit passing cookie and use the API as guest**
|
|
43
43
|
### **No likes, followers, followings, retweets, replies, tweet likes, quotes can be fetched without using cookie!**
|
|
44
44
|
### **It's completely safe to use the API as a guest and not using cookies, since that way, no form of authentication is used**
|
|
45
45
|
### **If you decide to use cookies for full functionality, I'M NOT RESPONSIBLE IF YOU GET YOU TWITTER ACCOUNT BANNED!**
|
|
@@ -90,10 +90,11 @@ var TweetResolver = /** @class */ (function (_super) {
|
|
|
90
90
|
* @param cursor The cursor to the batch of tweets to fetch
|
|
91
91
|
*/
|
|
92
92
|
TweetResolver.prototype.resolveTweets = function (filter, count, cursor) {
|
|
93
|
+
var _a;
|
|
93
94
|
return __awaiter(this, void 0, void 0, function () {
|
|
94
95
|
var tweets, next, total, batchSize, res;
|
|
95
|
-
return __generator(this, function (
|
|
96
|
-
switch (
|
|
96
|
+
return __generator(this, function (_b) {
|
|
97
|
+
switch (_b.label) {
|
|
97
98
|
case 0:
|
|
98
99
|
tweets = [];
|
|
99
100
|
next = new Service_1.Cursor(cursor);
|
|
@@ -105,16 +106,16 @@ var TweetResolver = /** @class */ (function (_super) {
|
|
|
105
106
|
}
|
|
106
107
|
// If required count less than batch size, setting batch size to required count
|
|
107
108
|
batchSize = (count < batchSize) ? count : batchSize;
|
|
108
|
-
|
|
109
|
+
_b.label = 1;
|
|
109
110
|
case 1:
|
|
110
111
|
if (!(total < count)) return [3 /*break*/, 3];
|
|
111
112
|
// If this is the last batch, change batch size to number of remaining tweets
|
|
112
113
|
batchSize = ((count - total) < batchSize) ? (count - total) : batchSize;
|
|
113
114
|
return [4 /*yield*/, this.context.tweets.getTweets(filter, count, next.value)];
|
|
114
115
|
case 2:
|
|
115
|
-
res =
|
|
116
|
+
res = _b.sent();
|
|
116
117
|
// If data is available
|
|
117
|
-
if (res.list.length) {
|
|
118
|
+
if ((_a = res.list) === null || _a === void 0 ? void 0 : _a.length) {
|
|
118
119
|
// Adding fetched tweets to list of tweets
|
|
119
120
|
tweets = tweets.concat(res.list);
|
|
120
121
|
// Updating total tweets fetched
|
|
@@ -180,10 +181,11 @@ var TweetResolver = /** @class */ (function (_super) {
|
|
|
180
181
|
* @param likesCount The total number of like of the tweet
|
|
181
182
|
*/
|
|
182
183
|
TweetResolver.prototype.resolveTweetLikers = function (id, count, all, cursor, likesCount) {
|
|
184
|
+
var _a;
|
|
183
185
|
return __awaiter(this, void 0, void 0, function () {
|
|
184
186
|
var likers, next, total, batchSize, res;
|
|
185
|
-
return __generator(this, function (
|
|
186
|
-
switch (
|
|
187
|
+
return __generator(this, function (_b) {
|
|
188
|
+
switch (_b.label) {
|
|
187
189
|
case 0:
|
|
188
190
|
likers = [];
|
|
189
191
|
next = new Service_1.Cursor(cursor);
|
|
@@ -193,16 +195,16 @@ var TweetResolver = /** @class */ (function (_super) {
|
|
|
193
195
|
count = (all || count > likesCount) ? likesCount : count;
|
|
194
196
|
// If required count less than batch size, setting batch size to required count
|
|
195
197
|
batchSize = (count < batchSize) ? count : batchSize;
|
|
196
|
-
|
|
198
|
+
_b.label = 1;
|
|
197
199
|
case 1:
|
|
198
200
|
if (!(total < count)) return [3 /*break*/, 3];
|
|
199
201
|
// If this is the last batch, change batch size to number of remaining likers
|
|
200
202
|
batchSize = ((count - total) < batchSize) ? (count - total) : batchSize;
|
|
201
203
|
return [4 /*yield*/, this.context.tweets.getTweetLikers(id, count, next.value)];
|
|
202
204
|
case 2:
|
|
203
|
-
res =
|
|
205
|
+
res = _b.sent();
|
|
204
206
|
// If data is available
|
|
205
|
-
if (res.list.length) {
|
|
207
|
+
if ((_a = res.list) === null || _a === void 0 ? void 0 : _a.length) {
|
|
206
208
|
// Adding fetched likers to list of likers
|
|
207
209
|
likers = likers.concat(res.list);
|
|
208
210
|
// Updating total likers fetched
|
|
@@ -232,10 +234,11 @@ var TweetResolver = /** @class */ (function (_super) {
|
|
|
232
234
|
* @param retweetsCount The total number of retweets of the
|
|
233
235
|
*/
|
|
234
236
|
TweetResolver.prototype.resolveTweetRetweeters = function (id, count, all, cursor, retweetsCount) {
|
|
237
|
+
var _a;
|
|
235
238
|
return __awaiter(this, void 0, void 0, function () {
|
|
236
239
|
var retweeters, next, total, batchSize, res;
|
|
237
|
-
return __generator(this, function (
|
|
238
|
-
switch (
|
|
240
|
+
return __generator(this, function (_b) {
|
|
241
|
+
switch (_b.label) {
|
|
239
242
|
case 0:
|
|
240
243
|
retweeters = [];
|
|
241
244
|
next = new Service_1.Cursor(cursor);
|
|
@@ -245,16 +248,16 @@ var TweetResolver = /** @class */ (function (_super) {
|
|
|
245
248
|
count = (all || count > retweetsCount) ? retweetsCount : count;
|
|
246
249
|
// If required count less than batch size, setting batch size to required count
|
|
247
250
|
batchSize = (count < batchSize) ? count : batchSize;
|
|
248
|
-
|
|
251
|
+
_b.label = 1;
|
|
249
252
|
case 1:
|
|
250
253
|
if (!(total < count)) return [3 /*break*/, 3];
|
|
251
254
|
// If this is the last batch, change batch size to number of remaining retweeters
|
|
252
255
|
batchSize = ((count - total) < batchSize) ? (count - total) : batchSize;
|
|
253
256
|
return [4 /*yield*/, this.context.tweets.getTweetRetweeters(id, count, next.value)];
|
|
254
257
|
case 2:
|
|
255
|
-
res =
|
|
258
|
+
res = _b.sent();
|
|
256
259
|
// If data is available
|
|
257
|
-
if (res.list.length) {
|
|
260
|
+
if ((_a = res.list) === null || _a === void 0 ? void 0 : _a.length) {
|
|
258
261
|
// Adding fetched retweeters to list of retweeters
|
|
259
262
|
retweeters = retweeters.concat(res.list);
|
|
260
263
|
// Updating total retweeters fetched
|
|
@@ -284,24 +287,25 @@ var TweetResolver = /** @class */ (function (_super) {
|
|
|
284
287
|
* @param repliesCount The total number of replies to the target tweet
|
|
285
288
|
*/
|
|
286
289
|
TweetResolver.prototype.resolveTweetReplies = function (id, count, all, cursor, repliesCount) {
|
|
290
|
+
var _a;
|
|
287
291
|
return __awaiter(this, void 0, void 0, function () {
|
|
288
292
|
var replies, next, total, res;
|
|
289
|
-
return __generator(this, function (
|
|
290
|
-
switch (
|
|
293
|
+
return __generator(this, function (_b) {
|
|
294
|
+
switch (_b.label) {
|
|
291
295
|
case 0:
|
|
292
296
|
replies = [];
|
|
293
297
|
next = new Service_1.Cursor(cursor);
|
|
294
298
|
total = 0;
|
|
295
299
|
// If all replies are to be fetched
|
|
296
300
|
count = (all || count > repliesCount) ? repliesCount : count;
|
|
297
|
-
|
|
301
|
+
_b.label = 1;
|
|
298
302
|
case 1:
|
|
299
303
|
if (!(total < count)) return [3 /*break*/, 3];
|
|
300
304
|
return [4 /*yield*/, this.context.tweets.getTweetReplies(id, next.value)];
|
|
301
305
|
case 2:
|
|
302
|
-
res =
|
|
306
|
+
res = _b.sent();
|
|
303
307
|
// If data is available
|
|
304
|
-
if (res.list.length) {
|
|
308
|
+
if ((_a = res.list) === null || _a === void 0 ? void 0 : _a.length) {
|
|
305
309
|
// Adding fetched replies to list of replies
|
|
306
310
|
replies = replies.concat(res.list);
|
|
307
311
|
// Updating total replies fetched
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TweetResolver.js","sourceRoot":"","sources":["../../src/resolvers/TweetResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY;AACZ,gEAA0C;AAI1C,4CAAuD;AAEvD,UAAU;AACV,kDAA2D;AAE3D;IAA2C,iCAAY;IACnD,iBAAiB;IACjB,uBAAY,OAAoB;eAC5B,kBAAM,OAAO,CAAC;IAClB,CAAC;IAED;;;OAGG;IACG,oCAAY,GAAlB,UAAmB,EAAU;;;;;4BAEf,qBAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAA;;wBAAhD,GAAG,GAAG,SAA0C;wBAEpD,sBAAsB;wBACtB,sBAAO,GAAG,EAAC;;;;KACd;IAED;;;;;OAKG;IACG,qCAAa,GAAnB,UAAoB,MAAmB,EAAE,KAAa,EAAE,MAAc
|
|
1
|
+
{"version":3,"file":"TweetResolver.js","sourceRoot":"","sources":["../../src/resolvers/TweetResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,13 +35,4 @@ export default class UserResolver extends ResolverBase {
|
|
|
35
35
|
* @param followingsCount The total number of followings of the target user
|
|
36
36
|
*/
|
|
37
37
|
resolveUserFollowing(id: string, count: number, all: boolean, cursor: string, followingsCount: number): Promise<any>;
|
|
38
|
-
/**
|
|
39
|
-
* @returns The list of tweets made by the given user
|
|
40
|
-
* @param id The id of the user whose tweets are to be fetched
|
|
41
|
-
* @param count The number of tweets to fetch
|
|
42
|
-
* @param all Whether to fetch list of all tweets made by user
|
|
43
|
-
* @param cursor The cursor to the batch of tweets to fetch
|
|
44
|
-
* @param statusesCount The total number of tweets made by target user
|
|
45
|
-
*/
|
|
46
|
-
resolveUserTweets(id: string, count: number, all: boolean, cursor: string, statusesCount: number): Promise<any>;
|
|
47
38
|
}
|
|
@@ -97,10 +97,11 @@ var UserResolver = /** @class */ (function (_super) {
|
|
|
97
97
|
* @param favouritesCount The total number of tweets liked by target user
|
|
98
98
|
*/
|
|
99
99
|
UserResolver.prototype.resolveUserLikes = function (id, count, all, cursor, favouritesCount) {
|
|
100
|
+
var _a;
|
|
100
101
|
return __awaiter(this, void 0, void 0, function () {
|
|
101
102
|
var likes, next, total, batchSize, res;
|
|
102
|
-
return __generator(this, function (
|
|
103
|
-
switch (
|
|
103
|
+
return __generator(this, function (_b) {
|
|
104
|
+
switch (_b.label) {
|
|
104
105
|
case 0:
|
|
105
106
|
likes = [];
|
|
106
107
|
next = new Service_1.Cursor(cursor);
|
|
@@ -110,16 +111,16 @@ var UserResolver = /** @class */ (function (_super) {
|
|
|
110
111
|
count = all ? favouritesCount : count;
|
|
111
112
|
// If required count less than batch size, setting batch size to required count
|
|
112
113
|
batchSize = (count < batchSize) ? count : batchSize;
|
|
113
|
-
|
|
114
|
+
_b.label = 1;
|
|
114
115
|
case 1:
|
|
115
116
|
if (!(total < count)) return [3 /*break*/, 3];
|
|
116
117
|
// If this is the last batch, change batch size to number of remaining tweets
|
|
117
118
|
batchSize = ((count - total) < batchSize) ? (count - total) : batchSize;
|
|
118
119
|
return [4 /*yield*/, this.context.users.getUserLikes(id, count, next.value)];
|
|
119
120
|
case 2:
|
|
120
|
-
res =
|
|
121
|
+
res = _b.sent();
|
|
121
122
|
// If data is available
|
|
122
|
-
if (res.list.length) {
|
|
123
|
+
if ((_a = res.list) === null || _a === void 0 ? void 0 : _a.length) {
|
|
123
124
|
// Adding fetched tweets to list of tweets
|
|
124
125
|
likes = likes.concat(res.list);
|
|
125
126
|
// Updating total tweets fetched
|
|
@@ -149,10 +150,11 @@ var UserResolver = /** @class */ (function (_super) {
|
|
|
149
150
|
* @param followerCount The total number of followers of the target user
|
|
150
151
|
*/
|
|
151
152
|
UserResolver.prototype.resolveUserFollowers = function (id, count, all, cursor, followersCount) {
|
|
153
|
+
var _a;
|
|
152
154
|
return __awaiter(this, void 0, void 0, function () {
|
|
153
155
|
var followers, next, total, batchSize, res;
|
|
154
|
-
return __generator(this, function (
|
|
155
|
-
switch (
|
|
156
|
+
return __generator(this, function (_b) {
|
|
157
|
+
switch (_b.label) {
|
|
156
158
|
case 0:
|
|
157
159
|
followers = [];
|
|
158
160
|
next = new Service_1.Cursor(cursor);
|
|
@@ -162,16 +164,16 @@ var UserResolver = /** @class */ (function (_super) {
|
|
|
162
164
|
count = (all || count > followersCount) ? followersCount : count;
|
|
163
165
|
// If required count less than batch size, setting batch size to required count
|
|
164
166
|
batchSize = (count < batchSize) ? count : batchSize;
|
|
165
|
-
|
|
167
|
+
_b.label = 1;
|
|
166
168
|
case 1:
|
|
167
169
|
if (!(total < count)) return [3 /*break*/, 3];
|
|
168
170
|
// If this is the last batch, change batch size to number of remaining followers
|
|
169
171
|
batchSize = ((count - total) < batchSize) ? (count - total) : batchSize;
|
|
170
172
|
return [4 /*yield*/, this.context.users.getUserFollowers(id, count, next.value)];
|
|
171
173
|
case 2:
|
|
172
|
-
res =
|
|
174
|
+
res = _b.sent();
|
|
173
175
|
// If data is available
|
|
174
|
-
if (res.list.length) {
|
|
176
|
+
if ((_a = res.list) === null || _a === void 0 ? void 0 : _a.length) {
|
|
175
177
|
// Adding fetched followers to list of followers
|
|
176
178
|
followers = followers.concat(res.list);
|
|
177
179
|
// Updating total followers fetched
|
|
@@ -201,10 +203,11 @@ var UserResolver = /** @class */ (function (_super) {
|
|
|
201
203
|
* @param followingsCount The total number of followings of the target user
|
|
202
204
|
*/
|
|
203
205
|
UserResolver.prototype.resolveUserFollowing = function (id, count, all, cursor, followingsCount) {
|
|
206
|
+
var _a;
|
|
204
207
|
return __awaiter(this, void 0, void 0, function () {
|
|
205
208
|
var following, next, total, batchSize, res;
|
|
206
|
-
return __generator(this, function (
|
|
207
|
-
switch (
|
|
209
|
+
return __generator(this, function (_b) {
|
|
210
|
+
switch (_b.label) {
|
|
208
211
|
case 0:
|
|
209
212
|
following = [];
|
|
210
213
|
next = new Service_1.Cursor(cursor);
|
|
@@ -214,16 +217,16 @@ var UserResolver = /** @class */ (function (_super) {
|
|
|
214
217
|
count = (all || count > followingsCount) ? followingsCount : count;
|
|
215
218
|
// If required count less than batch size, setting batch size to required count
|
|
216
219
|
batchSize = (count < batchSize) ? count : batchSize;
|
|
217
|
-
|
|
220
|
+
_b.label = 1;
|
|
218
221
|
case 1:
|
|
219
222
|
if (!(total < count)) return [3 /*break*/, 3];
|
|
220
223
|
// If this is the last batch, change batch size to number of remaining following
|
|
221
224
|
batchSize = ((count - total) < batchSize) ? (count - total) : batchSize;
|
|
222
225
|
return [4 /*yield*/, this.context.users.getUserFollowing(id, count, next.value)];
|
|
223
226
|
case 2:
|
|
224
|
-
res =
|
|
227
|
+
res = _b.sent();
|
|
225
228
|
// If data is available
|
|
226
|
-
if (res.list.length) {
|
|
229
|
+
if ((_a = res.list) === null || _a === void 0 ? void 0 : _a.length) {
|
|
227
230
|
// Adding fetched following to list of following
|
|
228
231
|
following = following.concat(res.list);
|
|
229
232
|
// Updating total following fetched
|
|
@@ -244,58 +247,6 @@ var UserResolver = /** @class */ (function (_super) {
|
|
|
244
247
|
});
|
|
245
248
|
});
|
|
246
249
|
};
|
|
247
|
-
/**
|
|
248
|
-
* @returns The list of tweets made by the given user
|
|
249
|
-
* @param id The id of the user whose tweets are to be fetched
|
|
250
|
-
* @param count The number of tweets to fetch
|
|
251
|
-
* @param all Whether to fetch list of all tweets made by user
|
|
252
|
-
* @param cursor The cursor to the batch of tweets to fetch
|
|
253
|
-
* @param statusesCount The total number of tweets made by target user
|
|
254
|
-
*/
|
|
255
|
-
UserResolver.prototype.resolveUserTweets = function (id, count, all, cursor, statusesCount) {
|
|
256
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
257
|
-
var tweets, next, total, batchSize, res;
|
|
258
|
-
return __generator(this, function (_a) {
|
|
259
|
-
switch (_a.label) {
|
|
260
|
-
case 0:
|
|
261
|
-
tweets = [];
|
|
262
|
-
next = new Service_1.Cursor(cursor);
|
|
263
|
-
total = 0;
|
|
264
|
-
batchSize = 20;
|
|
265
|
-
// If all tweets are to be fetched
|
|
266
|
-
count = all ? statusesCount : count;
|
|
267
|
-
// If required count less than batch size, setting batch size to required count
|
|
268
|
-
batchSize = (count < batchSize) ? count : batchSize;
|
|
269
|
-
_a.label = 1;
|
|
270
|
-
case 1:
|
|
271
|
-
if (!(total < count)) return [3 /*break*/, 3];
|
|
272
|
-
// If this is the last batch, change batch size to number of remaining tweets
|
|
273
|
-
batchSize = ((count - total) < batchSize) ? (count - total) : batchSize;
|
|
274
|
-
return [4 /*yield*/, this.context.users.getUserTweets(id, count, next.value)];
|
|
275
|
-
case 2:
|
|
276
|
-
res = _a.sent();
|
|
277
|
-
// If data is available
|
|
278
|
-
if (res.list.length) {
|
|
279
|
-
// Adding fetched tweets to list of tweets
|
|
280
|
-
tweets = tweets.concat(res.list);
|
|
281
|
-
// Updating total tweets fetched
|
|
282
|
-
total = tweets.length;
|
|
283
|
-
// Getting cursor to next batch
|
|
284
|
-
next = res.next;
|
|
285
|
-
}
|
|
286
|
-
// If no more data is available
|
|
287
|
-
else {
|
|
288
|
-
return [3 /*break*/, 3];
|
|
289
|
-
}
|
|
290
|
-
return [3 /*break*/, 1];
|
|
291
|
-
case 3:
|
|
292
|
-
// Adding the cursor to the end of list of data
|
|
293
|
-
tweets.push(next);
|
|
294
|
-
return [2 /*return*/, tweets];
|
|
295
|
-
}
|
|
296
|
-
});
|
|
297
|
-
});
|
|
298
|
-
};
|
|
299
250
|
return UserResolver;
|
|
300
251
|
}(ResolverBase_1["default"]));
|
|
301
252
|
exports["default"] = UserResolver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserResolver.js","sourceRoot":"","sources":["../../src/resolvers/UserResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY;AACZ,gEAA0C;AAE1C,QAAQ;AACR,4CAAuD;AAEvD,UAAU;AACV,kDAA2D;AAE3D;IAA0C,gCAAY;IAClD,iBAAiB;IACjB,sBAAY,OAAoB;eAC5B,kBAAM,OAAO,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACG,yCAAkB,GAAxB,UAAyB,QAAgB,EAAE,EAAU;;;;;6BAE7C,QAAQ,EAAR,wBAAQ;wBACD,qBAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAA;4BAA/D,sBAAO,SAAwD,EAAC;;6BAG3D,EAAE,EAAF,wBAAE;wBACA,qBAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAA;4BAA7D,sBAAO,SAAsD,EAAC;4BAI9D,MAAM,IAAI,KAAK,CAAC,yBAAgB,CAAC,oBAAoB,CAAC,CAAC;;;;KAE9D;IAED;;;;;;;OAOG;IACG,uCAAgB,GAAtB,UAAuB,EAAU,EAAE,KAAa,EAAE,GAAY,EAAE,MAAc,EAAE,eAAuB
|
|
1
|
+
{"version":3,"file":"UserResolver.js","sourceRoot":"","sources":["../../src/resolvers/UserResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { GuestCredentials, AuthCredentials } from '../types/Authentication';
|
|
|
5
5
|
export declare class AuthService {
|
|
6
6
|
private authToken;
|
|
7
7
|
private credentials;
|
|
8
|
+
isAuthenticated: boolean;
|
|
8
9
|
constructor(cookie?: string);
|
|
9
10
|
/**
|
|
10
11
|
* @returns The current authentication credentials. A different credential is returned each time this is invoked
|
|
@@ -55,6 +55,8 @@ var AuthService = /** @class */ (function () {
|
|
|
55
55
|
if (cookie === void 0) { cookie = ''; }
|
|
56
56
|
// Reading the auth token from the config, since it's always the same
|
|
57
57
|
this.authToken = env_1.config.twitter_auth_token;
|
|
58
|
+
// Setting authentication status
|
|
59
|
+
this.isAuthenticated = cookie != '';
|
|
58
60
|
// Setting up the authenticated credentials
|
|
59
61
|
/**
|
|
60
62
|
* The following regex pattern is used to extract the csrfToken from the cookie string.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthService.js","sourceRoot":"","sources":["../../src/services/AuthService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,UAAU;AACV,gDAA0B;AAE1B,OAAO;AACP,sCAA8C;AAK9C,UAAU;AACV,qCAAuC;AAEvC;;GAEG;AACH;
|
|
1
|
+
{"version":3,"file":"AuthService.js","sourceRoot":"","sources":["../../src/services/AuthService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,UAAU;AACV,gDAA0B;AAE1B,OAAO;AACP,sCAA8C;AAK9C,UAAU;AACV,qCAAuC;AAEvC;;GAEG;AACH;IAMI,iBAAiB;IACjB,qBAAY,MAAmB;QAAnB,uBAAA,EAAA,WAAmB;QAC3B,qEAAqE;QACrE,IAAI,CAAC,SAAS,GAAG,YAAM,CAAC,kBAAkB,CAAC;QAE3C,gCAAgC;QAChC,IAAI,CAAC,eAAe,GAAG,MAAM,IAAI,EAAE,CAAC;QAEpC,2CAA2C;QAC3C;;;;;WAKG;QACH,IAAI,CAAC,WAAW,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC;IAEvH,CAAC;IAED;;OAEG;IACG,wCAAkB,GAAxB;;;gBACI,sBAAO,IAAI,CAAC,WAAW,EAAC;;;KAC3B;IAED;;OAEG;IACG,yCAAmB,GAAzB;;;;;4BAEW,qBAAM,kBAAK,CAAC,IAAI,CAA0B,IAAA,oBAAa,GAAE,EAAE,IAAI,EAAE;4BACpE,OAAO,EAAE;gCACL,eAAe,EAAE,IAAI,CAAC,SAAS;6BAClC;yBACJ,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC;4BACZ,SAAS,EAAE,KAAI,CAAC,SAAS;4BACzB,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW;yBACnC,CAAC,EAHa,CAGb,CAAC,EAAA;;oBARH,6CAA6C;oBAC7C,sBAAO,SAOJ,EAAC;;;;KACP;IACL,kBAAC;AAAD,CAAC,AA9CD,IA8CC;AA9CY,kCAAW"}
|
|
@@ -5,6 +5,7 @@ import { AuthService } from './AuthService';
|
|
|
5
5
|
*/
|
|
6
6
|
export declare class FetcherService {
|
|
7
7
|
private auth;
|
|
8
|
+
protected isAuthenticated: boolean;
|
|
8
9
|
constructor(auth: AuthService);
|
|
9
10
|
/**
|
|
10
11
|
* @summary Throws the appropriate http error after evaluation of the status code of reponse
|
|
@@ -75,6 +75,7 @@ var FetcherService = /** @class */ (function () {
|
|
|
75
75
|
// MEMBER METHODS
|
|
76
76
|
function FetcherService(auth) {
|
|
77
77
|
this.auth = auth;
|
|
78
|
+
this.isAuthenticated = this.auth.isAuthenticated;
|
|
78
79
|
}
|
|
79
80
|
/**
|
|
80
81
|
* @summary Throws the appropriate http error after evaluation of the status code of reponse
|
|
@@ -92,7 +93,7 @@ var FetcherService = /** @class */ (function () {
|
|
|
92
93
|
* @param authenticated Whether to authenticate requests or not
|
|
93
94
|
*/
|
|
94
95
|
FetcherService.prototype.request = function (url, authenticated) {
|
|
95
|
-
if (authenticated === void 0) { authenticated =
|
|
96
|
+
if (authenticated === void 0) { authenticated = true; }
|
|
96
97
|
return __awaiter(this, void 0, void 0, function () {
|
|
97
98
|
var res, _a, _b, _c, _d, _e, _f, _g, _h;
|
|
98
99
|
var _j;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetcherService.js","sourceRoot":"","sources":["../../src/services/FetcherService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,6CAAkD;AAIlD,+CAA8C;AAE9C,QAAQ;AACR,sCAA2C;AAI3C,UAAU;AACV,wDAA2C;AAC3C,oEAAwD;AAExD;;GAEG;AACH;
|
|
1
|
+
{"version":3,"file":"FetcherService.js","sourceRoot":"","sources":["../../src/services/FetcherService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,6CAAkD;AAIlD,+CAA8C;AAE9C,QAAQ;AACR,sCAA2C;AAI3C,UAAU;AACV,wDAA2C;AAC3C,oEAAwD;AAExD;;GAEG;AACH;IAKI,iBAAiB;IACjB,wBAAY,IAAiB;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IACrD,CAAC;IAED;;;MAGE;IACM,wCAAe,GAAvB,UAAwB,GAAgB;QACpC,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,iBAAU,EAAE;YACvD,MAAM,IAAI,KAAK,CAAC,iBAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;SAC9C;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;OAIG;IACa,gCAAO,GAAvB,UAAkC,GAAW,EAAE,aAA6B;QAA7B,8BAAA,EAAA,oBAA6B;;;;;;;;wBAExD,KAAA,CAAA,KAAA,oBAAK,CAAA,CAAC,GAAG,CAAA;8BAAC,GAAG;;6BACb,aAAa,EAAb,wBAAa;wBAAG,KAAA,CAAA,KAAA,OAAO,CAAA,CAAC,gBAAgB,CAAA;wBAAC,qBAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAA;;wBAA7D,KAAA,cAAyB,SAAoC,EAAC,CAAA;;;wBAAG,KAAA,CAAA,KAAA,OAAO,CAAA,CAAC,WAAW,CAAA;wBAAC,qBAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAA;;wBAAzD,KAAA,cAAoB,SAAqC,EAAC,CAAA;;4BADjJ,qBAAM,yBACZ,aAAU,KAA6I;gCACvJ,gBAAa,GAAE,KAAK;sCACtB,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAzB,CAAyB,CAAC,EAAA;;wBAHrC,GAAG,GAAG,SAG+B;wBAEzC,sBAAO,GAAG,EAAC;;;;KACd;IAED;;;OAGG;IACa,kCAAS,GAAzB,UAA0B,IAAS;;;;;4BAEnB,qBAAM,2BAAY,CAAC,WAAW,EAAE,EAAA;;wBAAxC,KAAK,GAAG,SAAgC;wBAGxC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAa,IAAK,OAAA,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAA1B,CAA0B,CAAC,CAAC;wBACtE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAe,IAAK,OAAA,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;wBAEhF,mBAAmB;wBACnB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACnB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;;;;;KACvB;IAED;;;OAGG;IACa,iCAAQ,GAAxB,UAAyB,EAAU;;;;;4BAEnB,qBAAM,2BAAY,CAAC,WAAW,EAAE,EAAA;;wBAAxC,KAAK,GAAG,SAAgC;wBAE5C,0BAA0B;wBAC1B,sBAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC;;;;KACzB;IACL,qBAAC;AAAD,CAAC,AAlED,IAkEC;AAlEY,wCAAc"}
|
|
@@ -134,7 +134,7 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
134
134
|
cachedData = _a.sent();
|
|
135
135
|
if (!cachedData) return [3 /*break*/, 2];
|
|
136
136
|
return [2 /*return*/, cachedData];
|
|
137
|
-
case 2: return [4 /*yield*/, this.request(Urls.tweetDetailsUrl(tweetId)).then(function (res) { return res.data; })];
|
|
137
|
+
case 2: return [4 /*yield*/, this.request(Urls.tweetDetailsUrl(tweetId), false).then(function (res) { return res.data; })];
|
|
138
138
|
case 3:
|
|
139
139
|
res = _a.sent();
|
|
140
140
|
data = Extractors.extractTweet(res, tweetId);
|
|
@@ -157,7 +157,12 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
157
157
|
var res, data, users;
|
|
158
158
|
return __generator(this, function (_a) {
|
|
159
159
|
switch (_a.label) {
|
|
160
|
-
case 0:
|
|
160
|
+
case 0:
|
|
161
|
+
// If user is not authenticated, abort
|
|
162
|
+
if (!this.isAuthenticated) {
|
|
163
|
+
return [2 /*return*/, { error: new Error('Cannot fetch tweet likes without authentication!') }];
|
|
164
|
+
}
|
|
165
|
+
return [4 /*yield*/, this.request(Urls.tweetLikesUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
|
|
161
166
|
case 1:
|
|
162
167
|
res = _a.sent();
|
|
163
168
|
data = Extractors.extractTweetLikers(res);
|
|
@@ -183,7 +188,12 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
183
188
|
var res, data, users;
|
|
184
189
|
return __generator(this, function (_a) {
|
|
185
190
|
switch (_a.label) {
|
|
186
|
-
case 0:
|
|
191
|
+
case 0:
|
|
192
|
+
// If user is not authenticated, abort
|
|
193
|
+
if (!this.isAuthenticated) {
|
|
194
|
+
return [2 /*return*/, { error: new Error('Cannot fetch tweet retweeters without authentication!') }];
|
|
195
|
+
}
|
|
196
|
+
return [4 /*yield*/, this.request(Urls.tweetRetweetUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
|
|
187
197
|
case 1:
|
|
188
198
|
res = _a.sent();
|
|
189
199
|
data = Extractors.extractTweetRetweeters(res);
|
|
@@ -208,7 +218,12 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
208
218
|
var res, data, tweets;
|
|
209
219
|
return __generator(this, function (_a) {
|
|
210
220
|
switch (_a.label) {
|
|
211
|
-
case 0:
|
|
221
|
+
case 0:
|
|
222
|
+
// If user is not authenticated, abort
|
|
223
|
+
if (!this.isAuthenticated) {
|
|
224
|
+
return [2 /*return*/, { error: new Error('Cannot fetch tweet replies without authentication!') }];
|
|
225
|
+
}
|
|
226
|
+
return [4 /*yield*/, this.request(Urls.tweetRepliesUrl(tweetId, cursor)).then(function (res) { return res.data; })];
|
|
212
227
|
case 1:
|
|
213
228
|
res = _a.sent();
|
|
214
229
|
data = Extractors.extractTweetReplies(res, tweetId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TweetService.js","sourceRoot":"","sources":["../../../src/services/data/TweetService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,oDAAmD;AAYnD,OAAO;AACP,mDAAuC;AAEvC,aAAa;AACb,+DAAmD;AAEnD,gBAAgB;AAChB,qEAAyD;AAEzD,UAAU;AACV,2CAAiD;AAEjD;;GAEG;AACH;IAAkC,gCAAc;IAC5C,iBAAiB;IACjB,sBAAY,IAAiB;eACzB,kBAAM,IAAI,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACG,gCAAS,GAAf,UAAgB,MAAmB,EAAE,KAAa,EAAE,MAAc;;;;;4BAEpD,qBAAM,IAAI,CAAC,OAAO,CAAY,IAAI,CAAC,SAAS,CAAC,IAAA,sBAAa,EAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,EAAA;;wBAAtH,GAAG,GAAG,SAAgH;wBAGtH,IAAI,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAEzC,eAAe;wBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAGjB,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;wBAEpE,sBAAO;gCACH,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;6BAC/B,EAAC;;;;KACL;IAED;;;OAGG;IACG,mCAAY,GAAlB,UAAmB,OAAe;;;;;4BAEb,qBAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAA;;wBAAzC,UAAU,GAAG,SAA4B;6BAGzC,UAAU,EAAV,wBAAU;wBACV,sBAAO,UAAU,EAAC;4BAKR,qBAAM,IAAI,CAAC,OAAO,CAAW,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,EAAA;;
|
|
1
|
+
{"version":3,"file":"TweetService.js","sourceRoot":"","sources":["../../../src/services/data/TweetService.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,11 +39,4 @@ export declare class UserAccountService extends FetcherService {
|
|
|
39
39
|
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
40
40
|
*/
|
|
41
41
|
getUserLikes(userId: string, count: number, cursor: string): Promise<CursoredData<Tweet>>;
|
|
42
|
-
/**
|
|
43
|
-
* @returns The list of tweets made by the target user
|
|
44
|
-
* @param userId The rest id of the target user
|
|
45
|
-
* @param count The batch size of the list
|
|
46
|
-
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
47
|
-
*/
|
|
48
|
-
getUserTweets(userId: string, count: number, cursor: string): Promise<CursoredData<Tweet>>;
|
|
49
42
|
}
|
|
@@ -150,7 +150,12 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
150
150
|
var res, data, users;
|
|
151
151
|
return __generator(this, function (_a) {
|
|
152
152
|
switch (_a.label) {
|
|
153
|
-
case 0:
|
|
153
|
+
case 0:
|
|
154
|
+
// If user is not authenticated, abort
|
|
155
|
+
if (!this.isAuthenticated) {
|
|
156
|
+
return [2 /*return*/, { error: new Error('Cannot fetch user following without authentication!') }];
|
|
157
|
+
}
|
|
158
|
+
return [4 /*yield*/, this.request(Urls.userFollowingUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
154
159
|
case 1:
|
|
155
160
|
res = _a.sent();
|
|
156
161
|
data = Extractors.extractUserFollow(res);
|
|
@@ -176,7 +181,12 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
176
181
|
var res, data, users;
|
|
177
182
|
return __generator(this, function (_a) {
|
|
178
183
|
switch (_a.label) {
|
|
179
|
-
case 0:
|
|
184
|
+
case 0:
|
|
185
|
+
// If user is not authenticated, abort
|
|
186
|
+
if (!this.isAuthenticated) {
|
|
187
|
+
return [2 /*return*/, { error: new Error('Cannot fetch user followers without authentication!') }];
|
|
188
|
+
}
|
|
189
|
+
return [4 /*yield*/, this.request(Urls.userFollowersUrl(userId, (count > 20) ? (count - 20) : count, cursor)).then(function (res) { return res.data; })];
|
|
180
190
|
case 1:
|
|
181
191
|
res = _a.sent();
|
|
182
192
|
data = Extractors.extractUserFollow(res);
|
|
@@ -202,7 +212,12 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
202
212
|
var res, data, tweets;
|
|
203
213
|
return __generator(this, function (_a) {
|
|
204
214
|
switch (_a.label) {
|
|
205
|
-
case 0:
|
|
215
|
+
case 0:
|
|
216
|
+
// If user is not authenticated, abort
|
|
217
|
+
if (!this.isAuthenticated) {
|
|
218
|
+
return [2 /*return*/, { error: new Error('Cannot fetch user likes without authentication!') }];
|
|
219
|
+
}
|
|
220
|
+
return [4 /*yield*/, this.request(Urls.userLikesUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
206
221
|
case 1:
|
|
207
222
|
res = _a.sent();
|
|
208
223
|
data = Extractors.extractUserLikes(res);
|
|
@@ -217,32 +232,6 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
217
232
|
});
|
|
218
233
|
});
|
|
219
234
|
};
|
|
220
|
-
/**
|
|
221
|
-
* @returns The list of tweets made by the target user
|
|
222
|
-
* @param userId The rest id of the target user
|
|
223
|
-
* @param count The batch size of the list
|
|
224
|
-
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
225
|
-
*/
|
|
226
|
-
UserAccountService.prototype.getUserTweets = function (userId, count, cursor) {
|
|
227
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
228
|
-
var res, data, tweets;
|
|
229
|
-
return __generator(this, function (_a) {
|
|
230
|
-
switch (_a.label) {
|
|
231
|
-
case 0: return [4 /*yield*/, this.request(Urls.userTweetsUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
232
|
-
case 1:
|
|
233
|
-
res = _a.sent();
|
|
234
|
-
data = Extractors.extractUserTweets(res);
|
|
235
|
-
// Caching data
|
|
236
|
-
this.cacheData(data);
|
|
237
|
-
tweets = data.required.map(function (item) { return Deserializers.toTweet(item); });
|
|
238
|
-
return [2 /*return*/, {
|
|
239
|
-
list: tweets,
|
|
240
|
-
next: { value: data.cursor }
|
|
241
|
-
}];
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
});
|
|
245
|
-
};
|
|
246
235
|
return UserAccountService;
|
|
247
236
|
}(FetcherService_1.FetcherService));
|
|
248
237
|
exports.UserAccountService = UserAccountService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAccountService.js","sourceRoot":"","sources":["../../../src/services/data/UserAccountService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,oDAAmD;
|
|
1
|
+
{"version":3,"file":"UserAccountService.js","sourceRoot":"","sources":["../../../src/services/data/UserAccountService.ts"],"names":[],"mappings":"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"}
|
|
@@ -239,7 +239,7 @@ function extractTweet(res, tweetId) {
|
|
|
239
239
|
throw new Error(Errors_1.DataErrors.TweetNotFound);
|
|
240
240
|
}
|
|
241
241
|
// Destructuring the received raw data
|
|
242
|
-
(_a = res.data.
|
|
242
|
+
(_a = res.data.threaded_conversation_with_injections_v2.instructions.filter(function (item) { return item['type'] === 'TimelineAddEntries'; })[0].entries) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {
|
|
243
243
|
var _a, _b, _c;
|
|
244
244
|
// If entry is of type tweet and tweet exists
|
|
245
245
|
if (entry.entryId.indexOf('tweet') != -1 && ((_b = (_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.tweet_results) === null || _b === void 0 ? void 0 : _b.result.__typename) === 'Tweet') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Extractors.js","sourceRoot":"","sources":["../../../src/services/helper/Extractors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Extractors.js","sourceRoot":"","sources":["../../../src/services/helper/Extractors.ts"],"names":[],"mappings":"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"}
|
package/dist/types/Service.d.ts
CHANGED
|
@@ -15,8 +15,9 @@ export declare class Cursor {
|
|
|
15
15
|
* @summary Stores cursored data that is returned by services
|
|
16
16
|
*/
|
|
17
17
|
export interface CursoredData<Type> {
|
|
18
|
-
list
|
|
19
|
-
next
|
|
18
|
+
list?: Type[];
|
|
19
|
+
next?: Cursor;
|
|
20
|
+
error?: Error;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* @summary Stores the data context from where data is to be fetched
|
|
@@ -2,9 +2,9 @@ export default interface Root {
|
|
|
2
2
|
data: Data;
|
|
3
3
|
}
|
|
4
4
|
export interface Data {
|
|
5
|
-
|
|
5
|
+
threaded_conversation_with_injections_v2: ThreadedConversationWithInjections_v2;
|
|
6
6
|
}
|
|
7
|
-
export interface
|
|
7
|
+
export interface ThreadedConversationWithInjections_v2 {
|
|
8
8
|
instructions: Instruction[];
|
|
9
9
|
metadata: Metadata;
|
|
10
10
|
}
|
package/package.json
CHANGED
|
@@ -55,7 +55,7 @@ export default class TweetResolver extends ResolverBase {
|
|
|
55
55
|
const res = await this.context.tweets.getTweets(filter, count, next.value);
|
|
56
56
|
|
|
57
57
|
// If data is available
|
|
58
|
-
if (res.list
|
|
58
|
+
if (res.list?.length) {
|
|
59
59
|
// Adding fetched tweets to list of tweets
|
|
60
60
|
tweets = tweets.concat(res.list);
|
|
61
61
|
|
|
@@ -63,7 +63,7 @@ export default class TweetResolver extends ResolverBase {
|
|
|
63
63
|
total = tweets.length;
|
|
64
64
|
|
|
65
65
|
// Getting cursor to next batch
|
|
66
|
-
next = res.next;
|
|
66
|
+
next = res.next as Cursor;
|
|
67
67
|
}
|
|
68
68
|
// If no more data is available
|
|
69
69
|
else {
|
|
@@ -138,7 +138,7 @@ export default class TweetResolver extends ResolverBase {
|
|
|
138
138
|
const res = await this.context.tweets.getTweetLikers(id, count, next.value);
|
|
139
139
|
|
|
140
140
|
// If data is available
|
|
141
|
-
if (res.list
|
|
141
|
+
if (res.list?.length) {
|
|
142
142
|
// Adding fetched likers to list of likers
|
|
143
143
|
likers = likers.concat(res.list);
|
|
144
144
|
|
|
@@ -146,7 +146,7 @@ export default class TweetResolver extends ResolverBase {
|
|
|
146
146
|
total = likers.length;
|
|
147
147
|
|
|
148
148
|
// Getting cursor to next batch
|
|
149
|
-
next = res.next;
|
|
149
|
+
next = res.next as Cursor;
|
|
150
150
|
}
|
|
151
151
|
// If no more data is available
|
|
152
152
|
else {
|
|
@@ -189,7 +189,7 @@ export default class TweetResolver extends ResolverBase {
|
|
|
189
189
|
const res = await this.context.tweets.getTweetRetweeters(id, count, next.value);
|
|
190
190
|
|
|
191
191
|
// If data is available
|
|
192
|
-
if (res.list
|
|
192
|
+
if (res.list?.length) {
|
|
193
193
|
// Adding fetched retweeters to list of retweeters
|
|
194
194
|
retweeters = retweeters.concat(res.list);
|
|
195
195
|
|
|
@@ -197,7 +197,7 @@ export default class TweetResolver extends ResolverBase {
|
|
|
197
197
|
total = retweeters.length;
|
|
198
198
|
|
|
199
199
|
// Getting cursor to next batch
|
|
200
|
-
next = res.next;
|
|
200
|
+
next = res.next as Cursor;
|
|
201
201
|
}
|
|
202
202
|
// If no more data is available
|
|
203
203
|
else {
|
|
@@ -233,7 +233,7 @@ export default class TweetResolver extends ResolverBase {
|
|
|
233
233
|
const res = await this.context.tweets.getTweetReplies(id, next.value);
|
|
234
234
|
|
|
235
235
|
// If data is available
|
|
236
|
-
if (res.list
|
|
236
|
+
if (res.list?.length) {
|
|
237
237
|
// Adding fetched replies to list of replies
|
|
238
238
|
replies = replies.concat(res.list);
|
|
239
239
|
|
|
@@ -241,7 +241,7 @@ export default class TweetResolver extends ResolverBase {
|
|
|
241
241
|
total = replies.length;
|
|
242
242
|
|
|
243
243
|
// Getting cursor to next batch
|
|
244
|
-
next = res.next;
|
|
244
|
+
next = res.next as Cursor;
|
|
245
245
|
}
|
|
246
246
|
// If no more data is available
|
|
247
247
|
else {
|
|
@@ -62,7 +62,7 @@ export default class UserResolver extends ResolverBase {
|
|
|
62
62
|
const res = await this.context.users.getUserLikes(id, count, next.value);
|
|
63
63
|
|
|
64
64
|
// If data is available
|
|
65
|
-
if (res.list
|
|
65
|
+
if (res.list?.length) {
|
|
66
66
|
// Adding fetched tweets to list of tweets
|
|
67
67
|
likes = likes.concat(res.list);
|
|
68
68
|
|
|
@@ -70,7 +70,7 @@ export default class UserResolver extends ResolverBase {
|
|
|
70
70
|
total = likes.length;
|
|
71
71
|
|
|
72
72
|
// Getting cursor to next batch
|
|
73
|
-
next = res.next;
|
|
73
|
+
next = res.next as Cursor;
|
|
74
74
|
}
|
|
75
75
|
// If no more data is available
|
|
76
76
|
else {
|
|
@@ -113,7 +113,7 @@ export default class UserResolver extends ResolverBase {
|
|
|
113
113
|
const res = await this.context.users.getUserFollowers(id, count, next.value);
|
|
114
114
|
|
|
115
115
|
// If data is available
|
|
116
|
-
if (res.list
|
|
116
|
+
if (res.list?.length) {
|
|
117
117
|
// Adding fetched followers to list of followers
|
|
118
118
|
followers = followers.concat(res.list);
|
|
119
119
|
|
|
@@ -121,7 +121,7 @@ export default class UserResolver extends ResolverBase {
|
|
|
121
121
|
total = followers.length;
|
|
122
122
|
|
|
123
123
|
// Getting cursor to next batch
|
|
124
|
-
next = res.next;
|
|
124
|
+
next = res.next as Cursor;
|
|
125
125
|
}
|
|
126
126
|
// If no more data is available
|
|
127
127
|
else {
|
|
@@ -164,7 +164,7 @@ export default class UserResolver extends ResolverBase {
|
|
|
164
164
|
const res = await this.context.users.getUserFollowing(id, count, next.value);
|
|
165
165
|
|
|
166
166
|
// If data is available
|
|
167
|
-
if (res.list
|
|
167
|
+
if (res.list?.length) {
|
|
168
168
|
// Adding fetched following to list of following
|
|
169
169
|
following = following.concat(res.list);
|
|
170
170
|
|
|
@@ -172,7 +172,7 @@ export default class UserResolver extends ResolverBase {
|
|
|
172
172
|
total = following.length;
|
|
173
173
|
|
|
174
174
|
// Getting cursor to next batch
|
|
175
|
-
next = res.next;
|
|
175
|
+
next = res.next as Cursor;
|
|
176
176
|
}
|
|
177
177
|
// If no more data is available
|
|
178
178
|
else {
|
|
@@ -185,55 +185,4 @@ export default class UserResolver extends ResolverBase {
|
|
|
185
185
|
|
|
186
186
|
return following;
|
|
187
187
|
}
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* @returns The list of tweets made by the given user
|
|
191
|
-
* @param id The id of the user whose tweets are to be fetched
|
|
192
|
-
* @param count The number of tweets to fetch
|
|
193
|
-
* @param all Whether to fetch list of all tweets made by user
|
|
194
|
-
* @param cursor The cursor to the batch of tweets to fetch
|
|
195
|
-
* @param statusesCount The total number of tweets made by target user
|
|
196
|
-
*/
|
|
197
|
-
async resolveUserTweets(id: string, count: number, all: boolean, cursor: string, statusesCount: number): Promise<any> {
|
|
198
|
-
let tweets: any[] = []; // To store the list of tweets
|
|
199
|
-
let next: Cursor = new Cursor(cursor); // To store cursor to next batch
|
|
200
|
-
let total: number = 0; // To store the total number of tweets fetched
|
|
201
|
-
let batchSize: number = 20; // To store the batchsize to use
|
|
202
|
-
|
|
203
|
-
// If all tweets are to be fetched
|
|
204
|
-
count = all ? statusesCount : count;
|
|
205
|
-
|
|
206
|
-
// If required count less than batch size, setting batch size to required count
|
|
207
|
-
batchSize = (count < batchSize) ? count : batchSize;
|
|
208
|
-
|
|
209
|
-
// Repeatedly fetching data as long as total data fetched is less than requried
|
|
210
|
-
while (total < count) {
|
|
211
|
-
// If this is the last batch, change batch size to number of remaining tweets
|
|
212
|
-
batchSize = ((count - total) < batchSize) ? (count - total) : batchSize;
|
|
213
|
-
|
|
214
|
-
// Getting the data
|
|
215
|
-
const res = await this.context.users.getUserTweets(id, count, next.value);
|
|
216
|
-
|
|
217
|
-
// If data is available
|
|
218
|
-
if (res.list.length) {
|
|
219
|
-
// Adding fetched tweets to list of tweets
|
|
220
|
-
tweets = tweets.concat(res.list);
|
|
221
|
-
|
|
222
|
-
// Updating total tweets fetched
|
|
223
|
-
total = tweets.length;
|
|
224
|
-
|
|
225
|
-
// Getting cursor to next batch
|
|
226
|
-
next = res.next;
|
|
227
|
-
}
|
|
228
|
-
// If no more data is available
|
|
229
|
-
else {
|
|
230
|
-
break;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
// Adding the cursor to the end of list of data
|
|
235
|
-
tweets.push(next);
|
|
236
|
-
|
|
237
|
-
return tweets;
|
|
238
|
-
}
|
|
239
188
|
}
|
|
@@ -17,12 +17,16 @@ export class AuthService {
|
|
|
17
17
|
// MEMBER DATA
|
|
18
18
|
private authToken: string; // To store the common auth token
|
|
19
19
|
private credentials: AuthCredentials; // To store the current authentication credentials
|
|
20
|
+
public isAuthenticated: boolean; // To store whether authenticated or not
|
|
20
21
|
|
|
21
22
|
// MEMBER METHODS
|
|
22
23
|
constructor(cookie: string = '') {
|
|
23
24
|
// Reading the auth token from the config, since it's always the same
|
|
24
25
|
this.authToken = config.twitter_auth_token;
|
|
25
26
|
|
|
27
|
+
// Setting authentication status
|
|
28
|
+
this.isAuthenticated = cookie != '';
|
|
29
|
+
|
|
26
30
|
// Setting up the authenticated credentials
|
|
27
31
|
/**
|
|
28
32
|
* The following regex pattern is used to extract the csrfToken from the cookie string.
|
|
@@ -20,10 +20,12 @@ import * as Deserializers from './helper/Deserializers';
|
|
|
20
20
|
export class FetcherService {
|
|
21
21
|
// MEMBER DATA
|
|
22
22
|
private auth: AuthService; // To store the auth service instance to use for authentication
|
|
23
|
+
protected isAuthenticated: boolean; // To store whether user is authenticated or not
|
|
23
24
|
|
|
24
25
|
// MEMBER METHODS
|
|
25
26
|
constructor(auth: AuthService) {
|
|
26
27
|
this.auth = auth;
|
|
28
|
+
this.isAuthenticated = this.auth.isAuthenticated;
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
/**
|
|
@@ -43,7 +45,7 @@ export class FetcherService {
|
|
|
43
45
|
* @param url The url to fetch data from
|
|
44
46
|
* @param authenticated Whether to authenticate requests or not
|
|
45
47
|
*/
|
|
46
|
-
protected async request<DataType>(url: string, authenticated: boolean =
|
|
48
|
+
protected async request<DataType>(url: string, authenticated: boolean = true): Promise<CurlyResult<DataType>> {
|
|
47
49
|
// Fetching the data
|
|
48
50
|
let res = await curly.get(url, {
|
|
49
51
|
httpHeader: authenticated ? Headers.authorizedHeader(await this.auth.getAuthCredentials()) : Headers.guestHeader(await this.auth.getGuestCredentials()),
|
|
@@ -72,7 +72,7 @@ export class TweetService extends FetcherService {
|
|
|
72
72
|
// If data does not exist in cache
|
|
73
73
|
else {
|
|
74
74
|
// Fetching the raw data
|
|
75
|
-
let res = await this.request<RawTweet>(Urls.tweetDetailsUrl(tweetId)).then(res => res.data);
|
|
75
|
+
let res = await this.request<RawTweet>(Urls.tweetDetailsUrl(tweetId), false).then(res => res.data);
|
|
76
76
|
|
|
77
77
|
// Extracting data
|
|
78
78
|
let data = Extractors.extractTweet(res, tweetId);
|
|
@@ -94,6 +94,11 @@ export class TweetService extends FetcherService {
|
|
|
94
94
|
* @param cursor The cursor to the next batch of users. If blank, first batch is fetched
|
|
95
95
|
*/
|
|
96
96
|
async getTweetLikers(tweetId: string, count: number, cursor: string): Promise<CursoredData<User>> {
|
|
97
|
+
// If user is not authenticated, abort
|
|
98
|
+
if(!this.isAuthenticated) {
|
|
99
|
+
return { error: new Error('Cannot fetch tweet likes without authentication!') };
|
|
100
|
+
}
|
|
101
|
+
|
|
97
102
|
// Fetching the raw data
|
|
98
103
|
let res = await this.request<RawLikers>(Urls.tweetLikesUrl(tweetId, count, cursor)).then(res => res.data);
|
|
99
104
|
|
|
@@ -119,6 +124,11 @@ export class TweetService extends FetcherService {
|
|
|
119
124
|
* @param cursor The cursor to the next batch of users. If blank, first batch is fetched
|
|
120
125
|
*/
|
|
121
126
|
async getTweetRetweeters(tweetId: string, count: number, cursor: string): Promise<CursoredData<User>> {
|
|
127
|
+
// If user is not authenticated, abort
|
|
128
|
+
if(!this.isAuthenticated) {
|
|
129
|
+
return { error: new Error('Cannot fetch tweet retweeters without authentication!') };
|
|
130
|
+
}
|
|
131
|
+
|
|
122
132
|
// Fetching the raw data
|
|
123
133
|
let res = await this.request<RawRetweeters>(Urls.tweetRetweetUrl(tweetId, count, cursor)).then(res => res.data);
|
|
124
134
|
|
|
@@ -143,6 +153,11 @@ export class TweetService extends FetcherService {
|
|
|
143
153
|
* @param cursor The cursor to the next batch of replies. If blank, first batch is fetched
|
|
144
154
|
*/
|
|
145
155
|
async getTweetReplies(tweetId: string, cursor: string): Promise<CursoredData<Tweet>> {
|
|
156
|
+
// If user is not authenticated, abort
|
|
157
|
+
if(!this.isAuthenticated) {
|
|
158
|
+
return { error: new Error('Cannot fetch tweet replies without authentication!') };
|
|
159
|
+
}
|
|
160
|
+
|
|
146
161
|
// Fetching the raw data
|
|
147
162
|
let res = await this.request<RawTweet>(Urls.tweetRepliesUrl(tweetId, cursor)).then(res => res.data);
|
|
148
163
|
|
|
@@ -7,7 +7,6 @@ import { User } from '../../types/UserAccount';
|
|
|
7
7
|
import { Tweet } from '../../types/Tweet';
|
|
8
8
|
import { CursoredData } from '../../types/Service';
|
|
9
9
|
import RawUser from '../../types/raw/user/User';
|
|
10
|
-
import RawUserTweets from '../../types/raw/user/Tweets';
|
|
11
10
|
import RawUserFollowers from '../../types/raw/user/Followers';
|
|
12
11
|
import RawUserFollowing from '../../types/raw/user/Following';
|
|
13
12
|
import RawUserLikes from '../../types/raw/user/Likes';
|
|
@@ -87,6 +86,11 @@ export class UserAccountService extends FetcherService {
|
|
|
87
86
|
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
88
87
|
*/
|
|
89
88
|
async getUserFollowing(userId: string, count: number, cursor: string): Promise<CursoredData<User>> {
|
|
89
|
+
// If user is not authenticated, abort
|
|
90
|
+
if(!this.isAuthenticated) {
|
|
91
|
+
return { error: new Error('Cannot fetch user following without authentication!') };
|
|
92
|
+
}
|
|
93
|
+
|
|
90
94
|
// Fetchin the raw data
|
|
91
95
|
let res = await this.request<RawUserFollowing>(Urls.userFollowingUrl(userId, count, cursor)).then(res => res.data);
|
|
92
96
|
|
|
@@ -112,6 +116,11 @@ export class UserAccountService extends FetcherService {
|
|
|
112
116
|
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
113
117
|
*/
|
|
114
118
|
async getUserFollowers(userId: string, count: number, cursor: string): Promise<CursoredData<User>> {
|
|
119
|
+
// If user is not authenticated, abort
|
|
120
|
+
if(!this.isAuthenticated) {
|
|
121
|
+
return { error: new Error('Cannot fetch user followers without authentication!') };
|
|
122
|
+
}
|
|
123
|
+
|
|
115
124
|
/**
|
|
116
125
|
* When fetching list of followers, the official Twitter API seems to be fetching n + 20 followers,
|
|
117
126
|
* where n is the actual required number of followers.
|
|
@@ -142,6 +151,11 @@ export class UserAccountService extends FetcherService {
|
|
|
142
151
|
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
143
152
|
*/
|
|
144
153
|
async getUserLikes(userId: string, count: number, cursor: string): Promise<CursoredData<Tweet>> {
|
|
154
|
+
// If user is not authenticated, abort
|
|
155
|
+
if(!this.isAuthenticated) {
|
|
156
|
+
return { error: new Error('Cannot fetch user likes without authentication!') };
|
|
157
|
+
}
|
|
158
|
+
|
|
145
159
|
// Fetching the raw data
|
|
146
160
|
let res = await this.request<RawUserLikes>(Urls.userLikesUrl(userId, count, cursor)).then(res => res.data);
|
|
147
161
|
|
|
@@ -159,29 +173,4 @@ export class UserAccountService extends FetcherService {
|
|
|
159
173
|
next: { value: data.cursor }
|
|
160
174
|
};
|
|
161
175
|
}
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* @returns The list of tweets made by the target user
|
|
165
|
-
* @param userId The rest id of the target user
|
|
166
|
-
* @param count The batch size of the list
|
|
167
|
-
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
168
|
-
*/
|
|
169
|
-
async getUserTweets(userId: string, count: number, cursor: string): Promise<CursoredData<Tweet>> {
|
|
170
|
-
// Fetching the raw data
|
|
171
|
-
let res = await this.request<RawUserTweets>(Urls.userTweetsUrl(userId, count, cursor)).then(res => res.data);
|
|
172
|
-
|
|
173
|
-
// Extracting data
|
|
174
|
-
let data = Extractors.extractUserTweets(res);
|
|
175
|
-
|
|
176
|
-
// Caching data
|
|
177
|
-
this.cacheData(data);
|
|
178
|
-
|
|
179
|
-
// Parsing data
|
|
180
|
-
let tweets = data.required.map(item => Deserializers.toTweet(item));
|
|
181
|
-
|
|
182
|
-
return {
|
|
183
|
-
list: tweets,
|
|
184
|
-
next: { value: data.cursor }
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
176
|
};
|
|
@@ -267,7 +267,7 @@ export function extractTweet(res: RawTweet, tweetId: string): {
|
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
// Destructuring the received raw data
|
|
270
|
-
res.data.
|
|
270
|
+
res.data.threaded_conversation_with_injections_v2.instructions.filter(item => item['type'] === 'TimelineAddEntries')[0].entries?.forEach(entry => {
|
|
271
271
|
// If entry is of type tweet and tweet exists
|
|
272
272
|
if (entry.entryId.indexOf('tweet') != -1 && entry.content.itemContent?.tweet_results?.result.__typename === 'Tweet') {
|
|
273
273
|
// If this is the required tweet
|
package/src/types/Service.ts
CHANGED
|
@@ -23,8 +23,9 @@ export class Cursor {
|
|
|
23
23
|
* @summary Stores cursored data that is returned by services
|
|
24
24
|
*/
|
|
25
25
|
export interface CursoredData<Type> {
|
|
26
|
-
list
|
|
27
|
-
next
|
|
26
|
+
list?: Type[]; // To store the list data
|
|
27
|
+
next?: Cursor; // To store the information about cursor to the next batch
|
|
28
|
+
error?: Error; // To store the error message, if any
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
/**
|
|
@@ -3,10 +3,10 @@ export default interface Root {
|
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
export interface Data {
|
|
6
|
-
|
|
6
|
+
threaded_conversation_with_injections_v2: ThreadedConversationWithInjections_v2
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export interface
|
|
9
|
+
export interface ThreadedConversationWithInjections_v2 {
|
|
10
10
|
instructions: Instruction[]
|
|
11
11
|
metadata: Metadata
|
|
12
12
|
}
|