| 
									
										
										
										
											2021-07-13 13:14:49 +08:00
										 |  |  | import 'package:dartz/dartz.dart'; | 
					
						
							| 
									
										
										
										
											2021-12-05 14:04:25 +08:00
										 |  |  | import 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart'; | 
					
						
							| 
									
										
										
										
											2021-11-10 23:39:51 +08:00
										 |  |  | import 'package:flowy_sdk/protobuf/flowy-workspace-infra/protobuf.dart'; | 
					
						
							| 
									
										
										
										
											2021-12-05 14:04:25 +08:00
										 |  |  | import 'package:flowy_sdk/protobuf/flowy-user-infra/protobuf.dart' show UserProfile; | 
					
						
							| 
									
										
										
										
											2021-07-25 18:04:16 +08:00
										 |  |  | import 'package:flutter/material.dart'; | 
					
						
							| 
									
										
										
										
											2021-07-13 13:14:49 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-08 19:19:02 +08:00
										 |  |  | class NewUser { | 
					
						
							|  |  |  |   UserProfile profile; | 
					
						
							|  |  |  |   String workspaceId; | 
					
						
							|  |  |  |   NewUser({ | 
					
						
							|  |  |  |     required this.profile, | 
					
						
							|  |  |  |     required this.workspaceId, | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-13 13:14:49 +08:00
										 |  |  | abstract class IAuth { | 
					
						
							| 
									
										
										
										
											2021-11-08 14:11:10 +08:00
										 |  |  |   Future<Either<UserProfile, UserError>> signIn(String? email, String? password); | 
					
						
							| 
									
										
										
										
											2021-11-08 23:15:29 +08:00
										 |  |  |   Future<Either<UserProfile, UserError>> signUp(String? name, String? password, String? email); | 
					
						
							| 
									
										
										
										
											2021-07-13 13:23:03 +08:00
										 |  |  |   Future<Either<Unit, UserError>> signOut(); | 
					
						
							| 
									
										
										
										
											2021-07-13 13:14:49 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2021-07-25 18:04:16 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | abstract class IAuthRouter { | 
					
						
							| 
									
										
										
										
											2021-09-06 16:18:34 +08:00
										 |  |  |   void pushWelcomeScreen(BuildContext context, UserProfile userProfile); | 
					
						
							|  |  |  |   void pushSignUpScreen(BuildContext context); | 
					
						
							|  |  |  |   void pushForgetPasswordScreen(BuildContext context); | 
					
						
							| 
									
										
										
										
											2021-11-10 23:39:51 +08:00
										 |  |  |   void pushHomeScreen(BuildContext context, UserProfile profile, CurrentWorkspaceSetting workspaceSetting); | 
					
						
							| 
									
										
										
										
											2021-07-25 18:04:16 +08:00
										 |  |  | } |