package repo import "uptodownBot/internal/domain" type Repository interface { // Users GetOrCreateUser(chatID int64) (int64, error) // Preferences GetOrCreatePreferences(userID int64) (*domain.UserPreferences, error) UpdatePreferences(userID int64, prefs *domain.UserPreferences) error // Quotas GetOrCreateQuotas(userID int64) (*domain.UserQuotas, error) UpdateQuotas(userID int64, q *domain.UserQuotas) error // Download history AddHistory(userID int64, record *domain.DownloadRecord) error GetHistory(userID int64, limit, offset int) ([]domain.DownloadRecord, error) GetHistoryCount(userID int64) (int, error) // Account DeleteUserData(userID int64) error // Lifecycle Close() error }