summaryrefslogtreecommitdiffstats
path: root/src/db
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-12-08 14:05:29 +0100
committerMatthias Beyer <mail@beyermatthias.de>2020-12-08 14:07:20 +0100
commite66929d6d5928ca882b1060fcd8e42cae89da1dd (patch)
treea92b7a566b4ad3984738ad1ff23c5b9ca2703383 /src/db
parent24fff4c70f07fd51dee40aea52f136bc69f75d65 (diff)
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 <mail@beyermatthias.de>
Diffstat (limited to 'src/db')
-rw-r--r--src/db/models/envvar.rs7
1 files changed, 4 insertions, 3 deletions
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<EnvVar> {
- let new_envvar = NewEnvVar { name: k, value: v };
+ pub fn create_or_fetch(database_connection: &PgConnection, k: &EnvironmentVariableName, v: &str) -> Result<EnvVar> {
+ 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::<EnvVar>(database_connection)
.map_err(Error::from)
}