Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Iskuchekov <egregors@pm.me>2025-09-16 10:24:32 +0300
committerGitHub <noreply@github.com>2025-09-16 10:24:32 +0300
commit9623e875113adad1fcbae7370e043db040462f2a (patch)
tree925a7b445bfb7bd41b4bdec665d5c75353dafcfa /database/model/model.go
parentbc0518391ef06d3d6b9f826085b73d1f1e35c913 (diff)
feat: Simple periodic traffic reset (for Inbounds) – daily | weekly | monthly (#3407)
* Add periodic traffic reset feature model and ui with localization support * Remove periodic traffic reset fields from client * fix: add periodicTrafficReset field to inbound data structure * feat: implement periodic traffic reset job and integrate with cron scheduler * feat: enhance periodic traffic reset functionality with scheduling and inbound filtering * refactor: rename periodicTrafficReset to trafficReset and add lastTrafficResetTime field * feat: add periodic client traffic reset job and schedule tasks * Update web/job/periodic_traffic_reset_job.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update web/job/periodic_client_traffic_reset_job.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update web/service/inbound.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * refactor: rename periodicTrafficReset to trafficReset and add lastTrafficResetTime * feat: add last traffic reset time display and update logic in inbound service * fix: correct log message for completed periodic traffic reset * refactor: update traffic reset fields in Inbound model and remove unused client traffic reset job * refactor: remove unused traffic reset logic and clean up client model fields * cleanup comments * fix
Diffstat (limited to 'database/model/model.go')
-rw-r--r--database/model/model.go22
1 files changed, 12 insertions, 10 deletions
diff --git a/database/model/model.go b/database/model/model.go
index 856f66df..dcb795c7 100644
--- a/database/model/model.go
+++ b/database/model/model.go
@@ -27,16 +27,18 @@ type User struct {
}
type Inbound struct {
- Id int `json:"id" form:"id" gorm:"primaryKey;autoIncrement"`
- UserId int `json:"-"`
- Up int64 `json:"up" form:"up"`
- Down int64 `json:"down" form:"down"`
- Total int64 `json:"total" form:"total"`
- AllTime int64 `json:"allTime" form:"allTime" gorm:"default:0"`
- Remark string `json:"remark" form:"remark"`
- Enable bool `json:"enable" form:"enable"`
- ExpiryTime int64 `json:"expiryTime" form:"expiryTime"`
- ClientStats []xray.ClientTraffic `gorm:"foreignKey:InboundId;references:Id" json:"clientStats" form:"clientStats"`
+ Id int `json:"id" form:"id" gorm:"primaryKey;autoIncrement"`
+ UserId int `json:"-"`
+ Up int64 `json:"up" form:"up"`
+ Down int64 `json:"down" form:"down"`
+ Total int64 `json:"total" form:"total"`
+ AllTime int64 `json:"allTime" form:"allTime" gorm:"default:0"`
+ Remark string `json:"remark" form:"remark"`
+ Enable bool `json:"enable" form:"enable" gorm:"index:idx_enable_traffic_reset,priority:1"`
+ ExpiryTime int64 `json:"expiryTime" form:"expiryTime"`
+ TrafficReset string `json:"trafficReset" form:"trafficReset" gorm:"default:never;index:idx_enable_traffic_reset,priority:2"`
+ LastTrafficResetTime int64 `json:"lastTrafficResetTime" form:"lastTrafficResetTime" gorm:"default:0"`
+ ClientStats []xray.ClientTraffic `gorm:"foreignKey:InboundId;references:Id" json:"clientStats" form:"clientStats"`
// config part
Listen string `json:"listen" form:"listen"`