2024-06-30 21:41:41 -04:00
|
|
|
package circle
|
|
|
|
|
2024-12-14 02:15:51 -05:00
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
|
|
|
nModel "donetick.com/core/internal/notifier/model"
|
|
|
|
)
|
2024-06-30 21:41:41 -04:00
|
|
|
|
|
|
|
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
|
2024-12-14 02:54:25 -05:00
|
|
|
Username string `json:"-" gorm:"column:username"`
|
2024-12-14 02:15:51 -05:00
|
|
|
DisplayName string `json:"displayName" gorm:"column:display_name"`
|
|
|
|
NotificationType nModel.NotificationType `json:"-" gorm:"column:notification_type"`
|
|
|
|
TargetID string `json:"-" gorm:"column:target_id"` // Target ID
|
2024-06-30 21:41:41 -04:00
|
|
|
}
|