chore: dont allow adding yourself as a contact
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
import { DeleteContact } from './UseCase/DeleteContact'
|
||||
import { MutatorClientInterface } from './../Mutator/MutatorClientInterface'
|
||||
import { PureCryptoInterface } from '@standardnotes/sncrypto-common'
|
||||
import { SharedVaultInviteServerHash, SharedVaultUserServerHash } from '@standardnotes/responses'
|
||||
import {
|
||||
ClientDisplayableError,
|
||||
SharedVaultInviteServerHash,
|
||||
SharedVaultUserServerHash,
|
||||
} from '@standardnotes/responses'
|
||||
import { TrustedContactInterface, TrustedContactMutator, DecryptedItemInterface } from '@standardnotes/models'
|
||||
import { AbstractService } from '../Service/AbstractService'
|
||||
import { SyncServiceInterface } from '../Sync/SyncServiceInterface'
|
||||
@@ -110,6 +114,9 @@ export class ContactService extends AbstractService<ContactServiceEvent> impleme
|
||||
name?: string,
|
||||
): Promise<TrustedContactInterface | undefined> {
|
||||
const { userUuid, publicKey, signingPublicKey } = this.parseCollaborationID(collaborationID)
|
||||
if (userUuid === this.user.getUserUuid()) {
|
||||
throw new ClientDisplayableError('You cannot add yourself as a trusted contact')
|
||||
}
|
||||
return this.createOrEditTrustedContact({
|
||||
name: name ?? '',
|
||||
contactUuid: userUuid,
|
||||
|
||||
@@ -2,7 +2,7 @@ import { FunctionComponent, useCallback, useEffect, useMemo, useState } from 're
|
||||
import Modal, { ModalAction } from '@/Components/Modal/Modal'
|
||||
import DecoratedInput from '@/Components/Input/DecoratedInput'
|
||||
import { useApplication } from '@/Components/ApplicationProvider'
|
||||
import { InviteRecord, TrustedContactInterface } from '@standardnotes/snjs'
|
||||
import { ClientDisplayableError, InviteRecord, TrustedContactInterface } from '@standardnotes/snjs'
|
||||
|
||||
type Props = {
|
||||
fromInvite?: InviteRecord
|
||||
@@ -46,12 +46,19 @@ const EditContactModal: FunctionComponent<Props> = ({ onCloseDialog, fromInvite,
|
||||
void application.contacts.editTrustedContactFromCollaborationID(editingContact, { name, collaborationID })
|
||||
handleDialogClose()
|
||||
} else {
|
||||
const contact = await application.contacts.addTrustedContactFromCollaborationID(collaborationID, name)
|
||||
if (contact) {
|
||||
onAddContact?.(contact)
|
||||
handleDialogClose()
|
||||
} else {
|
||||
void application.alerts.alert('Unable to create contact. Please try again.')
|
||||
try {
|
||||
const contact = await application.contacts.addTrustedContactFromCollaborationID(collaborationID, name)
|
||||
if (contact) {
|
||||
onAddContact?.(contact)
|
||||
handleDialogClose()
|
||||
} else {
|
||||
void application.alerts.alert('Unable to create contact. Please try again.')
|
||||
}
|
||||
} catch (error) {
|
||||
if (error instanceof ClientDisplayableError) {
|
||||
application.alerts.showErrorAlert(error).catch(console.error)
|
||||
}
|
||||
console.error(error)
|
||||
}
|
||||
}
|
||||
}, [editingContact, application.contacts, application.alerts, name, collaborationID, handleDialogClose, onAddContact])
|
||||
|
||||
Reference in New Issue
Block a user