diff --git a/.gitignore b/.gitignore index 12a3870..8f1da31 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .lsp config.edn .clj-kondo +db.db diff --git a/db.db b/db.db deleted file mode 100644 index cce80bc..0000000 Binary files a/db.db and /dev/null differ diff --git a/src/image_service_cli/index.clj b/src/image_service_cli/index.clj index 915bcea..2142e74 100644 --- a/src/image_service_cli/index.clj +++ b/src/image_service_cli/index.clj @@ -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)] diff --git a/src/image_service_cli/main.clj b/src/image_service_cli/main.clj index 21abf8b..230e3ae 100644 --- a/src/image_service_cli/main.clj +++ b/src/image_service_cli/main.clj @@ -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.")))