SessionPersistence

Struct SessionPersistence 

Source
pub struct SessionPersistence;
Expand description

Session persistence utilities for managing session data in XDG directories.

This module provides functionality to save and load Last.fm session data using the XDG Base Directory Specification. Sessions are stored per-user in the format: ~/.local/share/lastfm-edit/users/{username}/session.json

§Deprecated

Use SessionManager instead for more flexibility and customization.

Implementations§

Source§

impl SessionPersistence

Source

pub fn get_session_path(username: &str) -> Result<PathBuf>

Get the session file path for a given username using XDG directories.

Returns a path like: ~/.local/share/lastfm-edit/users/{username}/session.json

§Arguments
  • username - The Last.fm username
§Returns

Returns the path where the session should be stored, or an error if the XDG data directory cannot be determined.

Source

pub fn save_session(session: &LastFmEditSession) -> Result<()>

Save a session to the XDG data directory.

This creates the necessary directory structure and saves the session as JSON to ~/.local/share/lastfm-edit/users/{username}/session.json

§Arguments
  • session - The session to save
§Returns

Returns Ok(()) on success, or an error if the save fails.

Source

pub fn load_session(username: &str) -> Result<LastFmEditSession>

Load a session from the XDG data directory.

Attempts to load a session from ~/.local/share/lastfm-edit/users/{username}/session.json

§Arguments
  • username - The Last.fm username
§Returns

Returns the loaded session on success, or an error if the file doesn’t exist or cannot be parsed.

Source

pub fn session_exists(username: &str) -> bool

Check if a saved session exists for the given username.

§Arguments
  • username - The Last.fm username
§Returns

Returns true if a session file exists, false otherwise.

Source

pub fn remove_session(username: &str) -> Result<()>

Remove a saved session for the given username.

This deletes the session file from the XDG data directory.

§Arguments
  • username - The Last.fm username
§Returns

Returns Ok(()) on success, or an error if the deletion fails.

Source

pub fn list_saved_users() -> Result<Vec<String>>

List all usernames that have saved sessions.

Scans the XDG data directory for session files and returns the usernames.

§Returns

Returns a vector of usernames that have saved sessions.

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,