n-helper
v1.0.5
Published
A package for response helpers
Downloads
19
Readme
Response Helper Library
Response Helper is a Node.js utility library designed to simplify API response handling, file uploads, OTP generation, and input validation. This library provides developers with reusable and standardized methods for creating robust backend applications.
Installation
Install the package via npm:
npm install n-helperTable of Contents
Features
- Standardized Responses: Quickly send success, error, and failure responses in a consistent format.
- File Upload: Upload files to specific directories with unique naming conventions.
- OTP Generation: Generate secure numeric OTPs of any length.
- Unix Timestamps: Retrieve the current timestamp in Unix format.
- Validation Checker: Simplify data validation with structured error messages.
- Dynamic Object Validation: Validate and merge required and optional object fields.
Usage
First, require the package in your application:
const helper = require("n-helper");Methods
1. success(res, message = "", body = {})
Send a success response with a 200 status code.
Parameters:
res(Response): Express response objectmessage(String): Success messagebody(Object): Response data
Returns:
{
success: true,
code: 200,
message: "Success message",
body: {}
}2. error(res, err, req = null)
Send an error response with appropriate status code.
Parameters:
res(Response): Express response objecterr(Error|String): Error object or messagereq(Request): Optional Express request object for redirects
Returns:
{
success: false,
code: 403,
message: "Error message",
body: {}
}3. failed(res, message = "", code)
Send a failed response with a 400 status code.
Parameters:
res(Response): Express response objectmessage(String): Failure messagecode(Status code): Failure Status code
Returns:
{
success: false,
code: 400,
message: "Failure message",
body: {}
}4. unixTimestamp()
Get current Unix timestamp.
Returns:
Number: Current Unix timestamp
5. checkValidation(validator)
Check validation results and format error messages.
Parameters:
validator(Object): Validation object
Returns:
String: Formatted error message or empty string
6. fileUpload(file, folder = "users")
Upload file with unique name to specified directory.
Parameters:
file(File): File object to uploadfolder(String): Target folder name
Returns:
{
fileName: "generated_unique_name.ext",
uploadPath: "/path/to/file"
}7. genOtp(length = 6)
Generate numeric OTP of specified length.
Parameters:
length(Number): Length of OTP (default: 6)
Returns:
Number: Generated OTP
8. validObjectApi(required, nonRequired, res)
Validate and merge required and optional fields.
Parameters:
required(Object): Required fieldsnonRequired(Object): Optional fieldsres(Response): Express response object
Returns:
Object: Merged and validated object
Examples
Basic Response Usage
const helper = require("n-helper");
app.get("/api/users", async (req, res) => {
try {
const users = await User.find();
return helper.success(res, "Users retrieved successfully", users);
} catch (err) {
return helper.error(res, err);
}
});File Upload Example
app.post("/api/upload", async (req, res) => {
try {
const { fileName } = await helper.fileUpload(req.files.image, "profiles");
return helper.success(res, "File uploaded successfully", { fileName });
} catch (err) {
return helper.error(res, err);
}
});Object Validation Example
app.post("/api/user", async (req, res) => {
const required = {
username: req.body.username,
email: req.body.email,
};
const optional = {
phone: req.body.phone,
};
const validData = await helper.validObjectApi(required, optional, res);
// Process validData...
});Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
