From e5bdd852ca2ddb09bad53f620602afe1ee9806cf Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Fri, 25 Oct 2024 16:08:11 +0200 Subject: [PATCH] :bug: Fix corner case on selection storage backend from settings Related to how backward compatibility is handled with previous settings. --- backend/src/app/storage.clj | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/backend/src/app/storage.clj b/backend/src/app/storage.clj index 861730e33..426ff2ca2 100644 --- a/backend/src/app/storage.clj +++ b/backend/src/app/storage.clj @@ -10,6 +10,7 @@ (:require [app.common.data :as d] [app.common.data.macros :as dm] + [app.common.logging :as l] [app.common.spec :as us] [app.common.uuid :as uuid] [app.config :as cf] @@ -19,6 +20,7 @@ [app.storage.s3 :as ss3] [app.util.time :as dt] [clojure.spec.alpha :as s] + [cuerdas.core :as str] [datoteka.fs :as fs] [integrant.core :as ig]) (:import @@ -30,7 +32,7 @@ (case name :assets-fs :fs :assets-s3 :s3 - :fs))) + nil))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Storage Module State @@ -52,11 +54,19 @@ (defmethod ig/init-key ::storage [_ {:keys [::backends ::db/pool] :as cfg}] - (-> (d/without-nils cfg) - (assoc ::backends (d/without-nils backends)) - (assoc ::backend (or (get-legacy-backend) - (cf/get :objects-storage-backend :fs))) - (assoc ::db/connectable pool))) + (let [backend (or (get-legacy-backend) + (cf/get :objects-storage-backend) + :fs) + backends (d/without-nils backends)] + + (l/dbg :hint "initialize" + :default (d/name backend) + :available (str/join "," (map d/name (keys backends)))) + + (-> (d/without-nils cfg) + (assoc ::backends backends) + (assoc ::backend backend) + (assoc ::db/connectable pool)))) (s/def ::backend keyword?) (s/def ::storage