webhook-line 1.0.1

Webhook event definition of the LINE Messaging API
Documentation
/*
 * Webhook Type Definition
 *
 * Webhook event definition of the LINE Messaging API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

use super::{GroupSource, RoomSource, UserSource};

/// Source : the source of the event.
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum Source {
    #[serde(rename = "group")]
    GroupSource(GroupSource),
    #[serde(rename = "room")]
    RoomSource(RoomSource),
    #[serde(rename = "user")]
    UserSource(UserSource),
}

impl Default for Source {
    fn default() -> Self {
        Self::GroupSource(GroupSource::default())
    }
}