James Maddinson
James Maddinson

Reputation: 33

How do I print a value from an instance of 'User' in a flutter?

class User {
 String token;
 User({this.token});
} 

class AuthService {
final String url = 'https://reqres.in/api/login';
final controller = StreamController<User>();

Future<User> signIn(String email, String password) async {
final response =
    await post(url, body: {'email': email, 'password': password});
final data = jsonDecode(response.body);
final user = _userFromDatabaseUser(data);
// print(user.token);
controller.add(user);
return user;
}

//create user obj based on the database user
User _userFromDatabaseUser(Map user) {
return user != null ? User(token: user['token']) : null;
}

//user stream for provider
Stream<User> get user {
 return controller.stream;
}
}
//in Sign in page 
onPressed: () async {
if (_formKey.currentState.validate()) {
 dynamic result = await _auth.signIn(email, password);
 print(result); // Instance of 'User'                                        
 }
}

I am new to flutter and want to make an app that only authenticated users. I'm trying to read user token data from a stream. then check that token is not null if I got token then goto home page otherwise it will show error how do I print or store token value?

Upvotes: 0

Views: 2325

Answers (3)

Rohit Soni
Rohit Soni

Reputation: 1447

You can print using

print(userModel.toString());

Upvotes: 0

Yashawant
Yashawant

Reputation: 1150

You can override Object.toString method.

you can add this method in your User class to print the token instead of Instance of 'User'.

@override
String toString() {
   // TODO: change the below return to your desired string
   return "token: $token";
}

Upvotes: 0

Sagar Acharya
Sagar Acharya

Reputation: 3767

You can do is when you get the user after the sign In:

 User result = await _auth.signIn(email, password);

Then to see the data you can do is

print(result.token);

which will give you the token, and then you can use the shared prefrences to store your token and access it. Check out the docs for the it: https://pub.dev/packages/shared_preferences

Upvotes: 1

Related Questions