public async Task <object> InsertOneProduct([FromBody] InsertProduct entity) { try { string token = HttpContext.Request.Headers["token"]; List <Claim> claims = authService.GetTokenClaims(token).ToList(); string username = claims.Find(x => x.Type == ClaimTypes.Name).Value; Result data = await userService.GetUserByUserNameAsync(username, new string[] { "username" }); User user = (User)data.data; Result result = await productService.InsertOneProductAsync(entity, user.id); if (result.status == 200) { return(Ok(Responder.Success(result.data))); } else { return(StatusCode(result.status, Responder.Fail(result.data))); } } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public async Task <object> GetProductById(string productId, [FromQuery] string fields) { try { Result result; if (fields == null) { result = await productService.GetProductByIdAsync(productId); } else { string[] fieldList = Utilities.SplipFields(fields); result = await productService.GetProductByIdAsync(productId, fieldList); } if (result.status == 200) { return(Ok(Responder.Success(result.data))); } return(StatusCode(result.status, Responder.Fail(result.data))); } catch (Exception error) { return(BadRequest(Responder.Fail(error))); } }
public async Task <object> UpdateUser([FromBody] UpdateUserInfo updateUser, [FromQuery][Required] string oldUsername, [FromQuery][Required] string oldPassword) { try { string token = HttpContext.Request.Headers["token"]; List <Claim> claims = authService.GetTokenClaims(token).ToList(); string username = claims.Find(x => x.Type == ClaimTypes.Name).Value; string password = claims.Find(x => x.Type == "Password").Value; if (oldUsername != username || oldPassword != password) { return(StatusCode(401, Responder.Fail("wrong username or password"))); } Result result = await userService.UpdateUserAsync(username, updateUser); if (result.status == 200) { return(Ok(Responder.Success(result.data))); } else { return(StatusCode(result.status, Responder.Fail(result.data))); } } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public async Task <object> GetListUser([FromQuery] int pageSize, [FromQuery] int pageIndex, [FromQuery] string fields) { try { Result result; if (fields != null) { string[] fieldList = Utilities.SplipFields(fields); result = await userService.GetListUserAsync(pageSize, pageIndex, fieldList); } else { result = await userService.GetListUserAsync(pageSize, pageIndex); } if (result.status == 200) { return(Ok(Responder.Success(result.data))); } else { return(StatusCode(result.status, Responder.Fail(result.data))); } } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public async Task <ObjectResult> GetEmployeeByUsername(string username, [FromQuery] string fields) { try { Result result; if (fields != null) { string[] fieldList = Utilities.SplipFields(fields); result = await employeeService.GetEmployeeByUsernameAsync(username, fieldList); } else { result = await employeeService.GetEmployeeByUsernameAsync(username); } if (result.status == 200) { return(Ok(Responder.Success(result.data))); } return(StatusCode(result.status, Responder.Fail(result.data))); } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public ObjectResult GetListUsers([FromQuery] int pageSize, [FromQuery] int pageIndex, [FromQuery] string fields) { try { Result result = new Result(); return(Ok(Responder.Success(result.data))); } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public async Task <ObjectResult> DeleteEmployee(int employeeId) { try { Result result = await employeeService.DeleteEmployeeAsync(employeeId); if (result.status == 200) { return(Ok(Responder.Success(result.data))); } return(StatusCode(result.status, Responder.Fail(result.data))); } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public async Task <object> Logout() { try { StringValues token; Request.Headers.TryGetValue("token", out token); string _token = token.FirstOrDefault(); if (_token == null || _token == "") { return(Ok(Responder.Success("Already logout"))); } return(Ok(Responder.Success(new { access_token = "null" }))); } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public ObjectResult CreateNewUser([FromBody] SQLiteUser user) { try { Result result = userSQLiteService.InsertUser(user, APIConnecter.SQLite); if (result.status == Status.Created) { return(Ok(Responder.Success(result.data))); } else { return(StatusCode(result.status, Responder.Fail(result.data))); } } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public async Task <object> Register([FromBody] NewUserInfo newUser) { try { Result result = await userService.RegisterAsync(newUser); if (result.status == 200) { return(Ok(Responder.Success(result.data))); } else { return(StatusCode(result.status, Responder.Fail(result.data))); } } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public async Task <ObjectResult> CreateNewEmployee([FromBody] InsertEmployeeInfo newEmployee) { try { Result result = await employeeService.InsertEmployeeAsync(newEmployee); if (result.status == 200) { return(Ok(Responder.Success(result.data))); } else { return(StatusCode(result.status, Responder.Fail(result.data))); } } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public async Task <object> DeleteUser() { try { string token = HttpContext.Request.Headers["token"]; List <Claim> claims = authService.GetTokenClaims(token).ToList(); string username = claims.Find(x => x.Type == ClaimTypes.Name).Value; Result result = await userService.DeleteUserAsync(username); if (result.status == 200) { return(Ok(Responder.Success(result.data))); } else { return(StatusCode(result.status, Responder.Fail(result.data))); } } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }
public async Task <object> Login([FromBody] UserLoginInfo info) { try { StringValues token; Request.Headers.TryGetValue("token", out token); string _token = token.FirstOrDefault(); if (Utilities.IsValidToken(_token)) { return(Ok(Responder.Success("Already logined"))); } Result result = await userService.LoginAsync(info.username, info.password); if (result.status != 200) { return(StatusCode(result.status, Responder.Fail(result.data))); } node1: HeplerTokenUser user = (HeplerTokenUser)result.data; IAuthContainerModel model = JwtHelper.GetJWTContainerModel(user.userId, user.username, user.email, _jwtConfig); IAuthService authService = new JWTService(model.SecretKey); string accessToken = authService.GenerateToken(model); if (!authService.IsTokenValid(accessToken)) { goto node1; } return(Ok(Responder.Success(new { token = accessToken, user = result.data }))); } catch (Exception error) { return(BadRequest(Responder.Fail(error.Message))); } }