From e66929d6d5928ca882b1060fcd8e42cae89da1dd Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 8 Dec 2020 14:05:29 +0100 Subject: Use EnvironmentVariableName type for names of ENV variables This makes the typing a bit more helpful by using a type for the name of environment variables. Signed-off-by: Matthias Beyer --- src/db/models/envvar.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/db') diff --git a/src/db/models/envvar.rs b/src/db/models/envvar.rs index 51ad32a..7e5ac7d 100644 --- a/src/db/models/envvar.rs +++ b/src/db/models/envvar.rs @@ -5,6 +5,7 @@ use diesel::prelude::*; use crate::schema::envvars::*; use crate::schema::envvars; +use crate::util::EnvironmentVariableName; #[derive(Identifiable, Queryable)] #[table_name="envvars"] @@ -22,8 +23,8 @@ struct NewEnvVar<'a> { } impl EnvVar { - pub fn create_or_fetch(database_connection: &PgConnection, k: &str, v: &str) -> Result { - let new_envvar = NewEnvVar { name: k, value: v }; + pub fn create_or_fetch(database_connection: &PgConnection, k: &EnvironmentVariableName, v: &str) -> Result { + let new_envvar = NewEnvVar { name: k.as_ref(), value: v }; diesel::insert_into(envvars::table) .values(&new_envvar) @@ -31,7 +32,7 @@ impl EnvVar { .execute(database_connection)?; dsl::envvars - .filter(name.eq(k).and(value.eq(v))) + .filter(name.eq(k.as_ref()).and(value.eq(v))) .first::(database_connection) .map_err(Error::from) } -- cgit v1.2.3