From c96b272e103b5adee11e8f1318ea675b60f9e563 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Fri, 7 May 2021 13:25:40 +0200
Subject: [PATCH] Make `get_or_error` generic

Thanks to Andreu Botella!
---
 src/config.rs | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/src/config.rs b/src/config.rs
index 218f72e..3885dd4 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -15,9 +15,6 @@
 
 use serde::de::Deserialize;
 
-use pamsm::PamError;
-use libnss::interop::Response;
-
 extern crate config;
 
 const DEFAULT_CONFIG_FILE: &str = "/etc/nss_pam_oidc";
@@ -73,12 +70,7 @@ pub fn get_optional<'de, T: Deserialize<'de>>(conf: &config::Config, key: &str)
     }
 }
 
-enum DesiredError {
-    Response,
-    PamError
-}
-
-pub fn get_or_error<'de, T: Deserialize<'de>>(config: &config::Config, key: &str, error_value: DesiredError) -> Result<T, Response> {
+pub fn get_or_error<'de, T: Deserialize<'de>, E>(config: &config::Config, key: &str, error_value: E) -> Result<T, E> {
     match get_optional(config, key) {
         Some(v) => {
             debug!("Configuration key found: {}", key);
-- 
GitLab