diff --git a/package-lock.json b/package-lock.json index d13869e..0064528 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "outers", - "version": "8.3.0", + "version": "8.3.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "outers", - "version": "8.3.0", + "version": "8.3.1", "license": "MIT", "dependencies": { "crypto-js": "^4.2.0", diff --git a/package.json b/package.json index 06a99e0..a6ed2ed 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "outers", - "version": "8.3.0", + "version": "8.3.1", "description": "outers - a all in one package for your day to day use", "main": "./lib/Config/outer.js", "types": "./lib/Config/outer.d.ts", diff --git a/source/Config/outer.ts b/source/Config/outer.ts index 6e80784..f905049 100644 --- a/source/Config/outer.ts +++ b/source/Config/outer.ts @@ -75,6 +75,7 @@ import RequestCounter from "../Middlewares/User Counter/Base.middleware"; // Imp // Import Functions Related Modules import IPChecker from "../Functions/IP Type Checker.function"; // Import IP Type Checker Module import getIPDetails from "../Functions/Get IP Details.function"; // Import Get IP Details Module +import ReadRequestCount from "../Functions/Read Request Count"; // Import Read Request Count Module // Export Console Color Related Modules export const Console = Object.freeze({ @@ -154,4 +155,5 @@ export const FunctionBased = Object.freeze({ PUT: PutFetch, // Export Put Fetch Module DELETE: DeleteFetch, // Export Delete }, + ReadRequestCount, // Export Read Request Count Module }); // Export diff --git a/source/Functions/Read Request Count.ts b/source/Functions/Read Request Count.ts new file mode 100644 index 0000000..1700008 --- /dev/null +++ b/source/Functions/Read Request Count.ts @@ -0,0 +1,36 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { StorageInstance } from "../Middlewares/User Counter/Base.middleware"; // Import The Storage for Read Request Count + +// Interface for Read Request Count +interface ReturnData { + status: number; + message: string; + Data: any[]; + TotalData: number; +} + +// Main Function +/** + * Retrieves the request count from the storage. + * If a RequestDate is provided, retrieves the request count for that specific date. + * If no RequestDate is provided, retrieves the overall request count. + * @param {string} RequestDate - The date for which to retrieve the request count. If not provided, retrieves the overall request count. + * @param {string} RequestDate - The Date Must Be M/D/YYYY format. like : 3/8/2024 + * @returns {Promise} - A promise that resolves to the request count. + * @throws {Error} - If unable to read the request count from the storage. + */ +export default async function (RequestDate: string): Promise { + try { + if ( + RequestDate === undefined || + RequestDate === null || + RequestDate === "" + ) { + return await StorageInstance.Get(); // Get All Data in Storage File + } else { + return await StorageInstance.Get(RequestDate); + } + } catch (error) { + throw new Error("Unable to read the request count from the storage."); + } +}