%% @author Marc Worrell %% @copyright 2016-2026 Marc Worrell, Maas-Maarten Zeeman %% @doc Fetch information about the SSL certificates %% @end %% Copyright 2016-2026 Marc Worrell, Maas-Maarten Zeeman %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. %% You may obtain a copy of the License at %% %% http://www.apache.org/licenses/LICENSE-2.0 %% %% Unless required by applicable law or agreed to in writing, software %% distributed under the License is distributed on an "AS IS" BASIS, %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. %% See the License for the specific language governing permissions and %% limitations under the License. -module(m_ssl_letsencrypt). -moduledoc(" Model for Let's Encrypt status information, available to administrators. Available Model API Paths ------------------------- | Method | Path pattern | Description | | --- | --- | --- | | `get` | `/status/...` | Return admin-only Let's Encrypt status from `mod_ssl_letsencrypt:status/1` (certificate/renewal state for this site). | `/+name` marks a variable path segment. A trailing `/...` means extra path segments are accepted for further lookups. "). -author("Marc Worrell zotonic_model:return(). m_get([ <<"status">> | Rest ], _Msg, Context) -> case z_acl:is_admin(Context) of true -> case status(Context) of {ok, S} -> {ok, {S, Rest}}; {error, _} = Error -> Error end; false -> {error, eacces} end; m_get(_Vs, _Msg, _Context) -> {error, unknown_path}. status(Context) -> mod_ssl_letsencrypt:status(Context).