mirror of
https://github.com/samiyev/puaros.git
synced 2025-12-28 07:16:53 +05:00
fix: improve repository method name suggestions and patterns
- Add smart context-aware suggestions for repository method names - queryUsers() → search, findBy[Property] - selectById() → findBy[Property], get[Entity] - insertUser() → create, add[Entity], store[Entity] - And more intelligent pattern matching - Expand domain method patterns support - find*() methods (findNodes, findNodeById, findSimilar) - saveAll() batch operations - deleteBy*() methods (deleteByPath, deleteById) - deleteAll() clear operations - add*() methods (addRelationship, addItem) - initializeCollection() initialization - Remove findAll from ORM blacklist (valid domain method) - Reduce complexity in suggestDomainMethodName (22 → 9) Version 0.6.4
This commit is contained in:
@@ -177,6 +177,9 @@ export class RepositoryViolation extends ValueObject<RepositoryViolationProps> {
|
||||
}
|
||||
|
||||
private getNonDomainMethodSuggestion(): string {
|
||||
const detailsMatch = /Consider: (.+)$/.exec(this.props.details)
|
||||
const smartSuggestion = detailsMatch ? detailsMatch[1] : null
|
||||
|
||||
const technicalToDomain = {
|
||||
findOne: REPOSITORY_PATTERN_MESSAGES.SUGGESTION_FINDONE,
|
||||
findMany: REPOSITORY_PATTERN_MESSAGES.SUGGESTION_FINDMANY,
|
||||
@@ -186,8 +189,10 @@ export class RepositoryViolation extends ValueObject<RepositoryViolationProps> {
|
||||
query: REPOSITORY_PATTERN_MESSAGES.SUGGESTION_QUERY,
|
||||
}
|
||||
|
||||
const suggestion =
|
||||
const fallbackSuggestion =
|
||||
technicalToDomain[this.props.methodName as keyof typeof technicalToDomain]
|
||||
const finalSuggestion =
|
||||
smartSuggestion || fallbackSuggestion || "findById() or findByEmail()"
|
||||
|
||||
return [
|
||||
REPOSITORY_PATTERN_MESSAGES.STEP_RENAME_METHOD,
|
||||
@@ -196,7 +201,7 @@ export class RepositoryViolation extends ValueObject<RepositoryViolationProps> {
|
||||
"",
|
||||
REPOSITORY_PATTERN_MESSAGES.EXAMPLE_PREFIX,
|
||||
`❌ Bad: ${this.props.methodName || "findOne"}()`,
|
||||
`✅ Good: ${suggestion || "findById() or findByEmail()"}`,
|
||||
`✅ Good: ${finalSuggestion}`,
|
||||
].join("\n")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user