more stuff
This commit is contained in:
parent
f54509cfa4
commit
203c2b97a7
1
.idea/gradle.xml
generated
1
.idea/gradle.xml
generated
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||||
<component name="GradleSettings">
|
<component name="GradleSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
<GradleProjectSettings>
|
<GradleProjectSettings>
|
||||||
|
|||||||
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@ -9,7 +9,7 @@
|
|||||||
<list />
|
<list />
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="corretto-17 (2)" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="semeru-17" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@ -3,20 +3,13 @@ package com.readymixerp
|
|||||||
import com.readymixerp.domain.DataModel
|
import com.readymixerp.domain.DataModel
|
||||||
import com.readymixerp.domain.Session
|
import com.readymixerp.domain.Session
|
||||||
import com.readymixerp.domain.Session.database
|
import com.readymixerp.domain.Session.database
|
||||||
|
import io.ebean.CallableSql
|
||||||
import io.ebean.DuplicateKeyException
|
import io.ebean.DuplicateKeyException
|
||||||
import io.ebean.RawSql
|
|
||||||
import io.ebean.RawSqlBuilder
|
import io.ebean.RawSqlBuilder
|
||||||
import io.javalin.Javalin
|
import io.javalin.Javalin
|
||||||
import io.javalin.apibuilder.ApiBuilder.before
|
import io.javalin.apibuilder.ApiBuilder.*
|
||||||
import io.javalin.apibuilder.ApiBuilder.get
|
|
||||||
import io.javalin.apibuilder.ApiBuilder.post
|
|
||||||
import io.javalin.apibuilder.ApiBuilder.delete
|
|
||||||
import io.javalin.apibuilder.ApiBuilder.path
|
|
||||||
import io.javalin.apibuilder.ApiBuilder.put
|
|
||||||
import io.javalin.apibuilder.ApiBuilder.patch
|
|
||||||
import io.javalin.http.*
|
import io.javalin.http.*
|
||||||
import io.javalin.json.JavalinJackson
|
import io.javalin.json.JavalinJackson
|
||||||
import io.javalin.plugin.bundled.CorsContainer
|
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
@ -41,6 +34,17 @@ fun main(args: Array<String>) {
|
|||||||
//validate, auth token
|
//validate, auth token
|
||||||
}
|
}
|
||||||
path("/api") {
|
path("/api") {
|
||||||
|
post("/execute/{name}"){
|
||||||
|
val name = it.pathParam("name")
|
||||||
|
val params = it.bodyAsClass<Map<String,Any>>()
|
||||||
|
val placeholders = (0..params.entries.size).joinToString(",") { "?" }
|
||||||
|
val sql = "{call $name($placeholders)}"
|
||||||
|
val cs: CallableSql = database.createCallableSql(sql)
|
||||||
|
params.entries.forEachIndexed { index, entry ->
|
||||||
|
cs.setParameter(index + 1, entry.value)
|
||||||
|
}
|
||||||
|
database.execute(cs)
|
||||||
|
}
|
||||||
get("/{entity}/{id}") {
|
get("/{entity}/{id}") {
|
||||||
it.json(
|
it.json(
|
||||||
database.find(DataModel::class.java, it.pathParam("id")) ?: throw NotFoundResponse()
|
database.find(DataModel::class.java, it.pathParam("id")) ?: throw NotFoundResponse()
|
||||||
@ -63,7 +67,13 @@ fun main(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
post("/{entity}") {
|
post("/{entity}") {
|
||||||
database.save(
|
database.save(
|
||||||
it.bodyAsClass<DataModel>()
|
it.bodyAsClass<DataModel>().apply {
|
||||||
|
this.entityName = it.pathParam("entity")
|
||||||
|
if(this.uniqueIdentifier.isEmpty()) {
|
||||||
|
//todo: set a counter
|
||||||
|
}
|
||||||
|
this.uniqueIdentifier = "${this.entityName}_${this.uniqueIdentifier}"
|
||||||
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
put("/{entity}/{id}") {
|
put("/{entity}/{id}") {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user