36 lines
1.5 KiB
Go
36 lines
1.5 KiB
Go
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"`
|
|
}
|