firefly-iii 0.3.0

Rust API client for firefly-iii
Documentation
/*
 * Firefly III API v6.4.14
 *
 * This is the documentation of the Firefly III API. Please report any bugs or issues. You may use the \"Authorize\" button to try the API below. <br><br> Please keep in mind that the demo site does **not** accept requests from `curl`, `colly`, `wget`, etc. You must use a browser or a tool like Insomnia to make your test requests. <br><br> To learn more about the idiosyncrasies of this API, please read about the API in the [Firefly III API documentation](https://docs.firefly-iii.org/references/firefly-iii/api/). <br><br> <small>This file was last generated on 2025-12-26 @ 15:17:41 (Europe/Amsterdam)</small>
 *
 * The version of the OpenAPI document: v6.4.14
 * Contact: james@firefly-iii.org
 * Generated by: https://openapi-generator.tech
 */

#![allow(unused_imports)]

use crate::models::{self, *};
use std::fmt;

/// RuleTriggerKeyword : The type of thing this trigger responds to. A limited set is possible

/// The type of thing this trigger responds to. A limited set is possible
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RuleTriggerKeyword {
    #[serde(rename = "from_account_starts")]
    FromAccountStarts,
    #[serde(rename = "from_account_ends")]
    FromAccountEnds,
    #[serde(rename = "from_account_is")]
    FromAccountIs,
    #[serde(rename = "from_account_contains")]
    FromAccountContains,
    #[serde(rename = "to_account_starts")]
    ToAccountStarts,
    #[serde(rename = "to_account_ends")]
    ToAccountEnds,
    #[serde(rename = "to_account_is")]
    ToAccountIs,
    #[serde(rename = "to_account_contains")]
    ToAccountContains,
    #[serde(rename = "amount_less")]
    AmountLess,
    #[serde(rename = "amount_exactly")]
    AmountExactly,
    #[serde(rename = "amount_more")]
    AmountMore,
    #[serde(rename = "description_starts")]
    DescriptionStarts,
    #[serde(rename = "description_ends")]
    DescriptionEnds,
    #[serde(rename = "description_contains")]
    DescriptionContains,
    #[serde(rename = "description_is")]
    DescriptionIs,
    #[serde(rename = "transaction_type")]
    TransactionType,
    #[serde(rename = "category_is")]
    CategoryIs,
    #[serde(rename = "budget_is")]
    BudgetIs,
    #[serde(rename = "tag_is")]
    TagIs,
    #[serde(rename = "currency_is")]
    CurrencyIs,
    #[serde(rename = "has_attachments")]
    HasAttachments,
    #[serde(rename = "has_no_category")]
    HasNoCategory,
    #[serde(rename = "has_any_category")]
    HasAnyCategory,
    #[serde(rename = "has_no_budget")]
    HasNoBudget,
    #[serde(rename = "has_any_budget")]
    HasAnyBudget,
    #[serde(rename = "has_no_tag")]
    HasNoTag,
    #[serde(rename = "has_any_tag")]
    HasAnyTag,
    #[serde(rename = "notes_contains")]
    NotesContains,
    #[serde(rename = "notes_start")]
    NotesStart,
    #[serde(rename = "notes_end")]
    NotesEnd,
    #[serde(rename = "notes_are")]
    NotesAre,
    #[serde(rename = "no_notes")]
    NoNotes,
    #[serde(rename = "any_notes")]
    AnyNotes,
    #[serde(rename = "source_account_is")]
    SourceAccountIs,
    #[serde(rename = "destination_account_is")]
    DestinationAccountIs,
    #[serde(rename = "source_account_starts")]
    SourceAccountStarts,
}

impl std::fmt::Display for RuleTriggerKeyword {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::FromAccountStarts => write!(f, "from_account_starts"),
            Self::FromAccountEnds => write!(f, "from_account_ends"),
            Self::FromAccountIs => write!(f, "from_account_is"),
            Self::FromAccountContains => write!(f, "from_account_contains"),
            Self::ToAccountStarts => write!(f, "to_account_starts"),
            Self::ToAccountEnds => write!(f, "to_account_ends"),
            Self::ToAccountIs => write!(f, "to_account_is"),
            Self::ToAccountContains => write!(f, "to_account_contains"),
            Self::AmountLess => write!(f, "amount_less"),
            Self::AmountExactly => write!(f, "amount_exactly"),
            Self::AmountMore => write!(f, "amount_more"),
            Self::DescriptionStarts => write!(f, "description_starts"),
            Self::DescriptionEnds => write!(f, "description_ends"),
            Self::DescriptionContains => write!(f, "description_contains"),
            Self::DescriptionIs => write!(f, "description_is"),
            Self::TransactionType => write!(f, "transaction_type"),
            Self::CategoryIs => write!(f, "category_is"),
            Self::BudgetIs => write!(f, "budget_is"),
            Self::TagIs => write!(f, "tag_is"),
            Self::CurrencyIs => write!(f, "currency_is"),
            Self::HasAttachments => write!(f, "has_attachments"),
            Self::HasNoCategory => write!(f, "has_no_category"),
            Self::HasAnyCategory => write!(f, "has_any_category"),
            Self::HasNoBudget => write!(f, "has_no_budget"),
            Self::HasAnyBudget => write!(f, "has_any_budget"),
            Self::HasNoTag => write!(f, "has_no_tag"),
            Self::HasAnyTag => write!(f, "has_any_tag"),
            Self::NotesContains => write!(f, "notes_contains"),
            Self::NotesStart => write!(f, "notes_start"),
            Self::NotesEnd => write!(f, "notes_end"),
            Self::NotesAre => write!(f, "notes_are"),
            Self::NoNotes => write!(f, "no_notes"),
            Self::AnyNotes => write!(f, "any_notes"),
            Self::SourceAccountIs => write!(f, "source_account_is"),
            Self::DestinationAccountIs => write!(f, "destination_account_is"),
            Self::SourceAccountStarts => write!(f, "source_account_starts"),
        }
    }
}

impl std::default::Default for RuleTriggerKeyword {
    fn default() -> RuleTriggerKeyword {
        Self::FromAccountStarts
    }
}