kv_sessions/session

Types

pub type Expiry {
  ExpireAt(birl.Time)
  ExpireIn(Int)
}

Constructors

  • ExpireAt(birl.Time)
  • ExpireIn(Int)
pub type Session {
  Session(
    id: SessionId,
    expires_at: #(#(Int, Int, Int), #(Int, Int, Int)),
    data: dict.Dict(Key, JsonString),
  )
}

Constructors

  • Session(
      id: SessionId,
      expires_at: #(#(Int, Int, Int), #(Int, Int, Int)),
      data: dict.Dict(Key, JsonString),
    )
pub type SessionBuilder {
  SessionBuilder(
    id: SessionId,
    expiry: option.Option(Expiry),
    data: dict.Dict(Key, JsonString),
  )
}

Constructors

  • SessionBuilder(
      id: SessionId,
      expiry: option.Option(Expiry),
      data: dict.Dict(Key, JsonString),
    )
pub type SessionError {
  UnknownError
  DecodeError
  DbSetupError
  DbErrorInsertError(String)
  DbErrorGetError(String)
  DbErrorDeleteError(String)
  DeserializeError(String)
  SessionExpiredError
  NoSessionError
}

Constructors

  • UnknownError
  • DecodeError
  • DbSetupError
  • DbErrorInsertError(String)
  • DbErrorGetError(String)
  • DbErrorDeleteError(String)
  • DeserializeError(String)
  • SessionExpiredError
  • NoSessionError
pub opaque type SessionId

Functions

pub fn build(session: SessionBuilder) -> Session
pub fn builder() -> SessionBuilder
pub fn builder_from(session: Session) -> SessionBuilder
pub fn expiry_to_date(
  expiry: Expiry,
) -> #(#(Int, Int, Int), #(Int, Int, Int))

Convert expiry type to a date

pub fn generate_id() -> SessionId

Create a new session id

pub fn id_from_string(id: String) -> SessionId

Unwrap session id to a string

pub fn id_to_string(id: SessionId) -> String

Unwrap session id to a string

pub fn with_data(
  session: SessionBuilder,
  data: Dict(String, String),
) -> SessionBuilder
pub fn with_entry(
  session: SessionBuilder,
  key: String,
  data: String,
) -> SessionBuilder
pub fn with_expires_at(
  session: SessionBuilder,
  expires_at: Time,
) -> SessionBuilder
pub fn with_expiry(
  session: SessionBuilder,
  expiry: Expiry,
) -> SessionBuilder
pub fn with_id(
  session: SessionBuilder,
  id: SessionId,
) -> SessionBuilder
pub fn with_id_string(
  session: SessionBuilder,
  id: String,
) -> SessionBuilder
Search Document