39 lines
1.7 KiB
TypeScript
39 lines
1.7 KiB
TypeScript
import { DecryptedItemInterface, TrustedContactInterface } from '@standardnotes/models'
|
|
import { AbstractService } from '../Service/AbstractService'
|
|
import { SharedVaultInviteServerHash, SharedVaultUserServerHash } from '@standardnotes/responses'
|
|
import { ItemSignatureValidationResult } from './UseCase/Types/ItemSignatureValidationResult'
|
|
|
|
export enum ContactServiceEvent {}
|
|
|
|
export interface ContactServiceInterface extends AbstractService<ContactServiceEvent> {
|
|
isCollaborationEnabled(): boolean
|
|
enableCollaboration(): Promise<void>
|
|
getCollaborationID(): string
|
|
getCollaborationIDFromInvite(invite: SharedVaultInviteServerHash): string
|
|
addTrustedContactFromCollaborationID(
|
|
collaborationID: string,
|
|
name?: string,
|
|
): Promise<TrustedContactInterface | undefined>
|
|
getCollaborationIDForTrustedContact(contact: TrustedContactInterface): string
|
|
|
|
createOrEditTrustedContact(params: {
|
|
contactUuid: string
|
|
name?: string
|
|
publicKey: string
|
|
signingPublicKey: string
|
|
}): Promise<TrustedContactInterface | undefined>
|
|
editTrustedContactFromCollaborationID(
|
|
contact: TrustedContactInterface,
|
|
params: { name: string; collaborationID: string },
|
|
): Promise<TrustedContactInterface>
|
|
deleteContact(contact: TrustedContactInterface): Promise<void>
|
|
|
|
getAllContacts(): TrustedContactInterface[]
|
|
getSelfContact(): TrustedContactInterface | undefined
|
|
findTrustedContact(userUuid: string): TrustedContactInterface | undefined
|
|
findTrustedContactForServerUser(user: SharedVaultUserServerHash): TrustedContactInterface | undefined
|
|
findTrustedContactForInvite(invite: SharedVaultInviteServerHash): TrustedContactInterface | undefined
|
|
|
|
isItemAuthenticallySigned(item: DecryptedItemInterface): ItemSignatureValidationResult
|
|
}
|