{"version":3,"sources":["utils/Validation.ts","utils/regex.ts","routes/auth/Login.tsx","routes/auth/__generated__/LoginIsMfaEnabledQuery.graphql.ts","routes/auth/__generated__/LoginAuthMutation.graphql.ts"],"names":["REQUIRED","EMAIL_ADDRESS","PASSWORD_CRITERIA","OTP","EMAIL","PASSWORD","NUMERIC","IsMfaEnabledQuery","mutation","Login","props","history","useHistory","useForm","register","handleSubmit","errors","redirect","setValue","match","params","fetchAuthToken","useStoreActions","actions","auth","useState","isOtpScreen","setIsOtpScreen","emailValue","setEmailValue","passwordValue","setPasswordValue","onSubmit","data","a","input","username","password","mfa","onSuccess","login","clearLocalStorage","replace","onFailure","message","notify","fetchQuery","then","mfaData","isEmpty","isMfaEnabled","useEffect","error","getLocalStorage","className","onClick","htmlFor","type","placeholder","EMAIL_PLACEHOLDER","name","value","disabled","OTP_PLACEHOLDER","autoComplete","ref","required","pattern","PASSWORD_PLACEHOLDER","to","node","v0","v1","v2","hash"],"mappings":"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","file":"static/js/1.5060cf4e.chunk.js","sourcesContent":["const REQUIRED = \"This field is required\";\nconst EMAIL_ADDRESS = \"Please enter a valid email\";\nconst SHORT_PASSWORD = \"Password too short\";\nconst PASSWORD_CRITERIA = \"Password must meet the required criteria\";\nconst PHONE = \"Please enter a valid phone number\";\nconst OTP = \"Please enter a valid verification code\";\n\nexport { REQUIRED, EMAIL_ADDRESS, SHORT_PASSWORD, PHONE, PASSWORD_CRITERIA, OTP };\n","const EMAIL = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nconst PASSWORD = /^((?=.*[A-Z])(?=.*[~!@#$%^&*_().])(?=.*[0-9])(?=.*[a-z]).{8,})$/;\nconst UPPERCASE = /\\w*[A-Z]/g;\nconst LOWERCASE = /\\w*[a-z]/g;\nconst NUMERIC = /^[0-9]*$/i;\nconst SPECIAL_CHARACTER = /\\w*[~!@#$%^&*_().]/g;\n\nexport { EMAIL, PASSWORD, UPPERCASE, LOWERCASE, NUMERIC, SPECIAL_CHARACTER };\n","import { useEffect, useState } from \"react\";\nimport { EMAIL } from \"utils/regex\";\nimport { useStoreActions } from \"easy-peasy\";\nimport graphql from \"babel-plugin-relay/macro\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport {\n\tclearLocalStorage,\n\tgetLocalStorage,\n\tisEmpty,\n\tnotify,\n} from \"utils/utils\";\nimport { SubmitHandler, useForm } from \"react-hook-form\";\nimport { EMAIL_ADDRESS, OTP, REQUIRED } from \"utils/Validation\";\nimport {\n\tEMAIL_PLACEHOLDER,\n\tPASSWORD_PLACEHOLDER,\n\tOTP_PLACEHOLDER,\n} from \"utils/constants\";\nimport { fetchQuery } from \"utils/relay\";\n\nconst IsMfaEnabledQuery = graphql`\n\tquery LoginIsMfaEnabledQuery($username: String!, $password: String!) {\n\t\tisMfaEnabled(username: $username, password: $password)\n\t}\n`;\n\ntype MfaQueryResponse = {\n\tisMfaEnabled: boolean;\n\t// Add other properties based on your actual response structure\n};\n\nconst verifyEmailAndPassword = async (\n\temail: string,\n\tpassword: string\n): Promise => {\n\t// Simulate API request with dummy data\n\t// Replace this with your actual logic for verifying email and password\n\n\t// Dummy data for simulation\n\tconst validCredentials = {\n\t\temail: \"admin@nuflights.com\",\n\t\tpassword: \"nuflights@admin\",\n\t};\n\n\t// Check if the provided email and password match the dummy valid credentials\n\tconst isValid =\n\t\temail === validCredentials.email && password === validCredentials.password;\n\n\treturn isValid;\n};\n\nconst mutation = graphql`\n\tmutation LoginAuthMutation($input: LoginInput!) {\n\t\tlogin(input: $input) {\n\t\t\trefreshExpiresIn\n\t\t\ttoken\n\t\t\trefreshToken\n\t\t\tuser {\n\t\t\t\tid\n\t\t\t\temail\n\t\t\t\tfirstName\n\t\t\t\tlastName\n\t\t\t\tlastLogin\n\t\t\t\tphone\n\t\t\t}\n\t\t}\n\t}\n`;\n\ntype LoginForm = {\n\tusername: string;\n\tpassword: string;\n\tmfa: string;\n};\n\nconst Login = (props: any) => {\n\tconst history = useHistory();\n\tconst { register, handleSubmit, errors, setValue } = useForm();\n\tconst redirect = props?.match?.params?.redirect;\n\tconst fetchAuthToken = useStoreActions(\n\t\t(actions: any) => actions.auth.fetchAuthToken\n\t);\n\n\tconst [isOtpScreen, setIsOtpScreen] = useState(false);\n\tconst [emailValue, setEmailValue] = useState(\"\");\n\tconst [passwordValue, setPasswordValue] = useState(\"\");\n\n\tconst onSubmit: SubmitHandler = async (data) => {\n\t\tif (!isOtpScreen) {\n\t\t\tsetEmailValue(data?.username);\n\t\t\tsetPasswordValue(data?.password);\n\t\t\tfetchQuery(IsMfaEnabledQuery, {\n\t\t\t\tusername: data?.username,\n\t\t\t\tpassword: data?.password,\n\t\t\t})?.then(async (mfaData: any) => {\n\t\t\t\tif (!isEmpty(mfaData?.isMfaEnabled)) {\n\t\t\t\t\t// Email and password are valid, check MFA\n\t\t\t\t\tif (mfaData?.isMfaEnabled) {\n\t\t\t\t\t\tsetIsOtpScreen(true);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfetchAuthToken({\n\t\t\t\t\t\t\tmutation,\n\t\t\t\t\t\t\tinput: {\n\t\t\t\t\t\t\t\tusername: data?.username,\n\t\t\t\t\t\t\t\tpassword: data?.password,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonSuccess: (login: any) => {\n\t\t\t\t\t\t\t\tclearLocalStorage([\"email\", \"otp\"]);\n\t\t\t\t\t\t\t\tif (redirect) {\n\t\t\t\t\t\t\t\t\thistory.replace(`/${redirect}`);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\thistory.replace(\"/\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonFailure: (message: any) => {\n\t\t\t\t\t\t\t\tmessage[0] ===\n\t\t\t\t\t\t\t\t\"This account is locked for its security. Please contact your administrator.\"\n\t\t\t\t\t\t\t\t\t? notify(\"error\", message[0])\n\t\t\t\t\t\t\t\t\t: notify(\n\t\t\t\t\t\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t\t\t\t\t\tmessage[0] ||\n\t\t\t\t\t\t\t\t\t\t\t\t\"Incorrect user name or password. Check entries and retry.\"\n\t\t\t\t\t\t\t\t\t );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Email or password is invalid, notify user\n\t\t\t\t\tnotify(\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t\"Incorrect email or password. Please check and retry.\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// On OTP screen, submit the OTP for verification\n\n\t\t\tfetchAuthToken({\n\t\t\t\tmutation,\n\t\t\t\tinput: {\n\t\t\t\t\tusername: emailValue,\n\t\t\t\t\tpassword: passwordValue,\n\t\t\t\t\tmfa: data.mfa,\n\t\t\t\t},\n\t\t\t\tonSuccess: (login: any) => {\n\t\t\t\t\tclearLocalStorage([\"email\", \"otp\"]);\n\t\t\t\t\tif (redirect) {\n\t\t\t\t\t\thistory.replace(`/${redirect}`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\thistory.replace(\"/\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonFailure: (message: any) => {\n\t\t\t\t\tmessage[0] ===\n\t\t\t\t\t\"This account is locked for its security. Please contact your administrator.\"\n\t\t\t\t\t\t? notify(\"error\", message[0])\n\t\t\t\t\t\t: notify(\"error\", \"Incorrect OTP. Please try again.\");\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t};\n\n\t// useEffect(() => {\n\t// \t// Pre-fill the email field with the stored value\n\t// \tsetValue(\"username\", emailValue);\n\n\t// \t// Pre-fill the password field with the stored value\n\t// \tif (isOtpScreen) {\n\t// \t\tsetValue(\"password\", passwordValue);\n\t// \t}\n\t// }, [emailValue, passwordValue, isOtpScreen, setValue]);\n\n\tuseEffect(() => {\n\t\tconst error = getLocalStorage(\"error\");\n\t\tclearLocalStorage([\"error\"]);\n\t\t!isEmpty(error) && notify(\"error\", error);\n\t}, []);\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t history.replace(`/home`)}\n\t\t\t\t>\n\t\t\t\t\tclose\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{isOtpScreen ? \"Additional Verification Required\" : \"Login\"}\n\t\t\t\t\t\t

\n\t\t\t\t\t\t{!isOtpScreen && (\n\t\t\t\t\t\t\t

Please enter your credentials

\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isOtpScreen ? (\n\t\t\t\t\t\t\t// OTP Verification Form\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

{errors.mfa && OTP}

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t{errors.username && EMAIL_ADDRESS}\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

{errors.password && REQUIRED}

\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tLogin\n\t\t\t\t\t\t\n\t\t\t\t\t\t{!isOtpScreen && (\n\t\t\t\t\t\t\t clearLocalStorage([\"email\", \"otp\"])}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tForgot Password?\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default Login;\n","/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest } from \"relay-runtime\";\nexport type LoginIsMfaEnabledQueryVariables = {\n username: string;\n password: string;\n};\nexport type LoginIsMfaEnabledQueryResponse = {\n readonly isMfaEnabled: boolean | null;\n};\nexport type LoginIsMfaEnabledQuery = {\n readonly response: LoginIsMfaEnabledQueryResponse;\n readonly variables: LoginIsMfaEnabledQueryVariables;\n};\n\n\n\n/*\nquery LoginIsMfaEnabledQuery(\n $username: String!\n $password: String!\n) {\n isMfaEnabled(username: $username, password: $password)\n}\n*/\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n \"defaultValue\": null,\n \"kind\": \"LocalArgument\",\n \"name\": \"password\"\n},\nv1 = {\n \"defaultValue\": null,\n \"kind\": \"LocalArgument\",\n \"name\": \"username\"\n},\nv2 = [\n {\n \"alias\": null,\n \"args\": [\n {\n \"kind\": \"Variable\",\n \"name\": \"password\",\n \"variableName\": \"password\"\n },\n {\n \"kind\": \"Variable\",\n \"name\": \"username\",\n \"variableName\": \"username\"\n }\n ],\n \"kind\": \"ScalarField\",\n \"name\": \"isMfaEnabled\",\n \"storageKey\": null\n }\n];\nreturn {\n \"fragment\": {\n \"argumentDefinitions\": [\n (v0/*: any*/),\n (v1/*: any*/)\n ],\n \"kind\": \"Fragment\",\n \"metadata\": null,\n \"name\": \"LoginIsMfaEnabledQuery\",\n \"selections\": (v2/*: any*/),\n \"type\": \"Query\",\n \"abstractKey\": null\n },\n \"kind\": \"Request\",\n \"operation\": {\n \"argumentDefinitions\": [\n (v1/*: any*/),\n (v0/*: any*/)\n ],\n \"kind\": \"Operation\",\n \"name\": \"LoginIsMfaEnabledQuery\",\n \"selections\": (v2/*: any*/)\n },\n \"params\": {\n \"cacheID\": \"9cc17872272ee68a58a3c4cca4a0b441\",\n \"id\": null,\n \"metadata\": {},\n \"name\": \"LoginIsMfaEnabledQuery\",\n \"operationKind\": \"query\",\n \"text\": \"query LoginIsMfaEnabledQuery(\\n $username: String!\\n $password: String!\\n) {\\n isMfaEnabled(username: $username, password: $password)\\n}\\n\"\n }\n};\n})();\n(node as any).hash = '8a94728527d8801362d79c39ecb5c763';\nexport default node;\n","/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest } from \"relay-runtime\";\nexport type LoginInput = {\n username: string;\n password: string;\n mfa?: string | null;\n clientMutationId?: string | null;\n};\nexport type LoginAuthMutationVariables = {\n input: LoginInput;\n};\nexport type LoginAuthMutationResponse = {\n readonly login: {\n readonly refreshExpiresIn: number;\n readonly token: string;\n readonly refreshToken: string;\n readonly user: {\n readonly id: string;\n readonly email: string;\n readonly firstName: string;\n readonly lastName: string;\n readonly lastLogin: unknown | null;\n readonly phone: string | null;\n } | null;\n } | null;\n};\nexport type LoginAuthMutation = {\n readonly response: LoginAuthMutationResponse;\n readonly variables: LoginAuthMutationVariables;\n};\n\n\n\n/*\nmutation LoginAuthMutation(\n $input: LoginInput!\n) {\n login(input: $input) {\n refreshExpiresIn\n token\n refreshToken\n user {\n id\n email\n firstName\n lastName\n lastLogin\n phone\n }\n }\n}\n*/\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n {\n \"defaultValue\": null,\n \"kind\": \"LocalArgument\",\n \"name\": \"input\"\n }\n],\nv1 = [\n {\n \"alias\": null,\n \"args\": [\n {\n \"kind\": \"Variable\",\n \"name\": \"input\",\n \"variableName\": \"input\"\n }\n ],\n \"concreteType\": \"LoginPayload\",\n \"kind\": \"LinkedField\",\n \"name\": \"login\",\n \"plural\": false,\n \"selections\": [\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"refreshExpiresIn\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"token\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"refreshToken\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"concreteType\": \"MeType\",\n \"kind\": \"LinkedField\",\n \"name\": \"user\",\n \"plural\": false,\n \"selections\": [\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"id\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"email\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"firstName\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"lastName\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"lastLogin\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"phone\",\n \"storageKey\": null\n }\n ],\n \"storageKey\": null\n }\n ],\n \"storageKey\": null\n }\n];\nreturn {\n \"fragment\": {\n \"argumentDefinitions\": (v0/*: any*/),\n \"kind\": \"Fragment\",\n \"metadata\": null,\n \"name\": \"LoginAuthMutation\",\n \"selections\": (v1/*: any*/),\n \"type\": \"Mutation\",\n \"abstractKey\": null\n },\n \"kind\": \"Request\",\n \"operation\": {\n \"argumentDefinitions\": (v0/*: any*/),\n \"kind\": \"Operation\",\n \"name\": \"LoginAuthMutation\",\n \"selections\": (v1/*: any*/)\n },\n \"params\": {\n \"cacheID\": \"07d589994df9bd4476972863b5ff9bba\",\n \"id\": null,\n \"metadata\": {},\n \"name\": \"LoginAuthMutation\",\n \"operationKind\": \"mutation\",\n \"text\": \"mutation LoginAuthMutation(\\n $input: LoginInput!\\n) {\\n login(input: $input) {\\n refreshExpiresIn\\n token\\n refreshToken\\n user {\\n id\\n email\\n firstName\\n lastName\\n lastLogin\\n phone\\n }\\n }\\n}\\n\"\n }\n};\n})();\n(node as any).hash = 'a24407cd2fd4e2ee8c5acd83ed450f63';\nexport default node;\n"],"sourceRoot":""}