From 0d6c14f01128b776b8323f7736a4a6f609611dd5 Mon Sep 17 00:00:00 2001 From: Mahesh Mahajan Date: Mon, 11 Mar 2024 14:27:59 +0530 Subject: [PATCH 1/3] TASK: [##215331] :Added Certificate API calls --- packages/nulp_elite/src/App.js | 18 ++++ packages/nulp_elite/src/pages/Certificate.js | 92 ++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 packages/nulp_elite/src/pages/Certificate.js diff --git a/packages/nulp_elite/src/App.js b/packages/nulp_elite/src/App.js index f44e3f8a..de804b03 100644 --- a/packages/nulp_elite/src/App.js +++ b/packages/nulp_elite/src/App.js @@ -5,6 +5,9 @@ import Home from "pages/Home"; import Courses from "pages/Courses"; import Contents from "pages/Contents"; import Framework from "pages/Frmework"; +import Certificate from "pages/Certificate"; +import Search from "pages/Search"; + import User from "pages/User"; import { extendTheme, NativeBaseProvider } from "native-base"; // import dotenv from "dotenv"; @@ -45,6 +48,21 @@ function App() { path: "/registration", component: Registration, }, + { + moduleName: "nulp_elite", + path: "/User", + component: User, + }, + { + moduleName: "nulp_elite", + path: "/Certificate", + component: Certificate, + }, + { + moduleName: "nulp_elite", + path: "/Search", + component: Search, + }, ]; // const LoginComponent = React.lazy(() => import("core/Login")); diff --git a/packages/nulp_elite/src/pages/Certificate.js b/packages/nulp_elite/src/pages/Certificate.js new file mode 100644 index 00000000..f081d4ba --- /dev/null +++ b/packages/nulp_elite/src/pages/Certificate.js @@ -0,0 +1,92 @@ +import React, { useState, useEffect } from "react"; +import { Box, Heading, Text, Button } from "@chakra-ui/react"; +import URLSConfig from "../configs/urlConfig.json"; +import { post, get } from "@shiksha/common-lib"; + +const Certificate = () => { + const [data, setData] = useState({}); + const [bathId, setbatchId] = useState(""); + const [isLoading, setIsLoading] = useState(false); + const [error, setError] = useState(null); + const [organisationIds, setOrganisationIds] = useState(""); + useEffect(() => { + validateCertificate(); + fetchCertificatePreferences(); + getBatchDetails(); + }, []); + const headers = { + "content-type": "Application/json", + }; + + const validateCertificate = async () => { + try { + const url = + "http://localhost:3000/learner/" + + URLSConfig.URLS.USER.VALIDATE_CERTIFICATE; + const response = await post(url, data); + console.log(response.data.result); + setData(response.data.result); + } catch (error) { + setError(error.message); + } + }; + + const fetchCertificatePreferences = async () => { + try { + const url = + "http://localhost:3000/learner/" + + URLSConfig.URLS.TENANT_PREFERENCE.READ; + const response = await post(url, data); + console.log(response.data.result); + setData(response.data.result); + } catch (error) { + setError(error.message); + } + }; + + const getBatchDetails = async () => { + try { + const url = + "http://localhost:3000/learner/" + + URLSConfig.URLS.BATCH.GET_DETAILS + + "/" + + `${bathId}`; + const response = await get(url); + console.log(response.data.result); + setData(response.data.result); + } catch (error) { + setError(error.message); + } + }; + + const handleFilterChange = (field, value) => { + // Handle filter change logic here + }; + + return ( + + + Welcome to Our Learning Portal Content + + + Enhance your knowledge and skills with our diverse range of courses and + content. + + + + {isLoading &&

Loading...

} + {error &&

Error: {error}

} + {Object.keys(data).map((key) => ( +
+

+ {key}: {JSON.stringify(data[key])} +

+
+ ))} +
+ ); +}; + +export default Certificate; From e0bd96fb7505aa3665de90fec1bc0a907d9a9072 Mon Sep 17 00:00:00 2001 From: Mahesh Mahajan Date: Mon, 11 Mar 2024 14:48:38 +0530 Subject: [PATCH 2/3] modified App.js --- packages/nulp_elite/src/App.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/nulp_elite/src/App.js b/packages/nulp_elite/src/App.js index de804b03..2fde2cd4 100644 --- a/packages/nulp_elite/src/App.js +++ b/packages/nulp_elite/src/App.js @@ -6,7 +6,6 @@ import Courses from "pages/Courses"; import Contents from "pages/Contents"; import Framework from "pages/Frmework"; import Certificate from "pages/Certificate"; -import Search from "pages/Search"; import User from "pages/User"; import { extendTheme, NativeBaseProvider } from "native-base"; From 92b4704146e463faf13c157ebdb1857f1d6bd18b Mon Sep 17 00:00:00 2001 From: Mahesh Mahajan Date: Fri, 15 Mar 2024 14:57:43 +0530 Subject: [PATCH 3/3] Moved CertificateService to nulp_elite --- packages/nulp_elite/src/App.js | 8 +++-- packages/nulp_elite/src/pages/Certificate.js | 25 +++++++------ .../src/services/cetificateService.js | 36 +++++++++++++++++++ 3 files changed, 56 insertions(+), 13 deletions(-) create mode 100644 packages/nulp_elite/src/services/cetificateService.js diff --git a/packages/nulp_elite/src/App.js b/packages/nulp_elite/src/App.js index adcea247..8308165c 100644 --- a/packages/nulp_elite/src/App.js +++ b/packages/nulp_elite/src/App.js @@ -23,14 +23,13 @@ import { BrowserRouter as Router, Route, Routes } from "react-router-dom"; import { DEFAULT_THEME, initializeI18n, H2 } from "@shiksha/common-lib"; import { useTranslation } from "react-i18next"; import Framework from "pages/Frmework"; -import Certificate from "pages/Certificate"; - import User from "pages/User"; import Registration from "pages/Registration"; import UserPrefData from "pages/UserPrefData"; import { ChakraProvider } from "@chakra-ui/react"; import Profile from "pages/Profile"; import FAQPage from "pages/FAQPage"; +import Certificate from "pages/Certificate"; function App() { const [search, setSearch] = React.useState(true); @@ -100,6 +99,11 @@ function App() { path: "/search", component: Search, }, + { + moduleName: "nulp_elite", + path: "/certificate", + component: Certificate, + }, ]; // return( diff --git a/packages/nulp_elite/src/pages/Certificate.js b/packages/nulp_elite/src/pages/Certificate.js index f081d4ba..6bc47a30 100644 --- a/packages/nulp_elite/src/pages/Certificate.js +++ b/packages/nulp_elite/src/pages/Certificate.js @@ -1,8 +1,11 @@ import React, { useState, useEffect } from "react"; import { Box, Heading, Text, Button } from "@chakra-ui/react"; import URLSConfig from "../configs/urlConfig.json"; -import { post, get } from "@shiksha/common-lib"; - +import { + validateCertificate, + fetchCertificatePreferences, + getBatchDetails, +} from "../services/cetificateService"; const Certificate = () => { const [data, setData] = useState({}); const [bathId, setbatchId] = useState(""); @@ -10,20 +13,20 @@ const Certificate = () => { const [error, setError] = useState(null); const [organisationIds, setOrganisationIds] = useState(""); useEffect(() => { - validateCertificate(); - fetchCertificatePreferences(); - getBatchDetails(); + validateCertificatePage(); + fetchCertificatePreferencesPage(); + getBatchDetailsPage(); }, []); const headers = { "content-type": "Application/json", }; - const validateCertificate = async () => { + const validateCertificatePage = async () => { try { const url = "http://localhost:3000/learner/" + URLSConfig.URLS.USER.VALIDATE_CERTIFICATE; - const response = await post(url, data); + const response = await validateCertificate(url, data); console.log(response.data.result); setData(response.data.result); } catch (error) { @@ -31,12 +34,12 @@ const Certificate = () => { } }; - const fetchCertificatePreferences = async () => { + const fetchCertificatePreferencesPage = async () => { try { const url = "http://localhost:3000/learner/" + URLSConfig.URLS.TENANT_PREFERENCE.READ; - const response = await post(url, data); + const response = await fetchCertificatePreferences(url, data); console.log(response.data.result); setData(response.data.result); } catch (error) { @@ -44,14 +47,14 @@ const Certificate = () => { } }; - const getBatchDetails = async () => { + const getBatchDetailsPage = async () => { try { const url = "http://localhost:3000/learner/" + URLSConfig.URLS.BATCH.GET_DETAILS + "/" + `${bathId}`; - const response = await get(url); + const response = await getBatchDetails(url); console.log(response.data.result); setData(response.data.result); } catch (error) { diff --git a/packages/nulp_elite/src/services/cetificateService.js b/packages/nulp_elite/src/services/cetificateService.js new file mode 100644 index 00000000..22246c56 --- /dev/null +++ b/packages/nulp_elite/src/services/cetificateService.js @@ -0,0 +1,36 @@ +import { post, get } from "./RestClient.ts"; + +export const validateCertificate = async (url, data = {}, headers = {}) => { + const result = await post(url, data, { + headers, + }); + if (result) { + return result; + } else { + return []; + } +}; + +export const fetchCertificatePreferences = async ( + url, + data = {}, + headers = {} +) => { + const result = await post(url, data, { + headers, + }); + if (result) { + return result; + } else { + return []; + } +}; + +export const getBatchDetails = async (url, header = {}) => { + const result = await get(url, header); + if (result) { + return result; + } else { + return []; + } +};