summaryrefslogtreecommitdiffhomepage
path: root/gui/src/shared
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2019-07-18 18:02:54 +0100
committerEmīls Piņķis <emils@mullvad.net>2019-07-26 11:25:54 +0100
commit7106c34585f3db116307bc908f1eb1fbf51a73cf (patch)
tree196e3baf05d1366ae59d8ac6f1fd0a189defec62 /gui/src/shared
parentace147c273e058e85df619fb4300e3953cedd2dd (diff)
downloadmullvadvpn-7106c34585f3db116307bc908f1eb1fbf51a73cf.tar.xz
mullvadvpn-7106c34585f3db116307bc908f1eb1fbf51a73cf.zip
Adjust GUI code to the new settings schema
Diffstat (limited to 'gui/src/shared')
-rw-r--r--gui/src/shared/daemon-rpc-types.ts23
1 files changed, 15 insertions, 8 deletions
diff --git a/gui/src/shared/daemon-rpc-types.ts b/gui/src/shared/daemon-rpc-types.ts
index 5d2c77d223..8dc87cc2b1 100644
--- a/gui/src/shared/daemon-rpc-types.ts
+++ b/gui/src/shared/daemon-rpc-types.ts
@@ -44,6 +44,13 @@ export function tunnelTypeToString(tunnel: TunnelType): string {
export type RelayProtocol = 'tcp' | 'udp';
+export function liftConstraint<T>(constraint: 'any' | { only: T }): 'any' | T {
+ if (constraint === 'any') {
+ return 'any';
+ }
+ return constraint.only;
+}
+
export type ProxyType = 'shadowsocks' | 'custom';
export function proxyTypeToString(proxy: ProxyType): string {
switch (proxy) {
@@ -101,19 +108,21 @@ export interface IWireguardConstraints {
port: 'any' | { only: number };
}
-type TunnelConstraints<OpenVpn, Wireguard> = { wireguard: Wireguard } | { openvpn: OpenVpn };
+export type TunnelProtocol = 'wireguard' | 'openvpn';
-interface IRelaySettingsNormal<TTunnelConstraints> {
+interface IRelaySettingsNormal<OpenVpn, Wireguard> {
location:
| 'any'
| {
only: RelayLocation;
};
- tunnel:
+ tunnelProtocol:
| 'any'
| {
- only: TTunnelConstraints;
+ only: TunnelProtocol;
};
+ openvpnConstraints: OpenVpn;
+ wireguardConstraints: Wireguard;
}
export type ConnectionConfig =
@@ -150,7 +159,7 @@ export interface IRelaySettingsCustom {
}
export type RelaySettings =
| {
- normal: IRelaySettingsNormal<TunnelConstraints<IOpenVpnConstraints, IWireguardConstraints>>;
+ normal: IRelaySettingsNormal<IOpenVpnConstraints, IWireguardConstraints>;
}
| {
customTunnelEndpoint: IRelaySettingsCustom;
@@ -158,9 +167,7 @@ export type RelaySettings =
// types describing the partial update of RelaySettings
export type RelaySettingsNormalUpdate = Partial<
- IRelaySettingsNormal<
- TunnelConstraints<Partial<IOpenVpnConstraints>, Partial<IWireguardConstraints>>
- >
+ IRelaySettingsNormal<Partial<IOpenVpnConstraints>, Partial<IWireguardConstraints>>
>;
export type RelaySettingsUpdate =