mirror of
https://github.com/strapi/strapi.git
synced 2025-09-16 12:02:41 +00:00
40 lines
973 B
JavaScript
40 lines
973 B
JavaScript
'use strict';
|
|
|
|
const auditLogContentType = require('./content-types/audit-log');
|
|
|
|
const provider = {
|
|
async register({ strapi }) {
|
|
this.strapi = strapi;
|
|
strapi.container.get('content-types').add('admin::', { 'audit-log': auditLogContentType });
|
|
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;
|
|
},
|
|
|
|
async findMany(query) {
|
|
if (!this._registered) {
|
|
throw Error('Audit log provider has not been registered');
|
|
}
|
|
|
|
const result = await this.strapi.entityService.findPage('admin::audit-log', {
|
|
populate: ['user'],
|
|
...query,
|
|
});
|
|
return result;
|
|
},
|
|
};
|
|
|
|
module.exports = provider;
|