Skip to main content

fattureincloud_rs/models/
webhooks_subscription.rs

1/*
2 * Fatture in Cloud API v2 - API Reference
3 *
4 * Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 500.000 businesses in Italy.   The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5 *
6 * The version of the OpenAPI document: 2.0.32
7 * Contact: info@fattureincloud.it
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct WebhooksSubscription {
15    /// Webhooks subscription id
16    #[serde(rename = "id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
17    pub id: Option<Option<String>>,
18    /// Webhooks callback uri.
19    #[serde(rename = "sink", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20    pub sink: Option<Option<String>>,
21    /// [Read Only] True if the webhooks subscription has been verified.
22    #[serde(rename = "verified", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23    pub verified: Option<Option<bool>>,
24    /// Webhooks events types.
25    #[serde(rename = "types", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26    pub types: Option<Option<Vec<Types>>>,
27    #[serde(rename = "config", skip_serializing_if = "Option::is_none")]
28    pub config: Option<Box<models::WebhooksSubscriptionConfig>>,
29}
30
31impl WebhooksSubscription {
32    pub fn new() -> WebhooksSubscription {
33        WebhooksSubscription {
34            id: None,
35            sink: None,
36            verified: None,
37            types: None,
38            config: None,
39        }
40    }
41}
42/// Webhooks events types.
43#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
44pub enum Types {
45    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.invoices.create")]
46    IssuedDocumentsPeriodInvoicesPeriodCreate,
47    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.invoices.update")]
48    IssuedDocumentsPeriodInvoicesPeriodUpdate,
49    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.invoices.delete")]
50    IssuedDocumentsPeriodInvoicesPeriodDelete,
51    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.quotes.create")]
52    IssuedDocumentsPeriodQuotesPeriodCreate,
53    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.quotes.update")]
54    IssuedDocumentsPeriodQuotesPeriodUpdate,
55    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.quotes.delete")]
56    IssuedDocumentsPeriodQuotesPeriodDelete,
57    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.proformas.create")]
58    IssuedDocumentsPeriodProformasPeriodCreate,
59    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.proformas.update")]
60    IssuedDocumentsPeriodProformasPeriodUpdate,
61    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.proformas.delete")]
62    IssuedDocumentsPeriodProformasPeriodDelete,
63    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.receipts.create")]
64    IssuedDocumentsPeriodReceiptsPeriodCreate,
65    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.receipts.update")]
66    IssuedDocumentsPeriodReceiptsPeriodUpdate,
67    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.receipts.delete")]
68    IssuedDocumentsPeriodReceiptsPeriodDelete,
69    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.delivery_notes.create")]
70    IssuedDocumentsPeriodDeliveryNotesPeriodCreate,
71    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.delivery_notes.update")]
72    IssuedDocumentsPeriodDeliveryNotesPeriodUpdate,
73    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.delivery_notes.delete")]
74    IssuedDocumentsPeriodDeliveryNotesPeriodDelete,
75    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.credit_notes.create")]
76    IssuedDocumentsPeriodCreditNotesPeriodCreate,
77    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.credit_notes.update")]
78    IssuedDocumentsPeriodCreditNotesPeriodUpdate,
79    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.credit_notes.delete")]
80    IssuedDocumentsPeriodCreditNotesPeriodDelete,
81    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.orders.create")]
82    IssuedDocumentsPeriodOrdersPeriodCreate,
83    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.orders.update")]
84    IssuedDocumentsPeriodOrdersPeriodUpdate,
85    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.orders.delete")]
86    IssuedDocumentsPeriodOrdersPeriodDelete,
87    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.work_reports.create")]
88    IssuedDocumentsPeriodWorkReportsPeriodCreate,
89    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.work_reports.update")]
90    IssuedDocumentsPeriodWorkReportsPeriodUpdate,
91    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.work_reports.delete")]
92    IssuedDocumentsPeriodWorkReportsPeriodDelete,
93    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.supplier_orders.create")]
94    IssuedDocumentsPeriodSupplierOrdersPeriodCreate,
95    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.supplier_orders.update")]
96    IssuedDocumentsPeriodSupplierOrdersPeriodUpdate,
97    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.supplier_orders.delete")]
98    IssuedDocumentsPeriodSupplierOrdersPeriodDelete,
99    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.self_invoices.create")]
100    IssuedDocumentsPeriodSelfInvoicesPeriodCreate,
101    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.self_invoices.update")]
102    IssuedDocumentsPeriodSelfInvoicesPeriodUpdate,
103    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.self_invoices.delete")]
104    IssuedDocumentsPeriodSelfInvoicesPeriodDelete,
105    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.all.create")]
106    IssuedDocumentsPeriodAllPeriodCreate,
107    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.all.update")]
108    IssuedDocumentsPeriodAllPeriodUpdate,
109    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.all.delete")]
110    IssuedDocumentsPeriodAllPeriodDelete,
111    #[serde(rename = "it.fattureincloud.webhooks.received_documents.create")]
112    ReceivedDocumentsPeriodCreate,
113    #[serde(rename = "it.fattureincloud.webhooks.received_documents.update")]
114    ReceivedDocumentsPeriodUpdate,
115    #[serde(rename = "it.fattureincloud.webhooks.received_documents.delete")]
116    ReceivedDocumentsPeriodDelete,
117    #[serde(rename = "it.fattureincloud.webhooks.receipts.create")]
118    ReceiptsPeriodCreate,
119    #[serde(rename = "it.fattureincloud.webhooks.receipts.update")]
120    ReceiptsPeriodUpdate,
121    #[serde(rename = "it.fattureincloud.webhooks.receipts.delete")]
122    ReceiptsPeriodDelete,
123    #[serde(rename = "it.fattureincloud.webhooks.taxes.create")]
124    TaxesPeriodCreate,
125    #[serde(rename = "it.fattureincloud.webhooks.taxes.update")]
126    TaxesPeriodUpdate,
127    #[serde(rename = "it.fattureincloud.webhooks.taxes.delete")]
128    TaxesPeriodDelete,
129    #[serde(rename = "it.fattureincloud.webhooks.archive_documents.create")]
130    ArchiveDocumentsPeriodCreate,
131    #[serde(rename = "it.fattureincloud.webhooks.archive_documents.update")]
132    ArchiveDocumentsPeriodUpdate,
133    #[serde(rename = "it.fattureincloud.webhooks.archive_documents.delete")]
134    ArchiveDocumentsPeriodDelete,
135    #[serde(rename = "it.fattureincloud.webhooks.cashbook.create")]
136    CashbookPeriodCreate,
137    #[serde(rename = "it.fattureincloud.webhooks.cashbook.update")]
138    CashbookPeriodUpdate,
139    #[serde(rename = "it.fattureincloud.webhooks.cashbook.delete")]
140    CashbookPeriodDelete,
141    #[serde(rename = "it.fattureincloud.webhooks.products.create")]
142    ProductsPeriodCreate,
143    #[serde(rename = "it.fattureincloud.webhooks.products.update")]
144    ProductsPeriodUpdate,
145    #[serde(rename = "it.fattureincloud.webhooks.products.delete")]
146    ProductsPeriodDelete,
147    #[serde(rename = "it.fattureincloud.webhooks.products.stock_update")]
148    ProductsPeriodStockUpdate,
149    #[serde(rename = "it.fattureincloud.webhooks.entities.clients.create")]
150    EntitiesPeriodClientsPeriodCreate,
151    #[serde(rename = "it.fattureincloud.webhooks.entities.clients.update")]
152    EntitiesPeriodClientsPeriodUpdate,
153    #[serde(rename = "it.fattureincloud.webhooks.entities.clients.delete")]
154    EntitiesPeriodClientsPeriodDelete,
155    #[serde(rename = "it.fattureincloud.webhooks.entities.suppliers.create")]
156    EntitiesPeriodSuppliersPeriodCreate,
157    #[serde(rename = "it.fattureincloud.webhooks.entities.suppliers.update")]
158    EntitiesPeriodSuppliersPeriodUpdate,
159    #[serde(rename = "it.fattureincloud.webhooks.entities.suppliers.delete")]
160    EntitiesPeriodSuppliersPeriodDelete,
161    #[serde(rename = "it.fattureincloud.webhooks.entities.all.create")]
162    EntitiesPeriodAllPeriodCreate,
163    #[serde(rename = "it.fattureincloud.webhooks.entities.all.update")]
164    EntitiesPeriodAllPeriodUpdate,
165    #[serde(rename = "it.fattureincloud.webhooks.entities.all.delete")]
166    EntitiesPeriodAllPeriodDelete,
167    #[serde(rename = "it.fattureincloud.webhooks.issued_documents.e_invoices.status_update")]
168    IssuedDocumentsPeriodEInvoicesPeriodStatusUpdate,
169    #[serde(rename = "it.fattureincloud.webhooks.received_documents.e_invoices.receive")]
170    ReceivedDocumentsPeriodEInvoicesPeriodReceive,
171}
172
173impl Default for Types {
174    fn default() -> Types {
175        Self::IssuedDocumentsPeriodInvoicesPeriodCreate
176    }
177}
178