package dto // JSON:API Audit DTOs type AuditLogAttributes struct { RequestID string `json:"request_id,omitempty" example:"req-12345"` ActorUserID string `json:"actor_user_id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"` Layer string `json:"layer" example:"api"` Module string `json:"module" example:"reserve_ac"` Action string `json:"action" example:"http.request"` Method string `json:"method,omitempty" example:"GET"` Path string `json:"path,omitempty" example:"/api/v1/users/get-all"` StatusCode int `json:"status_code,omitempty" example:"200"` Success bool `json:"success" example:"true"` IP string `json:"ip,omitempty" example:"127.0.0.1"` UserAgent string `json:"user_agent,omitempty" example:"Mozilla/5.0"` Message string `json:"message,omitempty" example:"HTTP 200"` Metadata interface{} `json:"metadata,omitempty"` CreatedAt string `json:"created_at,omitempty" example:"2026-03-11T12:00:00Z"` } type AuditLogResource struct { Type string `json:"type" example:"audit_log"` ID string `json:"id" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"` Attributes AuditLogAttributes `json:"attributes"` } type AuditLogListResponse struct { Data []AuditLogResource `json:"data"` Meta struct { PageNumber int `json:"page_number" example:"1"` PageSize int `json:"page_size" example:"20"` Total int64 `json:"total" example:"120"` } `json:"meta"` }