Skip to content

Fingerprints — Find exact and fuzzy matches #9

Description

Parent: #4

Delivers functions for matching file fingerprints — used to identify installed mods by their file hashes. Supports both exact and fuzzy matching, with optional game-scoping.

Acceptance criteria:

  • Find-CurseForgeFingerprint matches fingerprints exactly (unscoped or by game)
  • Find-CurseForgeFuzzyFingerprint matches fingerprints using fuzzy matching (unscoped or by game)
  • -GameId parameter scopes the search to a specific game
  • CurseForgeFingerprintMatch class models exact match results
  • CurseForgeFingerprintFuzzyMatch class models fuzzy match results
  • CurseForgeFingerprintMatchResult class wraps the full response (exactMatches, partialMatches, unmatchedFingerprints)
  • Format files provide summary views
  • Unit tests cover both match types and empty results

Endpoints:

Function Method Path
Find-CurseForgeFingerprint POST /v1/fingerprints
Find-CurseForgeFingerprint (-GameId) POST /v1/fingerprints/{gameId}
Find-CurseForgeFuzzyFingerprint POST /v1/fingerprints/fuzzy
Find-CurseForgeFuzzyFingerprint (-GameId) POST /v1/fingerprints/fuzzy/{gameId}

Request bodies:

Exact: { "fingerprints": [int64, ...] }

Fuzzy: { "gameId": int32, "fingerprints": [{ "foldername": "string", "fingerprints": [int64, ...] }] }

Decision: Two functions (Find-CurseForgeFingerprint and Find-CurseForgeFuzzyFingerprint) rather than one with -Fuzzy switch, because the input shapes differ fundamentally (flat array vs folder-fingerprint objects).


Sub-issues

See linked Tasks below.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions