ryra_core/
from_protocol.rs1use ryra_protocol as p;
8
9use crate::Lifecycle;
10use crate::RemoveMode;
11use crate::configure::{ExposureChange, Overrides};
12use crate::ops::{
13 AddRequest, AuthRequested, ConfigureRequest, ExposureRequest, LifecycleRequest, RemoveRequest,
14 UpgradeRequest,
15};
16use crate::registry::service_def::AuthKind;
17
18impl From<p::ExposureRequest> for ExposureRequest {
19 fn from(e: p::ExposureRequest) -> Self {
20 match e {
21 p::ExposureRequest::Loopback => ExposureRequest::Loopback,
22 p::ExposureRequest::Url(u) => ExposureRequest::Url(u),
23 p::ExposureRequest::Tailscale(u) => ExposureRequest::Tailscale(u),
24 }
25 }
26}
27
28impl From<p::AuthKind> for AuthKind {
29 fn from(k: p::AuthKind) -> Self {
30 match k {
31 p::AuthKind::Oidc => AuthKind::Oidc,
32 }
33 }
34}
35
36impl From<p::AuthRequested> for AuthRequested {
37 fn from(a: p::AuthRequested) -> Self {
38 match a {
39 p::AuthRequested::No => AuthRequested::No,
40 p::AuthRequested::Yes => AuthRequested::Yes,
41 p::AuthRequested::Kind(k) => AuthRequested::Kind(k.into()),
42 }
43 }
44}
45
46impl From<p::AddRequest> for AddRequest {
47 fn from(r: p::AddRequest) -> Self {
48 AddRequest {
49 service: r.service,
50 exposure: r.exposure.into(),
51 auth: r.auth.into(),
52 smtp: r.smtp,
53 backup: r.backup,
54 env: r.env,
55 enable_groups: r.enable_groups,
56 choose: r.choose,
57 allow_unset_required: r.allow_unset_required,
58 }
59 }
60}
61
62impl From<p::RemoveMode> for RemoveMode {
63 fn from(m: p::RemoveMode) -> Self {
64 match m {
65 p::RemoveMode::Preserve => RemoveMode::Preserve,
66 p::RemoveMode::Purge => RemoveMode::Purge,
67 }
68 }
69}
70
71impl From<p::RemoveRequest> for RemoveRequest {
72 fn from(r: p::RemoveRequest) -> Self {
73 RemoveRequest {
74 service: r.service,
75 mode: r.mode.into(),
76 }
77 }
78}
79
80impl From<p::Lifecycle> for Lifecycle {
81 fn from(l: p::Lifecycle) -> Self {
82 match l {
83 p::Lifecycle::Start => Lifecycle::Start,
84 p::Lifecycle::Stop => Lifecycle::Stop,
85 }
86 }
87}
88
89impl From<p::LifecycleRequest> for LifecycleRequest {
90 fn from(r: p::LifecycleRequest) -> Self {
91 LifecycleRequest {
92 service: r.service,
93 action: r.action.into(),
94 }
95 }
96}
97
98impl From<p::UpgradeRequest> for UpgradeRequest {
99 fn from(r: p::UpgradeRequest) -> Self {
100 UpgradeRequest {
101 service: r.service,
102 force: r.force,
103 }
104 }
105}
106
107impl From<p::ExposureChange> for ExposureChange {
108 fn from(e: p::ExposureChange) -> Self {
109 match e {
110 p::ExposureChange::Url(u) => ExposureChange::Url(u),
111 p::ExposureChange::Tailscale(u) => ExposureChange::Tailscale(u),
112 p::ExposureChange::Loopback => ExposureChange::Loopback,
113 }
114 }
115}
116
117impl From<p::Overrides> for Overrides {
118 fn from(o: p::Overrides) -> Self {
119 Overrides {
120 exposure: o.exposure.map(Into::into),
121 smtp: o.smtp,
122 backup: o.backup,
123 auth: o.auth,
124 enable_groups: o.enable_groups,
125 disable_groups: o.disable_groups,
126 choose: o.choose,
127 env_overrides: o.env_overrides,
128 reassert_auth: o.reassert_auth,
129 }
130 }
131}
132
133impl From<p::ConfigureRequest> for ConfigureRequest {
134 fn from(r: p::ConfigureRequest) -> Self {
135 ConfigureRequest {
136 service: r.service,
137 changes: r.changes.into(),
138 }
139 }
140}