diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-05-02 10:49:36 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-05-02 11:55:27 +0200 |
| commit | bd9dd47e6f1a08699e291c0f8b900e9506670ad0 (patch) | |
| tree | 1f4bb994144e2be5b0a5e41f361967491a3ba9f7 | |
| parent | 28ff837d804379c19bbecbac31eb3fda9b5be989 (diff) | |
| download | mullvadvpn-bd9dd47e6f1a08699e291c0f8b900e9506670ad0.tar.xz mullvadvpn-bd9dd47e6f1a08699e291c0f8b900e9506670ad0.zip | |
Remove account number field from non-creation account API response
| -rw-r--r-- | mullvad-api/src/lib.rs | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/mullvad-api/src/lib.rs b/mullvad-api/src/lib.rs index 7d85f53feb..d1d670286a 100644 --- a/mullvad-api/src/lib.rs +++ b/mullvad-api/src/lib.rs @@ -302,12 +302,6 @@ pub struct AccountsProxy { handle: rest::MullvadRestHandle, } -#[derive(serde::Deserialize)] -struct AccountResponse { - number: AccountToken, - expiry: DateTime<Utc>, -} - impl AccountsProxy { pub fn new(handle: rest::MullvadRestHandle) -> Self { Self { handle } @@ -317,6 +311,11 @@ impl AccountsProxy { &self, account: AccountToken, ) -> impl Future<Output = Result<DateTime<Utc>, rest::Error>> { + #[derive(serde::Deserialize)] + struct AccountExpiryResponse { + expiry: DateTime<Utc>, + } + let service = self.handle.service.clone(); let factory = self.handle.factory.clone(); let access_proxy = self.handle.token_store.clone(); @@ -331,12 +330,17 @@ impl AccountsProxy { ) .await; - let account: AccountResponse = rest::deserialize_body(response?).await?; + let account: AccountExpiryResponse = rest::deserialize_body(response?).await?; Ok(account.expiry) } } pub fn create_account(&mut self) -> impl Future<Output = Result<AccountToken, rest::Error>> { + #[derive(serde::Deserialize)] + struct AccountCreationResponse { + number: AccountToken, + } + let service = self.handle.service.clone(); let response = rest::send_request( &self.handle.factory, @@ -348,7 +352,7 @@ impl AccountsProxy { ); async move { - let account: AccountResponse = rest::deserialize_body(response.await?).await?; + let account: AccountCreationResponse = rest::deserialize_body(response.await?).await?; Ok(account.number) } } |
