import { InvalidRequestError } from '@atproto/xrpc-server' import { AppContext } from '../../../../context' import { Server } from '../../../../lexicon' export default function (server: Server, ctx: AppContext) { server.com.atproto.admin.updateAccountEmail({ auth: ctx.authVerifier.adminToken, handler: async ({ input, req }) => { const account = await ctx.accountManager.getAccount(input.body.account, { includeDeactivated: true, includeTakenDown: true, }) if (!account) { throw new InvalidRequestError( `Account does not exist: ${input.body.account}`, ) } if (ctx.entrywayAgent) { await ctx.entrywayAgent.com.atproto.admin.updateAccountEmail( input.body, ctx.entrywayPassthruHeaders(req), ) return } await ctx.accountManager.updateEmail({ did: account.did, email: input.body.email, }) }, }) }