From a90cabf605c6d23efed9276fad8c32677d29ae93 Mon Sep 17 00:00:00 2001 From: Travis Shears Date: Tue, 10 Mar 2026 18:31:36 +0100 Subject: [PATCH] add repl to api server and fix list-snippets sorting --- Dockerfile | 2 ++ README.md | 8 ++++++++ bruno/CodeSnippets/bruno.json | 2 +- src/snippets/infra/api.clj | 1 - src/snippets/main.clj | 13 ++++++++++++- src/snippets/use_cases/view.clj | 2 ++ 6 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3b4e7e3..322e0bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,6 +22,8 @@ RUN clj -P COPY build.clj config.edn ./ COPY src ./src +ENV DATOMIC_PATH=/datomic_data +ENV DATOMIC_ENV=prd # construct the application jar RUN clj -T:build uber && cp target/snippets-standalone.jar ./app.jar && rm -r target diff --git a/README.md b/README.md index 6a01a49..11f88ea 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,14 @@ $ fd -e clj | entr -r clojure -M -m snippets.main ### Repl +Connect to the repl of running app + +```shell +$ rlwrap nc localhost 5555 +``` + +Or start up fresh repl + ``` $ rlwrap clojure ; print stuff diff --git a/bruno/CodeSnippets/bruno.json b/bruno/CodeSnippets/bruno.json index 3858af6..f6f6e53 100644 --- a/bruno/CodeSnippets/bruno.json +++ b/bruno/CodeSnippets/bruno.json @@ -1,6 +1,6 @@ { "version": "1", - "name": "CodeSnippets", + "name": "Snippets", "type": "collection", "ignore": [ "node_modules", diff --git a/src/snippets/infra/api.clj b/src/snippets/infra/api.clj index 1bae601..a7d31bb 100644 --- a/src/snippets/infra/api.clj +++ b/src/snippets/infra/api.clj @@ -2,7 +2,6 @@ (:require [ring.adapter.jetty :as jetty] [clojure.pprint :as pprint] - [clojure.string :as str] [taoensso.telemere :as t] [snippets.use-cases.view] [snippets.use-cases.delete] diff --git a/src/snippets/main.clj b/src/snippets/main.clj index e167b83..cce0890 100644 --- a/src/snippets/main.clj +++ b/src/snippets/main.clj @@ -1,9 +1,20 @@ (ns snippets.main (:require [snippets.infra.api :as api] - [snippets.infra.db2 :refer [start-up-check]]) + [clojure.core.server] + [snippets.infra.db2 :refer [start-up-check]] + [taoensso.telemere :as t]) (:gen-class)) +(defn start-repl-server [] + (let [settings {:port 5555 :host "0.0.0.0"}] + (clojure.core.server/start-server + (merge + {:name "repl" + :accept 'clojure.core.server/repl} settings)) + (t/log! {:level :info, :data {:settings settings}} "Starting repl server"))) + (defn -main [] (start-up-check) + (start-repl-server) (api/run-server)) diff --git a/src/snippets/use_cases/view.clj b/src/snippets/use_cases/view.clj index 5d7a936..2c58764 100644 --- a/src/snippets/use_cases/view.clj +++ b/src/snippets/use_cases/view.clj @@ -15,6 +15,8 @@ (let [limit (:limit options) skip (:skip options)] (->> (db/list-snippets) + (sort-by :pub-date) + (reverse) (drop skip) (take limit) (map serialize-snippet)))))