rettiwt-api 1.4.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.js +54 -0
  3. package/.github/workflows/documentation.yml +29 -9
  4. package/.github/workflows/publish.yml +8 -3
  5. package/.prettierignore +3 -0
  6. package/.prettierrc +13 -0
  7. package/README.md +59 -61
  8. package/dist/Rettiwt.d.ts +19 -0
  9. package/dist/Rettiwt.js +30 -0
  10. package/dist/Rettiwt.js.map +1 -0
  11. package/dist/enums/ApiErrors.d.ts +30 -0
  12. package/dist/enums/ApiErrors.js +35 -0
  13. package/dist/enums/ApiErrors.js.map +1 -0
  14. package/dist/enums/HTTP.d.ts +11 -11
  15. package/dist/enums/HTTP.js +15 -16
  16. package/dist/enums/HTTP.js.map +1 -1
  17. package/dist/helper/JsonUtils.d.ts +26 -0
  18. package/dist/helper/JsonUtils.js +88 -0
  19. package/dist/helper/JsonUtils.js.map +1 -0
  20. package/dist/index.d.ts +10 -43
  21. package/dist/index.js +16 -55
  22. package/dist/index.js.map +1 -1
  23. package/dist/models/CursoredData.d.ts +37 -0
  24. package/dist/models/CursoredData.js +59 -0
  25. package/dist/models/CursoredData.js.map +1 -0
  26. package/dist/models/{data/Tweet.d.ts → Tweet.d.ts} +4 -4
  27. package/dist/models/{data/Tweet.js → Tweet.js} +7 -32
  28. package/dist/models/Tweet.js.map +1 -0
  29. package/dist/models/{data/User.d.ts → User.d.ts} +3 -3
  30. package/dist/models/{data/User.js → User.js} +3 -3
  31. package/dist/models/User.js.map +1 -0
  32. package/dist/services/FetcherService.d.ts +66 -0
  33. package/dist/services/FetcherService.js +209 -0
  34. package/dist/services/FetcherService.js.map +1 -0
  35. package/dist/services/TweetService.d.ts +88 -0
  36. package/dist/services/TweetService.js +244 -0
  37. package/dist/services/TweetService.js.map +1 -0
  38. package/dist/services/UserService.d.ts +60 -0
  39. package/dist/services/UserService.js +188 -0
  40. package/dist/services/UserService.js.map +1 -0
  41. package/dist/types/{Service.d.ts → CursoredData.d.ts} +3 -3
  42. package/dist/types/CursoredData.js +3 -0
  43. package/dist/types/CursoredData.js.map +1 -0
  44. package/dist/types/Tweet.js +1 -1
  45. package/dist/types/User.js +1 -1
  46. package/package.json +15 -19
  47. package/src/Rettiwt.ts +33 -0
  48. package/src/enums/ApiErrors.ts +30 -0
  49. package/src/enums/HTTP.ts +12 -12
  50. package/src/helper/JsonUtils.ts +86 -0
  51. package/src/index.ts +14 -57
  52. package/src/models/CursoredData.ts +64 -0
  53. package/src/models/Tweet.ts +116 -0
  54. package/src/models/User.ts +72 -0
  55. package/src/services/FetcherService.ts +186 -0
  56. package/src/services/TweetService.ts +153 -0
  57. package/src/services/UserService.ts +117 -0
  58. package/src/types/CursoredData.ts +24 -0
  59. package/src/types/Tweet.ts +35 -35
  60. package/src/types/User.ts +30 -30
  61. package/tsconfig.json +9 -9
  62. package/dist/config/env.d.ts +0 -5
  63. package/dist/config/env.js +0 -9
  64. package/dist/config/env.js.map +0 -1
  65. package/dist/enums/Errors.d.ts +0 -21
  66. package/dist/enums/Errors.js +0 -29
  67. package/dist/enums/Errors.js.map +0 -1
  68. package/dist/graphql/enums/Errors.d.ts +0 -21
  69. package/dist/graphql/enums/Errors.js +0 -29
  70. package/dist/graphql/enums/Errors.js.map +0 -1
  71. package/dist/graphql/queries/RootQuery.d.ts +0 -4
  72. package/dist/graphql/queries/RootQuery.js +0 -83
  73. package/dist/graphql/queries/RootQuery.js.map +0 -1
  74. package/dist/graphql/resolvers/AccountResolver.d.ts +0 -12
  75. package/dist/graphql/resolvers/AccountResolver.js +0 -84
  76. package/dist/graphql/resolvers/AccountResolver.js.map +0 -1
  77. package/dist/graphql/resolvers/ResolverBase.d.ts +0 -16
  78. package/dist/graphql/resolvers/ResolverBase.js +0 -23
  79. package/dist/graphql/resolvers/ResolverBase.js.map +0 -1
  80. package/dist/graphql/resolvers/TweetResolver.d.ts +0 -46
  81. package/dist/graphql/resolvers/TweetResolver.js +0 -302
  82. package/dist/graphql/resolvers/TweetResolver.js.map +0 -1
  83. package/dist/graphql/resolvers/UserResolver.d.ts +0 -48
  84. package/dist/graphql/resolvers/UserResolver.js +0 -334
  85. package/dist/graphql/resolvers/UserResolver.js.map +0 -1
  86. package/dist/graphql/types/Global.d.ts +0 -4
  87. package/dist/graphql/types/Global.js +0 -13
  88. package/dist/graphql/types/Global.js.map +0 -1
  89. package/dist/graphql/types/TweetTypes.d.ts +0 -4
  90. package/dist/graphql/types/TweetTypes.js +0 -160
  91. package/dist/graphql/types/TweetTypes.js.map +0 -1
  92. package/dist/graphql/types/UserTypes.d.ts +0 -3
  93. package/dist/graphql/types/UserTypes.js +0 -137
  94. package/dist/graphql/types/UserTypes.js.map +0 -1
  95. package/dist/models/args/TweetListArgs.d.ts +0 -21
  96. package/dist/models/args/TweetListArgs.js +0 -54
  97. package/dist/models/args/TweetListArgs.js.map +0 -1
  98. package/dist/models/args/UserListArgs.d.ts +0 -21
  99. package/dist/models/args/UserListArgs.js +0 -54
  100. package/dist/models/args/UserListArgs.js.map +0 -1
  101. package/dist/models/auth/AuthCookie.d.ts +0 -21
  102. package/dist/models/auth/AuthCookie.js +0 -33
  103. package/dist/models/auth/AuthCookie.js.map +0 -1
  104. package/dist/models/data/CursoredData.d.ts +0 -34
  105. package/dist/models/data/CursoredData.js +0 -42
  106. package/dist/models/data/CursoredData.js.map +0 -1
  107. package/dist/models/data/Tweet.js.map +0 -1
  108. package/dist/models/data/User.js.map +0 -1
  109. package/dist/server.d.ts +0 -1
  110. package/dist/server.js +0 -76
  111. package/dist/server.js.map +0 -1
  112. package/dist/services/auth/AccountService.d.ts +0 -83
  113. package/dist/services/auth/AccountService.js +0 -412
  114. package/dist/services/auth/AccountService.js.map +0 -1
  115. package/dist/services/auth/AuthService.d.ts +0 -31
  116. package/dist/services/auth/AuthService.js +0 -118
  117. package/dist/services/auth/AuthService.js.map +0 -1
  118. package/dist/services/data/TweetService.d.ts +0 -60
  119. package/dist/services/data/TweetService.js +0 -250
  120. package/dist/services/data/TweetService.js.map +0 -1
  121. package/dist/services/data/UserService.d.ts +0 -71
  122. package/dist/services/data/UserService.js +0 -278
  123. package/dist/services/data/UserService.js.map +0 -1
  124. package/dist/services/helper/Headers.d.ts +0 -19
  125. package/dist/services/helper/Headers.js +0 -62
  126. package/dist/services/helper/Headers.js.map +0 -1
  127. package/dist/services/helper/Parser.d.ts +0 -22
  128. package/dist/services/helper/Parser.js +0 -84
  129. package/dist/services/helper/Parser.js.map +0 -1
  130. package/dist/services/helper/extractors/Tweets.d.ts +0 -23
  131. package/dist/services/helper/extractors/Tweets.js +0 -200
  132. package/dist/services/helper/extractors/Tweets.js.map +0 -1
  133. package/dist/services/helper/extractors/Users.d.ts +0 -17
  134. package/dist/services/helper/extractors/Users.js +0 -151
  135. package/dist/services/helper/extractors/Users.js.map +0 -1
  136. package/dist/services/helper/payloads/LoginFlows.d.ts +0 -77
  137. package/dist/services/helper/payloads/LoginFlows.js +0 -92
  138. package/dist/services/helper/payloads/LoginFlows.js.map +0 -1
  139. package/dist/services/helper/urls/Authentication.d.ts +0 -4
  140. package/dist/services/helper/urls/Authentication.js +0 -11
  141. package/dist/services/helper/urls/Authentication.js.map +0 -1
  142. package/dist/services/util/CacheService.d.ts +0 -33
  143. package/dist/services/util/CacheService.js +0 -96
  144. package/dist/services/util/CacheService.js.map +0 -1
  145. package/dist/services/util/FetcherService.d.ts +0 -65
  146. package/dist/services/util/FetcherService.js +0 -202
  147. package/dist/services/util/FetcherService.js.map +0 -1
  148. package/dist/types/Args.d.ts +0 -11
  149. package/dist/types/Args.js +0 -4
  150. package/dist/types/Args.js.map +0 -1
  151. package/dist/types/Authentication.d.ts +0 -55
  152. package/dist/types/Authentication.js +0 -6
  153. package/dist/types/Authentication.js.map +0 -1
  154. package/dist/types/Resolvers.d.ts +0 -15
  155. package/dist/types/Resolvers.js +0 -3
  156. package/dist/types/Resolvers.js.map +0 -1
  157. package/dist/types/Rettiwt.d.ts +0 -16
  158. package/dist/types/Rettiwt.js +0 -3
  159. package/dist/types/Rettiwt.js.map +0 -1
  160. package/dist/types/Service.js +0 -5
  161. package/dist/types/Service.js.map +0 -1
  162. package/docs/.nojekyll +0 -1
  163. package/docs/assets/highlight.css +0 -64
  164. package/docs/assets/main.js +0 -58
  165. package/docs/assets/search.js +0 -1
  166. package/docs/assets/style.css +0 -1280
  167. package/docs/classes/AccountService.html +0 -286
  168. package/docs/classes/AuthCookie.html +0 -146
  169. package/docs/classes/AuthService.html +0 -147
  170. package/docs/classes/CacheService.html +0 -157
  171. package/docs/classes/Cursor.html +0 -102
  172. package/docs/classes/CursoredData.html +0 -126
  173. package/docs/classes/DataValidationError.html +0 -120
  174. package/docs/classes/FetcherService.html +0 -225
  175. package/docs/classes/Tweet.html +0 -210
  176. package/docs/classes/TweetEntities.html +0 -128
  177. package/docs/classes/TweetFilter.html +0 -233
  178. package/docs/classes/TweetListArgs.html +0 -118
  179. package/docs/classes/TweetService.html +0 -319
  180. package/docs/classes/User.html +0 -230
  181. package/docs/classes/UserListArgs.html +0 -118
  182. package/docs/classes/UserService.html +0 -355
  183. package/docs/enums/HttpMethods.html +0 -74
  184. package/docs/functions/Rettiwt.html +0 -100
  185. package/docs/index.html +0 -159
  186. package/docs/interfaces/IAuthCookie.html +0 -104
  187. package/docs/interfaces/ICursor.html +0 -77
  188. package/docs/interfaces/ICursoredData.html +0 -93
  189. package/docs/interfaces/IDataContext.html +0 -91
  190. package/docs/interfaces/IDataValidationError.html +0 -109
  191. package/docs/interfaces/IListArgs.html +0 -87
  192. package/docs/interfaces/ITweet.html +0 -176
  193. package/docs/interfaces/ITweetEntities.html +0 -104
  194. package/docs/interfaces/ITweetFilter.html +0 -158
  195. package/docs/interfaces/IUser.html +0 -194
  196. package/docs/modules.html +0 -111
  197. package/environment.d.ts +0 -11
  198. package/src/config/env.ts +0 -5
  199. package/src/enums/Errors.ts +0 -22
  200. package/src/graphql/enums/Errors.ts +0 -22
  201. package/src/graphql/queries/RootQuery.ts +0 -81
  202. package/src/graphql/resolvers/AccountResolver.ts +0 -22
  203. package/src/graphql/resolvers/ResolverBase.ts +0 -26
  204. package/src/graphql/resolvers/TweetResolver.ts +0 -225
  205. package/src/graphql/resolvers/UserResolver.ts +0 -257
  206. package/src/graphql/types/Global.ts +0 -10
  207. package/src/graphql/types/TweetTypes.ts +0 -158
  208. package/src/graphql/types/UserTypes.ts +0 -134
  209. package/src/models/args/TweetListArgs.ts +0 -47
  210. package/src/models/args/UserListArgs.ts +0 -47
  211. package/src/models/auth/AuthCookie.ts +0 -43
  212. package/src/models/data/CursoredData.ts +0 -45
  213. package/src/models/data/Tweet.ts +0 -118
  214. package/src/models/data/User.ts +0 -72
  215. package/src/server.ts +0 -37
  216. package/src/services/auth/AccountService.ts +0 -283
  217. package/src/services/auth/AuthService.ts +0 -81
  218. package/src/services/data/TweetService.ts +0 -197
  219. package/src/services/data/UserService.ts +0 -221
  220. package/src/services/helper/Headers.ts +0 -60
  221. package/src/services/helper/Parser.ts +0 -89
  222. package/src/services/helper/extractors/Tweets.ts +0 -190
  223. package/src/services/helper/extractors/Users.ts +0 -141
  224. package/src/services/helper/payloads/LoginFlows.ts +0 -90
  225. package/src/services/helper/urls/Authentication.ts +0 -6
  226. package/src/services/util/CacheService.ts +0 -76
  227. package/src/services/util/FetcherService.ts +0 -143
  228. package/src/types/Args.ts +0 -12
  229. package/src/types/Authentication.ts +0 -63
  230. package/src/types/Resolvers.ts +0 -18
  231. package/src/types/Rettiwt.ts +0 -20
  232. package/src/types/Service.ts +0 -24
