package adminaudit

import (
	"time"

	"gorm.io/datatypes"
)

type Query struct {
	ActorID  uint64
	Action   string
	BizType  string
	Page     int
	PageSize int
}

type PaginatedResult struct {
	Items    interface{} `json:"items"`
	Total    int64       `json:"total"`
	Page     int         `json:"page"`
	PageSize int         `json:"page_size"`
}

type LogDTO struct {
	ID            uint64         `json:"id"`
	ActorType     string         `json:"actor_type"`
	ActorID       uint64         `json:"actor_id"`
	ActorUsername string         `json:"actor_username"`
	ActorNickname string         `json:"actor_nickname"`
	Action        string         `json:"action"`
	BizType       string         `json:"biz_type"`
	BizID         *uint64        `json:"biz_id"`
	IP            string         `json:"ip"`
	UserAgent     string         `json:"user_agent"`
	Detail        datatypes.JSON `json:"detail"`
	CreatedAt     time.Time      `json:"created_at"`
}
