From df6d3e34e85ff8a649a369c84159f8f7283fc798 Mon Sep 17 00:00:00 2001 From: kageru Date: Sun, 29 Sep 2019 13:26:05 +0200 Subject: [PATCH] Use MEDIUMTEXT column type to increase size limit --- src/main/kotlin/moe/kageru/kodeshare/Routes.kt | 6 +++--- src/main/kotlin/moe/kageru/kodeshare/pages/AboutPage.kt | 2 +- src/main/kotlin/moe/kageru/kodeshare/pages/Css.kt | 3 ++- src/main/kotlin/moe/kageru/kodeshare/pages/Homepage.kt | 2 +- .../kotlin/moe/kageru/kodeshare/persistence/PasteDao.kt | 6 +++++- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/moe/kageru/kodeshare/Routes.kt b/src/main/kotlin/moe/kageru/kodeshare/Routes.kt index 44d0753..af4399a 100644 --- a/src/main/kotlin/moe/kageru/kodeshare/Routes.kt +++ b/src/main/kotlin/moe/kageru/kodeshare/Routes.kt @@ -85,9 +85,9 @@ object Routes { respond(HttpStatusCode.BadRequest, "Empty pastes are not allowed") return null } - if (content.length > 65535) { - Log.info("Rejecting paste over 64k") - respond(HttpStatusCode.BadRequest, "Pastes are limited to 64 KiB") + if (content.length > 1024 * 1024) { + Log.info("Rejecting paste over 1M") + respond(HttpStatusCode.BadRequest, "Pastes are limited to 1 MiB") return null } val uri = PasteDao.insert(Paste(content, DateTime.now(), Paste.randomUri())).data.uri diff --git a/src/main/kotlin/moe/kageru/kodeshare/pages/AboutPage.kt b/src/main/kotlin/moe/kageru/kodeshare/pages/AboutPage.kt index bf61a09..1c17c72 100644 --- a/src/main/kotlin/moe/kageru/kodeshare/pages/AboutPage.kt +++ b/src/main/kotlin/moe/kageru/kodeshare/pages/AboutPage.kt @@ -58,7 +58,7 @@ object AboutPage { } h3 { +"Expiration & limits" } p { - +"All pastes are limited to 64 KiB, and empty pastes are rejected." + +"All pastes are limited to 1 MiB, and empty pastes are rejected." br +"Right now, pastes are not pruned or deleted at all. " +"If more people start using this, I might add something that deletes unaccessed pastes after a few months. We’ll see." diff --git a/src/main/kotlin/moe/kageru/kodeshare/pages/Css.kt b/src/main/kotlin/moe/kageru/kodeshare/pages/Css.kt index 7d1b998..ad4249e 100644 --- a/src/main/kotlin/moe/kageru/kodeshare/pages/Css.kt +++ b/src/main/kotlin/moe/kageru/kodeshare/pages/Css.kt @@ -52,7 +52,7 @@ object Css { borderStyle = BorderStyle.solid color = Color.black fontWeight = FontWeight.w600 - padding = "5px 15px" + padding = "5px 10em" cursor = Cursor.pointer transition(duration = 500.ms) } @@ -89,6 +89,7 @@ object Css { } rule("textarea:focus") { borderColor = accent2 + outline = Outline.none } rule("::selection") { color = accent1 diff --git a/src/main/kotlin/moe/kageru/kodeshare/pages/Homepage.kt b/src/main/kotlin/moe/kageru/kodeshare/pages/Homepage.kt index 8c61e52..ed177ce 100644 --- a/src/main/kotlin/moe/kageru/kodeshare/pages/Homepage.kt +++ b/src/main/kotlin/moe/kageru/kodeshare/pages/Homepage.kt @@ -9,7 +9,7 @@ object Homepage { head { link(rel = "stylesheet", href = "/style.css", type = "text/css") unsafe { - +"" + +"" } } body { diff --git a/src/main/kotlin/moe/kageru/kodeshare/persistence/PasteDao.kt b/src/main/kotlin/moe/kageru/kodeshare/persistence/PasteDao.kt index 003546c..40bb20a 100644 --- a/src/main/kotlin/moe/kageru/kodeshare/persistence/PasteDao.kt +++ b/src/main/kotlin/moe/kageru/kodeshare/persistence/PasteDao.kt @@ -50,11 +50,15 @@ private fun ResultRow.toPaste() = Transient( private object PasteTable : Table() { val id = long("id").primaryKey().autoIncrement().uniqueIndex() - val content = text("content") + val content = registerColumn("content", MediumTextColumnType()) val created = datetime("created").index() val uri = varchar("uri", 10).uniqueIndex() } +class MediumTextColumnType: IColumnType by TextColumnType() { + override fun sqlType(): String = "MEDIUMTEXT" +} + /* * Better have that one generic class * after deciding to make everything else