Skip to content

Commit 28f3b84

Browse files
Merge pull request #2 from IgorKhramtsov/IK_reddit
Reddit api, reddit scrapper
2 parents fcdad8e + 5ad00a0 commit 28f3b84

40 files changed

+1964
-619
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
.pub-cache/
3131
.pub/
3232
/build/
33+
ios/build/
3334

3435
# Web related
3536
lib/generated_plugin_registrant.dart

ios/Flutter/AppFrameworkInfo.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@
2121
<key>CFBundleVersion</key>
2222
<string>1.0</string>
2323
<key>MinimumOSVersion</key>
24-
<string>8.0</string>
24+
<string>9.0</string>
2525
</dict>
2626
</plist>

ios/Podfile.lock

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ EXTERNAL SOURCES:
1919
:path: ".symlinks/plugins/url_launcher/ios"
2020

2121
SPEC CHECKSUMS:
22-
Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c
22+
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
2323
path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
2424
url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef
2525

2626
PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c
2727

28-
COCOAPODS: 1.10.1
28+
COCOAPODS: 1.10.2

lib/application/accounts/bloc/accounts_bloc.dart

+2-25
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
import 'dart:async';
22

3-
import 'package:bloc/bloc.dart';
43
import 'package:devour/application/navigator/app_navigator.dart';
54
import 'package:devour/application/navigator/routes.dart';
6-
import 'package:devour/domain/auth/oauth_account_model.dart';
75
import 'package:devour/domain/auth/reddit_account.dart';
86
import 'package:devour/domain/repositories/account_repository.dart';
9-
import 'package:devour/infrastructure/api/reddit_api.dart';
10-
import 'package:devour/infrastructure/api/reddit_auth_api.dart';
7+
import 'package:devour/infrastructure/api/reddit/reddit_auth_api.dart';
118
import 'package:devour/infrastructure/core/misc.dart';
12-
import 'package:devour/infrastructure/register_module.dart';
13-
import 'package:devour/injection.dart';
14-
import 'package:dio/dio.dart';
9+
import 'package:flutter_bloc/flutter_bloc.dart';
1510
import 'package:fpdart/fpdart.dart';
1611
import 'package:freezed_annotation/freezed_annotation.dart';
1712
import 'package:injectable/injectable.dart';
@@ -39,7 +34,6 @@ class AccountsBloc extends Bloc<AccountsEvent, AccountsState> {
3934
yield* event.map(
4035
Fetching: (_Fetching value) async* {
4136
final account = _accountsRepository.getAccount<RedditAccount>();
42-
_updateDioOptions(account);
4337

4438
yield state.copyWith(
4539
redditAccount: account,
@@ -50,7 +44,6 @@ class AccountsBloc extends Bloc<AccountsEvent, AccountsState> {
5044
final response = await _redditAuthAPI.getAccessToken(e.args.code);
5145
final account = RedditAccount.fromResponse(response);
5246
_accountsRepository.setAccount(account);
53-
_updateDioOptions(Option.of(account));
5447

5548
yield state.copyWith(
5649
redditAccount: Option.of(account),
@@ -70,20 +63,4 @@ class AccountsBloc extends Bloc<AccountsEvent, AccountsState> {
7063
},
7164
);
7265
}
73-
74-
/// Updates interceptors of reddit dio, to add Authorization header, and catch expired
75-
/// token exception, to refresh it and retry.
76-
void _updateDioOptions(Option<OAuthAccountModel> accountOption) {
77-
if (accountOption.isNone()) {
78-
return;
79-
}
80-
final account = accountOption.toNullable()!;
81-
82-
final dio = serviceLocator<Dio>(instanceName: kRedditDioName);
83-
dio.interceptors.clear();
84-
if (account is RedditAccount) {
85-
dio.interceptors.add(RedditAPI.getAuthenticationTokenInterceptor());
86-
dio.interceptors.add(RedditAuthAPI.getRefreshTokenInterceptor(dio));
87-
}
88-
}
8966
}

lib/application/accounts/bloc/accounts_bloc.freezed.dart

+146-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
// coverage:ignore-file
12
// GENERATED CODE - DO NOT MODIFY BY HAND
2-
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides
3+
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target
34

45
part of 'accounts_bloc.dart';
56

@@ -54,6 +55,15 @@ mixin _$AccountsEvent {
5455
}) =>
5556
throw _privateConstructorUsedError;
5657
@optionalTypeArgs
58+
TResult? whenOrNull<TResult extends Object?>({
59+
TResult Function()? Fetching,
60+
TResult Function()? RequestAuthorizationReddit,
61+
TResult Function()? RequestAuthorizationVK,
62+
TResult Function(RedditRedirectArguments args)? AuthorizeReddit,
63+
TResult Function()? AuthorizeVK,
64+
}) =>
65+
throw _privateConstructorUsedError;
66+
@optionalTypeArgs
5767
TResult maybeWhen<TResult extends Object?>({
5868
TResult Function()? Fetching,
5969
TResult Function()? RequestAuthorizationReddit,
@@ -75,6 +85,16 @@ mixin _$AccountsEvent {
7585
}) =>
7686
throw _privateConstructorUsedError;
7787
@optionalTypeArgs
88+
TResult? mapOrNull<TResult extends Object?>({
89+
TResult Function(_Fetching value)? Fetching,
90+
TResult Function(_RequestAuthorizationReddit value)?
91+
RequestAuthorizationReddit,
92+
TResult Function(_RequestAuthorizationVK value)? RequestAuthorizationVK,
93+
TResult Function(_AuthorizeReddit value)? AuthorizeReddit,
94+
TResult Function(_AuthorizeVK value)? AuthorizeVK,
95+
}) =>
96+
throw _privateConstructorUsedError;
97+
@optionalTypeArgs
7898
TResult maybeMap<TResult extends Object?>({
7999
TResult Function(_Fetching value)? Fetching,
80100
TResult Function(_RequestAuthorizationReddit value)?
@@ -150,6 +170,18 @@ class _$_Fetching implements _Fetching {
150170
return Fetching();
151171
}
152172

173+
@override
174+
@optionalTypeArgs
175+
TResult? whenOrNull<TResult extends Object?>({
176+
TResult Function()? Fetching,
177+
TResult Function()? RequestAuthorizationReddit,
178+
TResult Function()? RequestAuthorizationVK,
179+
TResult Function(RedditRedirectArguments args)? AuthorizeReddit,
180+
TResult Function()? AuthorizeVK,
181+
}) {
182+
return Fetching?.call();
183+
}
184+
153185
@override
154186
@optionalTypeArgs
155187
TResult maybeWhen<TResult extends Object?>({
@@ -180,6 +212,19 @@ class _$_Fetching implements _Fetching {
180212
return Fetching(this);
181213
}
182214

215+
@override
216+
@optionalTypeArgs
217+
TResult? mapOrNull<TResult extends Object?>({
218+
TResult Function(_Fetching value)? Fetching,
219+
TResult Function(_RequestAuthorizationReddit value)?
220+
RequestAuthorizationReddit,
221+
TResult Function(_RequestAuthorizationVK value)? RequestAuthorizationVK,
222+
TResult Function(_AuthorizeReddit value)? AuthorizeReddit,
223+
TResult Function(_AuthorizeVK value)? AuthorizeVK,
224+
}) {
225+
return Fetching?.call(this);
226+
}
227+
183228
@override
184229
@optionalTypeArgs
185230
TResult maybeMap<TResult extends Object?>({
@@ -253,6 +298,18 @@ class _$_RequestAuthorizationReddit implements _RequestAuthorizationReddit {
253298
return RequestAuthorizationReddit();
254299
}
255300

301+
@override
302+
@optionalTypeArgs
303+
TResult? whenOrNull<TResult extends Object?>({
304+
TResult Function()? Fetching,
305+
TResult Function()? RequestAuthorizationReddit,
306+
TResult Function()? RequestAuthorizationVK,
307+
TResult Function(RedditRedirectArguments args)? AuthorizeReddit,
308+
TResult Function()? AuthorizeVK,
309+
}) {
310+
return RequestAuthorizationReddit?.call();
311+
}
312+
256313
@override
257314
@optionalTypeArgs
258315
TResult maybeWhen<TResult extends Object?>({
@@ -283,6 +340,19 @@ class _$_RequestAuthorizationReddit implements _RequestAuthorizationReddit {
283340
return RequestAuthorizationReddit(this);
284341
}
285342

343+
@override
344+
@optionalTypeArgs
345+
TResult? mapOrNull<TResult extends Object?>({
346+
TResult Function(_Fetching value)? Fetching,
347+
TResult Function(_RequestAuthorizationReddit value)?
348+
RequestAuthorizationReddit,
349+
TResult Function(_RequestAuthorizationVK value)? RequestAuthorizationVK,
350+
TResult Function(_AuthorizeReddit value)? AuthorizeReddit,
351+
TResult Function(_AuthorizeVK value)? AuthorizeVK,
352+
}) {
353+
return RequestAuthorizationReddit?.call(this);
354+
}
355+
286356
@override
287357
@optionalTypeArgs
288358
TResult maybeMap<TResult extends Object?>({
@@ -354,6 +424,18 @@ class _$_RequestAuthorizationVK implements _RequestAuthorizationVK {
354424
return RequestAuthorizationVK();
355425
}
356426

427+
@override
428+
@optionalTypeArgs
429+
TResult? whenOrNull<TResult extends Object?>({
430+
TResult Function()? Fetching,
431+
TResult Function()? RequestAuthorizationReddit,
432+
TResult Function()? RequestAuthorizationVK,
433+
TResult Function(RedditRedirectArguments args)? AuthorizeReddit,
434+
TResult Function()? AuthorizeVK,
435+
}) {
436+
return RequestAuthorizationVK?.call();
437+
}
438+
357439
@override
358440
@optionalTypeArgs
359441
TResult maybeWhen<TResult extends Object?>({
@@ -384,6 +466,19 @@ class _$_RequestAuthorizationVK implements _RequestAuthorizationVK {
384466
return RequestAuthorizationVK(this);
385467
}
386468

469+
@override
470+
@optionalTypeArgs
471+
TResult? mapOrNull<TResult extends Object?>({
472+
TResult Function(_Fetching value)? Fetching,
473+
TResult Function(_RequestAuthorizationReddit value)?
474+
RequestAuthorizationReddit,
475+
TResult Function(_RequestAuthorizationVK value)? RequestAuthorizationVK,
476+
TResult Function(_AuthorizeReddit value)? AuthorizeReddit,
477+
TResult Function(_AuthorizeVK value)? AuthorizeVK,
478+
}) {
479+
return RequestAuthorizationVK?.call(this);
480+
}
481+
387482
@override
388483
@optionalTypeArgs
389484
TResult maybeMap<TResult extends Object?>({
@@ -489,6 +584,18 @@ class _$_AuthorizeReddit implements _AuthorizeReddit {
489584
return AuthorizeReddit(args);
490585
}
491586

587+
@override
588+
@optionalTypeArgs
589+
TResult? whenOrNull<TResult extends Object?>({
590+
TResult Function()? Fetching,
591+
TResult Function()? RequestAuthorizationReddit,
592+
TResult Function()? RequestAuthorizationVK,
593+
TResult Function(RedditRedirectArguments args)? AuthorizeReddit,
594+
TResult Function()? AuthorizeVK,
595+
}) {
596+
return AuthorizeReddit?.call(args);
597+
}
598+
492599
@override
493600
@optionalTypeArgs
494601
TResult maybeWhen<TResult extends Object?>({
@@ -519,6 +626,19 @@ class _$_AuthorizeReddit implements _AuthorizeReddit {
519626
return AuthorizeReddit(this);
520627
}
521628

629+
@override
630+
@optionalTypeArgs
631+
TResult? mapOrNull<TResult extends Object?>({
632+
TResult Function(_Fetching value)? Fetching,
633+
TResult Function(_RequestAuthorizationReddit value)?
634+
RequestAuthorizationReddit,
635+
TResult Function(_RequestAuthorizationVK value)? RequestAuthorizationVK,
636+
TResult Function(_AuthorizeReddit value)? AuthorizeReddit,
637+
TResult Function(_AuthorizeVK value)? AuthorizeVK,
638+
}) {
639+
return AuthorizeReddit?.call(this);
640+
}
641+
522642
@override
523643
@optionalTypeArgs
524644
TResult maybeMap<TResult extends Object?>({
@@ -595,6 +715,18 @@ class _$_AuthorizeVK implements _AuthorizeVK {
595715
return AuthorizeVK();
596716
}
597717

718+
@override
719+
@optionalTypeArgs
720+
TResult? whenOrNull<TResult extends Object?>({
721+
TResult Function()? Fetching,
722+
TResult Function()? RequestAuthorizationReddit,
723+
TResult Function()? RequestAuthorizationVK,
724+
TResult Function(RedditRedirectArguments args)? AuthorizeReddit,
725+
TResult Function()? AuthorizeVK,
726+
}) {
727+
return AuthorizeVK?.call();
728+
}
729+
598730
@override
599731
@optionalTypeArgs
600732
TResult maybeWhen<TResult extends Object?>({
@@ -625,6 +757,19 @@ class _$_AuthorizeVK implements _AuthorizeVK {
625757
return AuthorizeVK(this);
626758
}
627759

760+
@override
761+
@optionalTypeArgs
762+
TResult? mapOrNull<TResult extends Object?>({
763+
TResult Function(_Fetching value)? Fetching,
764+
TResult Function(_RequestAuthorizationReddit value)?
765+
RequestAuthorizationReddit,
766+
TResult Function(_RequestAuthorizationVK value)? RequestAuthorizationVK,
767+
TResult Function(_AuthorizeReddit value)? AuthorizeReddit,
768+
TResult Function(_AuthorizeVK value)? AuthorizeVK,
769+
}) {
770+
return AuthorizeVK?.call(this);
771+
}
772+
628773
@override
629774
@optionalTypeArgs
630775
TResult maybeMap<TResult extends Object?>({

0 commit comments

Comments
 (0)