diff --git a/pom.xml b/pom.xml
index 67b3d31..2599a43 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,6 +8,7 @@
2.2.4.RELEASE
+
cryptosky.me
db-gateway
0.0.1
@@ -81,6 +82,24 @@
5.0.2
+
+ com.graphql-java
+ graphql-java-servlet
+ 4.0.0
+
+
+ javax.servlet
+ javax.servlet-api
+ 3.0.1
+ provided
+
+
+
+ javax.xml.bind
+ jaxb-api
+ 2.3.0
+
+
org.springframework.boot
spring-boot-starter-test
@@ -107,11 +126,31 @@
+ Cryptosky DB Gateway
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.4.6.v20170531
+
org.springframework.boot
spring-boot-maven-plugin
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.5.1
+
+ 1.8
+ 1.8
+
+
+
+
+ maven-war-plugin
+ 3.1.0
+
diff --git a/src/main/java/cryptosky/me/dbgateway/Application.java b/src/main/java/cryptosky/me/dbgateway/Application.java
new file mode 100644
index 0000000..43595f4
--- /dev/null
+++ b/src/main/java/cryptosky/me/dbgateway/Application.java
@@ -0,0 +1,13 @@
+package cryptosky.me.dbgateway;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+@SpringBootApplication
+public class Application extends SpringBootServletInitializer {
+
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class, args);
+ }
+}
diff --git a/src/main/java/cryptosky/me/dbgateway/exceptions/data/cryptoPriceNotFoundException.java b/src/main/java/cryptosky/me/dbgateway/exceptions/data/cryptoPriceNotFoundException.java
new file mode 100644
index 0000000..d09222d
--- /dev/null
+++ b/src/main/java/cryptosky/me/dbgateway/exceptions/data/cryptoPriceNotFoundException.java
@@ -0,0 +1,33 @@
+package cryptosky.me.dbgateway.exceptions.data;
+
+import graphql.ErrorType;
+import graphql.GraphQLError;
+import graphql.language.SourceLocation;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class cryptoPriceNotFoundException extends RuntimeException implements GraphQLError {
+ private Map extensions = new HashMap<>();
+
+ public cryptoPriceNotFoundException(String message, Long invalidId) {
+ super(message);
+ extensions.put("invalidId", invalidId);
+ }
+
+ @Override
+ public List getLocations() {
+ return null;
+ }
+
+ @Override
+ public Map getExtensions() {
+ return extensions;
+ }
+
+ @Override
+ public ErrorType getErrorType() {
+ return ErrorType.DataFetchingException;
+ }
+}
diff --git a/src/main/java/cryptosky/me/dbgateway/exceptions/service/GraphQLAdapterError.java b/src/main/java/cryptosky/me/dbgateway/exceptions/service/GraphQLAdapterError.java
new file mode 100644
index 0000000..e2b1f5b
--- /dev/null
+++ b/src/main/java/cryptosky/me/dbgateway/exceptions/service/GraphQLAdapterError.java
@@ -0,0 +1,48 @@
+package cryptosky.me.dbgateway.exceptions.service;
+
+import graphql.ErrorType;
+import graphql.GraphQLError;
+import graphql.language.SourceLocation;
+import graphql.ExceptionWhileDataFetching;
+
+import java.util.List;
+import java.util.Map;
+
+public class GraphQLAdapterError implements GraphQLError {
+
+ private GraphQLError error;
+
+ public GraphQLAdapterError(GraphQLError error) {
+ this.error = error;
+ }
+
+ @Override
+ public Map getExtensions() {
+ return error.getExtensions();
+ }
+
+ @Override
+ public List getLocations() {
+ return error.getLocations();
+ }
+
+ @Override
+ public ErrorType getErrorType() {
+ return error.getErrorType();
+ }
+
+ @Override
+ public List