/** * @swagger * /api/endpoint/getlogin_api: * get: * tags: [Login] * description: Returns the hello world * summary: Phase 2 * parameters: * - name: emailaddress * in: query * required: true * schema: * type: string * - name: pwd * in: query * required: true * schema: * type: string * responses: * 200: * description: hello world */ import axios from "axios"; import { azureHeadersPaged } from "../../../actions/core/headers"; import { consoleLogger } from "../../../actions/core/logger"; import { getToken } from "../../../actions/core/token"; import { hashAPIPath } from "../../../actions/core/hash"; import { respondError, respondSuccess } from "../middleware/apiResponse"; const WEBAPI_URL = process.env.RELAY_ROOT || "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; export default async function ApiProxy(req, res) { const emailAddress = req.query.emailAddress; const pwd = req.query.pwd; if (typeof emailAddress !== "string" || emailAddress.trim().length === 0) { return respondError(res, { status: 400, code: "EMAIL_ADDRESS_REQUIRED", message: "emailAddress is required" }); } if (typeof pwd !== "string" || pwd.trim().length === 0) { return respondError(res, { status: 400, code: "PASSWORD_REQUIRED", message: "pwd is required" }); } try { const token = await getToken(); const queryUrl = "contacts?$filter=emailaddress1 eq '" + emailAddress + "' and pinswg_custom_password eq '" + pwd + "'&$count=true&$select=emailaddress1,contactid,pinswg_custom_password,yomifullname,firstname,lastname"; const { data } = await axios.get( WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), azureHeadersPaged(token.access_token) ); return respondSuccess(res, data); } catch (error) { consoleLogger(error); return respondError(res, { status: 400, code: "LOGIN_FETCH_FAILED", message: "Failed to fetch login details" }); } }