Removed sql_traits module as it was merely a stepping stone module
Channel struct now adpots a from_tup method and can be seen in use in get_channels_vec
This commit is contained in:
parent
08e5b87ba4
commit
4f71e566c3
@ -4,8 +4,6 @@ use mysql_async::{Conn, Pool};
|
||||
use mysql_async::error::Error;
|
||||
use mysql_async::prelude::Queryable;
|
||||
|
||||
use crate::sql_traits::DBTrait;
|
||||
|
||||
enum ChannelType {
|
||||
Voice,
|
||||
Text,
|
||||
@ -37,8 +35,8 @@ struct Channel {
|
||||
kind: ChannelType
|
||||
}
|
||||
|
||||
impl DBTrait for Channel {
|
||||
fn from(tup: (i32, String, String, i32)) -> Channel {
|
||||
impl Channel {
|
||||
fn from_tup(tup: (i32, String, String, i32)) -> Channel {
|
||||
Channel {
|
||||
id: tup.0,
|
||||
name: tup.1,
|
||||
@ -61,12 +59,7 @@ async fn get_channels_vec(conn: Conn) -> Result<Vec<Channel>, Error> {
|
||||
let rows_db = conn.prep_exec(r"SELECT * FROM channels", ()).await?;
|
||||
let (_, rows) = rows_db.map_and_drop(|row| {
|
||||
let (id, name, desc, kind): (i32, String, String, i32) = mysql_async::from_row(row);
|
||||
Channel {
|
||||
id: id,
|
||||
name: name,
|
||||
description: desc,
|
||||
kind: ChannelType::from_i32(kind)
|
||||
}
|
||||
Channel::from_tup((id, name, desc, kind))
|
||||
}).await?;
|
||||
|
||||
Ok(rows)
|
||||
|
@ -1,8 +0,0 @@
|
||||
// Module with some basic traits we supply for things that go in + out of
|
||||
// mysql_async
|
||||
|
||||
|
||||
pub trait DBTrait {
|
||||
fn from(db_tup: (i32, String, String, i32)) -> Self;
|
||||
fn as_json_str(&self) -> String;
|
||||
}
|
Loading…
Reference in New Issue
Block a user