donetick/internal/circle/model/model.go

36 lines
1.5 KiB
Go
Raw Normal View History

2024-07-01 02:41:41 +01:00
package circle
import "time"
type Circle struct {
ID int `json:"id" gorm:"primary_key"` // Unique identifier
Name string `json:"name" gorm:"column:name"` // Full name
CreatedBy int `json:"created_by" gorm:"column:created_by"` // Created by
CreatedAt time.Time `json:"created_at" gorm:"column:created_at"` // Created at
UpdatedAt time.Time `json:"updated_at" gorm:"column:updated_at"` // Updated at
InviteCode string `json:"invite_code" gorm:"column:invite_code"` // Invite code
Disabled bool `json:"disabled" gorm:"column:disabled"` // Disabled
}
type CircleDetail struct {
Circle
UserRole string `json:"userRole" gorm:"column:role"`
}
type UserCircle struct {
ID int `json:"id" gorm:"primary_key"` // Unique identifier
UserID int `json:"userId" gorm:"column:user_id"` // User ID
CircleID int `json:"circleId" gorm:"column:circle_id"` // Circle ID
Role string `json:"role" gorm:"column:role"` // Role
IsActive bool `json:"isActive" gorm:"column:is_active;default:false"`
CreatedAt time.Time `json:"createdAt" gorm:"column:created_at"` // Created at
UpdatedAt time.Time `json:"updatedAt" gorm:"column:updated_at"` // Updated at
}
type UserCircleDetail struct {
UserCircle
Username string `json:"username" gorm:"column:username"`
DisplayName string `json:"displayName" gorm:"column:display_name"`
ChatID int `json:"chatID" gorm:"column:chat_id"`
}