1.0.3 • Published 2 years ago

belrald-audit-logs v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@belraldhq/audit-logs

Track and Record API Request and Response Logs

GitHub GitHub release (latest by date) npm

Table of Contents

Installation

Install the package using npm:

npm install belrald-audit-logs
yarn add belrald-audit-logs

Usage

getUserIpAddress

Function to get the user's IP address from the ipify API.

import { getUserIpAddress } from "belrald-audit-logs";

async function main() {
  try {
    const userIp = await getUserIpAddress();
    console.log("User IP Address:", userIp);
  } catch (error) {
    console.error("Error:", error);
  }
}

main();

createS3Client

Function to initialize an AWS S3 client.

import { createS3Client } from "belrald-audit-logs";

const config = {
  accessKeyId: "YOUR_ACCESS_KEY_ID",
  secretAccessKey: "YOUR_SECRET_ACCESS_KEY",
  region: "YOUR_REGION",
};

const s3Client = createS3Client(config);

logUserActivity

Middleware for logging user actions and uploading logs to an S3 bucket.

import express from "express";
import { logUserActivity, createS3Client } from "belrald-audit-logs";

const app = express();

const awsConfig = {
  accessKeyId: "YOUR_ACCESS_KEY_ID",
  secretAccessKey: "YOUR_SECRET_ACCESS_KEY",
  region: "YOUR_REGION",
  bucket: "YOUR_BUCKET_NAME",
};

app.use(function (req: Request, res: Response, next: NextFunction) { logUserActivity(req, res, next, config, bucket) });

fetchLogsForOrganization

Function to fetch logs for a specific organization from an S3 bucket.

import { fetchLogsForOrganization, createS3Client } from "belrald-audit-logs";

const s3Client = createS3Client({
  accessKeyId: "YOUR_ACCESS_KEY_ID",
  secretAccessKey: "YOUR_SECRET_ACCESS_KEY",
  region: "YOUR_REGION",
});

const bucketName = "YOUR_BUCKET_NAME";

async function main() {
  const logs = await fetchLogsForOrganization(s3Client, bucketName);
  console.log("Organization Logs:", logs);
}

main();

Types

This package provides various TypeScript types for the functions and configurations. You can refer to the Types section in the source code.

Contributing

Contributions are welcome! Please read our Contribution Guidelines for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.