2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-04 14:57:16 +08:00
Files
panel/internal/biz/webhook.go
Copilot f2e41a3364 feat: 添加操作日志记录功能和前端日志查看页面 (#1227)
* Initial plan

* feat: 添加操作日志记录功能和前端日志查看页面

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* fix: 修复 HttpLog 中 IP 字符串处理的类型安全问题

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* fix: lint

* feat: 完善面板内日志记录,添加网站/数据库/项目/计划任务/备份CRUD日志

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* feat: 完善更多模块的日志记录(证书/SSH/Webhook/用户/设置/安全)

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* fix: 改进cert_dns删除方法,在删除前获取实体信息用于日志记录

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* fix: lint

* feat: 从session获取操作员ID并在前端显示用户名

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* fix: lint

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>
Co-authored-by: 耗子 <haozi@loli.email>
2026-01-12 23:31:22 +08:00

33 lines
1.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package biz
import (
"context"
"time"
"github.com/acepanel/panel/internal/http/request"
)
type WebHook struct {
ID uint `gorm:"primaryKey" json:"id"`
Name string `gorm:"not null;default:''" json:"name"` // 钩子名称
Key string `gorm:"not null;uniqueIndex" json:"key"` // 唯一标识(用于 URL
Script string `gorm:"not null;default:''" json:"script"` // 脚本内容
Raw bool `gorm:"not null;default:false" json:"raw"` // 是否以原始格式返回输出
User string `gorm:"not null;default:''" json:"user"` // 以哪个用户身份执行脚本
Status bool `gorm:"not null;default:true" json:"status"` // 启用状态
CallCount uint `gorm:"not null;default:0" json:"call_count"` // 调用次数
LastCallAt time.Time `json:"last_call_at"` // 上次调用时间
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type WebHookRepo interface {
List(page, limit uint) ([]*WebHook, int64, error)
Get(id uint) (*WebHook, error)
GetByKey(key string) (*WebHook, error)
Create(ctx context.Context, req *request.WebHookCreate) (*WebHook, error)
Update(ctx context.Context, req *request.WebHookUpdate) error
Delete(ctx context.Context, id uint) error
Call(key string) (string, error)
}