39 lines
950 B
JavaScript
Raw Normal View History

'use strict';
const auditLogContentType = require('./content-types/audit-log');
const provider = {
2022-12-21 12:37:47 +01:00
async register({ strapi }) {
2022-12-20 19:16:22 +01:00
this.strapi = strapi;
strapi.container.get('content-types').add('admin::', { 'audit-log': auditLogContentType });
2022-12-20 19:16:22 +01:00
this._registered = true;
return this;
},
async saveEvent(event) {
if (!this._registered) {
throw Error('Audit log provider has not been registered');
}
// Rewrite userId key to user
const auditLog = { ...event, user: event.userId };
delete auditLog.userId;
await this.strapi.entityService.create('admin::audit-log', { data: auditLog });
return this;
},
2022-12-22 10:44:03 +01:00
async getAll() {
if (!this._registered) {
throw Error('Audit log provider has not been registered');
}
const result = await this.strapi.entityService.findMany('admin::audit-log', {
populate: ['user'],
});
return result;
},
};
module.exports = provider;