diff options
| author | Markus Pettersson <markus.pettersson@mullvad.net> | 2024-01-31 11:25:01 +0100 |
|---|---|---|
| committer | Markus Pettersson <markus.pettersson@mullvad.net> | 2024-01-31 12:46:16 +0100 |
| commit | 87cb3b634dd7b9a5e173637dff956f9544aaccd3 (patch) | |
| tree | 6f7c6c6fd29bcf69cd5906a56a14c3cdeeab3d45 /gui/src/main | |
| parent | 1f1928d6542177bb57433f22161b8929de09decf (diff) | |
| download | mullvadvpn-87cb3b634dd7b9a5e173637dff956f9544aaccd3.tar.xz mullvadvpn-87cb3b634dd7b9a5e173637dff956f9544aaccd3.zip | |
Adapt Electron frontend to new access method settings format
Diffstat (limited to 'gui/src/main')
| -rw-r--r-- | gui/src/main/daemon-rpc.ts | 23 | ||||
| -rw-r--r-- | gui/src/main/default-settings.ts | 29 |
2 files changed, 44 insertions, 8 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index 681eb0a454..6290aa7a92 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -1163,7 +1163,7 @@ function convertFromSettings(settings: grpcTypes.Settings): ISettings | undefine const splitTunnel = settingsObject.splitTunnel ?? { enableExclusions: false, appsList: [] }; const obfuscationSettings = convertFromObfuscationSettings(settingsObject.obfuscationSettings); const customLists = convertFromCustomListSettings(settings.getCustomLists()); - const apiAccessMethods = convertFromApiAccessMethodSettings(settings.getApiAccessMethods()); + const apiAccessMethods = convertFromApiAccessMethodSettings(settings.getApiAccessMethods()!); return { ...settings.toObject(), bridgeState, @@ -1893,14 +1893,25 @@ function convertToSocksAuth(authentication: SocksAuth): grpcTypes.SocksAuth { } function convertFromApiAccessMethodSettings( - accessMethods?: grpcTypes.ApiAccessMethodSettings, + accessMethods: grpcTypes.ApiAccessMethodSettings, ): ApiAccessMethodSettings { - return ( + const direct = convertFromApiAccessMethodSetting( + ensureExists(accessMethods.getDirect(), "no 'Direct' access method was found"), + ); + const bridges = convertFromApiAccessMethodSetting( + ensureExists(accessMethods.getMullvadBridges(), "no 'Mullvad Bridges' access method was found"), + ); + const custom = accessMethods - ?.getAccessMethodSettingsList() + .getCustomList() .filter((setting) => setting.hasId() && setting.hasAccessMethod()) - .map(convertFromApiAccessMethodSetting) ?? [] - ); + .map(convertFromApiAccessMethodSetting) ?? []; + + return { + direct, + mullvadBridges: bridges, + custom, + }; } function convertFromApiAccessMethodSetting( diff --git a/gui/src/main/default-settings.ts b/gui/src/main/default-settings.ts index 4510a71896..7f7656a56a 100644 --- a/gui/src/main/default-settings.ts +++ b/gui/src/main/default-settings.ts @@ -1,4 +1,9 @@ -import { ISettings, ObfuscationType, Ownership } from '../shared/daemon-rpc-types'; +import { + ApiAccessMethodSettings, + ISettings, + ObfuscationType, + Ownership, +} from '../shared/daemon-rpc-types'; export function getDefaultSettings(): ISettings { return { @@ -71,6 +76,26 @@ export function getDefaultSettings(): ISettings { }, }, customLists: [], - apiAccessMethods: [], + apiAccessMethods: getDefaultApiAccessMethods(), + }; +} + +export function getDefaultApiAccessMethods(): ApiAccessMethodSettings { + // 'id's are UUIDs generated by the daemon when an access method is created, + // and as such we can't provide a good default value for them. + return { + direct: { + id: '', + name: 'Direct', + enabled: true, + type: 'direct', + }, + mullvadBridges: { + id: '', + name: 'Mullvad Bridges', + enabled: false, + type: 'bridges', + }, + custom: [], }; } |
