diff options
| author | Emīls Piņķis <emils@mullvad.net> | 2019-07-26 14:02:22 +0100 |
|---|---|---|
| committer | Emīls Piņķis <emils@mullvad.net> | 2019-07-26 14:02:22 +0100 |
| commit | de69ea02e31dc5b11daabfa3b0859ce99c056363 (patch) | |
| tree | e9e2225a1896f66c9811b3d873eb1ccdd9da7f48 /gui/src/shared | |
| parent | 7f643ec222675ea9d4bd90286c3aae578c1f0133 (diff) | |
| parent | 7484bf97ee46fe396350ed515ff12fef48eb2c91 (diff) | |
| download | mullvadvpn-de69ea02e31dc5b11daabfa3b0859ce99c056363.tar.xz mullvadvpn-de69ea02e31dc5b11daabfa3b0859ce99c056363.zip | |
Merge branch 'persistent-tunnel-constraints'
Diffstat (limited to 'gui/src/shared')
| -rw-r--r-- | gui/src/shared/daemon-rpc-types.ts | 23 |
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 = |
