public Object Detail(int userid) { Payload payload = BAccount.ConfirmToken(this.Request); if (payload == null) { return(new { result = false, info = "Não autorizado." }); } if (payload.aud != userid) { if (!payload.rol.Contains(3) && !payload.rol.Contains(6)) { if (!payload.rol.Contains(5) || (payload.rol.Contains(5) && !BParenting.GetChildren(payload.aud).Contains(userid))) { return(new { result = false, info = "Não autorizado." }); } } } var user = BUser.GetUserDetails(userid); if (user == null) { return(new { result = false, info = "Utilizador não encontrado." }); } return(new { result = true, data = user }); }
public Object GetChildren(int guardianid) { Payload payload = BAccount.ConfirmToken(this.Request); if (payload == null || payload.rol.Contains(4) || (payload.rol.Contains(5) && guardianid != payload.aud)) { return(new { result = false, info = "Não autorizado." }); } var children = BParenting.GetChildren(guardianid); if (children == null) { return(new { result = false, info = "Não foram encontrados educandos." }); } if (payload.rol.Contains(1) && !children.Contains(payload.aud)) { return(new { result = false, info = "Não autorizado." }); } return(new { result = true, data = children }); }
public Object Put([FromBody] User user) { Payload payload = BAccount.ConfirmToken(this.Request); if (payload == null) { return(new { result = false, info = "Não autorizado." }); } if (payload.aud != user.ID || (payload.aud == user.ID && payload.rol.Contains(1))) { if ((!payload.rol.Contains(3) && !payload.rol.Contains(6)) || (payload.rol.Contains(3) && (user.RoleID == 3 || user.RoleID == 6))) { if (!payload.rol.Contains(5) || (payload.rol.Contains(5) && !BParenting.GetChildren(payload.aud).Contains(user.ID))) { return(new { result = false, info = "Não autorizado." }); } } } if (BUser.EditUser(user, payload.aud)) { return(new { result = true }); } return(new { result = false, info = "Não foi possível alterar dados do utilizador." }); }