rettiwt-api 1.1.2 → 1.1.5

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 (271) hide show
  1. package/README.md +32 -7
  2. package/dist/endpoints/Endpoints.d.ts +14 -0
  3. package/dist/endpoints/Endpoints.js +20 -0
  4. package/dist/endpoints/Endpoints.js.map +1 -0
  5. package/dist/endpoints/Url.d.ts +5 -0
  6. package/dist/endpoints/Url.js +12 -0
  7. package/dist/endpoints/Url.js.map +1 -0
  8. package/dist/enums/Endpoints.d.ts +25 -0
  9. package/dist/enums/Endpoints.js +31 -0
  10. package/dist/enums/Endpoints.js.map +1 -0
  11. package/dist/enums/Errors.d.ts +20 -0
  12. package/dist/enums/Errors.js +28 -0
  13. package/dist/enums/Errors.js.map +1 -0
  14. package/dist/enums/HTTP.d.ts +17 -0
  15. package/dist/enums/HTTP.js +23 -0
  16. package/dist/enums/HTTP.js.map +1 -0
  17. package/dist/graphql/enums/Errors.d.ts +20 -0
  18. package/dist/graphql/enums/Errors.js +28 -0
  19. package/dist/graphql/enums/Errors.js.map +1 -0
  20. package/dist/graphql/queries/RootQuery.js +10 -3
  21. package/dist/graphql/queries/RootQuery.js.map +1 -1
  22. package/dist/graphql/resolvers/AccountResolver.d.ts +3 -3
  23. package/dist/graphql/resolvers/AccountResolver.js.map +1 -1
  24. package/dist/graphql/resolvers/ResolverBase.d.ts +14 -3
  25. package/dist/graphql/resolvers/ResolverBase.js +13 -1
  26. package/dist/graphql/resolvers/ResolverBase.js.map +1 -1
  27. package/dist/graphql/resolvers/TweetResolver.d.ts +3 -3
  28. package/dist/graphql/resolvers/TweetResolver.js +30 -18
  29. package/dist/graphql/resolvers/TweetResolver.js.map +1 -1
  30. package/dist/graphql/resolvers/UserResolver.d.ts +4 -4
  31. package/dist/graphql/resolvers/UserResolver.js +23 -19
  32. package/dist/graphql/resolvers/UserResolver.js.map +1 -1
  33. package/dist/graphql/types/Errors.d.ts +20 -0
  34. package/dist/graphql/types/Errors.js +28 -0
  35. package/dist/graphql/types/Errors.js.map +1 -0
  36. package/dist/graphql/types/TweetTypes.js +2 -2
  37. package/dist/graphql/types/TweetTypes.js.map +1 -1
  38. package/dist/index.d.ts +31 -15
  39. package/dist/index.js +32 -17
  40. package/dist/index.js.map +1 -1
  41. package/dist/middlewares/Authentication.d.ts +0 -0
  42. package/dist/middlewares/Authentication.js +2 -0
  43. package/dist/middlewares/Authentication.js.map +1 -0
  44. package/dist/models/args/TweetFilter.d.ts +59 -0
  45. package/dist/models/args/TweetFilter.js +101 -0
  46. package/dist/models/args/TweetFilter.js.map +1 -0
  47. package/dist/models/args/TweetListArgs.d.ts +21 -0
  48. package/dist/models/args/TweetListArgs.js +54 -0
  49. package/dist/models/args/TweetListArgs.js.map +1 -0
  50. package/dist/models/args/UserListArgs.d.ts +21 -0
  51. package/dist/models/args/UserListArgs.js +54 -0
  52. package/dist/models/args/UserListArgs.js.map +1 -0
  53. package/dist/models/auth/AuthCookie.d.ts +21 -0
  54. package/dist/models/auth/AuthCookie.js +33 -0
  55. package/dist/models/auth/AuthCookie.js.map +1 -0
  56. package/dist/models/data/CursoredData.d.ts +34 -0
  57. package/dist/models/data/CursoredData.js +42 -0
  58. package/dist/models/data/CursoredData.js.map +1 -0
  59. package/dist/models/data/DataValidationError.d.ts +18 -0
  60. package/dist/models/data/DataValidationError.js +21 -0
  61. package/dist/models/data/DataValidationError.js.map +1 -0
  62. package/dist/models/data/Errors.d.ts +18 -0
  63. package/dist/models/data/Errors.js +21 -0
  64. package/dist/models/data/Errors.js.map +1 -0
  65. package/dist/models/data/Service.d.ts +33 -0
  66. package/dist/models/data/Service.js +41 -0
  67. package/dist/models/data/Service.js.map +1 -0
  68. package/dist/models/data/Tweet.d.ts +53 -0
  69. package/dist/models/data/Tweet.js +104 -0
  70. package/dist/models/data/Tweet.js.map +1 -0
  71. package/dist/models/data/User.d.ts +41 -0
  72. package/dist/models/data/User.js +32 -0
  73. package/dist/models/data/User.js.map +1 -0
  74. package/dist/models/errors/DataValidationError.d.ts +20 -0
  75. package/dist/models/errors/DataValidationError.js +23 -0
  76. package/dist/models/errors/DataValidationError.js.map +1 -0
  77. package/dist/models/query/Variables.d.ts +2 -0
  78. package/dist/models/query/Variables.js +10 -0
  79. package/dist/models/query/Variables.js.map +1 -0
  80. package/dist/requests/Url.d.ts +5 -0
  81. package/dist/requests/Url.js +12 -0
  82. package/dist/requests/Url.js.map +1 -0
  83. package/dist/server.d.ts +1 -1
  84. package/dist/server.js +9 -10
  85. package/dist/server.js.map +1 -1
  86. package/dist/services/accounts/AccountService.d.ts +6 -0
  87. package/dist/services/accounts/AccountService.js +6 -0
  88. package/dist/services/accounts/AccountService.js.map +1 -1
  89. package/dist/services/auth/AccountService.d.ts +88 -0
  90. package/dist/services/auth/AccountService.js +392 -0
  91. package/dist/services/auth/AccountService.js.map +1 -0
  92. package/dist/services/auth/AuthService.d.ts +31 -0
  93. package/dist/services/auth/AuthService.js +118 -0
  94. package/dist/services/auth/AuthService.js.map +1 -0
  95. package/dist/services/auth/LoginFlows.d.ts +77 -0
  96. package/dist/services/auth/LoginFlows.js +92 -0
  97. package/dist/services/auth/LoginFlows.js.map +1 -0
  98. package/dist/services/data/TweetService.d.ts +46 -16
  99. package/dist/services/data/TweetService.js +71 -54
  100. package/dist/services/data/TweetService.js.map +1 -1
  101. package/dist/services/data/UserService.d.ts +45 -21
  102. package/dist/services/data/UserService.js +78 -75
  103. package/dist/services/data/UserService.js.map +1 -1
  104. package/dist/services/helper/Headers.d.ts +4 -4
  105. package/dist/services/helper/Headers.js.map +1 -1
  106. package/dist/services/helper/Parser.d.ts +2 -2
  107. package/dist/services/helper/Parser.js.map +1 -1
  108. package/dist/services/helper/extractors/Tweets.d.ts +6 -6
  109. package/dist/services/helper/extractors/Tweets.js +1 -1
  110. package/dist/services/helper/extractors/Tweets.js.map +1 -1
  111. package/dist/services/helper/extractors/Users.d.ts +4 -4
  112. package/dist/services/helper/extractors/Users.js +1 -1
  113. package/dist/services/helper/extractors/Users.js.map +1 -1
  114. package/dist/services/helper/payloads/LoginFlows.d.ts +77 -0
  115. package/dist/services/helper/payloads/LoginFlows.js +92 -0
  116. package/dist/services/helper/payloads/LoginFlows.js.map +1 -0
  117. package/dist/services/util/CacheService.d.ts +33 -0
  118. package/dist/services/util/CacheService.js +96 -0
  119. package/dist/services/util/CacheService.js.map +1 -0
  120. package/dist/services/util/FetcherService.d.ts +65 -0
  121. package/dist/services/util/FetcherService.js +214 -0
  122. package/dist/services/util/FetcherService.js.map +1 -0
  123. package/dist/types/Args.d.ts +38 -0
  124. package/dist/types/Args.js +5 -0
  125. package/dist/types/Args.js.map +1 -0
  126. package/dist/types/Authentication.d.ts +17 -2
  127. package/dist/types/Authentication.js +1 -0
  128. package/dist/types/Authentication.js.map +1 -1
  129. package/dist/types/Resolvers.d.ts +5 -4
  130. package/dist/types/Rettiwt.d.ts +16 -0
  131. package/dist/types/Rettiwt.js +3 -0
  132. package/dist/types/Rettiwt.js.map +1 -0
  133. package/dist/types/Service.d.ts +15 -23
  134. package/dist/types/Service.js +2 -16
  135. package/dist/types/Service.js.map +1 -1
  136. package/dist/types/Tweet.d.ts +25 -19
  137. package/dist/types/Tweet.js +0 -2
  138. package/dist/types/Tweet.js.map +1 -1
  139. package/dist/types/User.d.ts +35 -0
  140. package/dist/types/User.js +3 -0
  141. package/dist/types/User.js.map +1 -0
  142. package/dist/types/args/TweetFilter.d.ts +54 -0
  143. package/dist/types/args/TweetFilter.js +96 -0
  144. package/dist/types/args/TweetFilter.js.map +1 -0
  145. package/dist/types/args/TweetListArg.d.ts +10 -0
  146. package/dist/types/args/TweetListArg.js +42 -0
  147. package/dist/types/args/TweetListArg.js.map +1 -0
  148. package/dist/types/args/TweetListArgs.d.ts +20 -0
  149. package/dist/types/args/TweetListArgs.js +52 -0
  150. package/dist/types/args/TweetListArgs.js.map +1 -0
  151. package/dist/types/args/UserListArgs.d.ts +16 -0
  152. package/dist/types/args/UserListArgs.js +48 -0
  153. package/dist/types/args/UserListArgs.js.map +1 -0
  154. package/dist/types/data/TweetFilter.d.ts +49 -0
  155. package/dist/types/data/TweetFilter.js +63 -0
  156. package/dist/types/data/TweetFilter.js.map +1 -0
  157. package/dist/types/interfaces/Args.d.ts +38 -0
  158. package/dist/types/interfaces/Args.js +5 -0
  159. package/dist/types/interfaces/Args.js.map +1 -0
  160. package/dist/types/interfaces/Authentication.d.ts +40 -0
  161. package/dist/types/interfaces/Authentication.js +5 -0
  162. package/dist/types/interfaces/Authentication.js.map +1 -0
  163. package/dist/types/interfaces/Resolvers.d.ts +14 -0
  164. package/dist/types/interfaces/Resolvers.js +3 -0
  165. package/dist/types/interfaces/Resolvers.js.map +1 -0
  166. package/dist/types/interfaces/Rettiwt.d.ts +16 -0
  167. package/dist/types/interfaces/Rettiwt.js +3 -0
  168. package/dist/types/interfaces/Rettiwt.js.map +1 -0
  169. package/dist/types/interfaces/Service.d.ts +13 -0
  170. package/dist/types/interfaces/Service.js +3 -0
  171. package/dist/types/interfaces/Service.js.map +1 -0
  172. package/dist/types/interfaces/Services.d.ts +13 -0
  173. package/dist/types/interfaces/Services.js +3 -0
  174. package/dist/types/interfaces/Services.js.map +1 -0
  175. package/dist/types/interfaces/Tweet.d.ts +46 -0
  176. package/dist/types/interfaces/Tweet.js +3 -0
  177. package/dist/types/interfaces/Tweet.js.map +1 -0
  178. package/dist/types/interfaces/TweetFilter.d.ts +0 -0
  179. package/dist/types/interfaces/TweetFilter.js +2 -0
  180. package/dist/types/interfaces/TweetFilter.js.map +1 -0
  181. package/{src/types/data/User.ts → dist/types/interfaces/User.d.ts} +35 -51
  182. package/dist/types/interfaces/User.js +3 -0
  183. package/dist/types/interfaces/User.js.map +1 -0
  184. package/dist/types/raw/query/tweet/TweetDetails.d.ts +34 -0
  185. package/dist/types/raw/query/tweet/TweetDetails.js +5 -0
  186. package/dist/types/raw/query/tweet/TweetDetails.js.map +1 -0
  187. package/dist/types/raw/user/User.js.map +1 -1
  188. package/dist/types/services/args/TweetFilter.d.ts +50 -0
  189. package/dist/types/services/args/TweetFilter.js +76 -0
  190. package/dist/types/services/args/TweetFilter.js.map +1 -0
  191. package/docs/.nojekyll +1 -0
  192. package/docs/assets/highlight.css +64 -0
  193. package/docs/assets/main.js +58 -0
  194. package/docs/assets/search.js +1 -0
  195. package/docs/assets/style.css +1280 -0
  196. package/docs/classes/AccountService.html +303 -0
  197. package/docs/classes/AuthCookie.html +146 -0
  198. package/docs/classes/AuthService.html +147 -0
  199. package/docs/classes/CacheService.html +157 -0
  200. package/docs/classes/Cursor.html +102 -0
  201. package/docs/classes/CursoredData.html +126 -0
  202. package/docs/classes/DataValidationError.html +119 -0
  203. package/docs/classes/FetcherService.html +225 -0
  204. package/docs/classes/Tweet.html +210 -0
  205. package/docs/classes/TweetEntities.html +128 -0
  206. package/docs/classes/TweetFilter.html +204 -0
  207. package/docs/classes/TweetListArgs.html +118 -0
  208. package/docs/classes/TweetService.html +313 -0
  209. package/docs/classes/User.html +230 -0
  210. package/docs/classes/UserListArgs.html +118 -0
  211. package/docs/classes/UserService.html +315 -0
  212. package/docs/enums/HttpMethods.html +74 -0
  213. package/docs/functions/Rettiwt.html +99 -0
  214. package/docs/index.html +161 -0
  215. package/docs/interfaces/IAuthCookie.html +104 -0
  216. package/docs/interfaces/ICursor.html +77 -0
  217. package/docs/interfaces/ICursoredData.html +93 -0
  218. package/docs/interfaces/IDataContext.html +91 -0
  219. package/docs/interfaces/IListArgs.html +87 -0
  220. package/docs/interfaces/ITweet.html +176 -0
  221. package/docs/interfaces/ITweetEntities.html +104 -0
  222. package/docs/interfaces/ITweetFilter.html +158 -0
  223. package/docs/interfaces/IUser.html +194 -0
  224. package/docs/modules.html +109 -0
  225. package/package.json +5 -2
  226. package/src/enums/Errors.ts +21 -0
  227. package/src/graphql/enums/Errors.ts +21 -0
  228. package/src/graphql/queries/RootQuery.ts +11 -4
  229. package/src/graphql/resolvers/AccountResolver.ts +3 -3
  230. package/src/graphql/resolvers/ResolverBase.ts +19 -5
  231. package/src/graphql/resolvers/TweetResolver.ts +26 -17
  232. package/src/graphql/resolvers/UserResolver.ts +18 -20
  233. package/src/graphql/types/TweetTypes.ts +2 -2
  234. package/src/graphql/types/UserTypes.ts +1 -1
  235. package/src/index.ts +39 -17
  236. package/src/models/args/TweetFilter.ts +119 -0
  237. package/src/models/args/TweetListArgs.ts +47 -0
  238. package/src/models/args/UserListArgs.ts +47 -0
  239. package/src/models/auth/AuthCookie.ts +43 -0
  240. package/src/models/data/CursoredData.ts +45 -0
  241. package/src/models/data/Tweet.ts +118 -0
  242. package/src/models/data/User.ts +72 -0
  243. package/src/models/errors/DataValidationError.ts +29 -0
  244. package/src/server.ts +9 -10
  245. package/src/services/{accounts → auth}/AccountService.ts +71 -19
  246. package/src/services/auth/AuthService.ts +81 -0
  247. package/src/services/data/TweetService.ts +77 -58
  248. package/src/services/data/UserService.ts +93 -89
  249. package/src/services/helper/Headers.ts +4 -4
  250. package/src/services/helper/Parser.ts +2 -2
  251. package/src/services/helper/extractors/Tweets.ts +7 -7
  252. package/src/services/helper/extractors/Users.ts +5 -5
  253. package/src/services/{CacheService.ts → util/CacheService.ts} +4 -1
  254. package/src/services/{FetcherService.ts → util/FetcherService.ts} +19 -11
  255. package/src/types/Args.ts +49 -0
  256. package/src/types/Authentication.ts +29 -7
  257. package/src/types/Resolvers.ts +5 -4
  258. package/src/types/Rettiwt.ts +20 -0
  259. package/src/types/Service.ts +24 -0
  260. package/src/types/Tweet.ts +61 -0
  261. package/src/types/User.ts +48 -0
  262. package/tsconfig.json +2 -2
  263. package/src/services/AuthService.ts +0 -68
  264. package/src/services/helper/deserializers/Tweets.ts +0 -70
  265. package/src/services/helper/deserializers/Users.ts +0 -26
  266. package/src/types/data/Errors.ts +0 -37
  267. package/src/types/data/Service.ts +0 -55
  268. package/src/types/data/Tweet.ts +0 -123
  269. package/src/types/raw/auth/Cookie.ts +0 -16
  270. /package/src/{types → enums}/HTTP.ts +0 -0
  271. /package/src/services/{accounts → helper/payloads}/LoginFlows.ts +0 -0
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var LoginFlows = {
4
+ "InitiateLogin": {
5
+ url: 'https://api.twitter.com/1.1/onboarding/task.json?flow_name=login'
6
+ },
7
+ "JsInstrumentationSubtask": {
8
+ url: 'https://api.twitter.com/1.1/onboarding/task.json',
9
+ body: function (flowToken) { return ({
10
+ "flow_token": flowToken,
11
+ "subtask_inputs": [
12
+ {
13
+ "subtask_id": "LoginJsInstrumentationSubtask",
14
+ "js_instrumentation": {
15
+ "response": "{\"rf\":{\"a09453c7341fb1cbb7d51561f92d478fa0752bc77e7ca6b5703258680b2c51d7\":-4,\"bd26c6694e256b10766447d992deaf92bb220bc05e3b8205ba5c9a4f83302230\":0,\"abfa440376b8dc33ca518e1e2a998b3ac4200a8122ef09781eea2c1408717111\":-1,\"a4e87b66027f638a4634561275fab00f9f7446b81a180b5f03eda69fa32eb8f4\":-224},\"s\":\"yET9nlXrlGRAylCyyBKEsxOpUweMpjRz5RfKzTzQyVADnKE64gmpyILfKBK0-HIHWY8FbJPHGWr6QrCb5A-Z3q2SLRm4DReprZGXykJ111_ynet8kSjFkRjODKKDN2FzT1V6rx9FILnUuRCaMu9ewfPgPBi4wO1g7EUeEsSSHIiCwNc9URJr4c2xVTA3ibIfTbu8p2WhX7RZAk8LWRPpPPB21st8Z1j0LcLlR0bkZoF6LsN-7w75lGB0s4z1JKqus2MVuRcPMay0wWZbn8Qx9In_-tSTvEBLcxjUpDgwu29G0g0iCWoISFzLY4-LLvV7UBGklkByIcPtwYbDbREqRQAAAYYmXAsG\"}",
16
+ "link": "next_link"
17
+ }
18
+ }
19
+ ]
20
+ }); }
21
+ },
22
+ "EnterUserIdentifier": {
23
+ url: 'https://api.twitter.com/1.1/onboarding/task.json',
24
+ body: function (flowToken, email) { return ({
25
+ "flow_token": flowToken,
26
+ "subtask_inputs": [
27
+ {
28
+ "subtask_id": "LoginEnterUserIdentifierSSO",
29
+ "settings_list": {
30
+ "setting_responses": [
31
+ {
32
+ "key": "user_identifier",
33
+ "response_data": {
34
+ "text_data": {
35
+ "result": email
36
+ }
37
+ }
38
+ }
39
+ ],
40
+ "link": "next_link"
41
+ }
42
+ }
43
+ ]
44
+ }); }
45
+ },
46
+ "EnterAlternateUserIdentifier": {
47
+ url: 'https://api.twitter.com/1.1/onboarding/task.json',
48
+ body: function (flowToken, userName) { return ({
49
+ "flow_token": flowToken,
50
+ "subtask_inputs": [
51
+ {
52
+ "subtask_id": "LoginEnterAlternateIdentifierSubtask",
53
+ "enter_text": {
54
+ "text": userName,
55
+ "link": "next_link"
56
+ }
57
+ }
58
+ ]
59
+ }); }
60
+ },
61
+ "EnterPassword": {
62
+ url: 'https://api.twitter.com/1.1/onboarding/task.json',
63
+ body: function (flowToken, password) { return ({
64
+ "flow_token": flowToken,
65
+ "subtask_inputs": [
66
+ {
67
+ "subtask_id": "LoginEnterPassword",
68
+ "enter_password": {
69
+ "password": password,
70
+ "link": "next_link"
71
+ }
72
+ }
73
+ ]
74
+ }); }
75
+ },
76
+ "AccountDuplicationCheck": {
77
+ url: 'https://api.twitter.com/1.1/onboarding/task.json',
78
+ body: function (flowToken) { return ({
79
+ "flow_token": flowToken,
80
+ "subtask_inputs": [
81
+ {
82
+ "subtask_id": "AccountDuplicationCheck",
83
+ "check_logged_in_account": {
84
+ "link": "AccountDuplicationCheck_false"
85
+ }
86
+ }
87
+ ]
88
+ }); }
89
+ }
90
+ };
91
+ exports["default"] = LoginFlows;
92
+ //# sourceMappingURL=LoginFlows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginFlows.js","sourceRoot":"","sources":["../../../src/services/auth/LoginFlows.ts"],"names":[],"mappings":";;AAAA,IAAM,UAAU,GAAG;IACf,eAAe,EAAE;QACb,GAAG,EAAE,kEAAkE;KAC1E;IACD,0BAA0B,EAAE;QACxB,GAAG,EAAE,kDAAkD;QACvD,IAAI,EAAE,UAAC,SAAiB,IAAK,OAAA,CAAC;YAC1B,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE;gBACd;oBACI,YAAY,EAAE,+BAA+B;oBAC7C,oBAAoB,EAAE;wBAClB,UAAU,EAAE,wpBAAwpB;wBACpqB,MAAM,EAAE,WAAW;qBACtB;iBACJ;aACJ;SACJ,CAAC,EAX2B,CAW3B;KACL;IACD,qBAAqB,EAAE;QACnB,GAAG,EAAE,kDAAkD;QACvD,IAAI,EAAE,UAAC,SAAiB,EAAE,KAAa,IAAK,OAAA,CAAC;YACzC,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE;gBACd;oBACI,YAAY,EAAE,6BAA6B;oBAC3C,eAAe,EAAE;wBACb,mBAAmB,EAAE;4BACjB;gCACI,KAAK,EAAE,iBAAiB;gCACxB,eAAe,EAAE;oCACb,WAAW,EAAE;wCACT,QAAQ,EAAE,KAAK;qCAClB;iCACJ;6BACJ;yBACJ;wBACD,MAAM,EAAE,WAAW;qBACtB;iBACJ;aACJ;SACJ,CAAC,EApB0C,CAoB1C;KACL;IACD,8BAA8B,EAAE;QAC5B,GAAG,EAAE,kDAAkD;QACvD,IAAI,EAAE,UAAC,SAAiB,EAAE,QAAgB,IAAK,OAAA,CAAC;YAC5C,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE;gBACd;oBACI,YAAY,EAAE,sCAAsC;oBACpD,YAAY,EAAE;wBACV,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,WAAW;qBACtB;iBACJ;aACJ;SACJ,CAAC,EAX6C,CAW7C;KACL;IACD,eAAe,EAAE;QACb,GAAG,EAAE,kDAAkD;QACvD,IAAI,EAAE,UAAC,SAAiB,EAAE,QAAgB,IAAK,OAAA,CAAC;YAC5C,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE;gBACd;oBACI,YAAY,EAAE,oBAAoB;oBAClC,gBAAgB,EAAE;wBACd,UAAU,EAAE,QAAQ;wBACpB,MAAM,EAAE,WAAW;qBACtB;iBACJ;aACJ;SACJ,CAAC,EAX6C,CAW7C;KACL;IACD,yBAAyB,EAAE;QACvB,GAAG,EAAE,kDAAkD;QACvD,IAAI,EAAE,UAAC,SAAiB,IAAK,OAAA,CAAC;YAC1B,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE;gBACd;oBACI,YAAY,EAAE,yBAAyB;oBACvC,yBAAyB,EAAE;wBACvB,MAAM,EAAE,+BAA+B;qBAC1C;iBACJ;aACJ;SACJ,CAAC,EAV2B,CAU3B;KACL;CACJ,CAAA;AAED,qBAAe,UAAU,CAAC"}
@@ -1,8 +1,9 @@
1
- import { FetcherService } from "../FetcherService";
2
- import { AuthService } from "../AuthService";
3
- import { TweetFilter, Tweet } from "../../types/data/Tweet";
4
- import { User } from "../../types/data/User";
5
- import { CursoredData } from '../../types/data/Service';
1
+ import { FetcherService } from "../util/FetcherService";
2
+ import { AuthService } from "../auth/AuthService";
3
+ import { Tweet } from "../../models/data/Tweet";
4
+ import { User } from "../../models/data/User";
5
+ import { TweetFilter } from "../../models/args/TweetFilter";
6
+ import { CursoredData } from '../../models/data/CursoredData';
6
7
  /**
7
8
  * Handles fetching of data related to tweets.
8
9
  * @public
@@ -14,31 +15,60 @@ export declare class TweetService extends FetcherService {
14
15
  constructor(auth: AuthService);
15
16
  /**
16
17
  * @param filter The filter be used for searching the tweets.
17
- * @param count The number of tweets to fetch.
18
+ * @param count The number of tweets to fetch, must be >= 10 and <= 20
18
19
  * @param cursor The cursor to the next batch of tweets. If blank, first batch is fetched.
20
+ *
19
21
  * @returns The list of tweets that match the given filter.
20
- * @remarks count must be >= 1 and <= 100.
22
+ *
23
+ * @throws {@link Errors.ValidationErrors.InvalidCount} error, if an invalid count has been provided.
24
+ *
25
+ * @remarks
26
+ *
27
+ * If cookies have been provided, then authenticated requests are made. Else, guest requests are made.
21
28
  */
