diff options
| author | Jelena Petrovic <jelenapetrovic.7119@gmail.com> | 2022-10-27 16:45:11 +0200 | 
|---|---|---|
| committer | Jelena Petrovic <jelenapetrovic.7119@gmail.com> | 2022-10-27 16:45:11 +0200 | 
| commit | 0882a4220556bdc271117b88098f51494055d847 (patch) | |
| tree | 06d97778631916a0aca409b4def4e39202d4ba43 /Backend/Api | |
| parent | 5c6aa06e09348b2c1d0ad50ba94f22bdfb13c5f8 (diff) | |
prepravljene operacije tako da budu asinhrone #5
Diffstat (limited to 'Backend/Api')
| -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;          } + +              }  } | 
