Skip to content

Commit

Permalink
refactor: idk what to put here
Browse files Browse the repository at this point in the history
  • Loading branch information
harljo committed Apr 21, 2024
1 parent 5605543 commit ca868d3
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 33 deletions.
3 changes: 2 additions & 1 deletion lib/client/client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,11 @@ class _QuackerTwitterClient extends TwitterClient {

static Future<http.Response?> fetch(Uri uri, {Map<String, String>? headers}) async {
var prefs = await PrefServiceShared.init(prefix: 'pref_');
final XRegularAccount xRegularAccount = XRegularAccount(prefs);
var authHeader = await getAuthHeader(prefs);

if (authHeader != null) {
return await fetchAuthenticated(uri, headers: headers, log: log, prefs: prefs, authHeader: authHeader);
return await xRegularAccount.fetch(uri, headers: headers, log: log, prefs: prefs, authHeader: authHeader);
} else {
return await fetchUnauthenticated(uri, headers: headers, log: log);
}
Expand Down
53 changes: 26 additions & 27 deletions lib/client/client_regular_account.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import 'package:quacker/generated/l10n.dart';

Future<String> addAccount(BasePrefService prefs, String username, String password, String email) async {
var database = await Repository.writable();
final model = WebFlowAuthModel(prefs);
final model = XRegularAccount(prefs);

try {
final authHeader = await model.GetAuthHeader(username: username, password: password, email: email);
Expand Down Expand Up @@ -42,7 +42,7 @@ Future<List<Map<String, Object?>>> getAccounts() async {

Future<Map<dynamic, dynamic>?> getAuthHeader(BasePrefService prefs) async {
final accounts = await getAccounts();
final model = WebFlowAuthModel(prefs);
final model = XRegularAccount(prefs);

if (accounts.isNotEmpty) {
Map<String, Object?> account = accounts[Random().nextInt(accounts.length)];
Expand All @@ -56,35 +56,13 @@ Future<Map<dynamic, dynamic>?> getAuthHeader(BasePrefService prefs) async {
}
}

Future<http.Response?> fetchAuthenticated(Uri uri,
{Map<String, String>? headers,
required Logger log,
required BasePrefService prefs,
required Map<dynamic, dynamic> authHeader}) async {
log.info('Fetching $uri');

WebFlowAuthModel webFlowAuthModel = WebFlowAuthModel(prefs);
var response = await http.get(uri, headers: {
...?headers,
...authHeader,
...userAgentHeader,
'authorization': bearerToken,
'x-guest-token': (await webFlowAuthModel.GetGT(userAgentHeader)).toString(),
'x-twitter-active-user': 'yes',
'user-agent': userAgentHeader.toString()
});

return response;
}

class WebFlowAuthModel extends ChangeNotifier {
static final log = Logger('WebFlowAuthModel');
class XRegularAccount extends ChangeNotifier {
static final log = Logger('XRegularAccount');

WebFlowAuthModel(this.prefs) : super();
XRegularAccount(this.prefs) : super();
final BasePrefService prefs;

static http.Client client = http.Client();
//static webFlowAuthModel =WebFlowAuthModel();
static List<String> cookies = [];

static Map<String, String>? _authHeader;
Expand All @@ -102,6 +80,27 @@ class WebFlowAuthModel extends ChangeNotifier {
csrf_token;
static var kdt_Coookie;

Future<http.Response?> fetch(Uri uri,
{Map<String, String>? headers,
required Logger log,
required BasePrefService prefs,
required Map<dynamic, dynamic> authHeader}) async {
log.info('Fetching $uri');

XRegularAccount xRegularAccount = XRegularAccount(prefs);
var response = await http.get(uri, headers: {
...?headers,
...authHeader,
...userAgentHeader,
'authorization': bearerToken,
'x-guest-token': (await xRegularAccount.GetGT(userAgentHeader)).toString(),
'x-twitter-active-user': 'yes',
'user-agent': userAgentHeader.toString()
});

return response;
}

static Future<PrefServiceShared> GetSharedPrefs() async {
return await PrefServiceShared.init(prefix: 'pref_');
// prefs = await SharedPreferences.getInstance();
Expand Down
2 changes: 1 addition & 1 deletion lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ Future<void> main() async {
Provider(create: (context) => TrendLocationsModel()),
Provider(create: (context) => TrendsModel(trendLocationModel)),
ChangeNotifierProvider(create: (_) => VideoContextState(prefService.get(optionMediaDefaultMute))),
ChangeNotifierProvider(create: (_) => WebFlowAuthModel(prefService)),
ChangeNotifierProvider(create: (_) => XRegularAccount(prefService)),
],
child: FritterApp(),
builder: (BuildContext _, Widget? w) => w ?? Container(),
Expand Down
4 changes: 2 additions & 2 deletions lib/settings/_account.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class SettingsAccountFragment extends StatefulWidget {
class _SettingsAccountFragment extends State<SettingsAccountFragment> {
@override
Widget build(BuildContext context) {
var model = context.read<WebFlowAuthModel>();
var model = context.read<XRegularAccount>();
return Scaffold(
appBar: AppBar(
title: Text(L10n.current.account),
Expand Down Expand Up @@ -62,7 +62,7 @@ class _SettingsAccountFragment extends State<SettingsAccountFragment> {
}

class addDialog extends StatefulWidget {
final WebFlowAuthModel model;
final XRegularAccount model;
final String username;
final String password;
final String email;
Expand Down
2 changes: 0 additions & 2 deletions lib/settings/settings.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import 'dart:async';

import 'package:dynamic_color/dynamic_color.dart';
import 'package:flutter/material.dart';
import 'package:quacker/generated/l10n.dart';
import 'package:quacker/settings/_about.dart';
Expand Down

0 comments on commit ca868d3

Please sign in to comment.