From 84f2cdf53f4cc03960533f2e6f79f8862b5710d5 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Sun, 14 Sep 2025 08:16:48 +0100 Subject: [PATCH] added products endpoint and implement login input fields max length --- src/RouteLinks.js | 4 +- src/SiteRoutes.jsx | 14 +- src/components/auth/LoginCom.jsx | 4 +- .../layouts/aside/DashboardAside.jsx | 2 +- .../layouts/rightaside/RecentPaymentsBar.jsx | 22 +- .../layouts/rightaside/RightAsideBar.jsx | 27 +- src/components/layouts/rightaside/Tasks.jsx | 20 +- src/components/layouts/rightaside/Tickets.jsx | 138 ++++++---- src/components/loan_charges/BillingsCom.jsx | 1 - .../ProductsCom.jsx} | 145 +++++----- src/components/recent_signup/RecentSignup.jsx | 231 ++++++++-------- .../tableWrapper/TablePaginatedWrapper.jsx | 2 +- src/components/users_admin/UsersAdmin.jsx | 259 ++++++++++-------- src/pages/OffersPage.jsx | 8 - src/pages/ProductsPage.jsx | 8 + src/services/queryKeys.js | 4 + src/services/siteServices.js | 24 ++ 17 files changed, 538 insertions(+), 375 deletions(-) rename src/components/{offers/OffersCom.jsx => products/ProductsCom.jsx} (51%) delete mode 100644 src/pages/OffersPage.jsx create mode 100644 src/pages/ProductsPage.jsx diff --git a/src/RouteLinks.js b/src/RouteLinks.js index 525ed45..7370a33 100644 --- a/src/RouteLinks.js +++ b/src/RouteLinks.js @@ -4,10 +4,10 @@ const RouteLinks = { customerPage: '/customer', subscriptions: '/subscriptions', billings: '/billings', - recentSignup: '/recent', + recentSignup: '/recent-signup', loansPage: '/loans', transactionsPage: '/transactions', - offers: '/offers', + products: '/products', usersAdmin: '/users-admin', transaction_details_page: '/transaction/details', errorPage: '*', diff --git a/src/SiteRoutes.jsx b/src/SiteRoutes.jsx index fcdad9e..f571d47 100644 --- a/src/SiteRoutes.jsx +++ b/src/SiteRoutes.jsx @@ -10,14 +10,14 @@ import HomePage from './pages/HomePage' // Home PAGE import CustomerPage from './pages/CustomerPage' // REPAYMENTS PAGE import SubscriptionsPage from './pages/SubscriptionsPage' // TRANSACTIONS PAGE import BillingsPage from './pages/BillingsPage' // LOAN CHARGES PAGE +import UsersAdminPage from "./pages/UsersAdminPage"; // ADMIN USERS PAGE +import RecentSignupPage from "./pages/RecentSignupPage"; // RECENT SIGNUP PAGE +import ProductsPage from './pages/ProductsPage' // PRODUCTS PAGE +import ErrorPage from './pages/ErrorPage'; import LoansPage from './pages/LoansPage' // SELECTED LOANS PAGE import TransactionDetailsPage from './pages/TransactionDetailsPage' // TRANSACTION DETAILS PAGE -import OffersPage from './pages/OffersPage' // LOAN OFFERS PAGE -import ErrorPage from './pages/ErrorPage'; -import UsersAdminPage from "./pages/UsersAdminPage"; -import RecentSignupPage from "./pages/RecentSignupPage"; // ERROR PAGE // const Home = lazy(() => import('./pages/Home')); @@ -29,15 +29,15 @@ export default function SiteRoutes() { }> } /> {`*/HOME PAGE*/`} - } /> {`*/HOME PAGE*/`} + } /> {`*/RECENT SIGNUP PAGE*/`} } /> {`*/SUBSCRIPTIONS PAGE*/`} } /> {`*/CUSTOMER PAGE*/`} } /> {`*/BILLINGS PAGE*/`} + } /> {`*/PRODUCTS PAGE*/`} + } /> {`*/ADMIN USERS PAGE*/`} } /> {`*/LOANS PAGE*/`} } /> {`*/TRANSACTION PAGE*/`} - } /> {`*/LOAN OFFERS PAGE*/`} - } /> {/* ERROR PAGE */} diff --git a/src/components/auth/LoginCom.jsx b/src/components/auth/LoginCom.jsx index 47af216..65665a0 100644 --- a/src/components/auth/LoginCom.jsx +++ b/src/components/auth/LoginCom.jsx @@ -20,8 +20,8 @@ const initialValues = { // To get the validation schema const validationSchema = Yup.object().shape({ - username: Yup.string().required("username is required"), - password: Yup.string().required("password is required").min(6, 'must be upto 6 characters').max(12, 'must not exceed 12 characters'), + username: Yup.string().required("username is required").min(6, 'must be upto 6 characters').max(25, 'must not exceed 25 characters'), + password: Yup.string().required("password is required").min(6, 'must be upto 6 characters').max(25, 'must not exceed 25 characters'), }); export default function LoginCom() { diff --git a/src/components/layouts/aside/DashboardAside.jsx b/src/components/layouts/aside/DashboardAside.jsx index 0d1f2f6..1c8a873 100644 --- a/src/components/layouts/aside/DashboardAside.jsx +++ b/src/components/layouts/aside/DashboardAside.jsx @@ -157,7 +157,7 @@ const asideNavLinks = [ {name: 'Billings', status: 1, icon: 'dot', to: RouteLinks.billings}, { name: 'Configurations', status: 1, icon: 'arrow-right', subLinks: [ - {name: 'Product Settings', status: 1, icon: 'dot', to: RouteLinks.offers}, + {name: 'Product Settings', status: 1, icon: 'dot', to: RouteLinks.products}, {name: 'Admin Manager', status: 1, icon: 'dot', to: RouteLinks.usersAdmin}, ] }, diff --git a/src/components/layouts/rightaside/RecentPaymentsBar.jsx b/src/components/layouts/rightaside/RecentPaymentsBar.jsx index 001f472..d93d72d 100644 --- a/src/components/layouts/rightaside/RecentPaymentsBar.jsx +++ b/src/components/layouts/rightaside/RecentPaymentsBar.jsx @@ -2,11 +2,19 @@ import React from 'react' import Img from '../../../assets/user_avatar.jpg' import CustomCounter from '../../CustomCounter' -export default function RecentPaymentsBar() { +export default function RecentPaymentsBar({data, isFetching, isError, error}) { return (
-

Recent Payments[7 days]

+

Recent Payments [7 days]

+ {isFetching ? +
+
+
+ : + isError ? +

{error?.message}

+ :

@@ -33,9 +41,18 @@ export default function RecentPaymentsBar() {

Total

+ }

Recent Login

+ {isFetching ? +
+
+
+ : + isError ? +

{error?.message}

+ :
@@ -74,6 +91,7 @@ export default function RecentPaymentsBar() {
+ }
) diff --git a/src/components/layouts/rightaside/RightAsideBar.jsx b/src/components/layouts/rightaside/RightAsideBar.jsx index 61b0196..0bbe2f0 100644 --- a/src/components/layouts/rightaside/RightAsideBar.jsx +++ b/src/components/layouts/rightaside/RightAsideBar.jsx @@ -1,4 +1,7 @@ import React, { useState } from 'react' +import { useQuery } from '@tanstack/react-query' +import queryKeys from '../../../services/queryKeys' +import { getRightSidebar } from '../../../services/siteServices' import Icons from '../../Icons' //import Orders from './Orders' import Tickets from './Tickets' @@ -14,6 +17,24 @@ export default function RightAsideBar() { setActive(lowerStr) } + const {data, isFetching, isError, error} = useQuery({ + queryKey: [...queryKeys.right_sidebar], + queryFn: () => { + // const filterData = filter?.type ? {[filter?.type]: filter.id} : {} + // const reqData = { + // page, + // ...filterData + // } + return getRightSidebar() + }, + // staleTime: 0 //0 mins + }) + const recentData = [] // RECENT LIST + + // const recentData = data?.data // RECENT LIST + // const pagination = data?.data?.pagination + // console.log('RIGHT', data?.data) + return (
{/* Menu */} @@ -30,9 +51,9 @@ export default function RightAsideBar() {
{/* Body */} - {active === 'orders' && } - {active === 'tickets' && } - {active === 'tasks' && } + {active === 'orders' && } + {active === 'tickets' && } + {active === 'tasks' && } ) } diff --git a/src/components/layouts/rightaside/Tasks.jsx b/src/components/layouts/rightaside/Tasks.jsx index 558dbd6..f01ba31 100644 --- a/src/components/layouts/rightaside/Tasks.jsx +++ b/src/components/layouts/rightaside/Tasks.jsx @@ -2,11 +2,19 @@ import React from 'react' import Img from '../../../assets/user_avatar.jpg' import CustomCounter from '../../CustomCounter' -export default function Tasks() { +export default function Tasks({data, isFetching, isError, error}) { return (

Recent System Checks

+ {isFetching ? +
+
+
+ : + isError ? +

{error?.message}

+ :

@@ -33,9 +41,18 @@ export default function Tasks() {

Created

+ }

Best Tasks

+ {isFetching ? +
+
+
+ : + isError ? +

{error?.message}

+ :
@@ -74,6 +91,7 @@ export default function Tasks() {
+ }
) diff --git a/src/components/layouts/rightaside/Tickets.jsx b/src/components/layouts/rightaside/Tickets.jsx index a8423a4..d75f13d 100644 --- a/src/components/layouts/rightaside/Tickets.jsx +++ b/src/components/layouts/rightaside/Tickets.jsx @@ -2,78 +2,96 @@ import React from 'react' import Img from '../../../assets/user_avatar.jpg' import CustomCounter from '../../CustomCounter' -export default function Tickets() { +export default function Tickets({data, isFetching, isError, error}) { return (

Recent Deployments

-
-
-

- -

-

Pending

+ {isFetching ? +
+
-
-

- -

-

Offers

+ : + isError ? +

{error?.message}

+ : +
+
+

+ +

+

Pending

+
+
+

+ +

+

Offers

+
+
+

+ +

+

Created

+
+
+

+ +

+

Rejected

+
-
-

- -

-

Created

-
-
-

- -

-

Rejected

-
-
+ }

Tracked Errors

-
-
-
- Order + {isFetching ? +
+
+
+ : + isError ? +

{error?.message}

+ : +
+
+
+ Order +
+
+

Project Briefing

+

Project Manager

+
-
-

Project Briefing

-

Project Manager

+
+
+ Order +
+
+

Project Briefing

+

Project Manager

+
+
+
+
+ Order +
+
+

Project Briefing

+

Project Manager

+
+
+
+
+ Order +
+
+

Project Briefing

+

Project Manager

+
-
-
- Order -
-
-

Project Briefing

-

Project Manager

-
-
-
-
- Order -
-
-

Project Briefing

-

Project Manager

-
-
-
-
- Order -
-
-

Project Briefing

-

Project Manager

-
-
-
+ }
) diff --git a/src/components/loan_charges/BillingsCom.jsx b/src/components/loan_charges/BillingsCom.jsx index 124c7d2..7a81a50 100644 --- a/src/components/loan_charges/BillingsCom.jsx +++ b/src/components/loan_charges/BillingsCom.jsx @@ -66,7 +66,6 @@ export default function BillingsCom() { -
diff --git a/src/components/offers/OffersCom.jsx b/src/components/products/ProductsCom.jsx similarity index 51% rename from src/components/offers/OffersCom.jsx rename to src/components/products/ProductsCom.jsx index fcfa953..3b057ab 100644 --- a/src/components/offers/OffersCom.jsx +++ b/src/components/products/ProductsCom.jsx @@ -1,69 +1,99 @@ -import React, { useState } from 'react' -import { useQuery } from "@tanstack/react-query"; +import { useState } from 'react' +import { useQuery } from '@tanstack/react-query' +import queryKeys from '../../services/queryKeys' import BreadcrumbCom from '../breadcrumb/BreadcrumbCom' import TablePaginatedWrapper from '../tableWrapper/TablePaginatedWrapper' import Icons from '../Icons' +import { getProducts } from '../../services/siteServices' +import getDateTimeFromDateString from '../../helpers/getDateTimeFromDateString' +// import formatNumber from '../../helpers/formatNumber' +// import getDateTimeFromDateString from '../../helpers/getDateTimeFromDateString'; +// import formatNumber from '../../helpers/formatNumber' +// import Avatar from '../../assets/user_avatar.jpg' -import Avatar from '../../assets/user_avatar.jpg' -import queryKeys from '../../services/queryKeys' -import { getOffers } from '../../services/siteServices' -// import getDateFromDateString from '../../helpers/GetDateFromDateString'; -import formatNumber from '../../helpers/formatNumber'; -export default function OffersCom() { +export default function ProductsCom() { const [page, setPage] = useState(1) + const [filter, setFilter] = useState({type: '', id: ''}) + const [willFilter, setWillFilter] = useState(false) + + const handleFilter = ({target:{name, value}}) => { + setFilter(prev => ({...prev, [name]:value})) + } + + const handleFilterByParams = () => { + if(filter.type && !filter.id){ + return + }else if(!filter.type){ + setPage(1) + setWillFilter(prev => !prev) + setFilter({type: '', id: ''}) + }else{ + setPage(1) + setWillFilter(prev => !prev) + } + } const {data, isFetching, isError, error} = useQuery({ - queryKey: [...queryKeys.offers, page], - queryFn: () => getOffers({page}), - staleTime: 0, - // placeholderData: keepPreviousData, + queryKey: [...queryKeys.products, page, willFilter], + queryFn: () => { + const filterData = filter?.type ? {[filter?.type]: filter.id} : {} + const reqData = { + page, + ...filterData + } + return getProducts(reqData) + }, + staleTime: 0 //0 mins }) - - const offers = data?.data?.offers // LOAN CHARGES LIST + const productsData = data?.data?.products // PRODUCTS LIST const pagination = data?.data?.pagination - console.log('offers', offers) + // console.log('DATA', data?.data) return (
- {isFetching ? - <> -

Loading...

- - : isError ? -

{error.message}

+ { isError ? +

{error?.message}

: - + <> + {/* filter section */} +
+ +
+ +
+
+ +
+ +
+ {/* end of filter section */} + + {({ data }) => ( <> + - - - - - @@ -72,51 +102,31 @@ export default function OffersCom() { + - - - - )) : - + + + } + +
+ Added + Name - Interest Rate + + Product ID - Insurance Rate - - Mgt. Rate - - Max/Min Amount - - Tenor - - Action + Status
- Jese
-
{item?.product_id || ''}
- {/*
{item?.description}
*/} +
{getDateTimeFromDateString(item?.added)}
-
-
{formatNumber(item?.interest_rate)}
+
+
{item?.name}
+
+
+
+
{item?.product_id}
-
{formatNumber(item?.insurance_rate)}
+
{item?.status}
-
-
{formatNumber(item?.management_rate)}
-
-
-
-
{formatNumber(item?.maximum_amount)}
-
{formatNumber(item?.minimum_amount)}
-
-
-
-
{item?.tenor}
-
-
-
-
- -
-
-
+
No Record Found
@@ -128,6 +138,7 @@ export default function OffersCom() { )} + } diff --git a/src/components/recent_signup/RecentSignup.jsx b/src/components/recent_signup/RecentSignup.jsx index 4d5356f..59647ca 100644 --- a/src/components/recent_signup/RecentSignup.jsx +++ b/src/components/recent_signup/RecentSignup.jsx @@ -1,133 +1,144 @@ -import React, { useState } from 'react' -import { useQuery } from "@tanstack/react-query"; +import { useState } from 'react' +import { useQuery } from '@tanstack/react-query' +import queryKeys from '../../services/queryKeys' import BreadcrumbCom from '../breadcrumb/BreadcrumbCom' import TablePaginatedWrapper from '../tableWrapper/TablePaginatedWrapper' import Icons from '../Icons' +import { getRecentSignup } from '../../services/siteServices' +import getDateTimeFromDateString from '../../helpers/getDateTimeFromDateString' +// import formatNumber from '../../helpers/formatNumber' +// import formatNumber from '../../helpers/formatNumber' +// import Avatar from '../../assets/user_avatar.jpg' -import Avatar from '../../assets/user_avatar.jpg' -import queryKeys from '../../services/queryKeys' -import { getOffers } from '../../services/siteServices' -// import getDateFromDateString from '../../helpers/GetDateFromDateString'; -import formatNumber from '../../helpers/formatNumber'; export default function RecentSignup() { const [page, setPage] = useState(1) + const [filter, setFilter] = useState({type: '', id: ''}) + const [willFilter, setWillFilter] = useState(false) + + const handleFilter = ({target:{name, value}}) => { + setFilter(prev => ({...prev, [name]:value})) + } + + const handleFilterByParams = () => { + if(filter.type && !filter.id){ + return + }else if(!filter.type){ + setPage(1) + setWillFilter(prev => !prev) + setFilter({type: '', id: ''}) + }else{ + setPage(1) + setWillFilter(prev => !prev) + } + } const {data, isFetching, isError, error} = useQuery({ - queryKey: [...queryKeys.offers, page], - queryFn: () => getOffers({page}), - staleTime: 0, - // placeholderData: keepPreviousData, + queryKey: [...queryKeys.recent_signup, page, willFilter], + queryFn: () => { + const filterData = filter?.type ? {[filter?.type]: filter.id} : {} + const reqData = { + page, + ...filterData + } + return getRecentSignup(reqData) + }, + staleTime: 0 //0 mins }) - - const offers = data?.data?.offers // LOAN CHARGES LIST + const recentSignupData = data?.data?.payments // BILLINGS LIST const pagination = data?.data?.pagination - console.log('offers', offers) + // console.log('DATA', data?.data) return (
- {isFetching ? - <> -

Loading...

- - : isError ? -

{error.message}

- : - - {({ data }) => ( - <> - - - - - - - - - - + { isError ? +

{error?.message}

+ : + <> + {/* filter section */} +
+ +
+ +
+
+ +
+ +
+ {/* end of filter section */} + + + {({ data }) => ( + <> +
- Name - - Interest Rate - - Insurance Rate - - Mgt. Rate - - Max/Min Amount - - Tenor - - Action -
+ + + + + + + + + + {(data && data.length > 0) ? data?.map((item, index) => ( + + + + + - - - {(data && data.length > 0) ? data?.map((item, index) => ( - - - - - - - - - - )) - : - - - - } - -
+ Added + + Option Name + + Amount + + Status +
+
+
+
{getDateTimeFromDateString(item?.added)}
+
+
+
+
+
{item?.option_name}
+
+
+
+
${item?.amount}
+ {/*
{item?.external_url}
*/} +
+
+
+
{item?.status}
+
+
-
- Jese -
-
{item?.product_id || ''}
- {/*
{item?.description}
*/} -
-
-
-
-
{formatNumber(item?.interest_rate)}
-
-
-
-
{formatNumber(item?.insurance_rate)}
-
-
-
-
{formatNumber(item?.management_rate)}
-
-
-
-
{formatNumber(item?.maximum_amount)}
-
{formatNumber(item?.minimum_amount)}
-
-
-
-
{item?.tenor}
-
-
-
-
- -
-
-
-
- No Record Found -
-
- - )} -
+ )) + : +
+
+ No Record Found +
+
+ + )} +
+ }
diff --git a/src/components/tableWrapper/TablePaginatedWrapper.jsx b/src/components/tableWrapper/TablePaginatedWrapper.jsx index 2e7f299..a160b15 100644 --- a/src/components/tableWrapper/TablePaginatedWrapper.jsx +++ b/src/components/tableWrapper/TablePaginatedWrapper.jsx @@ -27,7 +27,7 @@ export default function TablePaginatedWrapper({
Showing - {isFetching ? '----' : `page ${pagination?.current_page}`} of {pagination?.total_pages} + {isFetching ? '----' : `page ${pagination?.current_page || 0}`} of {isFetching ? '----' : pagination?.total_pages || 0}
{ + setFilter(prev => ({...prev, [name]:value})) + } + + const handleFilterByParams = () => { + if(filter.type && !filter.id){ + return + }else if(!filter.type){ + setPage(1) + setWillFilter(prev => !prev) + setFilter({type: '', id: ''}) + }else{ + setPage(1) + setWillFilter(prev => !prev) + } + } const {data, isFetching, isError, error} = useQuery({ - queryKey: [...queryKeys.offers, page], - queryFn: () => getOffers({page}), - staleTime: 0, - // placeholderData: keepPreviousData, + queryKey: [...queryKeys.users_admin, page, willFilter], + queryFn: () => { + const filterData = filter?.type ? {[filter?.type]: filter.id} : {} + const reqData = { + page, + ...filterData + } + return getUsers(reqData) + }, + staleTime: 0 //0 mins }) - - const offers = data?.data?.offers // LOAN CHARGES LIST + const usersData = data?.data?.payments // BILLINGS LIST const pagination = data?.data?.pagination - console.log('offers', offers) + // console.log('DATA', data?.data) return (
- {isFetching ? - <> -

Loading...

- - : isError ? -

{error.message}

- : - - {({ data }) => ( - <> - - - - - - - - - - - - - - {(data && data.length > 0) ? data?.map((item, index) => ( - - - - - - - - - - )) - : - - + + + + + + + + )) + : + + + + } + +
- Name - - Interest Rate - - Insurance Rate - - Mgt. Rate - - Max/Min Amount - - Tenor - - Action -
-
- Jese -
-
{item?.product_id || ''}
- {/*
{item?.description}
*/} -
-
-
-
-
{formatNumber(item?.interest_rate)}
-
-
-
-
{formatNumber(item?.insurance_rate)}
-
-
-
-
{formatNumber(item?.management_rate)}
-
-
-
-
{formatNumber(item?.maximum_amount)}
-
{formatNumber(item?.minimum_amount)}
-
-
-
-
{item?.tenor}
-
-
-
-
- -
-
-
-
- No Record Found + { isError ? +

{error?.message}

+ : + <> + {/* filter section */} +
+ +
+ +
+
+ +
+ +
+ {/* end of filter section */} + + + {({ data }) => ( + <> + + + + + + + + + + + + + + {(data && data.length > 0) ? data?.map((item, index) => ( + + - - } - -
+ Name + + Interest Rate + + Insurance Rate + + Mgt. Rate + + Max/Min Amount + + Tenor + + Action +
+
+ {/* Jese */} +
+
{item?.product_id || ''}
+ {/*
{item?.description}
*/}
-
- - )} -
+
+
+
+
{formatNumber(item?.interest_rate)}
+
+
+
+
{formatNumber(item?.insurance_rate)}
+
+
+
+
{formatNumber(item?.management_rate)}
+
+
+
+
{formatNumber(item?.maximum_amount)}
+
{formatNumber(item?.minimum_amount)}
+
+
+
+
{item?.tenor}
+
+
+
+
+ +
+
+
+
+ No Record Found +
+
+ + )} +
+ }
diff --git a/src/pages/OffersPage.jsx b/src/pages/OffersPage.jsx deleted file mode 100644 index 4e874ae..0000000 --- a/src/pages/OffersPage.jsx +++ /dev/null @@ -1,8 +0,0 @@ -import React from 'react' -import OffersCom from '../components/offers/OffersCom' - -export default function OffersPage() { - return ( - - ) -} diff --git a/src/pages/ProductsPage.jsx b/src/pages/ProductsPage.jsx new file mode 100644 index 0000000..72cb6e9 --- /dev/null +++ b/src/pages/ProductsPage.jsx @@ -0,0 +1,8 @@ +import React from 'react' +import ProductsCom from '../components/products/ProductsCom' + +export default function ProductsPage() { + return ( + + ) +} diff --git a/src/services/queryKeys.js b/src/services/queryKeys.js index b058edc..eeeaa17 100644 --- a/src/services/queryKeys.js +++ b/src/services/queryKeys.js @@ -14,6 +14,10 @@ const queryKeys = { // new subscriptions: ['subscriptions'], billings: ['billings'], + right_sidebar: ['right_sidebar'], + recent_signup: ['recent_signup'], + products: ['products'], + users_admin: ['users_admin'], } export default queryKeys \ No newline at end of file diff --git a/src/services/siteServices.js b/src/services/siteServices.js index d716371..1198577 100644 --- a/src/services/siteServices.js +++ b/src/services/siteServices.js @@ -74,6 +74,30 @@ export const getSubscriptions = (reqData) => { return getAuxEnd(`/subcriptions`, postData) } +// FUNCTION TO GET RIGHT SIDEBAR DATA +export const getRightSidebar = (reqData) => { + const postData = { ...reqData } + return getAuxEnd(`/right-sidebar`, postData) +} + +// FUNCTION TO GET RECENT SIGNUP DATA +export const getRecentSignup = (reqData) => { + const postData = { ...reqData } + return getAuxEnd(`/recent-signup`, postData) +} + +// FUNCTION TO GET PRODUCTS DATA +export const getProducts = (reqData) => { + const postData = { ...reqData } + return getAuxEnd(`/products`, postData) +} + +// FUNCTION TO GET USERS DATA +export const getUsers = (reqData) => { + const postData = { ...reqData } + return getAuxEnd(`/users`, postData) +} + -- 2.34.1