package com.prodhack.moscow2025.domain.usecase.resumes

import com.prodhack.moscow2025.domain.interfaces.resumes.ResumeRepository
import org.koin.core.annotation.Single


@Single
class SuggestSkillsUseCase(
	private val resumeRepository: ResumeRepository
) {
	suspend operator fun invoke(query: String): Result<List<String>> =
		resumeRepository.suggestSkills(query = query)

	// mock
//	suspend operator fun invoke(query: String): Result<List<String>> =
//		Result.success(listOf(
//			"Python", "Kotlin", "Java", "C#", "JavaScript",
//			"TypeScript", "Go", "Rust", "Swift", "PHP",
//			"Ruby", "C++", "Dart", "HTML", "CSS",
//			"SQL", "NoSQL", "MongoDB", "PostgreSQL", "MySQL",
//			"Docker", "Kubernetes", "AWS", "Azure", "Google Cloud Platform",
//			"React", "Angular", "Vue.js", "Node.js", "Spring Boot",
//			"Django", "Flask", "ASP.NET", "Ruby on Rails", "Laravel",
//			"Android", "iOS", "Flutter", "React Native", "Xamarin",
//			"Git", "Jira", "Confluence", "Jenkins", "Travis CI",
//			"Agile", "Scrum", "Kanban", "DevOps", "GraphQL"
//		).filter { it.contains(query, ignoreCase = true) }.take(10))
}