diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 4e1cc9d..fd0c5a3 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.4-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/server/.gitignore b/server/.gitignore
index 567609b..84695dc 100644
--- a/server/.gitignore
+++ b/server/.gitignore
@@ -1 +1,34 @@
+HELP.md
+.gradle
build/
+!gradle/wrapper/gradle-wrapper.jar
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+out/
+!**/src/main/**/out/
+!**/src/test/**/out/
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+
+### VS Code ###
+.vscode/
diff --git a/server/build.gradle b/server/build.gradle
new file mode 100644
index 0000000..b437755
--- /dev/null
+++ b/server/build.gradle
@@ -0,0 +1,27 @@
+plugins {
+ id 'org.springframework.boot' version '2.3.3.RELEASE'
+ id 'io.spring.dependency-management' version '1.0.10.RELEASE'
+ id 'java'
+}
+
+sourceCompatibility = '14'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
+ implementation 'org.springframework.boot:spring-boot-starter-quartz'
+ implementation 'org.springframework.boot:spring-boot-starter-security'
+ implementation 'org.springframework.boot:spring-boot-starter-web'
+ runtimeOnly 'mysql:mysql-connector-java'
+ testImplementation('org.springframework.boot:spring-boot-starter-test') {
+ exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
+ }
+ testImplementation 'org.springframework.security:spring-security-test'
+}
+
+test {
+ useJUnitPlatform()
+}
diff --git a/server/build.gradle.kts b/server/build.gradle.kts
deleted file mode 100644
index 24a6c8a..0000000
--- a/server/build.gradle.kts
+++ /dev/null
@@ -1,41 +0,0 @@
-plugins {
- kotlin("jvm")
- application
-}
-
-application {
- mainClassName = "io.ktor.server.netty.EngineMain"
-}
-
-sourceSets {
- main {
- java.srcDir("src")
- resources.srcDir("resources")
- }
- test {
- java.srcDir("test")
- resources.srcDir("testresources")
- }
-}
-
-val ktorVersion: String by project
-val logbackVersion: String by project
-val exposedVersion: String by project
-
-dependencies {
- implementation(kotlin("stdlib"))
- implementation(project(":shared"))
- implementation("io.ktor:ktor-server-netty:$ktorVersion")
- implementation("ch.qos.logback:logback-classic:$logbackVersion")
- implementation("io.ktor:ktor-server-core:$ktorVersion")
- implementation("io.ktor:ktor-auth:$ktorVersion")
- implementation("io.ktor:ktor-auth-jwt:$ktorVersion")
- implementation("io.ktor:ktor-gson:$ktorVersion")
- testImplementation("io.ktor:ktor-server-tests:$ktorVersion")
- implementation("org.jetbrains.exposed:exposed-core:$exposedVersion")
- implementation("org.jetbrains.exposed:exposed-dao:$exposedVersion")
- implementation("org.jetbrains.exposed:exposed-jdbc:$exposedVersion")
- implementation("org.jetbrains.exposed:exposed-java-time:$exposedVersion")
- implementation("mysql:mysql-connector-java:8.0.19")
- implementation("com.zaxxer:HikariCP:3.4.2")
-}
diff --git a/server/build/classes/kotlin/main/META-INF/server.kotlin_module b/server/build/classes/kotlin/main/META-INF/server.kotlin_module
deleted file mode 100644
index 61fee5a..0000000
Binary files a/server/build/classes/kotlin/main/META-INF/server.kotlin_module and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppRequest.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppRequest.class
deleted file mode 100644
index e86da2a..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppRequest.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$1$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$1$1.class
deleted file mode 100644
index 688284c..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$1$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$1$2.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$1$2.class
deleted file mode 100644
index 358ed21..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$1$2.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$1.class
deleted file mode 100644
index c97a7d2..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$2.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$2.class
deleted file mode 100644
index b2cbf84..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$2.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$3.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$3.class
deleted file mode 100644
index 55d012b..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$3.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$4$1$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$4$1$1.class
deleted file mode 100644
index 2bf8174..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$4$1$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$4$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$4$1.class
deleted file mode 100644
index 061530e..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$4$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$4.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$4.class
deleted file mode 100644
index 8659e1e..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$4.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$5$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$5$1.class
deleted file mode 100644
index 8f92e79..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$5$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$5.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$5.class
deleted file mode 100644
index 7c6b0b7..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$5.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$6$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$6$1.class
deleted file mode 100644
index 1a10ef0..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$6$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$6.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$6.class
deleted file mode 100644
index 3b2addf..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt$module$6.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt.class
deleted file mode 100644
index 3e47dda..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/ApplicationKt.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/Apps.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/Apps.class
deleted file mode 100644
index 1340d80..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/Apps.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$1$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$1$1.class
deleted file mode 100644
index aa2607f..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$1$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$1.class
deleted file mode 100644
index 658825a..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$2$1$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$2$1$1.class
deleted file mode 100644
index fcccce8..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$2$1$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$2$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$2$1.class
deleted file mode 100644
index 7d714c4..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$2$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$2.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$2.class
deleted file mode 100644
index 640da00..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$2.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$3.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$3.class
deleted file mode 100644
index c44fcbe..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$3.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4$updated$1$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4$updated$1$1.class
deleted file mode 100644
index 1b5a96f..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4$updated$1$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4$updated$1$2.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4$updated$1$2.class
deleted file mode 100644
index f7f9721..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4$updated$1$2.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4$updated$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4$updated$1.class
deleted file mode 100644
index 3c66400..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4$updated$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4.class
deleted file mode 100644
index d68e042..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$4.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$5$deleted$1$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$5$deleted$1$1.class
deleted file mode 100644
index ac37393..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$5$deleted$1$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$5$deleted$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$5$deleted$1.class
deleted file mode 100644
index 4f873c6..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$5$deleted$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$5.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$5.class
deleted file mode 100644
index 20dd13e..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1$5.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1.class
deleted file mode 100644
index 9031e3d..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt$appsRoutes$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt.class
deleted file mode 100644
index 6b168bb..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/AppsKt.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/Events.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/Events.class
deleted file mode 100644
index d52e269..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/Events.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt$authenticatedEventsRoutes$1$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt$authenticatedEventsRoutes$1$1.class
deleted file mode 100644
index 82bb48f..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt$authenticatedEventsRoutes$1$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt$authenticatedEventsRoutes$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt$authenticatedEventsRoutes$1.class
deleted file mode 100644
index e140abc..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt$authenticatedEventsRoutes$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt$unauthenticatedEventsRoutes$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt$unauthenticatedEventsRoutes$1.class
deleted file mode 100644
index 5a0a514..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt$unauthenticatedEventsRoutes$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt.class
deleted file mode 100644
index 7244dc5..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/EventsKt.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/FlayreDatabase$init$1.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/FlayreDatabase$init$1.class
deleted file mode 100644
index b9e55fa..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/FlayreDatabase$init$1.class and /dev/null differ
diff --git a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/FlayreDatabase.class b/server/build/classes/kotlin/main/com/wbrawner/flayre/server/FlayreDatabase.class
deleted file mode 100644
index c2f1194..0000000
Binary files a/server/build/classes/kotlin/main/com/wbrawner/flayre/server/FlayreDatabase.class and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/build-history.bin b/server/build/kotlin/compileKotlin/build-history.bin
deleted file mode 100644
index 129d863..0000000
Binary files a/server/build/kotlin/compileKotlin/build-history.bin and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab b/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab
deleted file mode 100644
index 6600c50..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream
deleted file mode 100644
index c93d758..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream.len
deleted file mode 100644
index bc32683..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.len
deleted file mode 100644
index 93a595b..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at
deleted file mode 100644
index 9a1f244..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i
deleted file mode 100644
index 8ac1c66..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab
deleted file mode 100644
index 599d098..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream
deleted file mode 100644
index 93b7c5c..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len
deleted file mode 100644
index 31d8b36..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len
deleted file mode 100644
index ec8f944..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at
deleted file mode 100644
index 323d956..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i
deleted file mode 100644
index 0b05704..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab
deleted file mode 100644
index 160a0f6..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream
deleted file mode 100644
index 4f1718d..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len
deleted file mode 100644
index 12f4ea4..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len
deleted file mode 100644
index b4da131..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at
deleted file mode 100644
index c1d3b21..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i
deleted file mode 100644
index ecff483..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab
deleted file mode 100644
index a6830d8..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream
deleted file mode 100644
index 0474c22..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len
deleted file mode 100644
index 5024611..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.len
deleted file mode 100644
index 93a595b..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at
deleted file mode 100644
index 5290931..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i
deleted file mode 100644
index 61d929e..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab
deleted file mode 100644
index ac1b14c..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream
deleted file mode 100644
index e703a72..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len
deleted file mode 100644
index 213dab4..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len
deleted file mode 100644
index fd5292d..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at
deleted file mode 100644
index c325776..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i
deleted file mode 100644
index 55667da..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab
deleted file mode 100644
index 0f50aef..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream
deleted file mode 100644
index 4da9e9f..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len
deleted file mode 100644
index bc32683..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.len
deleted file mode 100644
index 93a595b..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at
deleted file mode 100644
index 1568a69..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i
deleted file mode 100644
index 51b418f..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab
deleted file mode 100644
index 8c3d91f..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream
deleted file mode 100644
index 6f15d1e..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len
deleted file mode 100644
index d263632..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.len
deleted file mode 100644
index 2a17e6e..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.values.at
deleted file mode 100644
index 3413c64..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i
deleted file mode 100644
index 8934d26..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab
deleted file mode 100644
index fdeef94..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream
deleted file mode 100644
index ed4dfe7..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len
deleted file mode 100644
index 5f1f7d5..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.len
deleted file mode 100644
index 01bdaa1..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.values.at
deleted file mode 100644
index 49f089b..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i
deleted file mode 100644
index 3fd34bf..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab b/server/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab
deleted file mode 100644
index cc4b6ab..0000000
--- a/server/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab
+++ /dev/null
@@ -1,2 +0,0 @@
-19
-15
\ No newline at end of file
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab b/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab
deleted file mode 100644
index 4b77e21..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream
deleted file mode 100644
index 4da9e9f..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream.len
deleted file mode 100644
index bc32683..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.len
deleted file mode 100644
index 93a595b..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at
deleted file mode 100644
index dbc6bf9..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i
deleted file mode 100644
index 51b418f..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab b/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab
deleted file mode 100644
index eee755f..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream
deleted file mode 100644
index 54555db..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len
deleted file mode 100644
index 2b895e7..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len
deleted file mode 100644
index 14f7c06..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at
deleted file mode 100644
index 28ebd18..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i
deleted file mode 100644
index 41018a9..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab b/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab
deleted file mode 100644
index b445e09..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream b/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream
deleted file mode 100644
index e6b62b7..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len b/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len
deleted file mode 100644
index 2b649a7..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len b/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len
deleted file mode 100644
index d3be744..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values b/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values
deleted file mode 100644
index 256e857..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at b/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at
deleted file mode 100644
index fe4a6c6..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.s b/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.s
deleted file mode 100644
index 0961010..0000000
--- a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.s
+++ /dev/null
@@ -1 +0,0 @@
-ÙÌþ;Í1ë+
\ No newline at end of file
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i b/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i
deleted file mode 100644
index 6006a38..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i.len b/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i.len
deleted file mode 100644
index 131e265..0000000
Binary files a/server/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i.len and /dev/null differ
diff --git a/server/build/kotlin/compileKotlin/last-build.bin b/server/build/kotlin/compileKotlin/last-build.bin
deleted file mode 100644
index 8562d04..0000000
Binary files a/server/build/kotlin/compileKotlin/last-build.bin and /dev/null differ
diff --git a/server/build/resources/main/application.conf b/server/build/resources/main/application.conf
deleted file mode 100644
index 3a7215c..0000000
--- a/server/build/resources/main/application.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-ktor {
- deployment {
- port = 8080
- port = ${?PORT}
- }
- application {
- modules = [ com.wbrawner.flayre.server.ApplicationKt.module ]
- }
-}
-
-flayre {
- admin {
- user = admin
- user = ${?ADMIN_USER}
- password = flayre
- password = ${?ADMIN_PASSWORD}
- }
- database {
- host = localhost
- host = ${?DB_HOST}
- port = 3306
- port = ${?DB_PORT}
- name = flayre
- name = ${?DB_NAME}
- user = flayre
- user = ${?DB_USER}
- password = flayre
- password = ${?DB_PASSWORD}
- }
-}
\ No newline at end of file
diff --git a/server/build/resources/main/logback.xml b/server/build/resources/main/logback.xml
deleted file mode 100644
index bdbb64e..0000000
--- a/server/build/resources/main/logback.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
- %d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
diff --git a/server/resources/application.conf b/server/resources/application.conf
deleted file mode 100644
index 3a7215c..0000000
--- a/server/resources/application.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-ktor {
- deployment {
- port = 8080
- port = ${?PORT}
- }
- application {
- modules = [ com.wbrawner.flayre.server.ApplicationKt.module ]
- }
-}
-
-flayre {
- admin {
- user = admin
- user = ${?ADMIN_USER}
- password = flayre
- password = ${?ADMIN_PASSWORD}
- }
- database {
- host = localhost
- host = ${?DB_HOST}
- port = 3306
- port = ${?DB_PORT}
- name = flayre
- name = ${?DB_NAME}
- user = flayre
- user = ${?DB_USER}
- password = flayre
- password = ${?DB_PASSWORD}
- }
-}
\ No newline at end of file
diff --git a/server/resources/logback.xml b/server/resources/logback.xml
deleted file mode 100644
index bdbb64e..0000000
--- a/server/resources/logback.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
- %d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
diff --git a/server/src/com/wbrawner/flayre/server/Application.kt b/server/src/com/wbrawner/flayre/server/Application.kt
deleted file mode 100644
index a7289f4..0000000
--- a/server/src/com/wbrawner/flayre/server/Application.kt
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.wbrawner.flayre.server
-
-import io.ktor.application.*
-import io.ktor.response.*
-import io.ktor.routing.*
-import io.ktor.http.*
-import io.ktor.features.*
-import io.ktor.auth.*
-import io.ktor.gson.*
-import org.jetbrains.exposed.sql.and
-import org.jetbrains.exposed.sql.select
-import org.jetbrains.exposed.sql.selectAll
-import org.jetbrains.exposed.sql.stringParam
-import org.jetbrains.exposed.sql.transactions.transaction
-import java.util.*
-
-fun main(args: Array): Unit = io.ktor.server.netty.EngineMain.main(args)
-
-@Suppress("unused") // Referenced in application.conf
-@kotlin.jvm.JvmOverloads
-fun Application.module(testing: Boolean = false) {
-
- install(Compression) {
- gzip {
- priority = 1.0
- }
- deflate {
- priority = 10.0
- minimumSize(1024) // condition
- }
- }
-
- install(AutoHeadResponse)
-
- install(CORS) {
- method(HttpMethod.Options)
- method(HttpMethod.Post)
- header(HttpHeaders.Authorization)
- allowCredentials = true
- anyHost()
- }
-
- install(DataConversion)
-
- install(DefaultHeaders) {
- header("X-Engine", "Ktor") // will send this header with each response
- }
-
- install(Authentication) {
- basic("flayreBasicAuth") {
- realm = "Flayre Server"
- validate {
- if (it.name == application.environment.config.property("flayre.admin.user").getString()
- && it.password == application.environment.config.property("flayre.admin.password").getString()) {
- UserIdPrincipal(it.name)
- } else {
- null
- }
- }
- }
- }
-
- install(ContentNegotiation) {
- gson {
- }
- }
-
- FlayreDatabase.init()
-
- routing {
- authenticate("flayreBasicAuth") {
- appsRoutes()
- authenticatedEventsRoutes()
- }
- unauthenticatedEventsRoutes()
- }
-}
diff --git a/server/src/com/wbrawner/flayre/server/Apps.kt b/server/src/com/wbrawner/flayre/server/Apps.kt
deleted file mode 100644
index 829ecff..0000000
--- a/server/src/com/wbrawner/flayre/server/Apps.kt
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.wbrawner.flayre.server
-
-import com.wbrawner.flayre.App
-import com.wbrawner.flayre.randomId
-import io.ktor.application.*
-import io.ktor.http.*
-import io.ktor.request.*
-import io.ktor.response.*
-import io.ktor.routing.*
-import org.jetbrains.exposed.sql.*
-import org.jetbrains.exposed.sql.transactions.transaction
-
-object Apps : Table() {
- override val primaryKey: PrimaryKey?
- get() = PrimaryKey(id)
- val id = varchar("id", 32)
- val name = varchar("name", 256)
-}
-
-fun ResultRow.toApp() = App(
- get(Apps.id),
- get(Apps.name)
-)
-
-data class AppRequest(val name: String)
-
-fun Route.appsRoutes() {
- route("/apps") {
- get {
- call.respond(transaction {
- Apps.selectAll().map { it.toApp() }
- })
- }
-
- post {
- val app = call.receive()
- call.respond(
- transaction {
- Apps.insert {
- it[id] = randomId(32)
- it[name] = app.name
- }
- .resultedValues
- ?.firstOrNull()
- ?.toApp()
- ?: HttpStatusCode.InternalServerError
- }
- )
- }
-
- get("{appId}") {
- transaction {
- Apps.select { Apps.id.eq(call.parameters["appId"]!!) }
- .singleOrNull()
- }
- ?.let {
- call.respond(it)
- }
- ?: call.respond(HttpStatusCode.NotFound)
- }
-
- patch("{appId}") {
- val appUpdate = call.receive()
- val appId = call.parameters["appId"]!!
- val updated = transaction {
- Apps.update({ Apps.id.eq(appId) }) {
- it[name] = appUpdate.name
- }
- }
- val status = if (updated > 0) {
- HttpStatusCode.NoContent
- } else {
- HttpStatusCode.NotFound
- }
- call.respond(status)
- }
-
- delete("{appId}") {
- val deleted = transaction {
- Apps.deleteWhere { Apps.id.eq(call.parameters["appId"]!!) }
- }
- val status = if (deleted > 0) {
- HttpStatusCode.NoContent
- } else {
- HttpStatusCode.NotFound
- }
- call.respond(status)
- }
- }
-}
diff --git a/server/src/com/wbrawner/flayre/server/Database.kt b/server/src/com/wbrawner/flayre/server/Database.kt
deleted file mode 100644
index 877b761..0000000
--- a/server/src/com/wbrawner/flayre/server/Database.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.wbrawner.flayre.server
-
-import com.typesafe.config.ConfigFactory
-import com.zaxxer.hikari.HikariConfig
-import com.zaxxer.hikari.HikariDataSource
-import io.ktor.config.*
-import io.ktor.server.engine.*
-import org.jetbrains.exposed.sql.Database
-import org.jetbrains.exposed.sql.SchemaUtils
-import org.jetbrains.exposed.sql.Table
-import org.jetbrains.exposed.sql.`java-time`.datetime
-import org.jetbrains.exposed.sql.transactions.transaction
-
-
-object FlayreDatabase {
- private val appConfig = HoconApplicationConfig(ConfigFactory.load())
-
- private val config = HikariConfig().apply {
- jdbcUrl = "jdbc:mysql://${appConfig.property("flayre.database.host").getString()}/${appConfig.property("flayre.database.name").getString()}"
- driverClassName = "com.mysql.cj.jdbc.Driver"
- username = "${appConfig.property("flayre.database.user").getString()}"
- password = "${appConfig.property("flayre.database.password").getString()}"
- maximumPoolSize = 10
- }
- fun init() {
- Database.connect(HikariDataSource(config))
- transaction {
- SchemaUtils.create (Apps, Events)
- }
- }
-}
diff --git a/server/src/com/wbrawner/flayre/server/Events.kt b/server/src/com/wbrawner/flayre/server/Events.kt
deleted file mode 100644
index 84cc46c..0000000
--- a/server/src/com/wbrawner/flayre/server/Events.kt
+++ /dev/null
@@ -1,88 +0,0 @@
-package com.wbrawner.flayre.server
-
-import com.wbrawner.flayre.Event
-import io.ktor.application.*
-import io.ktor.http.*
-import io.ktor.response.*
-import io.ktor.routing.*
-import org.jetbrains.exposed.sql.ResultRow
-import org.jetbrains.exposed.sql.Table
-import org.jetbrains.exposed.sql.`java-time`.datetime
-import org.jetbrains.exposed.sql.and
-import org.jetbrains.exposed.sql.select
-import org.jetbrains.exposed.sql.transactions.transaction
-import sun.util.calendar.ZoneInfo
-import java.time.Instant
-import java.time.LocalDateTime
-import java.time.ZoneOffset
-import java.util.*
-
-object Events : Table() {
- override val primaryKey: PrimaryKey?
- get() = PrimaryKey(id)
- val id = varchar("id", 32)
- val appId = varchar("app_id", 32) references Apps.id
- val date = datetime("date")
- val userAgent = varchar("user_agent", 256).nullable()
- val platform = varchar("platform", 256).nullable()
- val manufacturer = varchar("manufacturer", 256).nullable()
- val model = varchar("model", 256).nullable()
- val version = varchar("version", 256).nullable()
- val locale = varchar("locale", 256)
- val sessionId = varchar("session_id", 32)
- val data = text("data")
- val type = varchar("type", 256)
-}
-
-fun ResultRow.toEvent() = Event(
- get(Events.id),
- get(Events.appId),
- Date(get(Events.date).toInstant(ZoneOffset.UTC).toEpochMilli()),
- Event.InteractionType.valueOf(get(Events.type)),
- get(Events.userAgent),
- get(Events.platform),
- get(Events.manufacturer),
- get(Events.model),
- get(Events.version),
- get(Events.locale),
- get(Events.sessionId),
- get(Events.data)
-)
-
-fun Long.toLocalDateTime(): LocalDateTime =
- LocalDateTime.ofEpochSecond(this / 1000, 0, ZoneOffset.UTC)
-
-fun Route.authenticatedEventsRoutes() {
- get("/events") {
- val appId = call.parameters["appId"]
- if (appId.isNullOrBlank()) {
- call.respond(HttpStatusCode.BadRequest, "Invalid app id")
- return@get
- }
- val from = (call.parameters["from"]?.let {
- Instant.parse(it).toEpochMilli()
- } ?: Calendar.getInstance().apply {
- add(Calendar.DATE, -90)
- }.timeInMillis).toLocalDateTime()
- val to = call.parameters["to"]?.let {
- Instant.parse(it).toEpochMilli().toLocalDateTime()
- } ?: LocalDateTime.now()
-
- call.respond(transaction {
- Events.select {
- (
- Events.appId.eq(appId)
- and Events.date.greaterEq(from)
- and Events.date.lessEq(to)
- )
- }
- .map { it.toEvent() }
- })
- }
-}
-
-fun Route.unauthenticatedEventsRoutes() {
- post("/events") {
-
- }
-}
diff --git a/server/src/main/java/com/wbrawner/flayre/server/FlayreApplication.java b/server/src/main/java/com/wbrawner/flayre/server/FlayreApplication.java
new file mode 100644
index 0000000..9dadc87
--- /dev/null
+++ b/server/src/main/java/com/wbrawner/flayre/server/FlayreApplication.java
@@ -0,0 +1,13 @@
+package com.wbrawner.flayre.server;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class FlayreApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(FlayreApplication.class, args);
+ }
+
+}
diff --git a/server/src/main/resources/application.properties b/server/src/main/resources/application.properties
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/server/src/main/resources/application.properties
@@ -0,0 +1 @@
+
diff --git a/server/src/test/java/com/wbrawner/flayre/server/FlayreApplicationTests.java b/server/src/test/java/com/wbrawner/flayre/server/FlayreApplicationTests.java
new file mode 100644
index 0000000..398e199
--- /dev/null
+++ b/server/src/test/java/com/wbrawner/flayre/server/FlayreApplicationTests.java
@@ -0,0 +1,13 @@
+package com.wbrawner.flayre.server;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class FlayreApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}
diff --git a/server/test/ApplicationTest.kt b/server/test/ApplicationTest.kt
deleted file mode 100644
index 52f7de1..0000000
--- a/server/test/ApplicationTest.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.wbrawner.flayre
-
-import com.wbrawner.flayre.com.wbrawner.flayre.server.module
-import io.ktor.http.*
-import kotlin.test.*
-import io.ktor.server.testing.*
-
-class ApplicationTest {
- @Test
- fun testRoot() {
- withTestApplication({ module(testing = true) }) {
- handleRequest(HttpMethod.Get, "/").apply {
- assertEquals(HttpStatusCode.OK, response.status())
- assertEquals("HELLO WORLD!", response.content)
- }
- }
- }
-}
diff --git a/shared/src/com/wbrawner/flayre/App.kt b/shared/src/main/java/com/wbrawner/flayre/App.java
similarity index 100%
rename from shared/src/com/wbrawner/flayre/App.kt
rename to shared/src/main/java/com/wbrawner/flayre/App.java
diff --git a/shared/src/com/wbrawner/flayre/Event.kt b/shared/src/main/java/com/wbrawner/flayre/Event.kt
similarity index 100%
rename from shared/src/com/wbrawner/flayre/Event.kt
rename to shared/src/main/java/com/wbrawner/flayre/Event.kt
diff --git a/shared/src/com/wbrawner/flayre/Utils.kt b/shared/src/main/java/com/wbrawner/flayre/Utils.java
similarity index 100%
rename from shared/src/com/wbrawner/flayre/Utils.kt
rename to shared/src/main/java/com/wbrawner/flayre/Utils.java