safe_migrate/model/
replication.rs1use crate::analysis::facts::{AttributeFact, ConnectionTarget, PublicationScope};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct PublicationState {
6 pub name: String,
7 pub scope: PublicationScope,
8 pub params: Vec<AttributeFact>,
9 pub generation: u64,
10}
11
12#[derive(Debug, Clone, PartialEq)]
13pub enum PublicationOverlay {
14 Present(PublicationState),
15 Dropped,
16}
17
18#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
19pub struct SubscriptionState {
20 pub name: String,
21 pub connection: ConnectionTarget,
22 pub publications: Vec<String>,
23 pub params: Option<Vec<AttributeFact>>,
24 pub generation: u64,
25}
26
27#[derive(Debug, Clone, PartialEq)]
28pub enum SubscriptionOverlay {
29 Present(SubscriptionState),
30 Dropped,
31}