# @digigov-oss/gsis-audit-record-db

> JSON file storage database for use with audit mechanism of GSIS

Latest version **1.3.1** (published 2022-02-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install @digigov-oss/gsis-audit-record-db
pnpm add @digigov-oss/gsis-audit-record-db
yarn add @digigov-oss/gsis-audit-record-db
bun add @digigov-oss/gsis-audit-record-db
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.3.1 |
| Published | 2022-02-17 |
| First published | 2022-01-07 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=16.13.1 |
| Dependencies | 0 |
| Unpacked size | 64.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Panagiotis Skarvelis |
| Maintainers | dmichail, pskarvelis |
| Keywords | gsis, audit, auditRecord |

## Links

- npm: https://www.npmjs.com/package/@digigov-oss/gsis-audit-record-db
- Repository: https://gitlab.grnet.gr/digigov-oss/auditRecordDB
- Homepage: https://gitlab.grnet.gr/digigov-oss/auditRecordDB/-/blob/main/README.md
- Issues: https://gitlab.grnet.gr/digigov-oss/auditRecordDB/-/issues
- npm.io page: https://npm.io/package/@digigov-oss/gsis-audit-record-db

## Recent versions

- 1.3.1 (latest) — 2022-02-17
- 1.3.0 — 2022-02-17
- 1.2.0 — 2022-02-16
- 1.1.4 — 2022-02-10
- 1.1.3 — 2022-02-10
- 1.1.2 — 2022-02-10
- 1.1.1 — 2022-02-10
- 1.1.0 — 2022-02-10
- 1.0.9 — 2022-02-09
- 1.0.8 — 2022-02-09
- 1.0.7 — 2022-02-09
- 1.0.6 — 2022-02-09
- 1.0.5 — 2022-02-09
- 1.0.4 — 2022-02-09
- 1.0.3 — 2022-02-09
- … 2 more at https://npm.io/package/@digigov-oss/gsis-audit-record-db/versions

## README

# AuditRecordDB
According to Common Guide for Client Applications of GSIS, (https://www.gsis.gr/dimosia-dioikisi/ked/koinos-odigos)
all online services are required to have the addition of tracking data (auditRecord) when calling them. 

This module implements a JSON file storage database for use with the audit mechanism of GSIS. It follows the interoperability_specsv1.4 and simplifies the integration with Nextjs/Nodejs projects. 

It also provides a way for automating protocol numbers and transactions Id's, if your app does not provide them.

# Usage
```
import auditRecordDB from 'AuditRecordDB';

const main = () =>{
   //returns generated AuditRecord, that record stored by default in `/tmp` folder using `FileEngine` SOULD change this for production
   console.log(auditRecordDB({auditUnit:'DigiGov'}))
   /*
   {
    auditUnit: 'DigiGov',
    auditTransactionId: '1',
    auditProtocol: '1/2022-01-01',
    auditTransactionDate: '2022-01-01T00:00:01Z',
    auditUserIp: '127.0.0.1',
    auditUserId: 'system'
   }
   */
}

```

```
//you can change the FileEngine storage path
import auditRecordDB,{FileEngine} from 'AuditRecordDB';
const main = () =>{
console.log(auditRecordDB({},new FileEngine('/tmp/auditRecords')))
}
```

```
//you can change the protocol reset sequence type
import auditRecordDB,{FileEngine} from 'AuditRecordDB';
const main = () =>{
console.log(auditRecordDB({},new FileEngine(undefined, 'daily')))
}
```

# AuditEngine
By default, the file storage engine `FileEngine` is used. 
Please keep in mind to change the storage path to app needs. 
`FileEngine` is a simple file storage engine, that stores the audit records in a file, also it is possible to use other storage engines.

Your app can also use `PostgreSqlEngine` provided from `@digigov-oss/auditrecord-postgresql-engine` module.

If you do not provide protocol numbers, the module will generate them for you. You can pass at the engine the type of protocol number reset you want to use from one of the following:
"daily", "monthly", "yearly". By default, innumerable protocol numbers are generated.


Look at `FileEngine.ts` here and `PostgreSqlEngine.ts` of the above module for examples to extend the store to another 'real' database.

---
_Source: https://npm.io/package/@digigov-oss/gsis-audit-record-db · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
