Skip to content

Instantly share code, notes, and snippets.

View vaygeth89's full-sized avatar

Abdulmohsen Alkhamees vaygeth89

View GitHub Profile
@vaygeth89
vaygeth89 / models.dart
Created October 12, 2021 03:31
Our models
class SignIn {
final String email;
final String password;
SignIn({
required this.email,
required this.password,
});
}
class RenewAccessToken {
import 'package:tutorial_flutter_minimalist_authentication/exceptions/access_token_exception.dart';
import 'package:tutorial_flutter_minimalist_authentication/models/account/renew_access_token.dart';
import 'package:tutorial_flutter_minimalist_authentication/models/account/sign_in.dart';
import 'package:tutorial_flutter_minimalist_authentication/models/api/business_error.dart';
import 'package:tutorial_flutter_minimalist_authentication/models/session/authentication_data.dart';
import 'package:tutorial_flutter_minimalist_authentication/repositories/api/account_repository.dart';
class FakeAccountAPIRepository implements AccountRepository {
final _fakeAuthData = AuthenticationData(
accessToken: "fakeAccessToken",
import 'package:flutter/material.dart';
import 'package:tutorial_flutter_minimalist_authentication/routes/routes.dart';
class LandingPage extends StatelessWidget {
const LandingPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Landing page")),
class Routes {
static const String landingPageRoute = "/";
static const String signInPageRoute = "/sign-in";
static const String profilePageRoute = "/profile";
static Route<dynamic> generateRoute(RouteSettings settings) {
switch (settings.name) {
case signInPageRoute:
{
return CupertinoPageRoute(
import 'package:flutter/material.dart';
class UnprotectedProfilePage extends StatelessWidget {
const UnprotectedProfilePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Profile Page"),
import 'package:flutter/material.dart';
import 'package:tutorial_flutter_minimalist_authentication/models/account/sign_in.dart';
import 'package:tutorial_flutter_minimalist_authentication/widgets/sign_in_form.dart';
class SignInPage extends StatelessWidget {
const SignInPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
import 'package:flutter/material.dart';;
import 'package:tutorial_flutter_minimalist_authentication/routes/routes.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
class AuthenticationData {
final String id;
final String accessToken;
final String refreshToken;
AuthenticationData({
required this.accessToken,
required this.refreshToken,
required this.id,
});
class RenewAccessToken {
String refreshToken;
RenewAccessToken({
required this.refreshToken,
});
}
class SignIn {
final String email;
final String password;
SignIn({
required this.email,
required this.password,
});
}