package cn.nianxx.thhotel.platform.audit.common.result;

import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;

/**
 * 管理后台审计记录结果。
 */
public record AdminAuditLogResult(
        /** 管理审计内部 ID 字符串。 */
        String id,
        /** 操作用户内部 ID 字符串。 */
        @JsonProperty("actor_user_id")
        String actorUserId,
        /** 操作用户登录名摘要。 */
        @JsonProperty("actor_username")
        String actorUsername,
        /** 操作用户展示名摘要。 */
        @JsonProperty("actor_display_name")
        String actorDisplayName,
        /** 操作对象类型。 */
        @JsonProperty("target_type")
        String targetType,
        /** 操作对象稳定 ID。 */
        @JsonProperty("target_id")
        String targetId,
        /** 操作类型。 */
        String action,
        /** 变更前摘要 JSON。 */
        @JsonProperty("before_snapshot_json")
        String beforeSnapshotJson,
        /** 变更后摘要 JSON。 */
        @JsonProperty("after_snapshot_json")
        String afterSnapshotJson,
        /** 操作发生 UTC 时间。 */
        @JsonProperty("occurred_at")
        OffsetDateTime occurredAt
) {
}
