hook up gen image url action

This commit is contained in:
Travis Shears 2025-07-13 08:25:47 +02:00
parent 1ca64db2ad
commit 6f78e10132
4 changed files with 13 additions and 7 deletions

1
.gitignore vendored
View file

@ -2,3 +2,4 @@
.lsp
config.edn
.clj-kondo
db.db

BIN
db.db

Binary file not shown.

View file

@ -40,16 +40,16 @@
(defn init-db [path]
(sqlite/execute! path
["create table if not exists images (title TEXT, created TEXT);"])
["drop table images;"])
(sqlite/execute! path
["delete from images;"]))
["create table if not exists images (path TEXT, created TEXT);"]))
(defn save-to-db [db-path record]
(let [fmt DateTimeFormatter/ISO_LOCAL_DATE_TIME
formatted-date (-> record :date (.format fmt))
file-name (record :file-name)]
(sqlite/execute! db-path
["insert into images (title, created) values (?, ?);" file-name formatted-date])))
["insert into images (path, created) values (?, ?);" file-name formatted-date])))
(defn run []
(let [db-path (:db-path config)]

View file

@ -3,12 +3,11 @@
(:require
[image-service-cli.index :as index]
[image-service-cli.config :refer [config]]
[clojure.pprint :refer [pprint]]
[pod.babashka.go-sqlite3 :as sql]
[cheshire.core :as json]
[com.travisshears.gum-utils :as utils]))
;; user=> (pprint (sql/query (image-service-cli.config/config :db-path) "select * from images i order by i.created desc limit 10;"))
(defn base64-encode [data]
(let [bytes (.getBytes data)
encoder (Base64/getEncoder)]
@ -24,9 +23,15 @@
encoded-config (base64-encode (json/encode img-config))]
(str (:final-host config) encoded-config)))
(defn gen-url-action []
(let [items (->> (sql/query (image-service-cli.config/config :db-path) "select * from images i order by i.created desc limit 100;")
(map #(hash-map :item % :value (:path %))))
max-dimension (utils/prompt-for "Max dimension: ")]
(printf "url: %s\n" (get-image-url (:path (utils/select items)) max-dimension))))
(defn -main [& args]
(case (first args)
;; "upload" (create/run)
;; "ls" (delete/run)
"gen" (gen-url-action)
"index" (index/run)
(println "Missing command. Try upload, ls, or index.")))