jmap-kit
    Preparing search index...

    Variable maskedEmailStateValidationPluginConst

    maskedEmailStateValidationPlugin: ValidationPlugin<
        "invocation",
        MaskedEmailSetRequestInvocationArgs,
    > = ...

    Validates MaskedEmail state transition constraints.

    This plugin enforces FastMail's state machine rules for MaskedEmail objects:

    State Transition Rules:

    • Once a MaskedEmail transitions from "pending" to any other state, it cannot be set back to "pending"
    • Valid states: "pending", "enabled", "disabled", "deleted"
    • State can transition: pending → enabled/disabled/deleted
    • State can transition: enabled ⟷ disabled ⟷ deleted
    • State cannot transition: enabled/disabled/deleted → pending

    Automatic Transitions:

    • Pending addresses automatically become "enabled" when they receive their first message
    • Pending addresses are automatically deleted after 24 hours if unused

    This validation prevents invalid state transitions during updates, catching errors before they reach the server.