Skip to content

Commit 16153e5

Browse files
authored
Replace legacy keyBackup types (#4486)
1 parent fd73d50 commit 16153e5

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

spec/unit/rust-crypto/backup.spec.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,11 @@ import fetchMock from "fetch-mock-jest";
33
import * as RustSdkCryptoJs from "@matrix-org/matrix-sdk-crypto-wasm";
44

55
import { HttpApiEvent, HttpApiEventHandlerMap, MatrixHttpApi, TypedEventEmitter } from "../../../src";
6-
import { CryptoEvent } from "../../../src/crypto-api/index.ts";
6+
import { CryptoEvent, KeyBackupSession } from "../../../src/crypto-api/index.ts";
77
import { OutgoingRequestProcessor } from "../../../src/rust-crypto/OutgoingRequestProcessor";
88
import * as testData from "../../test-utils/test-data";
99
import * as TestData from "../../test-utils/test-data";
10-
import { IKeyBackup } from "../../../src/crypto/backup";
11-
import { IKeyBackupSession } from "../../../src/crypto/keybackup";
12-
import { RustBackupManager } from "../../../src/rust-crypto/backup";
10+
import { RustBackupManager, KeyBackup } from "../../../src/rust-crypto/backup";
1311

1412
describe("Upload keys to backup", () => {
1513
/** The backup manager under test */
@@ -27,15 +25,15 @@ describe("Upload keys to backup", () => {
2725

2826
let idGenerator = 0;
2927
function mockBackupRequest(keyCount: number): RustSdkCryptoJs.KeysBackupRequest {
30-
const requestBody: IKeyBackup = {
28+
const requestBody: KeyBackup = {
3129
rooms: {
3230
"!room1:server": {
3331
sessions: {},
3432
},
3533
},
3634
};
3735
for (let i = 0; i < keyCount; i++) {
38-
requestBody.rooms["!room1:server"].sessions["session" + i] = {} as IKeyBackupSession;
36+
requestBody.rooms["!room1:server"].sessions["session" + i] = {} as KeyBackupSession;
3937
}
4038
return {
4139
id: "id" + idGenerator++,

src/rust-crypto/backup.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {
2424
KeyBackupInfo,
2525
KeyBackupSession,
2626
Curve25519SessionData,
27+
KeyBackupRoomSessions,
2728
} from "../crypto-api/keybackup.ts";
2829
import { logger } from "../logger.ts";
2930
import { ClientPrefix, IHttpOpts, MatrixError, MatrixHttpApi, Method } from "../http-api/index.ts";
@@ -34,8 +35,6 @@ import { OutgoingRequestProcessor } from "./OutgoingRequestProcessor.ts";
3435
import { sleep } from "../utils.ts";
3536
import { BackupDecryptor } from "../common-crypto/CryptoBackend.ts";
3637
import { ImportRoomKeyProgressData, ImportRoomKeysOpts, CryptoEvent } from "../crypto-api/index.ts";
37-
import { IKeyBackupInfo } from "../crypto/keybackup.ts";
38-
import { IKeyBackup } from "../crypto/backup.ts";
3938
import { AESEncryptedSecretStoragePayload } from "../@types/AESEncryptedSecretStoragePayload.ts";
4039

4140
/** Authentification of the backup info, depends on algorithm */
@@ -488,7 +487,7 @@ export class RustBackupManager extends TypedEventEmitter<RustBackupCryptoEvents,
488487
* @returns The number of keys in the backup request.
489488
*/
490489
private keysCountInBatch(batch: RustSdkCryptoJs.KeysBackupRequest): number {
491-
const parsedBody: IKeyBackup = JSON.parse(batch.body);
490+
const parsedBody: KeyBackup = JSON.parse(batch.body);
492491
let count = 0;
493492
for (const { sessions } of Object.values(parsedBody.rooms)) {
494493
count += Object.keys(sessions).length;
@@ -653,7 +652,7 @@ export class RustBackupDecryptor implements BackupDecryptor {
653652

654653
export async function requestKeyBackupVersion(
655654
http: MatrixHttpApi<IHttpOpts & { onlyData: true }>,
656-
): Promise<IKeyBackupInfo | null> {
655+
): Promise<KeyBackupInfo | null> {
657656
try {
658657
return await http.authedRequest<KeyBackupInfo>(Method.Get, "/room_keys/version", undefined, undefined, {
659658
prefix: ClientPrefix.V3,
@@ -679,3 +678,11 @@ export type RustBackupCryptoEventMap = {
679678
[CryptoEvent.KeyBackupFailed]: (errCode: string) => void;
680679
[CryptoEvent.KeyBackupDecryptionKeyCached]: (version: string) => void;
681680
};
681+
682+
/**
683+
* Response from GET `/room_keys/keys` endpoint.
684+
* See https://spec.matrix.org/latest/client-server-api/#get_matrixclientv3room_keyskeys
685+
*/
686+
export interface KeyBackup {
687+
rooms: Record<string, { sessions: KeyBackupRoomSessions }>;
688+
}

0 commit comments

Comments
 (0)