philippgrashoff/auditforatk

本包最新版本(5.0.1)没有可用的许可信息。

5.0.1 2023-10-05 15:23 UTC

This package is auto-updated.

Last update: 2024-09-05 17:22:01 UTC


README

codecov

这是一个为 atk4/data 扩展。它用于创建对模型和其他操作的更改的可读审计。它并不旨在添加撤销更改的功能。

最终的审计外观取决于你 - 你可以自己实现渲染。一个 Country 模型的审计示例可能如下所示

2023-04-17
14:34 Some User       created this Country.
14:34 Some User       set "name" to "Germny".
14:34 Some User       set "iso country code" to "GER".
15:17 Another User    changed "name" to "Germany".

2023-04-21
13:13 YetAnotherUser  set "contitent" to "America".
15:19 Another User    changed "continent" to "Europe".
15:19 Another User    enabled periodic info emails for this country.

在此示例中,最后一条记录不是关于字段更改,而是审计了一个自定义操作。

内容

  • Audit:此类保存审计条目的所有数据。为了高效的读取/显示,只需要 created_dateuser_namerendered_message 字段。然而,每个审计对象还存储了重新渲染审计消息所需的所有信息,例如,如果期望的输出格式已更改,更新了一个 hasOne 关系的标题或用于翻译。
  • AuditTrait:此特质被添加到任何需要被审计的模型。它设置了创建、任何字段更改和删除时创建审计所需的所有钩子。对于每个模型,可以排除某些字段不被审计。
  • AuditController:包含创建审计的所有逻辑。如果你想要其他类型的审计而不是简单的字段审计,你需要扩展此类以适应你的需求。
  • MessageRenderer:与 AuditController 高度耦合。它负责为每个审计生成可读的消息。你可以扩展此类以获得不同的输出格式,例如,在渲染消息中包含渲染的 HTML。结果保存在 Auditrendered_message 字段中。