mirror of
https://github.com/strapi/strapi.git
synced 2025-12-27 15:13:21 +00:00
Find one auditlog endpoint and remove payload from findMany endpoint
This commit is contained in:
parent
a32ddfe058
commit
a60014d949
@ -3,7 +3,7 @@
|
||||
const { validateFindMany } = require('../validation/audit-logs');
|
||||
|
||||
module.exports = {
|
||||
async getAuditLogs(ctx) {
|
||||
async findMany(ctx) {
|
||||
const { query } = ctx.request;
|
||||
await validateFindMany(query);
|
||||
|
||||
@ -12,4 +12,13 @@ module.exports = {
|
||||
|
||||
ctx.body = body;
|
||||
},
|
||||
|
||||
async findOne(ctx) {
|
||||
const { id } = ctx.params;
|
||||
|
||||
const auditLogs = strapi.container.get('audit-logs');
|
||||
const body = await auditLogs.findOne(id);
|
||||
|
||||
ctx.body = body;
|
||||
},
|
||||
};
|
||||
|
||||
@ -47,7 +47,16 @@ module.exports = {
|
||||
{
|
||||
method: 'GET',
|
||||
path: '/audit-logs',
|
||||
handler: 'auditLogs.getAuditLogs',
|
||||
handler: 'auditLogs.findMany',
|
||||
config: {
|
||||
// @TODO: Check to right permissions
|
||||
policies: ['admin::isAuthenticatedAdmin'],
|
||||
},
|
||||
},
|
||||
{
|
||||
method: 'GET',
|
||||
path: '/audit-logs/:id',
|
||||
handler: 'auditLogs.findOne',
|
||||
config: {
|
||||
// @TODO: Check to right permissions
|
||||
policies: ['admin::isAuthenticatedAdmin'],
|
||||
|
||||
@ -45,6 +45,7 @@ describe('Audit logs service', () => {
|
||||
const mockAddContentType = jest.fn();
|
||||
const mockEntityServiceCreate = jest.fn();
|
||||
const mockEntityServiceFindPage = jest.fn();
|
||||
const mockEntityServiceFindOne = jest.fn();
|
||||
const mockGet = jest.fn((name) => {
|
||||
if (name === 'content-types') {
|
||||
return {
|
||||
@ -68,6 +69,7 @@ describe('Audit logs service', () => {
|
||||
entityService: {
|
||||
create: mockEntityServiceCreate,
|
||||
findPage: mockEntityServiceFindPage,
|
||||
findOne: mockEntityServiceFindOne,
|
||||
},
|
||||
eventHub: createEventHub(),
|
||||
requestContext: {
|
||||
@ -164,12 +166,33 @@ describe('Audit logs service', () => {
|
||||
|
||||
await strapi.eventHub.emit('entry.create', { meta: 'test' });
|
||||
|
||||
const params = { page: 1, pageSize: 10, order: 'createdAt:DESC', populate: ['user'] };
|
||||
const params = { page: 1, pageSize: 10, order: 'createdAt:DESC' };
|
||||
const result = await auditLogsService.findMany(params);
|
||||
|
||||
expect(mockEntityServiceFindPage).toHaveBeenCalledTimes(1);
|
||||
expect(mockEntityServiceFindPage).toHaveBeenCalledWith('admin::audit-log', params);
|
||||
expect(mockEntityServiceFindPage).toHaveBeenCalledWith('admin::audit-log', {
|
||||
...params,
|
||||
populate: ['user'],
|
||||
fields: ['action', 'date'],
|
||||
});
|
||||
expect(result).toEqual({ results: [], pagination: {} });
|
||||
});
|
||||
|
||||
it('should find one audit log with the right params', async () => {
|
||||
const auditLogsService = createAuditLogsService(strapi);
|
||||
await auditLogsService.register();
|
||||
mockEntityServiceFindOne.mockResolvedValueOnce({ id: 1 });
|
||||
|
||||
await strapi.eventHub.emit('entry.create', { meta: 'test' });
|
||||
|
||||
const result = await auditLogsService.findOne(1);
|
||||
|
||||
expect(mockEntityServiceFindOne).toHaveBeenCalledTimes(1);
|
||||
expect(mockEntityServiceFindOne).toHaveBeenCalledWith('admin::audit-log', 1, {
|
||||
populate: ['user'],
|
||||
fields: ['action', 'date', 'payload'],
|
||||
});
|
||||
expect(result).toEqual({ id: 1, user: null });
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -93,6 +93,20 @@ const createAuditLogsService = (strapi) => {
|
||||
};
|
||||
},
|
||||
|
||||
async findOne(id) {
|
||||
const result = await this._provider.findOne(id);
|
||||
|
||||
if (!result) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const { user, ...rest } = result;
|
||||
return {
|
||||
...rest,
|
||||
user: user ? getService('user').sanitizeUser(user) : null,
|
||||
};
|
||||
},
|
||||
|
||||
unsubscribe() {
|
||||
if (this._eventHubUnsubscribe) {
|
||||
this._eventHubUnsubscribe();
|
||||
|
||||
@ -22,9 +22,17 @@ const provider = {
|
||||
findMany(query) {
|
||||
return strapi.entityService.findPage('admin::audit-log', {
|
||||
populate: ['user'],
|
||||
fields: ['action', 'date'],
|
||||
...query,
|
||||
});
|
||||
},
|
||||
|
||||
findOne(id) {
|
||||
return strapi.entityService.findOne('admin::audit-log', id, {
|
||||
populate: ['user'],
|
||||
fields: ['action', 'date', 'payload'],
|
||||
});
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user