* fix conflicts * fix remove separate function and call mutation directly * feat: add new react-otp-input to enable 2fa flow * fix: comment out * fix: remove next-auth 4.9.0 from yarn.lock * fix: delete account test fill password before submit * fix: test delete accc * fix typo in delete acc test * Update apps/web/components/security/EnableTwoFactorModal.tsx Co-authored-by: Omar López <zomars@me.com> * feat: remove react-otp-input reuse TwoFactor * feat: add center props to TwoFactor * fix: no v2 * feat: disable 2fa requires 2fa api * feat: make 2fa required to disable 2fa * fix: FormEvent instead of SyntheticEvent * fix: types * fix: move disable 2fa form to fully use RHF * fix if (e) e.preventDefault(); * feat: fix remove account * fix: remove react-otp-input types * fix: separate onConfirm to add to form handleSubmit * fix: types e:SyntethicEvent * fix: types * fix: import packages lib not web lib * Update apps/web/components/security/EnableTwoFactorModal.tsx Co-authored-by: Omar López <zomars@me.com> * Update apps/web/components/security/EnableTwoFactorModal.tsx Co-authored-by: Omar López <zomars@me.com> * fix: no import from web * fix: import * fix: remove duplicate FormEvent * fix: upgrade ErrorCode imports * fix profile types totpCode not optional * fix: build pass * fix: dont touch test delete-account * fix: type * fix: add data-testid to password field * fix: conflicts w syncServices * Build fixes * Fixes delete account e2e test Co-authored-by: Agusti Fernandez Pardo <git@agusti.me> Co-authored-by: Omar López <zomars@me.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
45 lines
1.9 KiB
TypeScript
45 lines
1.9 KiB
TypeScript
import { IdentityProvider } from "@prisma/client";
|
|
import { compare, hash } from "bcryptjs";
|
|
import { Session } from "next-auth";
|
|
import { getSession as getSessionInner, GetSessionParams } from "next-auth/react";
|
|
|
|
/** @deprecated use the one from `@calcom/lib/auth` */
|
|
export async function hashPassword(password: string) {
|
|
const hashedPassword = await hash(password, 12);
|
|
return hashedPassword;
|
|
}
|
|
/** @deprecated use the one from `@calcom/lib/auth` */
|
|
export async function verifyPassword(password: string, hashedPassword: string) {
|
|
const isValid = await compare(password, hashedPassword);
|
|
return isValid;
|
|
}
|
|
/** @deprecated use the one from `@calcom/lib/auth` */
|
|
export async function getSession(options: GetSessionParams): Promise<Session | null> {
|
|
const session = await getSessionInner(options);
|
|
|
|
// that these are equal are ensured in `[...nextauth]`'s callback
|
|
return session as Session | null;
|
|
}
|
|
/** @deprecated use the one from `@calcom/lib/auth` */
|
|
export enum ErrorCode {
|
|
UserNotFound = "user-not-found",
|
|
IncorrectPassword = "incorrect-password",
|
|
UserMissingPassword = "missing-password",
|
|
TwoFactorDisabled = "two-factor-disabled",
|
|
TwoFactorAlreadyEnabled = "two-factor-already-enabled",
|
|
TwoFactorSetupRequired = "two-factor-setup-required",
|
|
SecondFactorRequired = "second-factor-required",
|
|
IncorrectTwoFactorCode = "incorrect-two-factor-code",
|
|
InternalServerError = "internal-server-error",
|
|
NewPasswordMatchesOld = "new-password-matches-old",
|
|
ThirdPartyIdentityProviderEnabled = "third-party-identity-provider-enabled",
|
|
RateLimitExceeded = "rate-limit-exceeded",
|
|
InvalidPassword = "invalid-password",
|
|
}
|
|
/** @deprecated use the one from `@calcom/lib/auth` */
|
|
export const identityProviderNameMap: { [key in IdentityProvider]: string } = {
|
|
[IdentityProvider.CAL]: "Cal",
|
|
[IdentityProvider.GOOGLE]: "Google",
|
|
[IdentityProvider.SAML]: "SAML",
|
|
};
|