22
- getTweets(filter: TweetFilter, count: number, cursor: string): Promise<CursoredData<Tweet>>;
29
+ getTweets(query: TweetFilter, count?: number, cursor?: string): Promise<CursoredData<Tweet>>;
23
30
  /**
24
- * @param tweetId The rest id of the target tweet.
31
+ * @param id The id of the target tweet.
32
+ *
25
33
  * @returns The details of a single tweet with the given tweet id.
34
+ *
35
+ * @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
36
+ *
37
+ * @remarks
38
+ *
39
+ * No cookies are required to use this method.
26
40
  */
27
- getTweetById(tweetId: string): Promise<Tweet>;
41
+ getTweetDetails(id: string): Promise<Tweet>;
28
42
  /**
29
43
  * @param tweetId The rest id of the target tweet.
30
- * @param count The batch size of the list.
44
+ * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 20.
31
45
  * @param cursor The cursor to the next batch of users. If blank, first batch is fetched.
46
+ *
32
47
  * @returns The list of users who liked the given tweet.
33
- * @remarks count must be >= 10 (when no cursor is provided) and <= 100.
48
+ *
49
+ * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
50
+ * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count is provided.
51
+ * @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
52
+ *
53
+ * @remarks
54
+ *
55
+ * Cookies are required to use this method!
34
56
  */
