aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Backend/Api/Api/Interfaces/IUserService.cs12
-rw-r--r--Backend/Api/Api/Services/UserService.cs37
2 files changed, 26 insertions, 23 deletions
diff --git a/Backend/Api/Api/Interfaces/IUserService.cs b/Backend/Api/Api/Interfaces/IUserService.cs
index 6de648e..63fbd18 100644
--- a/Backend/Api/Api/Interfaces/IUserService.cs
+++ b/Backend/Api/Api/Interfaces/IUserService.cs
@@ -4,11 +4,11 @@ namespace Api.Interfaces
{
public interface IUserService
{
- User createUser(User user);
- List<User> getUsers();
- User getUserByEmail(String email);
- User getUserByUsername(String username);
- User updateUser(User user);
- Boolean deleteUser(String email);
+ Task createUser(User user);
+ Task<List<User>> getUsers();
+ Task<User> getUserByEmail(String email);
+ Task<User> getUserByUsername(String username);
+ Task<long> updateUser(User user);
+ Task<User> deleteUser(String email);
}
}
diff --git a/Backend/Api/Api/Services/UserService.cs b/Backend/Api/Api/Services/UserService.cs
index 787cf6a..264085c 100644
--- a/Backend/Api/Api/Services/UserService.cs
+++ b/Backend/Api/Api/Services/UserService.cs
@@ -14,45 +14,48 @@ namespace Api.Services
}
- public User createUser(User user)
+ public async Task createUser(User user)
{
- _users.InsertOne(user);
- return user;
+ await _users.InsertOneAsync(user);
+
}
- public bool deleteUser(string email)
+ public async Task<User> deleteUser(string email)
{
- _users.FindOneAndDelete(x => x.email == email);
- return true;
+ return await _users.FindOneAndDeleteAsync(x => x.email == email);
}
- public User getUserByEmail(string email)
+ public async Task<User> getUserByEmail(string email)
{
- return _users.Find(x => x.email == email).First();
+ return await _users.Find(x => x.email == email).SingleAsync();
}
- public User getUserByUsername(string username)
+ public async Task<User> getUserByUsername(string username)
{
- return _users.Find(x => x.username == username).First();
+ return await _users.Find(x => x.username == username).SingleAsync();
}
- public List<User> getUsers()
+ public async Task<List<User>> getUsers()
{
- return _users.Find(_=>true).ToList();
+ return await _users.Find(_=>true).ToListAsync();
}
- public User updateUser(User user)
+ public async Task<long> updateUser(User user)
{
- /*
+ /* vraca broj izmenjenih korisnika
* ovako je odradjeno da bi radilo i kada se posalje potpuno novi objekat User-a bez generisanog _id polja
*/
- User foundUser = _users.Find(x => x.email == user.email).First();
+ User foundUser = await _users.Find(x => x.email == user.email).SingleAsync();
if (foundUser!=null && user._id==null)
{
user._id = foundUser._id;
}
- _users.ReplaceOne(x => x.email == user.email, user);
- return user;
+ ReplaceOneResult res=await _users.ReplaceOneAsync(x => x.email == user.email, user);
+ if(res.IsAcknowledged)
+ return res.ModifiedCount;
+ return 0;
}
+
+
}
}