🚧 Refactor backup service

This commit is contained in:
2025-12-14 23:48:52 +08:00
parent cc4c2189dc
commit 67d35626cb
47 changed files with 2184 additions and 489 deletions

View File

@@ -0,0 +1,36 @@
package mixin
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
"entgo.io/ent/schema/index"
"entgo.io/ent/schema/mixin"
"github.com/google/uuid"
)
// UUIDMixin 添加 UUID 字段用于跨设备同步
// 使用 UUIDv7具有时间有序性索引性能更好
type UUIDMixin struct {
mixin.Schema
}
// Fields of the UUIDMixin.
func (UUIDMixin) Fields() []ent.Field {
return []ent.Field{
field.String("uuid").
DefaultFunc(func() string {
return uuid.Must(uuid.NewV7()).String()
}).
Unique().
Immutable().
StructTag(`json:"uuid"`).
Comment("UUID for cross-device sync (UUIDv7)"),
}
}
// Indexes of the UUIDMixin.
func (UUIDMixin) Indexes() []ent.Index {
return []ent.Index{
index.Fields("uuid"),
}
}