35
- getTweetLikers(tweetId: string, count: number, cursor: string): Promise<CursoredData<User>>;
57
+ getTweetLikers(tweetId: string, count?: number, cursor?: string): Promise<CursoredData<User>>;
36
58
  /**
37
59
  * @param tweetId The rest id of the target tweet.
38
- * @param count The batch size of the list.
60
+ * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100.
39
61
  * @param cursor The cursor to the next batch of users. If blank, first batch is fetched.
62
+ *
40
63
  * @returns The list of users who retweeted the given tweet.
41
- * @remarks count must be >= 10 (when no cursor is provided) and <= 100.
64
+ *
65
+ * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
66
+ * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count is provided.
67
+ * @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
68
+ *
69
+ * @remarks
70
+ *
71
+ * Cookies are required to use this method!
42
72
  */
43
- getTweetRetweeters(tweetId: string, count: number, cursor: string): Promise<CursoredData<User>>;
73
+ getTweetRetweeters(tweetId: string, count?: number, cursor?: string): Promise<CursoredData<User>>;
44
74
  }
@@ -76,15 +76,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
76
76
  exports.__esModule = true;
77
77
  exports.TweetService = void 0;
78
78
  // SERVICES
79
- var FetcherService_1 = require("../FetcherService");
80
- var Errors = __importStar(require("../../types/data/Errors"));
79
+ var FetcherService_1 = require("../util/FetcherService");
80
+ // MODELS
81
+ var Tweet_1 = require("../../models/data/Tweet");
82
+ var User_1 = require("../../models/data/User");
83
+ var TweetListArgs_1 = require("../../models/args/TweetListArgs");
84
+ var TweetFilter_1 = require("../../models/args/TweetFilter");
85
+ var CursoredData_1 = require("../../models/data/CursoredData");
86
+ // ENUMS
87
+ var Errors_1 = require("../../enums/Errors");
81
88
  // URLS
