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