package domain import "time" const ( UserProjectionNameKratos = "kratos_users" UserProjectionStatusSyncing = "syncing" UserProjectionStatusReady = "ready" UserProjectionStatusFailed = "failed" ) type UserProjectionState struct { Name string `gorm:"primaryKey;column:name" json:"name"` Status string `gorm:"column:status;not null" json:"status"` LastSyncedAt *time.Time `gorm:"column:last_synced_at" json:"lastSyncedAt,omitempty"` LastError string `gorm:"column:last_error;type:text" json:"lastError,omitempty"` UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` } type UserProjectionStatus struct { Name string `json:"name"` Status string `json:"status"` Ready bool `json:"ready"` LastSyncedAt *time.Time `json:"lastSyncedAt,omitempty"` LastError string `json:"lastError,omitempty"` UpdatedAt *time.Time `json:"updatedAt,omitempty"` ProjectedUsers int64 `json:"projectedUsers"` }