82
89
  var TweetUrls = __importStar(require("../helper/urls/Tweets"));
83
90
  // EXTRACTORS
84
91
  var TweetExtractors = __importStar(require("../helper/extractors/Tweets"));
85
- // DESERIALIZERS
86
- var UserDeserializers = __importStar(require("../helper/deserializers/Users"));
87
- var TweetDeserializers = __importStar(require("../helper/deserializers/Tweets"));
88
92
  // PARSERS
89
93
  var Parser_1 = require("../helper/Parser");
90
94
  /**
@@ -93,7 +97,6 @@ var Parser_1 = require("../helper/Parser");
93
97
  */
94
98
  var TweetService = /** @class */ (function (_super) {
95
99
  __extends(TweetService, _super);
96
- // MEMBER METHODS
97
100
  /**
98
101
  * @param auth The AuthService instance to use for authentication.
99
102
  */
@@ -102,59 +105,69 @@ var TweetService = /** @class */ (function (_super) {
102
105
  }
103
106
  /**
104
107
  * @param filter The filter be used for searching the tweets.
105
- * @param count The number of tweets to fetch.
108
+ * @param count The number of tweets to fetch, must be >= 10 and <= 20
106
109
  * @param cursor The cursor to the next batch of tweets. If blank, first batch is fetched.
110
+ *
107
111
  * @returns The list of tweets that match the given filter.
108
- * @remarks count must be >= 1 and <= 100.
112
+ *
113
+ * @throws {@link Errors.ValidationErrors.InvalidCount} error, if an invalid count has been provided.
114
+ *
115
+ * @remarks
116
+ *
117
+ * If cookies have been provided, then authenticated requests are made. Else, guest requests are made.
109
118
  */
110
- TweetService.prototype.getTweets = function (filter, count, cursor) {
119
+ TweetService.prototype.getTweets = function (query, count, cursor) {
111
120
  return __awaiter(this, void 0, void 0, function () {
112
- var res, data, tweets;
121
+ var filter, args, res, data, tweets;
113
122
  return __generator(this, function (_a) {
114
123
  switch (_a.label) {
115
124
  case 0:
116
- // If invalid count provided
117
- if (count < 1 && !cursor) {
118
- throw new Error(Errors.ValidationErrors.InvalidCount);
119
- }
120
- return [4 /*yield*/, this.request(TweetUrls.tweetsUrl((0, Parser_1.toQueryString)(filter), count, cursor), false).then(function (res) { return res.data; })];
125
+ filter = new TweetFilter_1.TweetFilter(query);
126
+ args = new TweetListArgs_1.TweetListArgs(count, cursor);
127
+ return [4 /*yield*/, this.request(TweetUrls.tweetsUrl((0, Parser_1.toQueryString)(filter), args.count, args.cursor), this.isAuthenticated).then(function (res) { return res.data; })];
121
128
  case 1:
122
129
  res = _a.sent();
123
130
  data = TweetExtractors.extractTweets(res);
124
131
  // Caching data
125
132
  this.cacheData(data);
126
- tweets = data.required.map(function (item) { return TweetDeserializers.toTweet(item); });
127
- return [2 /*return*/, {
128
- list: tweets,
129
- next: { value: data.cursor }
130
- }];
133
+ tweets = data.required.map(function (item) { return new Tweet_1.Tweet(item); });
134
+ // Sorting the tweets by date, from recent to oldest
135
+ tweets.sort(function (a, b) { return new Date(b.createdAt).valueOf() - new Date(a.createdAt).valueOf(); });
136
+ return [2 /*return*/, new CursoredData_1.CursoredData(tweets, data.cursor)];
131
137
  }
132
138
  });
133
139
  });
134
140
  };
135
141
  /**
136
- * @param tweetId The rest id of the target tweet.
142
+ * @param id The id of the target tweet.
143
+ *
137
144
  * @returns The details of a single tweet with the given tweet id.
145
+ *
146
+ * @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
147
+ *
148
+ * @remarks
149
+ *
150
+ * No cookies are required to use this method.
138
151
  */
139
- TweetService.prototype.getTweetById = function (tweetId) {
152
+ TweetService.prototype.getTweetDetails = function (id) {
140
153
  return __awaiter(this, void 0, void 0, function () {
141
154
  var cachedData, res, data, tweet;
142
155
  return __generator(this, function (_a) {
143
156
  switch (_a.label) {
144
- case 0: return [4 /*yield*/, this.readData(tweetId)];
157
+ case 0: return [4 /*yield*/, this.readData(id)];
145
158
  case 1:
146
159
  cachedData = _a.sent();
147
160
  // If data exists in cache
148
161
  if (cachedData) {
149
162
  return [2 /*return*/, cachedData];
150
163
  }
151
- return [4 /*yield*/, this.request(TweetUrls.tweetDetailsUrl(tweetId), false).then(function (res) { return res.data; })];
164
+ return [4 /*yield*/, this.request(TweetUrls.tweetDetailsUrl(id), false).then(function (res) { return res.data; })];
152
165
  case 2:
153
166
  res = _a.sent();
154
- data = TweetExtractors.extractTweet(res, tweetId);
167
+ data = TweetExtractors.extractTweet(res, id);
155
168
  // Caching data
156
169
  this.cacheData(data);
157
- tweet = TweetDeserializers.toTweet(data.required[0]);
170
+ tweet = new Tweet_1.Tweet(data.required[0]);
158
171
  return [2 /*return*/, tweet];
159
172
  }
160
173
  });
@@ -162,72 +175,76 @@ var TweetService = /** @class */ (function (_super) {
162
175
  };
163
176
  /**
164
177
  * @param tweetId The rest id of the target tweet.
165
- * @param count The batch size of the list.
178
+ * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 20.
166
179
  * @param cursor The cursor to the next batch of users. If blank, first batch is fetched.
180
+ *
167
181
  * @returns The list of users who liked the given tweet.
168
- * @remarks count must be >= 10 (when no cursor is provided) and <= 100.
182
+ *
183
+ * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
184
+ * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count is provided.
185
+ * @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
186
+ *
187
+ * @remarks
188
+ *
189
+ * Cookies are required to use this method!
169
190
  */
170
191
  TweetService.prototype.getTweetLikers = function (tweetId, count, cursor) {
171
192
  return __awaiter(this, void 0, void 0, function () {
172
- var res, data, users;
193
+ var args, res, data, users;
173
194
  return __generator(this, function (_a) {
174
195
  switch (_a.label) {
175
196
  case 0:
176
197
  // If user is not authenticated, abort
177
198
  if (!this.isAuthenticated) {
178
- throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
199
+ throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
179
200
  }
180
- // If invalid count provided
181
- if (count < 10 && !cursor) {
182
- throw new Error(Errors.ValidationErrors.InvalidCount);
183
- }
184
- return [4 /*yield*/, this.request(TweetUrls.tweetLikesUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
201
+ args = new TweetListArgs_1.TweetListArgs(count, cursor);
202
+ return [4 /*yield*/, this.request(TweetUrls.tweetLikesUrl(tweetId, args.count, args.cursor)).then(function (res) { return res.data; })];
185
203
  case 1:
186
204
  res = _a.sent();
187
205
  data = TweetExtractors.extractTweetLikers(res);
188
206
  // Caching data
189
207
  this.cacheData(data);
190
- users = data.required.map(function (item) { return UserDeserializers.toUser(item); });
191
- return [2 /*return*/, {
192
- list: users,
193
- next: { value: data.cursor }
194
- }];
208
+ users = data.required.map(function (item) { return new User_1.User(item); });
209
+ return [2 /*return*/, new CursoredData_1.CursoredData(users, data.cursor)];
195
210
  }
196
211
  });
197
212
  });
198
213
  };
199
214
  /**
200
215
  * @param tweetId The rest id of the target tweet.
201
- * @param count The batch size of the list.
216
+ * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100.
202
217
  * @param cursor The cursor to the next batch of users. If blank, first batch is fetched.
218
+ *
203
219
  * @returns The list of users who retweeted the given tweet.
204
- * @remarks count must be >= 10 (when no cursor is provided) and <= 100.
220
+ *
221
+ * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
222
+ * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count is provided.
223
+ * @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
224
+ *
225
+ * @remarks
226
+ *
227
+ * Cookies are required to use this method!
205
228
  */
206
229
  TweetService.prototype.getTweetRetweeters = function (tweetId, count, cursor) {
207
230
  return __awaiter(this, void 0, void 0, function () {
208
- var res, data, users;
231
+ var args, res, data, users;
209
232
  return __generator(this, function (_a) {
210
233
  switch (_a.label) {
211
234
  case 0:
212
235
  // If user is not authenticated, abort
213
236
  if (!this.isAuthenticated) {
214
- throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
215
- }
216
- // If invalid count provided
217
- if (count < 10 && !cursor) {
218
- throw new Error(Errors.ValidationErrors.InvalidCount);
237
+ throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
219
238
  }
220
- return [4 /*yield*/, this.request(TweetUrls.tweetRetweetUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
239
+ args = new TweetListArgs_1.TweetListArgs(count, cursor);
240
+ return [4 /*yield*/, this.request(TweetUrls.tweetRetweetUrl(tweetId, args.count, args.cursor)).then(function (res) { return res.data; })];
221
241
  case 1:
222
242
  res = _a.sent();
223
243
  data = TweetExtractors.extractTweetRetweeters(res);
224
244
  // Caching data
225
245
  this.cacheData(data);
226
- users = data.required.map(function (item) { return UserDeserializers.toUser(item); });
227
- return [2 /*return*/, {
228
- list: users,
229
- next: { value: data.cursor }
230
- }];
246
+ users = data.required.map(function (item) { return new User_1.User(item); });
247
+ return [2 /*return*/, new CursoredData_1.CursoredData(users, data.cursor)];
231
248
  }
232
249
  });
233
250
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TweetService.js","sourceRoot":"","sources":["../../../src/services/data/TweetService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TweetService.js","sourceRoot":"","sources":["../../../src/services/data/TweetService.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { FetcherService } from '../FetcherService';
2
- import { AuthService } from '../AuthService';
3
- import { User } from '../../types/data/User';
4
- import { Tweet } from '../../types/data/Tweet';
5
- import { CursoredData } from '../../types/data/Service';
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
6
  /**
7
7
  * Handles fetching of data related to user account
8
8
  */
@@ -12,37 +12,61 @@ export declare class UserService extends FetcherService {
12
12
  */
13
13
  constructor(auth: AuthService);
14
14
  /**
15
- * @param screenName The screen name of the target user.
15
+ * @param id The id/username of the target user.
16
+ *
16
17
  * @returns The details of the given user.
18
+ *
19
+ * @throws {@link Errors.DataErrors.UserNotFound} error, if no user with the given username was found.
20
+ *
21
+ * @remarks
22
+ *
23
+ * No cookies are required to use this method.
17
24
  */
18
- getUserDetails(screenName: string): Promise<User>;
19
- /**
20
- * @param restId The screen name of the target user.
21
- * @returns The details of the user with given rest id.
22
- */
23
- getUserDetailsById(restId: string): Promise<User>;
25
+ getUserDetails(id: string): Promise<User>;
24
26
  /**
25
27
  * @param userId The rest id of the target user.
26
- * @param count The number of following to fetch.
28
+ * @param count The number of following to fetch, must be >= 40 (when no cursor is provided) and <=100.
27
29
  * @param cursor The cursor to next batch. If blank, first batch is fetched.
30
+ *
28
31
  * @returns The list of users followed by the target user.
29
- * @remarks count must be >= 40 (when no cursor is provided) and <=100.
32
+ *
33
+ * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
34
+ * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count has been provided.
35
+ * @throws {@link Errors.DataErrors.UserNotFound} error, if invalid count has been provided.
36
+ *
37
+ * @remarks
38
+ *
39
+ * Cookies are required to use this method!
30
40
  */
31
- getUserFollowing(userId: string, count: number, cursor: string): Promise<CursoredData<User>>;
41
+ getUserFollowing(userId: string, count?: number, cursor?: string): Promise<CursoredData<User>>;
32
42
  /**
33
43
  * @param userId The rest id of the target user.
34
- * @param count The number of followers to fetch.
44
+ * @param count The number of followers to fetch, must be >= 40 (when no cursor is provided) and <=100.
35
45
  * @param cursor The cursor to next batch. If blank, first batch is fetched.
46
+ *
36
47
  * @returns The list of users following the target user.
37
- * @remarks count must be >= 40 (when no cursor is provided) and <=100.
48
+ *
49
+ * @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
50
+ * @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count has been provided.
51
+ * @throws {@link Errors.DataErrors.UserNotFound} error, if invalid count has been provided.
52
+ *
53
+ * @remarks
54
+ *
55
+ * Cookies are required to use this method!
38
56
  */
39
- getUserFollowers(userId: string, count: number, cursor: string): Promise<CursoredData<User>>;
57
+ getUserFollowers(userId: string, count?: number, cursor?: string): Promise<CursoredData<User>>;
40
58
  /**
41
59
  * @param userId The rest id of the target user.
42
60
  * @param count The number of likes to fetch.
43
- * @param cursor The cursor to next batch. If blank, first batch is fetched.
61
+ * @param cursor The cursor to next batch. If blank, first batch is fetched, must be >= 40 (when no cursor is provided) and <=100.
62
+ *
44
63
  * @returns The list of tweets liked by the target user.
45
- * @remarks count must be >= 40 (when no cursor is provided) and <= 100.
64
+ *
65
+ * @throws {@link AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
66
+ *
67
+ * @remarks
68
+ *
69
+ * Cookies are required to use this method!
46
70
  */
47
- getUserLikes(userId: string, count: number, cursor: string): Promise<CursoredData<Tweet>>;
71
+ getUserLikes(userId: string, count?: number, cursor?: string): Promise<CursoredData<Tweet>>;
48
72
  }