76 lines
1.7 KiB
Dart
Executable File
76 lines
1.7 KiB
Dart
Executable File
import 'package:flutter/material.dart';
|
|
import 'package:injectable/injectable.dart';
|
|
import 'package:uae_stat/domain/entities/preferences_entity.dart';
|
|
import 'package:uae_stat/domain/entities/session_entity.dart';
|
|
|
|
@test
|
|
@injectable
|
|
class TAuthRepo {
|
|
static final _sample = SessionEntity(
|
|
id: '',
|
|
expiresOn: DateTime.now().add(
|
|
const Duration(days: 30),
|
|
),
|
|
token: 'token',
|
|
modelJson: {'favorites': []},
|
|
);
|
|
static SessionEntity? _state;
|
|
|
|
Future<SessionEntity?> fetchLocallyStored() => Future.delayed(
|
|
kThemeAnimationDuration,
|
|
() => _state,
|
|
);
|
|
|
|
/// throws [LoginError]
|
|
Future<SessionEntity> login(
|
|
String email,
|
|
String pw,
|
|
) =>
|
|
Future.delayed(
|
|
kThemeAnimationDuration,
|
|
() => _sample,
|
|
);
|
|
|
|
Future<SessionEntity> fetchRefreshedSession() => Future.delayed(
|
|
kThemeAnimationDuration,
|
|
() => _state!,
|
|
);
|
|
|
|
Future googleAndAppleAuthencation(token) => Future.delayed(
|
|
kThemeAnimationDuration,
|
|
() => _sample,
|
|
);
|
|
|
|
Future<void> logout() => Future.delayed(
|
|
kThemeAnimationDuration,
|
|
() => _state = null,
|
|
);
|
|
|
|
/// throws [RegisterError]
|
|
Future<void> register({
|
|
required String name,
|
|
required String email,
|
|
required String pw,
|
|
required PreferencesEntity preferences,
|
|
}) =>
|
|
Future.delayed(
|
|
kThemeAnimationDuration,
|
|
);
|
|
|
|
Future<void> requestEmailVerification(
|
|
String email,
|
|
) =>
|
|
Future.delayed(
|
|
kThemeAnimationDuration,
|
|
);
|
|
|
|
Future<void> requestPwReset(
|
|
String email,
|
|
) =>
|
|
Future.delayed(
|
|
kThemeAnimationDuration,
|
|
);
|
|
|
|
bool didSessionExpire() => false;
|
|
}
|