pub struct Library {
pub id: i64,
pub name: String,
pub locations: Vec<String>,
pub media_type: MediaType,
pub hidden: bool,
}
Expand description
Library struct which we can use to deserialize database queries into.
Fields
id: i64
name: String
unique name of the library
locations: Vec<String>
a path on the filesystem that holds media. ie /home/user/media/movies
media_type: MediaType
Enum used to identify the media type that this library contains. At the
moment only movie
and tv
are supported
Is library hidden?
Implementations
sourceimpl Library
impl Library
sourcepub async fn get_all(conn: &mut Transaction<'_>) -> Vec<Self>
pub async fn get_all(conn: &mut Transaction<'_>) -> Vec<Self>
Method returns all libraries that exist in the database in the form of a Vec. If no libraries are found the the Vec will just be empty.
This method will not return the locations indexed for this library, if you need those you must query for them separately.
pub async fn get_locations(
conn: &mut Transaction<'_>,
id: i64
) -> Result<Vec<String>, DatabaseError>
sourcepub async fn get_one(
conn: &mut Transaction<'_>,
lib_id: i64
) -> Result<Self, DatabaseError>
pub async fn get_one(
conn: &mut Transaction<'_>,
lib_id: i64
) -> Result<Self, DatabaseError>
Method filters the database for a library with the id supplied and returns it. This method will also fetch the indexed locations for this library.
Arguments
conn
- mutable reference to a sqlx transaction.lib_id
- a integer that is the id of the library we are trying to query
sourcepub async fn delete(
conn: &mut Transaction<'_>,
id_to_del: i64
) -> Result<usize, DatabaseError>
pub async fn delete(
conn: &mut Transaction<'_>,
id_to_del: i64
) -> Result<usize, DatabaseError>
Method filters the database for a library with the id supplied and deletes it.
Arguments
conn
- mutable reference to a sqlx transaction.lib_id
- a integer that is the id of the library we are trying to query