feat: 支持审计日志,操作日志

This commit is contained in:
xiaojunnuo
2026-07-12 02:29:54 +08:00
parent 4250d0e266
commit f2855d6dac
83 changed files with 1252 additions and 1341 deletions
@@ -1,7 +1,7 @@
import { ALL, Body, Controller, Inject, Post, Provide, Query } from "@midwayjs/core";
import { CrudController } from "@certd/lib-server";
import { RoleService } from "../../../modules/sys/authority/service/role-service.js";
import { AuditType, AuditAction } from "../../modules/sys/enterprise/service/audit-constants.js";
import { AuditType } from "../../../modules/sys/enterprise/service/audit-constants.js";
/**
* 系统用户
@@ -16,6 +16,10 @@ export class RoleController extends CrudController<RoleService> {
return this.service;
}
getAuditType(): string {
return AuditType.role;
}
@Post("/page", { description: "sys:auth:role:view" })
async page(
@Body(ALL)
@@ -30,34 +34,30 @@ export class RoleController extends CrudController<RoleService> {
return this.ok(ret);
}
@Post("/add", { description: "sys:auth:role:add" })
@Post("/add", { description: "sys:auth:role:add", summary: "新增角色" })
async add(
@Body(ALL)
bean
) {
const res = await super.add(bean);
await this.auditLog({
type: AuditType.role,
action: AuditAction.add,
content: `新增了角色「${bean.name}」(ID:${res.data})`,
});
return res;
}
@Post("/update", { description: "sys:auth:role:edit" })
@Post("/update", { description: "sys:auth:role:edit", summary: "修改角色" })
async update(
@Body(ALL)
bean
) {
const res = await super.update(bean);
await this.auditLog({
type: AuditType.role,
action: AuditAction.update,
content: `修改了角色「${bean.name}」(ID:${bean.id})`,
});
return res;
}
@Post("/delete", { description: "sys:auth:role:remove" })
@Post("/delete", { description: "sys:auth:role:remove", summary: "删除角色" })
async delete(
@Query("id")
id: number
@@ -67,8 +67,6 @@ export class RoleController extends CrudController<RoleService> {
}
const res = await super.delete(id);
await this.auditLog({
type: AuditType.role,
action: AuditAction.delete,
content: `删除了角色(ID:${id})`,
});
return res;
@@ -97,9 +95,10 @@ export class RoleController extends CrudController<RoleService> {
* @param roleId
* @param permissionIds
*/
@Post("/authz", { description: "sys:auth:role:edit" })
@Post("/authz", { description: "sys:auth:role:edit", summary: "角色授权" })
async authz(@Body("roleId") roleId, @Body("permissionIds") permissionIds) {
await this.service.authz(roleId, permissionIds);
await this.auditLog({ content: `为角色(ID:${roleId})进行了授权` });
return this.ok(null);
}
}