Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
2
22_23-J 21
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
22_23-J 21
22_23-J 21
Commits
1f695b89
Commit
1f695b89
authored
May 10, 2023
by
Rathnayake K.U.R.S.D
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added providers
parent
aae16fd7
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
200 additions
and
0 deletions
+200
-0
FrontEnd/lib/providers/authentication_provider.dart
FrontEnd/lib/providers/authentication_provider.dart
+133
-0
FrontEnd/lib/providers/disease_provider.dart
FrontEnd/lib/providers/disease_provider.dart
+37
-0
FrontEnd/lib/providers/storage_provider.dart
FrontEnd/lib/providers/storage_provider.dart
+30
-0
No files found.
FrontEnd/lib/providers/authentication_provider.dart
0 → 100644
View file @
1f695b89
import
'package:firebase_auth/firebase_auth.dart'
;
import
'package:flutter/material.dart'
;
import
'package:govimithura/models/error_model.dart'
;
import
'package:govimithura/utils/utils.dart'
;
import
'../models/auth_model.dart'
;
import
'../models/user_model.dart'
;
import
'../services/auth_service.dart'
;
import
'../services/user_service.dart'
;
class
AuthenticationProvider
extends
ChangeNotifier
{
AuthService
authService
=
AuthService
();
UserModel
userModel
=
UserModel
();
AuthModel
authModel
=
AuthModel
();
bool
isOpen
=
false
;
Future
<
bool
>
login
()
async
{
bool
success
=
await
authService
.
login
(
authModel
).
then
((
value
)
=>
value
);
if
(
success
)
{
await
getCurentUserModel
();
}
return
success
;
}
Future
<
bool
>
register
()
async
{
userModel
.
authModel
=
authModel
;
return
await
authService
.
register
(
userModel
.
authModel
!).
then
(
(
value
)
{
if
(
value
!=
null
)
{
userModel
.
authModel
=
value
;
UserService
.
addUser
(
userModel
);
return
true
;
}
else
{
return
false
;
}
},
);
}
Future
<
void
>
signOut
()
async
{
await
authService
.
signOut
();
}
bool
isLoggedIn
()
{
return
authService
.
isLoggedIn
();
}
Future
<
UserModel
?>
getCurentUserModel
()
async
{
if
(
authService
.
isLoggedIn
())
{
return
await
UserService
.
getCurentUser
().
then
((
value
)
{
if
(
value
!=
null
)
{
Map
<
String
,
dynamic
>
user
=
value
.
docs
.
first
.
data
();
authModel
.
email
=
user
[
'email'
];
authModel
.
userType
=
user
[
'user_type'
];
authModel
.
uid
=
user
[
'uid'
];
userModel
.
authModel
=
authModel
;
userModel
.
firstName
=
user
[
'first_name'
];
userModel
.
lastName
=
user
[
'last_name'
];
userModel
.
profilePic
=
user
[
'profilePic'
];
notifyListeners
();
return
userModel
;
}
return
null
;
});
}
return
null
;
}
Future
<
bool
>
updateSingleField
(
String
key
,
String
value
)
async
{
return
await
UserService
.
updateSingleField
(
key
,
value
)
.
then
((
success
)
async
{
if
(
success
)
{
if
(
key
==
'profilePic'
)
{
getCurrentUser
()!.
updatePhotoURL
(
value
);
}
if
(
key
==
'first_name'
||
key
==
'last_name'
)
{
await
getCurentUserModel
();
getCurrentUser
()!.
updateDisplayName
(
"
${userModel.firstName}
${userModel.lastName}
"
);
notifyListeners
();
}
return
true
;
}
else
{
return
false
;
}
});
}
Future
<
bool
>
forgetPassword
(
BuildContext
context
)
async
{
var
response
=
AuthService
.
forgetPassword
(
authModel
.
email
);
if
(
response
!=
null
)
{
return
true
;
}
else
{
Utils
.
showSnackBar
(
context
,
ErrorModel
.
errorMessage
);
return
false
;
}
}
User
?
getCurrentUser
()
{
return
FirebaseAuth
.
instance
.
currentUser
;
}
setFirstName
(
String
firstName
)
{
userModel
.
setFirstName
=
firstName
;
notifyListeners
();
}
setLastName
(
String
lastName
)
{
userModel
.
setLastName
=
lastName
;
notifyListeners
();
}
setPassWord
(
String
password
)
{
authModel
.
password
=
password
;
notifyListeners
();
}
setConfirmPassword
(
String
confirmPassword
)
{
authModel
.
confirmPassword
=
confirmPassword
;
notifyListeners
();
}
setEmail
(
String
email
)
{
authModel
.
email
=
email
;
notifyListeners
();
}
setIsOpen
(
bool
isOpen
)
{
this
.
isOpen
=
isOpen
;
notifyListeners
();
}
}
FrontEnd/lib/providers/disease_provider.dart
0 → 100644
View file @
1f695b89
import
'package:flutter/material.dart'
;
import
'package:govimithura/models/entity_model.dart'
;
import
'package:govimithura/models/error_model.dart'
;
import
'package:govimithura/services/disease_service.dart'
;
import
'package:govimithura/utils/utils.dart'
;
class
DiseaseProvider
extends
ChangeNotifier
{
EntityModel
leafEntity
=
EntityModel
();
EntityModel
diseaseEntity
=
EntityModel
();
Future
<
void
>
getLeafsById
(
int
id
,
int
diseaseId
,
BuildContext
context
)
async
{
await
DiseaseService
.
getLeafsById
(
id
).
then
((
value
)
{
if
(
value
!=
null
)
{
if
(
value
.
docs
.
isNotEmpty
)
{
leafEntity
=
EntityModel
.
fromMap
(
value
.
docs
.
first
.
data
());
getDiseaseById
(
value
.
docs
.
first
.
id
,
diseaseId
,
context
);
}
}
else
{
Utils
.
showSnackBar
(
context
,
ErrorModel
.
errorMessage
);
}
});
notifyListeners
();
}
Future
<
void
>
getDiseaseById
(
String
leafRef
,
int
id
,
BuildContext
context
)
async
{
await
DiseaseService
.
getDiseaseById
(
leafRef
,
id
).
then
((
value
)
{
if
(
value
!=
null
)
{
if
(
value
.
docs
.
isNotEmpty
)
{
diseaseEntity
=
EntityModel
.
fromMap
(
value
.
docs
.
first
.
data
());
}
}
else
{
Utils
.
showSnackBar
(
context
,
ErrorModel
.
errorMessage
);
}
});
notifyListeners
();
}
}
FrontEnd/lib/providers/storage_provider.dart
0 → 100644
View file @
1f695b89
import
'dart:io'
;
import
'package:flutter/material.dart'
;
import
'package:govimithura/models/error_model.dart'
;
import
'package:govimithura/providers/img_util_provider.dart'
;
import
'package:govimithura/services/storage_service.dart'
;
import
'package:govimithura/utils/utils.dart'
;
class
StorageProvider
extends
ChangeNotifier
{
final
ImageUtilProvider
?
pImage
;
StorageProvider
({
this
.
pImage
});
Future
<
String
?>
uploadImage
(
BuildContext
context
)
async
{
if
(
pImage
!.
imagePath
!=
null
)
{
return
await
StorageService
.
uploadImage
(
File
(
pImage
!.
imagePath
!)).
then
(
(
value
)
{
if
(
value
!=
null
)
{
pImage
!.
setImageUrl
(
value
);
return
value
;
}
else
{
Utils
.
showSnackBar
(
context
,
ErrorModel
.
errorMessage
);
}
return
null
;
},
);
}
return
null
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment