Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / packages / shared / lib / interfaces / SignedKeyList.ts
blobc8608cda4a5d2dc8291bdfac4fd5197610240228
1 // Interface for SignedKeyList generated by the FE before uploading
2 export interface SignedKeyList {
3     Data: string;
4     Signature: string;
7 // Metadata of a public key included in the SKL's Data property
8 export interface SignedKeyListItem {
9     Primary: 0 | 1;
10     Flags: number;
11     Fingerprint: string;
12     SHA256Fingerprints: string[];
15 interface SKLEpochs {
16     Data: string | null;
17     Signature: string | null;
18     MinEpochID: number | null;
19     MaxEpochID: number | null;
20     ObsolescenceToken?: string;
21     ExpectedMinEpochID?: number;
22     Revision?: number;
25 export interface ActiveSignedKeyList extends SignedKeyList, SKLEpochs {
26     Data: string;
27     Signature: string;
30 export interface ObsolescentSignedKeyList extends SKLEpochs {
31     ObsolescenceToken: string;
34 export interface ActiveSignedKeyListWithRevision extends ActiveSignedKeyList {
35     Revision: number;
38 export interface ObsolescentSignedKeyListWithRevision extends ObsolescentSignedKeyList {
39     Revision: number;
42 // SKL served by the server. Note that Data and Signature
43 // might be missing or be null for obsolescent SKLs
44 export type FetchedSignedKeyList = ActiveSignedKeyListWithRevision | ObsolescentSignedKeyListWithRevision;