feat: add models package

This commit is contained in:
Karol Sójko
2022-07-05 20:47:11 +02:00
parent 60d1554ff7
commit b614c71e79
199 changed files with 8772 additions and 22 deletions

View File

@@ -0,0 +1,31 @@
import { ApplicationIdentifier, ProtocolVersion } from '@standardnotes/common'
import { RootKeyContentSpecialized } from './RootKeyContent'
export type RawKeychainValue = Record<ApplicationIdentifier, NamespacedRootKeyInKeychain>
export interface NamespacedRootKeyInKeychain {
version: ProtocolVersion
masterKey: string
dataAuthenticationKey?: string
}
export type RootKeyContentInStorage = RootKeyContentSpecialized
export interface LegacyRawKeychainValue {
mk: string
ak: string
version: ProtocolVersion
}
export type LegacyMobileKeychainStructure = {
offline?: {
timing?: unknown
pw?: string
}
encryptedAccountKeys?: unknown
mk: string
pw: string
ak: string
version?: string
jwt?: string
}

View File

@@ -0,0 +1,12 @@
import { ItemContent } from '../../Abstract/Content/ItemContent'
import { ProtocolVersion, AnyKeyParamsContent } from '@standardnotes/common'
export interface RootKeyContentSpecialized {
version: ProtocolVersion
masterKey: string
serverPassword?: string
dataAuthenticationKey?: string
keyParams: AnyKeyParamsContent
}
export type RootKeyContent = RootKeyContentSpecialized & ItemContent

View File

@@ -0,0 +1,17 @@
import { ProtocolVersion } from '@standardnotes/common'
import { DecryptedItemInterface } from '../../Abstract/Item/Interfaces/DecryptedItem'
import { RootKeyParamsInterface } from '../KeyParams/RootKeyParamsInterface'
import { NamespacedRootKeyInKeychain, RootKeyContentInStorage } from './KeychainTypes'
import { RootKeyContent } from './RootKeyContent'
export interface RootKeyInterface extends DecryptedItemInterface<RootKeyContent> {
readonly keyParams: RootKeyParamsInterface
get keyVersion(): ProtocolVersion
get itemsKey(): string
get masterKey(): string
get serverPassword(): string | undefined
get dataAuthenticationKey(): string | undefined
compare(otherKey: RootKeyInterface): boolean
persistableValueWhenWrapping(): RootKeyContentInStorage
getKeychainValue(): NamespacedRootKeyInKeychain
}