private IList <ErrorStatus> Validate(GetItemsListRequest request) { var errors = new List <ErrorStatus>(); var requestUser = request.User; var ownerUser = _dashRepository.GetUserByDashId(request.DashboardId); if (requestUser == null || ownerUser == null) { errors.Add(new ErrorStatus("WRONG_REQUEST")); return(errors); } if (requestUser.Id != ownerUser.Id) { errors.Add(new ErrorStatus("UNAUTHORIZED_ACESS")); return(errors); } return(errors); }
private IList <ErrorStatus> Validate(CreateItemRequest request) { var errors = new List <ErrorStatus>(); if (request.Item.DashBoardId == 0) { errors.Add(new ErrorStatus("DASHBOARDID_NOT_DEFINED")); } if (request.Item.CheckInterval < 30000 && request.Item.CheckInterval > 86400000) { errors.Add(new ErrorStatus("CHECKINTERVAL_WRONG")); } if (string.IsNullOrEmpty(request.Item.XPath)) { errors.Add(new ErrorStatus("XPATH_NOT_DEFINED")); } if (string.IsNullOrEmpty(request.Item.CSS)) { errors.Add(new ErrorStatus("CSS_NOT_DEFINED")); } if (string.IsNullOrEmpty(request.Item.Website)) { errors.Add(new ErrorStatus("WEBSITE_NOT_DEFINED")); } if (string.IsNullOrEmpty(request.Item.Name)) { errors.Add(new ErrorStatus("NAME_NOT_DEFINED")); } var userIdByDash = _dashRepository.GetUserByDashId(request.Item.DashBoardId); var requestUserId = request.UserId; if (userIdByDash != null && requestUserId != userIdByDash.Id) //TODO pasiklausti zilvino ar good practice { errors.Add(new ErrorStatus("UNAUTHORIZED_ACCESS")); } return(errors); }
public IList <ErrorStatus> Validate(UpdateDashboardRequest request) { var errors = new List <ErrorStatus>(); if (request == null) { errors.Add(new ErrorStatus("BAD_REQUEST")); return(errors); } if (request.DashBoard == null) { errors.Add(new ErrorStatus("BAD_REQUEST")); return(errors); } if (_dashRepository.Get(request.DashBoard.Id) == null) { errors.Add(new ErrorStatus("DASH_NOT_FOUND")); return(errors); } if (request.DashBoard.Id < 1) { errors.Add(new ErrorStatus("CORRUPTED_ID")); return(errors); } if (request.DashBoard.Name.Length > 254) { errors.Add(new ErrorStatus("NAME_TOO_LONG")); return(errors); } var ownerUser = _dashRepository.GetUserByDashId(request.DashBoard.Id); if (ownerUser != null && ownerUser.Id != request.UserId) { errors.Add(new ErrorStatus("UNAUTHORIZED_ACCESS")); return(errors); } return(errors); }