diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml
new file mode 100644
index 0000000..e59ca7f
--- /dev/null
+++ b/.idea/dataSources.local.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+ master_key
+ false
+
+
+
\ No newline at end of file
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
new file mode 100644
index 0000000..684ce61
--- /dev/null
+++ b/.idea/dataSources.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ sqlite.xerial
+ true
+ org.sqlite.JDBC
+ jdbc:sqlite:$PROJECT_DIR$/etunicorn.db
+
+
+
\ No newline at end of file
diff --git a/.idea/dataSources/0d8f27ad-8161-4ee1-8557-56db7fbf44cc.xml b/.idea/dataSources/0d8f27ad-8161-4ee1-8557-56db7fbf44cc.xml
new file mode 100644
index 0000000..879b46b
--- /dev/null
+++ b/.idea/dataSources/0d8f27ad-8161-4ee1-8557-56db7fbf44cc.xml
@@ -0,0 +1,1069 @@
+
+
+
+
+
+ 1
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ INTEGER(10)|4
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 9
+ INTEGER(10)|4
+
+
+ 10
+ INTEGER(10)|4
+
+
+ 11
+ INTEGER(10)|4
+
+
+ 12
+ INTEGER(10)|4
+
+
+ 13
+ INTEGER(10)|4
+
+
+ 14
+ VARCHAR(max)|12
+
+
+ 15
+ VARCHAR(max)|12
+
+
+ 16
+ VARCHAR(max)|12
+
+
+ 17
+ INTEGER(10)|4
+
+
+ 18
+ BOOLEAN(1)|16
+
+
+ 19
+ INTEGER(10)|4
+
+
+ 20
+ VARCHAR(max)|12
+
+
+ 21
+ VARCHAR(max)|12
+
+
+ 22
+ VARCHAR(max)|12
+
+
+ 23
+ SMALLINT(5)|5
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ INTEGER(10)|4
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ VARCHAR(max)|12
+
+
+ 9
+ VARCHAR(max)|12
+
+
+ 10
+ VARCHAR(max)|12
+
+
+ 11
+ VARCHAR(max)|12
+
+
+ 12
+ VARCHAR(max)|12
+
+
+ 13
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ VARCHAR(max)|12
+
+
+ 9
+ SMALLINT(5)|5
+
+
+ 10
+ SMALLINT(5)|5
+
+
+ 11
+ SMALLINT(5)|5
+
+
+ 12
+ VARCHAR(max)|12
+
+
+ 13
+ VARCHAR(max)|12
+
+
+ 14
+ SMALLINT(5)|5
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ INTEGER(10)|4
+
+
+ 7
+ INTEGER(10)|4
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 9
+ VARCHAR(max)|12
+
+
+ 10
+ INTEGER(10)|4
+
+
+ 11
+ VARCHAR(max)|12
+
+
+ 12
+ VARCHAR(max)|12
+
+
+ 13
+ VARCHAR(max)|12
+
+
+ 14
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ INTEGER(10)|4
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 9
+ SMALLINT(5)|5
+
+
+ 10
+ VARCHAR(max)|12
+
+
+ 11
+ INTEGER(10)|4
+
+
+ 12
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ INTEGER(10)|4
+
+
+ 7
+ INTEGER(10)|4
+
+
+ 8
+ VARCHAR(max)|12
+
+
+ 9
+ INTEGER(10)|4
+
+
+ 10
+ VARCHAR(max)|12
+
+
+ 11
+ INTEGER(10)|4
+
+
+ 12
+ SMALLINT(5)|5
+
+
+ 13
+ SMALLINT(5)|5
+
+
+ 14
+ SMALLINT(5)|5
+
+
+ 15
+ SMALLINT(5)|5
+
+
+ 16
+ VARCHAR(max)|12
+
+
+ 17
+ VARCHAR(max)|12
+
+
+ 1
+ INTEGER(10)|4
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ BOOLEAN(1)|16
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ SMALLINT(5)|5
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 9
+ BOOLEAN(1)|16
+
+
+ 10
+ VARCHAR(max)|12
+
+
+ 11
+ BOOLEAN(1)|16
+
+
+ 12
+ SMALLINT(5)|5
+
+
+ 13
+ VARCHAR(max)|12
+
+
+ 14
+ INTEGER(10)|4
+
+
+ 15
+ VARCHAR(max)|12
+
+
+ 16
+ VARCHAR(max)|12
+
+
+ 17
+ VARCHAR(max)|12
+
+
+ 18
+ INTEGER(10)|4
+
+
+ 19
+ INTEGER(10)|4
+
+
+ 20
+ VARCHAR(max)|12
+
+
+ 21
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ INTEGER(10)|4
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ INTEGER(10)|4
+
+
+ 3
+ BIGINT(19)|-5
+
+
+ 4
+ BIGINT(19)|-5
+
+
+ 5
+ BIGINT(19)|-5
+
+
+ 6
+ DOUBLE(17)|8
+
+
+ 7
+ DOUBLE(17)|8
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 9
+ INTEGER(10)|4
+
+
+ 10
+ BIGINT(19)|-5
+
+
+ 11
+ DOUBLE(17)|8
+
+
+ 12
+ DOUBLE(17)|8
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ BOOLEAN(1)|16
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ BIGINT(19)|-5
+
+
+ 5
+ BIGINT(19)|-5
+
+
+ 6
+ BOOLEAN(1)|16
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ BIGINT(19)|-5
+
+
+ 9
+ BIGINT(19)|-5
+
+
+ 10
+ BIGINT(19)|-5
+
+
+ 11
+ BOOLEAN(1)|16
+
+
+ 12
+ INTEGER(10)|4
+
+
+ 1
+ INTEGER(10)|4
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ BIGINT(19)|-5
+
+
+ 9
+ INTEGER(10)|4
+
+
+ 10
+ VARCHAR(max)|12
+
+
+ 11
+ VARCHAR(max)|12
+
+
+ 12
+ BIGINT(19)|-5
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ BOOLEAN(1)|16
+
+
+ 9
+ VARCHAR(max)|12
+
+
+ 10
+ INTEGER(10)|4
+
+
+ 11
+ BOOLEAN(1)|16
+
+
+ 12
+ VARCHAR(max)|12
+
+
+ 13
+ VARCHAR(max)|12
+
+
+ 14
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ INTEGER(10)|4
+
+
+ 3
+ INTEGER(10)|4
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ BOOLEAN(1)|16
+
+
+ 8
+ SMALLINT(5)|5
+
+
+ 9
+ SMALLINT(5)|5
+
+
+ 10
+ INTEGER(10)|4
+
+
+ 11
+ INTEGER(10)|4
+
+
+ 12
+ BOOLEAN(1)|16
+
+
+ 13
+ SMALLINT(5)|5
+
+
+ 14
+ SMALLINT(5)|5
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ VARCHAR(max)|12
+
+
+ 9
+ INTEGER(10)|4
+
+
+
\ No newline at end of file
diff --git a/.idea/dataSources/0d8f27ad-8161-4ee1-8557-56db7fbf44cc/storage.xml b/.idea/dataSources/0d8f27ad-8161-4ee1-8557-56db7fbf44cc/storage.xml
new file mode 100644
index 0000000..6c5306d
--- /dev/null
+++ b/.idea/dataSources/0d8f27ad-8161-4ee1-8557-56db7fbf44cc/storage.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/.idea/dataSources/a06fd1f6-5928-4430-a317-e5ebc0e00a82.xml b/.idea/dataSources/a06fd1f6-5928-4430-a317-e5ebc0e00a82.xml
new file mode 100644
index 0000000..7a451fa
--- /dev/null
+++ b/.idea/dataSources/a06fd1f6-5928-4430-a317-e5ebc0e00a82.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+ 1
+ 1
+
+
+
+ 1
+
+
+
\ No newline at end of file
diff --git a/.idea/dataSources/a06fd1f6-5928-4430-a317-e5ebc0e00a82/storage.xml b/.idea/dataSources/a06fd1f6-5928-4430-a317-e5ebc0e00a82/storage.xml
new file mode 100644
index 0000000..6c5306d
--- /dev/null
+++ b/.idea/dataSources/a06fd1f6-5928-4430-a317-e5ebc0e00a82/storage.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/.idea/dataSources/a88dec51-cb33-4875-a137-6d17703d6d6c.xml b/.idea/dataSources/a88dec51-cb33-4875-a137-6d17703d6d6c.xml
new file mode 100644
index 0000000..ec5fa72
--- /dev/null
+++ b/.idea/dataSources/a88dec51-cb33-4875-a137-6d17703d6d6c.xml
@@ -0,0 +1,1067 @@
+
+
+
+
+
+ 1
+ 1
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ INTEGER(10)|4
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 9
+ INTEGER(10)|4
+
+
+ 10
+ INTEGER(10)|4
+
+
+ 11
+ INTEGER(10)|4
+
+
+ 12
+ INTEGER(10)|4
+
+
+ 13
+ INTEGER(10)|4
+
+
+ 14
+ VARCHAR(max)|12
+
+
+ 15
+ VARCHAR(max)|12
+
+
+ 16
+ VARCHAR(max)|12
+
+
+ 17
+ INTEGER(10)|4
+
+
+ 18
+ BOOLEAN(1)|16
+
+
+ 19
+ INTEGER(10)|4
+
+
+ 20
+ VARCHAR(max)|12
+
+
+ 21
+ VARCHAR(max)|12
+
+
+ 22
+ VARCHAR(max)|12
+
+
+ 23
+ SMALLINT(5)|5
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ INTEGER(10)|4
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ VARCHAR(max)|12
+
+
+ 9
+ VARCHAR(max)|12
+
+
+ 10
+ VARCHAR(max)|12
+
+
+ 11
+ VARCHAR(max)|12
+
+
+ 12
+ VARCHAR(max)|12
+
+
+ 13
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ VARCHAR(max)|12
+
+
+ 9
+ SMALLINT(5)|5
+
+
+ 10
+ SMALLINT(5)|5
+
+
+ 11
+ SMALLINT(5)|5
+
+
+ 12
+ VARCHAR(max)|12
+
+
+ 13
+ VARCHAR(max)|12
+
+
+ 14
+ SMALLINT(5)|5
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ INTEGER(10)|4
+
+
+ 7
+ INTEGER(10)|4
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 9
+ VARCHAR(max)|12
+
+
+ 10
+ INTEGER(10)|4
+
+
+ 11
+ VARCHAR(max)|12
+
+
+ 12
+ VARCHAR(max)|12
+
+
+ 13
+ VARCHAR(max)|12
+
+
+ 14
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ INTEGER(10)|4
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 9
+ SMALLINT(5)|5
+
+
+ 10
+ VARCHAR(max)|12
+
+
+ 11
+ INTEGER(10)|4
+
+
+ 12
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ INTEGER(10)|4
+
+
+ 7
+ INTEGER(10)|4
+
+
+ 8
+ VARCHAR(max)|12
+
+
+ 9
+ INTEGER(10)|4
+
+
+ 10
+ VARCHAR(max)|12
+
+
+ 11
+ INTEGER(10)|4
+
+
+ 12
+ SMALLINT(5)|5
+
+
+ 13
+ SMALLINT(5)|5
+
+
+ 14
+ SMALLINT(5)|5
+
+
+ 15
+ SMALLINT(5)|5
+
+
+ 16
+ VARCHAR(max)|12
+
+
+ 17
+ VARCHAR(max)|12
+
+
+ 1
+ INTEGER(10)|4
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ BOOLEAN(1)|16
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ SMALLINT(5)|5
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 9
+ BOOLEAN(1)|16
+
+
+ 10
+ VARCHAR(max)|12
+
+
+ 11
+ BOOLEAN(1)|16
+
+
+ 12
+ SMALLINT(5)|5
+
+
+ 13
+ VARCHAR(max)|12
+
+
+ 14
+ INTEGER(10)|4
+
+
+ 15
+ VARCHAR(max)|12
+
+
+ 16
+ VARCHAR(max)|12
+
+
+ 17
+ VARCHAR(max)|12
+
+
+ 18
+ INTEGER(10)|4
+
+
+ 19
+ INTEGER(10)|4
+
+
+ 20
+ VARCHAR(max)|12
+
+
+ 21
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ INTEGER(10)|4
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ INTEGER(10)|4
+
+
+ 3
+ BIGINT(19)|-5
+
+
+ 4
+ BIGINT(19)|-5
+
+
+ 5
+ BIGINT(19)|-5
+
+
+ 6
+ DOUBLE(17)|8
+
+
+ 7
+ DOUBLE(17)|8
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 9
+ INTEGER(10)|4
+
+
+ 10
+ BIGINT(19)|-5
+
+
+ 11
+ DOUBLE(17)|8
+
+
+ 12
+ DOUBLE(17)|8
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ BOOLEAN(1)|16
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ BIGINT(19)|-5
+
+
+ 5
+ BIGINT(19)|-5
+
+
+ 6
+ BOOLEAN(1)|16
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ BIGINT(19)|-5
+
+
+ 9
+ BIGINT(19)|-5
+
+
+ 10
+ BIGINT(19)|-5
+
+
+ 11
+ BOOLEAN(1)|16
+
+
+ 12
+ INTEGER(10)|4
+
+
+ 1
+ INTEGER(10)|4
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ BIGINT(19)|-5
+
+
+ 9
+ INTEGER(10)|4
+
+
+ 10
+ VARCHAR(max)|12
+
+
+ 11
+ VARCHAR(max)|12
+
+
+ 12
+ BIGINT(19)|-5
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ BOOLEAN(1)|16
+
+
+ 9
+ VARCHAR(max)|12
+
+
+ 10
+ INTEGER(10)|4
+
+
+ 11
+ BOOLEAN(1)|16
+
+
+ 12
+ VARCHAR(max)|12
+
+
+ 13
+ VARCHAR(max)|12
+
+
+ 14
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ INTEGER(10)|4
+
+
+ 3
+ INTEGER(10)|4
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ BOOLEAN(1)|16
+
+
+ 8
+ SMALLINT(5)|5
+
+
+ 9
+ SMALLINT(5)|5
+
+
+ 10
+ INTEGER(10)|4
+
+
+ 11
+ INTEGER(10)|4
+
+
+ 12
+ BOOLEAN(1)|16
+
+
+ 13
+ SMALLINT(5)|5
+
+
+ 14
+ SMALLINT(5)|5
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ INTEGER(10)|4
+
+
+ 1
+ VARCHAR(max)|12
+
+
+ 2
+ VARCHAR(max)|12
+
+
+ 3
+ VARCHAR(max)|12
+
+
+ 4
+ VARCHAR(max)|12
+
+
+ 5
+ VARCHAR(max)|12
+
+
+ 6
+ VARCHAR(max)|12
+
+
+ 7
+ VARCHAR(max)|12
+
+
+ 8
+ VARCHAR(max)|12
+
+
+ 9
+ INTEGER(10)|4
+
+
+
\ No newline at end of file
diff --git a/.idea/dataSources/a88dec51-cb33-4875-a137-6d17703d6d6c/storage.xml b/.idea/dataSources/a88dec51-cb33-4875-a137-6d17703d6d6c/storage.xml
new file mode 100644
index 0000000..6c5306d
--- /dev/null
+++ b/.idea/dataSources/a88dec51-cb33-4875-a137-6d17703d6d6c/storage.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/.idea/dataSources/ebfeef5a-f196-4340-9424-14e4e8aaadbb.xml b/.idea/dataSources/ebfeef5a-f196-4340-9424-14e4e8aaadbb.xml
new file mode 100644
index 0000000..1aad0f6
--- /dev/null
+++ b/.idea/dataSources/ebfeef5a-f196-4340-9424-14e4e8aaadbb.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+ 1
+ 1
+
+
+
+ INTEGER(0,-1)|4
+
+
+ 1
+ VARCHAR(0,-1)|12
+
+
+ 2
+ VARCHAR(0,-1)|12
+
+
+ 3
+ TIMESTAMP(0,-1)|12
+
+
+ id
+ 1
+
+
+
\ No newline at end of file
diff --git a/.idea/dataSources/ebfeef5a-f196-4340-9424-14e4e8aaadbb/storage.xml b/.idea/dataSources/ebfeef5a-f196-4340-9424-14e4e8aaadbb/storage.xml
new file mode 100644
index 0000000..3d9a470
--- /dev/null
+++ b/.idea/dataSources/ebfeef5a-f196-4340-9424-14e4e8aaadbb/storage.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
index d0c0a00..f564efc 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -3,7 +3,6 @@
-
\ No newline at end of file
diff --git a/etunicorn-server.iml b/etunicorn-server.iml
index 39860dd..3a24943 100644
--- a/etunicorn-server.iml
+++ b/etunicorn-server.iml
@@ -1,10 +1,11 @@
-
+
+
@@ -83,6 +84,6 @@
-
+
-
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 27dc2ba..c347342 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,10 +30,13 @@
com.jayway.jsonpath
json-path
+
- com.h2database
- h2
+ org.xerial
+ sqlite-jdbc
+ 3.16.1
+
@@ -42,6 +45,13 @@
+
+
+
+ src/main/ressources
+
+
+
org.springframework.boot
diff --git a/src/main/java/etunicorn/Application.java b/src/main/java/etunicorn/Application.java
index 404c19b..481095d 100644
--- a/src/main/java/etunicorn/Application.java
+++ b/src/main/java/etunicorn/Application.java
@@ -1,14 +1,30 @@
package etunicorn;
import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
+import org.springframework.context.annotation.Bean;
+
+import javax.sql.DataSource;
/**
* Created by geoffrey on 28/01/17.
*/
@SpringBootApplication
+@EnableAutoConfiguration
public class Application {
+
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
+
+ @Bean
+ public DataSource dataSource(){
+ DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
+ dataSourceBuilder.driverClassName("org.sqlite.JDBC");
+ dataSourceBuilder.url("jdbc:sqlite:etunicorn.db");
+ return dataSourceBuilder.build();
+ }
+
}
diff --git a/src/main/java/etunicorn/Personne.java b/src/main/java/etunicorn/Personne.java
index ada8cd2..43fa439 100644
--- a/src/main/java/etunicorn/Personne.java
+++ b/src/main/java/etunicorn/Personne.java
@@ -12,6 +12,7 @@ import java.util.Date;
@Entity
public class Personne {
+
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
diff --git a/src/main/java/etunicorn/UserDetailsService.java b/src/main/java/etunicorn/UserDetailsService.java
deleted file mode 100644
index 36242f7..0000000
--- a/src/main/java/etunicorn/UserDetailsService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package etunicorn;
-
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
-
-/**
- * Created by geoffrey on 29/01/17.
- */
-public interface UserDetailsService {
- UserDetails loadByUsername(String s) throws UsernameNotFoundException;
-}
diff --git a/src/main/java/etunicorn/databaseConfiguration/SQLiteDialect.java b/src/main/java/etunicorn/databaseConfiguration/SQLiteDialect.java
new file mode 100644
index 0000000..15dcda1
--- /dev/null
+++ b/src/main/java/etunicorn/databaseConfiguration/SQLiteDialect.java
@@ -0,0 +1,159 @@
+package etunicorn.databaseConfiguration;
+
+/**
+ * Created by badet on 29/01/2017.
+ */
+
+import org.hibernate.dialect.Dialect;
+import org.hibernate.dialect.function.SQLFunctionTemplate;
+import org.hibernate.dialect.function.StandardSQLFunction;
+import org.hibernate.dialect.function.VarArgsSQLFunction;
+import org.hibernate.type.StringType;
+
+import java.sql.Types;
+
+public class SQLiteDialect extends Dialect {
+ public SQLiteDialect() {
+ registerColumnType(Types.BIT, "integer");
+ registerColumnType(Types.TINYINT, "tinyint");
+ registerColumnType(Types.SMALLINT, "smallint");
+ registerColumnType(Types.INTEGER, "integer");
+ registerColumnType(Types.BIGINT, "bigint");
+ registerColumnType(Types.FLOAT, "float");
+ registerColumnType(Types.REAL, "real");
+ registerColumnType(Types.DOUBLE, "double");
+ registerColumnType(Types.NUMERIC, "numeric");
+ registerColumnType(Types.DECIMAL, "decimal");
+ registerColumnType(Types.CHAR, "char");
+ registerColumnType(Types.VARCHAR, "varchar");
+ registerColumnType(Types.LONGVARCHAR, "longvarchar");
+ registerColumnType(Types.DATE, "date");
+ registerColumnType(Types.TIME, "time");
+ registerColumnType(Types.TIMESTAMP, "timestamp");
+ registerColumnType(Types.BINARY, "blob");
+ registerColumnType(Types.VARBINARY, "blob");
+ registerColumnType(Types.LONGVARBINARY, "blob");
+ // registerColumnType(Types.NULL, "null");
+ registerColumnType(Types.BLOB, "blob");
+ registerColumnType(Types.CLOB, "clob");
+ registerColumnType(Types.BOOLEAN, "integer");
+
+ registerFunction( "concat", new VarArgsSQLFunction(StringType.INSTANCE, "", "||", "") );
+ registerFunction( "mod", new SQLFunctionTemplate( StringType.INSTANCE, "?1 % ?2" ) );
+ registerFunction( "substr", new StandardSQLFunction("substr", StringType.INSTANCE) );
+ registerFunction( "substring", new StandardSQLFunction( "substr", StringType.INSTANCE) );
+ }
+
+ public boolean supportsIdentityColumns() {
+ return true;
+ }
+
+ /*
+ public boolean supportsInsertSelectIdentity() {
+ return true; // As specify in NHibernate dialect
+ }
+ */
+
+ public boolean hasDataTypeInIdentityColumn() {
+ return false; // As specify in NHibernate dialect
+ }
+
+ /*
+ public String appendIdentitySelectToInsert(String insertString) {
+ return new StringBuffer(insertString.length()+30). // As specify in NHibernate dialect
+ append(insertString).
+ append("; ").append(getIdentitySelectString()).
+ toString();
+ }
+ */
+
+ public String getIdentityColumnString() {
+ // return "integer primary key autoincrement";
+ return "integer";
+ }
+
+ public String getIdentitySelectString() {
+ return "select last_insert_rowid()";
+ }
+
+ public boolean supportsLimit() {
+ return true;
+ }
+
+ protected String getLimitString(String query, boolean hasOffset) {
+ return new StringBuffer(query.length()+20).
+ append(query).
+ append(hasOffset ? " limit ? offset ?" : " limit ?").
+ toString();
+ }
+
+ public boolean supportsTemporaryTables() {
+ return true;
+ }
+
+ public String getCreateTemporaryTableString() {
+ return "create temporary table if not exists";
+ }
+
+ public boolean dropTemporaryTableAfterUse() {
+ return false;
+ }
+
+ public boolean supportsCurrentTimestampSelection() {
+ return true;
+ }
+
+ public boolean isCurrentTimestampSelectStringCallable() {
+ return false;
+ }
+
+ public String getCurrentTimestampSelectString() {
+ return "select current_timestamp";
+ }
+
+ public boolean supportsUnionAll() {
+ return true;
+ }
+
+ public boolean hasAlterTable() {
+ return false; // As specify in NHibernate dialect
+ }
+
+ public boolean dropConstraints() {
+ return false;
+ }
+
+ public String getAddColumnString() {
+ return "add column";
+ }
+
+ public String getForUpdateString() {
+ return "";
+ }
+
+ public boolean supportsOuterJoinForUpdate() {
+ return false;
+ }
+
+ public String getDropForeignKeyString() {
+ throw new UnsupportedOperationException("No drop foreign key syntax supported by SQLiteDialect");
+ }
+
+ public String getAddForeignKeyConstraintString(String constraintName,
+ String[] foreignKey, String referencedTable, String[] primaryKey,
+ boolean referencesPrimaryKey) {
+ throw new UnsupportedOperationException("No add foreign key syntax supported by SQLiteDialect");
+ }
+
+ public String getAddPrimaryKeyConstraintString(String constraintName) {
+ throw new UnsupportedOperationException("No add primary key syntax supported by SQLiteDialect");
+ }
+
+ public boolean supportsIfExistsBeforeTableName() {
+ return true;
+ }
+
+ public boolean supportsCascadeDelete() {
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/src/main/main.iml b/src/main/main.iml
deleted file mode 100644
index e9ea5f1..0000000
--- a/src/main/main.iml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/ressources/application.yml b/src/main/ressources/application.yml
new file mode 100644
index 0000000..9fe5a39
--- /dev/null
+++ b/src/main/ressources/application.yml
@@ -0,0 +1,5 @@
+spring:
+ jpa:
+ database-platform: etunicorn.databaseConfiguration.SQLiteDialect
+ hibernate:
+ ddl-auto: create-drop
\ No newline at end of file
--
libgit2 0.21.2