diff --git a/backend/src/app/rpc/management/nitrate.clj b/backend/src/app/rpc/management/nitrate.clj index 79bfdf02df..db8e6e0e06 100644 --- a/backend/src/app/rpc/management/nitrate.clj +++ b/backend/src/app/rpc/management/nitrate.clj @@ -64,13 +64,26 @@ ;; ---- API: get-penpot-version (def ^:private schema:get-penpot-version-result - [:map [:version ::sm/text]]) + [:map + [:version + [:map + [:full [:maybe ::sm/text]] + [:branch [:maybe ::sm/text]] + [:base [:maybe ::sm/text]] + [:main [:maybe ::sm/text]] + [:major [:maybe ::sm/text]] + [:minor [:maybe ::sm/text]] + [:patch [:maybe ::sm/text]] + [:modifier [:maybe ::sm/text]] + [:commit [:maybe ::sm/text]] + [:commit-hash [:maybe ::sm/text]]]]]) (sv/defmethod ::get-penpot-version "Get the current Penpot version" {::doc/added "2.14" ::sm/params [:map] - ::sm/result schema:get-penpot-version-result} + ::sm/result schema:get-penpot-version-result + ::rpc/auth false} [_cfg _params] {:version cf/version}) diff --git a/backend/test/backend_tests/rpc_management_nitrate_test.clj b/backend/test/backend_tests/rpc_management_nitrate_test.clj index 101dfe19a1..c5de0bf6c4 100644 --- a/backend/test/backend_tests/rpc_management_nitrate_test.clj +++ b/backend/test/backend_tests/rpc_management_nitrate_test.clj @@ -45,11 +45,15 @@ (t/is (= :authentication-required (th/ex-code (:error out)))))) (t/deftest get-penpot-version - (let [profile (th/create-profile* 1 {:is-active true}) - out (management-command-with-nitrate! {::th/type :get-penpot-version - ::rpc/profile-id (:id profile)})] + (let [out (management-command-with-nitrate! {::th/type :get-penpot-version}) + version (-> out :result :version)] (t/is (th/success? out)) - (t/is (= cf/version (-> out :result :version))))) + (t/is (= #{:full :branch :base :main :major :minor :patch :modifier :commit :commit-hash} + (set (keys version)))) + (doseq [k [:full :branch :base :main :major :minor :patch :modifier :commit :commit-hash]] + (t/is (or (nil? (get version k)) + (string? (get version k))))) + (t/is (= cf/version version)))) (t/deftest get-teams-returns-only-owned-non-default-non-deleted (let [profile (th/create-profile* 1 {:is-active true})