1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
pub use fluvio_controlplane_metadata::derivedstream::*;

mod convert {

    use crate::AdminSpec;
    use crate::CreatableAdminSpec;
    use crate::DeletableAdminSpec;
    use crate::NameFilter;
    use crate::objects::CreateFrom;
    use crate::objects::DeleteRequest;
    use crate::objects::ListRequest;
    use crate::objects::ListResponse;
    use crate::objects::Metadata;
    use crate::objects::ObjectFrom;
    use crate::objects::ObjectTryFrom;
    use crate::objects::WatchRequest;
    use crate::objects::WatchResponse;

    use super::DerivedStreamSpec;

    impl AdminSpec for DerivedStreamSpec {
        type ListFilter = NameFilter;
        type WatchResponseType = Self;
        type ListType = Metadata<Self>;
    }

    impl CreatableAdminSpec for DerivedStreamSpec {
        const CREATE_TYPE: u8 = 10;
    }

    impl DeletableAdminSpec for DerivedStreamSpec {
        type DeleteKey = String;
    }

    CreateFrom!(DerivedStreamSpec, DerivedStream);
    ObjectFrom!(WatchRequest, DerivedStream);
    ObjectFrom!(WatchResponse, DerivedStream);
    ObjectFrom!(ListRequest, DerivedStream);
    ObjectFrom!(ListResponse, DerivedStream);
    ObjectFrom!(DeleteRequest, DerivedStream);

    ObjectTryFrom!(WatchResponse, DerivedStream);
    ObjectTryFrom!(ListResponse, DerivedStream);
}