From de7bd6200e604cdde4affa115b0e05a809c1f3e8 Mon Sep 17 00:00:00 2001 From: bom Date: Fri, 22 Jul 2022 10:51:27 +0200 Subject: [PATCH] Add spec for mailer --- src/main/cljc/dda/c4k_gitea/gitea.cljc | 31 +++++++++++++++++--------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/main/cljc/dda/c4k_gitea/gitea.cljc b/src/main/cljc/dda/c4k_gitea/gitea.cljc index 834ed46..31ba648 100644 --- a/src/main/cljc/dda/c4k_gitea/gitea.cljc +++ b/src/main/cljc/dda/c4k_gitea/gitea.cljc @@ -1,17 +1,28 @@ (ns dda.c4k-gitea.gitea - (:require - [clojure.spec.alpha :as s] - #?(:cljs [shadow.resource :as rc]) - #?(:clj [orchestra.core :refer [defn-spec]] - :cljs [orchestra.core :refer-macros [defn-spec]]) - [dda.c4k-common.yaml :as yaml] - [dda.c4k-common.common :as cm] - [dda.c4k-common.base64 :as b64] - [dda.c4k-common.predicate :as pred] - [dda.c4k-common.postgres :as postgres])) + (:require + [clojure.spec.alpha :as s] + [clojure.string :as str] + #?(:cljs [shadow.resource :as rc]) + #?(:clj [orchestra.core :refer [defn-spec]] + :cljs [orchestra.core :refer-macros [defn-spec]]) + [dda.c4k-common.yaml :as yaml] + [dda.c4k-common.common :as cm] + [dda.c4k-common.base64 :as b64] + [dda.c4k-common.predicate :as pred] + [dda.c4k-common.postgres :as postgres])) (s/def ::fqdn pred/fqdn-string?) (s/def ::issuer pred/letsencrypt-issuer?) +(s/def ::mailer-from pred/bash-env-string?) +; TODO: Move to pred/host-port? +(s/def ::mailer-host-port #(let [split-string (str/split % #":")] + (and (= (count split-string) 2) + (pred/fqdn-string? (first split-string)) + ; TODO: Move this to pred/port-number? + (let [snd (second split-string)] + (and (integer? snd) + (> 0 snd) + (<= 65535 snd)))))) (s/def ::mailer-user pred/bash-env-string?) (s/def ::mailer-pw pred/bash-env-string?)