From cbd389d9410c5eca92df8a0e27954108b570ff06 Mon Sep 17 00:00:00 2001 From: KC Date: Tue, 5 Apr 2022 09:48:04 -0700 Subject: [PATCH] Password length min is 12, translation matches, and init service typescript improvements. --- .../src/packages/cloud/lib/auth/GoogleAuthService.ts | 3 +++ airbyte-webapp/src/packages/cloud/locales/en.json | 2 +- .../cloud/views/auth/SignupPage/SignupPage.tsx | 2 +- airbyte-webapp/src/services/useInitService.tsx | 12 ++++-------- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/airbyte-webapp/src/packages/cloud/lib/auth/GoogleAuthService.ts b/airbyte-webapp/src/packages/cloud/lib/auth/GoogleAuthService.ts index d20af327f32e7..5fbe288bb300d 100644 --- a/airbyte-webapp/src/packages/cloud/lib/auth/GoogleAuthService.ts +++ b/airbyte-webapp/src/packages/cloud/lib/auth/GoogleAuthService.ts @@ -75,6 +75,9 @@ export class GoogleAuthService implements AuthService { } async signUp(email: string, password: string): Promise { + if (password.length < 12) { + throw new FieldError("password", "signup.password.minLength"); + } return createUserWithEmailAndPassword(this.auth, email, password).catch( (err) => { switch (err.code) { diff --git a/airbyte-webapp/src/packages/cloud/locales/en.json b/airbyte-webapp/src/packages/cloud/locales/en.json index 55f4d298f7ca3..9f2411833d86d 100644 --- a/airbyte-webapp/src/packages/cloud/locales/en.json +++ b/airbyte-webapp/src/packages/cloud/locales/en.json @@ -112,7 +112,7 @@ "firebase.auth.error.tooManyRequests": "Too many retries. Please wait 10 minutes before trying again.", "firebase.auth.error.default": "Confirmation email cannot be sent. Please try again later.", - "signup.password.minLength": "Password should be at least 6 characters", + "signup.password.minLength": "Password should be at least 12 characters", "email.duplicate": "Email already exists", "email.notfound": "Email not found", "email.disabled": "Your account is disabled", diff --git a/airbyte-webapp/src/packages/cloud/views/auth/SignupPage/SignupPage.tsx b/airbyte-webapp/src/packages/cloud/views/auth/SignupPage/SignupPage.tsx index 1c36095430691..9cb281c38d47c 100644 --- a/airbyte-webapp/src/packages/cloud/views/auth/SignupPage/SignupPage.tsx +++ b/airbyte-webapp/src/packages/cloud/views/auth/SignupPage/SignupPage.tsx @@ -35,7 +35,7 @@ const SignupPageValidationSchema = yup.object().shape({ email: yup.string().email("form.email.error").required("form.empty.error"), password: yup .string() - .min(6, "signup.password.minLength") + .min(12, "signup.password.minLength") .required("form.empty.error"), name: yup.string().required("form.empty.error"), companyName: yup.string().required("form.empty.error"), diff --git a/airbyte-webapp/src/services/useInitService.tsx b/airbyte-webapp/src/services/useInitService.tsx index 2641ee905d7b6..174f31c41fd05 100644 --- a/airbyte-webapp/src/services/useInitService.tsx +++ b/airbyte-webapp/src/services/useInitService.tsx @@ -1,11 +1,7 @@ -import { useEffect, useRef } from "react"; +import { DependencyList, useEffect, useRef } from "react"; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function useInitService any>( - f: () => InstanceType, - deps: ConstructorParameters -): InstanceType { - const service = useRef | null>(null); +export function useInitService(f: () => T, deps: DependencyList): T { + const service = useRef(null); useEffect(() => { if (service.current !== null) { @@ -18,5 +14,5 @@ export function useInitService any>( service.current = f(); } - return (service.current as unknown) as InstanceType; + return service.current; }