37 lines
1.8 KiB
Go
37 lines
1.8 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// ComfyBridge 是用户电脑上本地 Bridge 的持久化身份。Token 只在创建时返回明文,数据库只保存摘要。
|
|
type ComfyBridge struct {
|
|
ID string `json:"id" gorm:"primaryKey;size:64"`
|
|
UserID string `json:"userId" gorm:"index;size:36"`
|
|
Name string `json:"name" gorm:"size:80"`
|
|
TokenHash string `json:"-" gorm:"uniqueIndex;size:128"`
|
|
Enabled bool `json:"enabled" gorm:"index"`
|
|
LastSeenAt *time.Time `json:"lastSeenAt,omitempty"`
|
|
LastTaskAt *time.Time `json:"lastTaskAt,omitempty"`
|
|
CapabilitiesJSON string `json:"-" gorm:"type:text"`
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
}
|
|
|
|
// ComfyBridgeRequest 是云端任务与本地 Bridge 之间的持久化交接记录。
|
|
// Payload 和 Result 只保存工作流执行协议,不包含 Bridge Token。
|
|
type ComfyBridgeRequest struct {
|
|
ID string `json:"id" gorm:"primaryKey;size:64"`
|
|
TaskID string `json:"taskId" gorm:"index;size:64"`
|
|
UserID string `json:"userId" gorm:"index;size:36"`
|
|
BridgeID string `json:"bridgeId" gorm:"index:idx_comfy_bridge_request_queue,priority:1;size:64"`
|
|
Kind string `json:"kind" gorm:"size:32"`
|
|
Status string `json:"status" gorm:"index:idx_comfy_bridge_request_queue,priority:2;size:24"`
|
|
PayloadJSON string `json:"-" gorm:"type:text"`
|
|
ResultJSON string `json:"-" gorm:"type:text"`
|
|
Error string `json:"error,omitempty" gorm:"type:text"`
|
|
ClaimedAt *time.Time `json:"claimedAt,omitempty"`
|
|
CompletedAt *time.Time `json:"completedAt,omitempty"`
|
|
ExpiresAt time.Time `json:"expiresAt" gorm:"index"`
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
}
|