diff options
Diffstat (limited to 'Backend')
-rw-r--r-- | Backend/Api/Api/Interfaces/IUserService.cs | 12 | ||||
-rw-r--r-- | Backend/Api/Api/Services/UserService.cs | 37 |
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; } + + } } |