@@ -1,250 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- var desc = Object.getOwnPropertyDescriptor(m, k);
20
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
- desc = { enumerable: true, get: function() { return m[k]; } };
22
- }
23
- Object.defineProperty(o, k2, desc);
24
- }) : (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
41
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
42
- return new (P || (P = Promise))(function (resolve, reject) {
43
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
44
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
45
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
46
- step((generator = generator.apply(thisArg, _arguments || [])).next());
47
- });
48
- };
49
- var __generator = (this && this.__generator) || function (thisArg, body) {
50
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
51
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
52
- function verb(n) { return function (v) { return step([n, v]); }; }
53
- function step(op) {
54
- if (f) throw new TypeError("Generator is already executing.");
55
- while (_) try {
56
- 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;
57
- if (y = 0, t) op = [op[0] & 2, t.value];
58
- switch (op[0]) {
59
- case 0: case 1: t = op; break;
60
- case 4: _.label++; return { value: op[1], done: false };
61
- case 5: _.label++; y = op[1]; op = [0]; continue;
62
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
63
- default:
64
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
65
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
66
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
67
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
68
- if (t[2]) _.ops.pop();
69
- _.trys.pop(); continue;
70
- }
71
- op = body.call(thisArg, _);
72
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
73
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
74
- }
75
- };
76
- exports.__esModule = true;
77
- exports.TweetService = void 0;
78
- // PACKAGES
79
- var rettiwt_core_1 = require("rettiwt-core");
80
- // SERVICES
81
- var FetcherService_1 = require("../util/FetcherService");
82
- // MODELS
83
- var Tweet_1 = require("../../models/data/Tweet");
84
- var User_1 = require("../../models/data/User");
85
- var TweetListArgs_1 = require("../../models/args/TweetListArgs");
86
- var CursoredData_1 = require("../../models/data/CursoredData");
87
- // ENUMS
88
- var Errors_1 = require("../../enums/Errors");
89
- // EXTRACTORS
90
- var TweetExtractors = __importStar(require("../helper/extractors/Tweets"));
91
- /**
92
- * Handles fetching of data related to tweets.
93
- * @public
94
- */
95
- var TweetService = /** @class */ (function (_super) {
96
- __extends(TweetService, _super);
97
- /**
98
- * @param auth The AuthService instance to use for authentication.
99
- */
100
- function TweetService(auth) {
101
- return _super.call(this, auth) || this;
102
- }
103
- /**
104
- * @param filter The filter be used for searching the tweets.
105
- * @param count The number of tweets to fetch, must be >= 10 (when no cursor is provided) and <= 20
106
- * @param cursor The cursor to the next batch of tweets. If blank, first batch is fetched.
107
- *
108
- * @returns The list of tweets that match the given filter.
109
- *
110
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
111
- * @throws {@link Errors.ValidationErrors.InvalidCount} error, if an invalid count has been provided.
112
- */
113
- TweetService.prototype.getTweets = function (query, count, cursor) {
114
- return __awaiter(this, void 0, void 0, function () {
115
- var args, url, res, data, tweets;
116
- return __generator(this, function (_a) {
117
- switch (_a.label) {
118
- case 0:
119
- // If user is not authenticated, abort
120
- if (!this.isAuthenticated) {
121
- throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
122
- }
123
- args = new TweetListArgs_1.TweetListArgs(count, cursor);
124
- url = new rettiwt_core_1.Url(rettiwt_core_1.EResourceType.TWEET_SEARCH, { filter: query, count: args.count, cursor: args.cursor }).toString();
125
- return [4 /*yield*/, this.request(url).then(function (res) { return res.data; })];
126
- case 1:
127
- res = _a.sent();
128
- data = TweetExtractors.extractTweets(res);
129
- // Caching data
130
- this.cacheData(data);
131
- tweets = data.required.map(function (item) { return new Tweet_1.Tweet(item); });
132
- // Sorting the tweets by date, from recent to oldest
133
- tweets.sort(function (a, b) { return new Date(b.createdAt).valueOf() - new Date(a.createdAt).valueOf(); });
134
- return [2 /*return*/, new CursoredData_1.CursoredData(tweets, data.cursor)];
135
- }
136
- });
137
- });
138
- };
139
- /**
140
- * @param id The id of the target tweet.
141
- *
142
- * @returns The details of a single tweet with the given tweet id.
143
- *
144
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
145
- * @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
146
- */
147
- TweetService.prototype.getTweetDetails = function (id) {
148
- return __awaiter(this, void 0, void 0, function () {
149
- var cachedData, url, res, data, tweet;
150
- return __generator(this, function (_a) {
151
- switch (_a.label) {
152
- case 0:
153
- // If user is not authenticated, abort
154
- if (!this.isAuthenticated) {
155
- throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
156
- }
157
- return [4 /*yield*/, this.readData(id)];
158
- case 1:
159
- cachedData = _a.sent();
160
- // If data exists in cache
161
- if (cachedData) {
162
- return [2 /*return*/, cachedData];
163
- }
164
- url = new rettiwt_core_1.Url(rettiwt_core_1.EResourceType.TWEET_DETAILS, { id: id }).toString();
165
- return [4 /*yield*/, this.request(url).then(function (res) { return res.data; })];
166
- case 2:
167
- res = _a.sent();
168
- data = TweetExtractors.extractTweet(res, id);
169
- // Caching data
170
- this.cacheData(data);
171
- tweet = new Tweet_1.Tweet(data.required[0]);
172
- return [2 /*return*/, tweet];
173
- }
174
- });
175
- });
176
- };
177
- /**
178
- * @param tweetId The rest id of the target tweet.
179
- * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 20.
180
- * @param cursor The cursor to the next batch of users. If blank, first batch is fetched.
181
- *
182
- * @returns The list of users who liked the given tweet.
183
- *
184
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
185
- * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count is provided.
186
- * @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
187
- */
188
- TweetService.prototype.getTweetLikers = function (tweetId, count, cursor) {
189
- return __awaiter(this, void 0, void 0, function () {
190
- var args, url, res, data, users;
191
- return __generator(this, function (_a) {
192
- switch (_a.label) {
193
- case 0:
194
- // If user is not authenticated, abort
195
- if (!this.isAuthenticated) {
196
- throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
197
- }
198
- args = new TweetListArgs_1.TweetListArgs(count, cursor);
199
- url = new rettiwt_core_1.Url(rettiwt_core_1.EResourceType.TWEET_FAVORITERS, { id: tweetId, count: args.count, cursor: args.cursor }).toString();
200
- return [4 /*yield*/, this.request(url).then(function (res) { return res.data; })];
201
- case 1:
202
- res = _a.sent();
203
- data = TweetExtractors.extractTweetLikers(res);
204
- // Caching data
205
- this.cacheData(data);
206
- users = data.required.map(function (item) { return new User_1.User(item); });
207
- return [2 /*return*/, new CursoredData_1.CursoredData(users, data.cursor)];
208
- }
209
- });
210
- });
211
- };
212
- /**
213
- * @param tweetId The rest id of the target tweet.
214
- * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100.
215
- * @param cursor The cursor to the next batch of users. If blank, first batch is fetched.
216
- *
217
- * @returns The list of users who retweeted the given tweet.
218
- *
219
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
220
- * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count is provided.
221
- * @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
222
- */
223
- TweetService.prototype.getTweetRetweeters = function (tweetId, count, cursor) {
224
- return __awaiter(this, void 0, void 0, function () {
225
- var args, url, res, data, users;
226
- return __generator(this, function (_a) {
227
- switch (_a.label) {
228
- case 0:
229
- // If user is not authenticated, abort
230
- if (!this.isAuthenticated) {
231
- throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
232
- }
233
- args = new TweetListArgs_1.TweetListArgs(count, cursor);
234
- url = new rettiwt_core_1.Url(rettiwt_core_1.EResourceType.TWEET_RETWEETERS, { id: tweetId, count: args.count, cursor: args.cursor }).toString();
235
- return [4 /*yield*/, this.request(url).then(function (res) { return res.data; })];
236
- case 1:
237
- res = _a.sent();
238
- data = TweetExtractors.extractTweetRetweeters(res);
239
- // Caching data
240
- this.cacheData(data);
241
- users = data.required.map(function (item) { return new User_1.User(item); });
242
- return [2 /*return*/, new CursoredData_1.CursoredData(users, data.cursor)];
243
- }
244
- });
245
- });
246
- };
247
- return TweetService;
248
- }(FetcherService_1.FetcherService));
249
- exports.TweetService = TweetService;
250
- //# sourceMappingURL=TweetService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TweetService.js","sourceRoot":"","sources":["../../../src/services/data/TweetService.ts"],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- import { FetcherService } from '../util/FetcherService';
2
- import { AuthService } from '../auth/AuthService';
3
- import { User } from '../../models/data/User';
4
- import { Tweet } from '../../models/data/Tweet';
5
- import { CursoredData } from '../../models/data/CursoredData';
6
- /**
7
- * Handles fetching of data related to user account
8
- */
9
- export declare class UserService extends FetcherService {
10
- /**
11
- * @param auth The AuthService instance to use for authentication.
12
- */
13
- constructor(auth: AuthService);
14
- /**
15
- * @param id The id/username of the target user.
16
- *
17
- * @returns The details of the given user.
18
- *
19
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
20
- * @throws {@link Errors.DataErrors.UserNotFound} error, if no user with the given username was found.
21
- */
22
- getUserDetails(id: string): Promise<User>;
23
- /**
24
- * @param userId The rest id of the target user.
25
- * @param count The number of tweets to fetch, must be >= 40 (when no cursor is provided) and <=100.
26
- * @param cursor The cursor to next batch. If blank, first batch is fetched.
27
- *
28
- * @returns The list of tweets nade by the target user.
29
- *
30
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
31
- * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count has been provided.
32
- * @throws {@link Errors.DataErrors.UserNotFound} error, if invalid count has been provided.
33
- *
34
- * @deprecated Use [this](https://rishikant181.github.io/Rettiwt-API/classes/TweetService.html#getTweets) method instead. It's better in every possible way!
35
- */
36
- getUserTweets(userId: string, count?: number, cursor?: string): Promise<CursoredData<Tweet>>;
37
- /**
38
- * @param userId The rest id of the target user.
39
- * @param count The number of following to fetch, must be >= 40 (when no cursor is provided) and <=100.
40
- * @param cursor The cursor to next batch. If blank, first batch is fetched.
41
- *
42
- * @returns The list of users followed by the target user.
43
- *
44
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
45
- * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count has been provided.
46
- * @throws {@link Errors.DataErrors.UserNotFound} error, if invalid count has been provided.
47
- */
48
- getUserFollowing(userId: string, count?: number, cursor?: string): Promise<CursoredData<User>>;
49
- /**
50
- * @param userId The rest id of the target user.
51
- * @param count The number of followers to fetch, must be >= 40 (when no cursor is provided) and <=100.
52
- * @param cursor The cursor to next batch. If blank, first batch is fetched.
53
- *
54
- * @returns The list of users following the target user.
55
- *
56
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
57
- * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count has been provided.
58
- * @throws {@link Errors.DataErrors.UserNotFound} error, if invalid count has been provided.
59
- */
60
- getUserFollowers(userId: string, count?: number, cursor?: string): Promise<CursoredData<User>>;
61
- /**
62
- * @param userId The rest id of the target user.
63
- * @param count The number of likes to fetch.
64
- * @param cursor The cursor to next batch. If blank, first batch is fetched, must be >= 40 (when no cursor is provided) and <=100.
65
- *
66
- * @returns The list of tweets liked by the target user.
67
- *
68
- * @throws {@link AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
69
- */
70
- getUserLikes(userId: string, count?: number, cursor?: string): Promise<CursoredData<Tweet>>;
71
- }
@@ -1,278 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- var desc = Object.getOwnPropertyDescriptor(m, k);
20
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
- desc = { enumerable: true, get: function() { return m[k]; } };
22
- }
23
- Object.defineProperty(o, k2, desc);
24
- }) : (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
41
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
42
- return new (P || (P = Promise))(function (resolve, reject) {
43
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
44
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
45
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
46
- step((generator = generator.apply(thisArg, _arguments || [])).next());
47
- });
48
- };
49
- var __generator = (this && this.__generator) || function (thisArg, body) {
50
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
51
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
52
- function verb(n) { return function (v) { return step([n, v]); }; }
53
- function step(op) {
54
- if (f) throw new TypeError("Generator is already executing.");
55
- while (_) try {
56
- 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;
57
- if (y = 0, t) op = [op[0] & 2, t.value];
58
- switch (op[0]) {
59
- case 0: case 1: t = op; break;
60
- case 4: _.label++; return { value: op[1], done: false };
61
- case 5: _.label++; y = op[1]; op = [0]; continue;
62
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
63
- default:
64
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
65
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
66
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
67
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
68
- if (t[2]) _.ops.pop();
69
- _.trys.pop(); continue;
70
- }
71
- op = body.call(thisArg, _);
72
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
73
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
74
- }
75
- };
76
- exports.__esModule = true;
77
- exports.UserService = void 0;
78
- // PACKAGES
79
- var rettiwt_core_1 = require("rettiwt-core");
80
- // SERVICES
81
- var FetcherService_1 = require("../util/FetcherService");
82
- // MODELS
83
- var User_1 = require("../../models/data/User");
84
- var UserListArgs_1 = require("../../models/args/UserListArgs");
85
- var Tweet_1 = require("../../models/data/Tweet");
86
- // TYPES
87
- var CursoredData_1 = require("../../models/data/CursoredData");
88
- // ENUMS
89
- var Errors_1 = require("../../enums/Errors");
90
- // EXTRACTORS
91
- var UserExtractors = __importStar(require("../helper/extractors/Users"));
92
- var TweetService_1 = require("./TweetService");
93
- /**
94
- * Handles fetching of data related to user account
95
- */
96
- var UserService = /** @class */ (function (_super) {
97
- __extends(UserService, _super);
98
- /**
99
- * @param auth The AuthService instance to use for authentication.
100
- */
101
- function UserService(auth) {
102
- return _super.call(this, auth) || this;
103
- }
104
- /**
105
- * @param id The id/username of the target user.
106
- *
107
- * @returns The details of the given user.
108
- *
109
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
110
- * @throws {@link Errors.DataErrors.UserNotFound} error, if no user with the given username was found.
111
- */
112
- UserService.prototype.getUserDetails = function (id) {
113
- return __awaiter(this, void 0, void 0, function () {
114
- var res, cachedData, url, data, user;
115
- return __generator(this, function (_a) {
116
- switch (_a.label) {
117
- case 0:
118
- // If user is not authenticated, abort
119
- if (!this.isAuthenticated) {
120
- throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
121
- }
122
- return [4 /*yield*/, this.readData(id)];
123
- case 1:
124
- cachedData = _a.sent();
125
- if (!cachedData) return [3 /*break*/, 2];
126
- return [2 /*return*/, cachedData];
127
- case 2:
128
- url = new rettiwt_core_1.Url(rettiwt_core_1.EResourceType.USER_DETAILS, { id: id }).toString();
129
- return [4 /*yield*/, this.request(url).then(function (res) { return res.data; })];
130
- case 3:
131
- // Fetching the raw data
132
- res = _a.sent();
133
- data = UserExtractors.extractUserDetails(res);
134
- // Caching data
135
- this.cacheData(data);
136
- user = new User_1.User(data.required[0]);
137
- return [2 /*return*/, user];
138
- }
139
- });
140
- });
141
- };
142
- /**
143
- * @param userId The rest id of the target user.
144
- * @param count The number of tweets to fetch, must be >= 40 (when no cursor is provided) and <=100.
145
- * @param cursor The cursor to next batch. If blank, first batch is fetched.
146
- *
147
- * @returns The list of tweets nade by the target user.
148
- *
149
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
150
- * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count has been provided.
151
- * @throws {@link Errors.DataErrors.UserNotFound} error, if invalid count has been provided.
152
- *
153
- * @deprecated Use [this](https://rishikant181.github.io/Rettiwt-API/classes/TweetService.html#getTweets) method instead. It's better in every possible way!
154
- */
155
- UserService.prototype.getUserTweets = function (userId, count, cursor) {
156
- return __awaiter(this, void 0, void 0, function () {
157
- var userName;
158
- return __generator(this, function (_a) {
159
- switch (_a.label) {
160
- case 0: return [4 /*yield*/, this.getUserDetails(userId)];
161
- case 1:
162
- userName = (_a.sent()).userName;
163
- // Getting the tweets of the target user
164
- return [2 /*return*/, new TweetService_1.TweetService(this.auth).getTweets({
165
- fromUsers: [userName]
166
- }, count, cursor)];
167
- }
168
- });
169
- });
170
- };
171
- /**
172
- * @param userId The rest id of the target user.
173
- * @param count The number of following to fetch, must be >= 40 (when no cursor is provided) and <=100.
174
- * @param cursor The cursor to next batch. If blank, first batch is fetched.
175
- *
176
- * @returns The list of users followed by the target user.
177
- *
178
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
179
- * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count has been provided.
180
- * @throws {@link Errors.DataErrors.UserNotFound} error, if invalid count has been provided.
181
- */
182
- UserService.prototype.getUserFollowing = function (userId, count, cursor) {
183
- return __awaiter(this, void 0, void 0, function () {
184
- var args, url, res, data, users;
185
- return __generator(this, function (_a) {
186
- switch (_a.label) {
187
- case 0:
188
- // If user is not authenticated, abort
189
- if (!this.isAuthenticated) {
190
- throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
191
- }
192
- args = new UserListArgs_1.UserListArgs(count, cursor);
193
- url = new rettiwt_core_1.Url(rettiwt_core_1.EResourceType.USER_FOLLOWING, { id: userId, count: args.count, cursor: args.cursor }).toString();
194
- return [4 /*yield*/, this.request(url).then(function (res) { return res.data; })];
195
- case 1:
196
- res = _a.sent();
197
- data = UserExtractors.extractUserFollow(res);
198
- // Caching data
199
- this.cacheData(data);
200
- users = data.required.map(function (item) { return new User_1.User(item); });
201
- return [2 /*return*/, new CursoredData_1.CursoredData(users, data.cursor)];
202
- }
203
- });
204
- });
205
- };
206
- /**
207
- * @param userId The rest id of the target user.
208
- * @param count The number of followers to fetch, must be >= 40 (when no cursor is provided) and <=100.
209
- * @param cursor The cursor to next batch. If blank, first batch is fetched.
210
- *
211
- * @returns The list of users following the target user.
212
- *
213
- * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
214
- * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count has been provided.
215
- * @throws {@link Errors.DataErrors.UserNotFound} error, if invalid count has been provided.
216
- */
217
- UserService.prototype.getUserFollowers = function (userId, count, cursor) {
218
- return __awaiter(this, void 0, void 0, function () {
219
- var args, url, res, data, users;
220
- return __generator(this, function (_a) {
221
- switch (_a.label) {
222
- case 0:
223
- // If user is not authenticated, abort
224
- if (!this.isAuthenticated) {
225
- throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
226
- }
227
- args = new UserListArgs_1.UserListArgs(count, cursor);
228
- url = new rettiwt_core_1.Url(rettiwt_core_1.EResourceType.USER_FOLLOWERS, { id: userId, count: args.count, cursor: args.cursor }).toString();
229
- return [4 /*yield*/, this.request(url).then(function (res) { return res.data; })];
230
- case 1:
231
- res = _a.sent();
232
- data = UserExtractors.extractUserFollow(res);
233
- // Caching data
234
- this.cacheData(data);
235
- users = data.required.map(function (item) { return new User_1.User(item); });
236
- return [2 /*return*/, new CursoredData_1.CursoredData(users, data.cursor)];
237
- }
238
- });
239
- });
240
- };
241
- /**
242
- * @param userId The rest id of the target user.
243
- * @param count The number of likes to fetch.
244
- * @param cursor The cursor to next batch. If blank, first batch is fetched, must be >= 40 (when no cursor is provided) and <=100.
245
- *
246
- * @returns The list of tweets liked by the target user.
247
- *
248
- * @throws {@link AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
249
- */
250
- UserService.prototype.getUserLikes = function (userId, count, cursor) {
251
- return __awaiter(this, void 0, void 0, function () {
252
- var args, url, res, data, tweets;
253
- return __generator(this, function (_a) {
254
- switch (_a.label) {
255
- case 0:
256
- // If user is not authenticated, abort
257
- if (!this.isAuthenticated) {
258
- throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
259
- }
260
- args = new UserListArgs_1.UserListArgs(count, cursor);
261
- url = new rettiwt_core_1.Url(rettiwt_core_1.EResourceType.USER_LIKES, { id: userId, count: args.count, cursor: args.cursor }).toString();
262
- return [4 /*yield*/, this.request(url).then(function (res) { return res.data; })];
263
- case 1:
264
- res = _a.sent();
265
- data = UserExtractors.extractUserLikes(res);
266
- // Caching data
267
- this.cacheData(data);
268
- tweets = data.required.map(function (item) { return new Tweet_1.Tweet(item); });
269
- return [2 /*return*/, new CursoredData_1.CursoredData(tweets, data.cursor)];
270
- }
271
- });
272
- });
273
- };
274
- return UserService;
275
- }(FetcherService_1.FetcherService));
276
- exports.UserService = UserService;
277
- ;
278
- //# sourceMappingURL=UserService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../../src/services/data/UserService.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { IGuestCredentials, IAuthCredentials } from '../../types/Authentication';
2
- /**
3
- * @param authToken The authentication token received from Twitter
4
- * @param csrfToken The csrf token received from Twitter
5
- * @param cookie The cookie associated with the logged in account
6
- * @returns The header required for making authorized HTTP requests
7
- */
8
- export declare function authorizedHeader(authCred: IAuthCredentials): any;
9
- /**
10
- * @param guestCred The guest credentials to use
11
- * @returns The header requred for making guest HTTP requests
12
- */
13
- export declare function guestHeader(guestCred: IGuestCredentials): any;
14
- /**
15
- * @param guestCred The guest credentials to use for making the login requests
16
- * @param cookie The cookie to be used
17
- * @returns The header for making HTTP request for logging in
18
- */
19
- export declare function loginHeader(guestCred: IGuestCredentials, cookie: string): any;