import { UserPendings, UserProfiles } from "../../../models/index.js"; import { signup } from "../common/signup.js"; import signin from "../common/signin.js"; export default (async (ctx)=>{ const body = ctx.request.body; const code = body["code"]; try { const pendingUser = await UserPendings.findOneByOrFail({ code }); const { account, secret } = await signup({ username: pendingUser.username, passwordHash: pendingUser.password }); UserPendings.delete({ id: pendingUser.id }); const profile = await UserProfiles.findOneByOrFail({ userId: account.id }); await UserProfiles.update({ userId: profile.userId }, { email: pendingUser.email, emailVerified: true, emailVerifyCode: null }); signin(ctx, account); } catch (e) { ctx.throw(400, e); } });