+
+impl ToSql<RegistrationModeType, Pg> for RegistrationMode {
+ fn to_sql<'b>(&'b self, out: &mut Output<'b, '_, Pg>) -> serialize::Result {
+ match *self {
+ RegistrationMode::Closed => out.write_all(b"closed")?,
+ RegistrationMode::RequireApplication => out.write_all(b"require_application")?,
+ RegistrationMode::Open => out.write_all(b"open")?,
+ }
+ Ok(IsNull::No)
+ }
+}
+
+impl FromSql<RegistrationModeType, Pg> for RegistrationMode {
+ fn from_sql(bytes: PgValue<'_>) -> deserialize::Result<Self> {
+ match bytes.as_bytes() {
+ b"closed" => Ok(RegistrationMode::Closed),
+ b"require_application" => Ok(RegistrationMode::RequireApplication),
+ b"open" => Ok(RegistrationMode::Open),
+ _ => Err("Unrecognized enum variant".into()),
+ }
+ }
+}