private TcpMessage HandleUniqueRelationQuery(TcpConnectedHost host, TcpMessage message) { if (!message.HasType(TcpRequestType.UniqueRelationQuery)) { return(null); } if (!IsAuthenticated(host)) { throw AuthException.NotLoggedIn(); } var request = new ParamTcpMessage(message); var response = new ObjectTcpMessage <DbRelation>(TcpRequestType.List); if (request.HasParam("from_id") && request.HasParam("identifier")) { var fromId = request.GetParamAsNullableInt("from_id"); var identifier = request.GetParam("identifier"); var relation = _dataService.GetRelation(fromId, identifier); response.Add(relation); return(response); } return(TcpMessage.Error("Missing or badly formatted query parameters")); }
private TcpMessage HandleUniqueItemQuery(TcpConnectedHost host, TcpMessage message) { if (!message.HasType(TcpRequestType.UniqueItemQuery)) { return(null); } if (!IsAuthenticated(host)) { throw AuthException.NotLoggedIn(); } var request = new ParamTcpMessage(message); var response = new ObjectTcpMessage <DbItem>(TcpRequestType.List); if (request.HasParam("id")) { var id = request.GetParamAsNullableInt("id"); if (id != null) { var item = _dataService.GetItem(id.Value); response.Add(item); return(response); } } return(TcpMessage.Error("Missing or badly formatted query parameters")); }
private TcpMessage HandleUniqueRelationQuery(TcpConnectedHost host, TcpMessage message) { if (!message.HasType(TcpRequestType.UniqueRelationQuery)) return null; if (!IsAuthenticated(host)) throw AuthException.NotLoggedIn(); var request = new ParamTcpMessage(message); var response = new ObjectTcpMessage<DbRelation>(TcpRequestType.List); if (request.HasParam("from_id") && request.HasParam("identifier")) { var fromId = request.GetParamAsNullableInt("from_id"); var identifier = request.GetParam("identifier"); var relation = _dataService.GetRelation(fromId, identifier); response.Add(relation); return response; } return TcpMessage.Error("Missing or badly formatted query parameters"); }
private TcpMessage HandleUniqueItemQuery(TcpConnectedHost host, TcpMessage message) { if (!message.HasType(TcpRequestType.UniqueItemQuery)) return null; if (!IsAuthenticated(host)) throw AuthException.NotLoggedIn(); var request = new ParamTcpMessage(message); var response = new ObjectTcpMessage<DbItem>(TcpRequestType.List); if (request.HasParam("id")) { var id = request.GetParamAsNullableInt("id"); if (id != null) { var item = _dataService.GetItem(id.Value); response.Add(item); return response; } } return TcpMessage.Error("Missing or badly formatted query parameters"); }