0.0.2 • Published 2 years ago

@cme-pro/mongoose-audit v0.0.2

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

npm node downloads

mongoose-audit

Mongoose plugin to store audit information like userAgent, ip, country, etc...

This plugin simply adds the following fields:

  • createdBy
  • updatedBy
  • deletedBy
  • createdFrom
  • updatedFrom
  • deletedFrom

Where: 1. createdBy, updatedBy and deletedBy are a user id, 2. createdFrom, updatedFrom and deletedFrom have the following structure:

  • userAgent
  • ip
  • country
  • continent
  • region
  • city
  • zip
  • lat
  • lng
  • tz

Note: deletedBy and deletedFrom are only useful if combined with mongoose-delete plugin.

Installation

$ npm install mongoose-audit --save

Overview

Adding plugin to the schema

BlogPost.plugin(mongooseAudit, { userModel: 'Author' });

Plugin options

  • userModel - optional (default is "User"). The mongoose Model managing users. Used to populate the field).

Usage

On create:

    const post = new BlogPost({});
    post.createdBy = currentUserId;
    post.createdFrom = {{ ip, userAgent, country };
    await post.save();

On update:

    post.set();
    post.updatedBy = currentUserId;
    post.updatedFrom = {{ ip, userAgent, country };
    await post.save();

On delete (only useful if combined with mongoose-delete plugin)

    post.deletedBy = currentUserId;
    post.deletedFrom = {{ ip, userAgent, country };
    await post.save();
    await post.delete();
0.0.2

2 years ago

0.0.1

5 years ago

0.0.0

5 years ago