Skip to content

Files — Get-CurseForgeFile with classes and enums #21

Description

Parent: #8

Implement Get-CurseForgeFile with all parameter sets, supporting classes, and enums for the Files domain.

Acceptance criteria:

  • Get-CurseForgeFile works in three modes: single (modId+fileId), by mod (modId, paginated+filtered), batch (file IDs)
  • Filters for by-mod mode: gameVersion, modLoaderType, gameVersionTypeId, index, pageSize
  • CurseForgeFile class models the full file response
  • Supporting classes: CurseForgeFileDependency, CurseForgeFileHash, CurseForgeFileModule, CurseForgeFileIndex, CurseForgeSortableGameVersion
  • Enums: CurseForgeFileReleaseType, CurseForgeFileStatus, CurseForgeFileRelationType, CurseForgeHashAlgorithm
  • Format file provides default table view
  • Unit tests cover all three parameter sets

  • Create src/enums/CurseForgeFileReleaseType.ps1
  • Create src/enums/CurseForgeFileStatus.ps1
  • Create src/enums/CurseForgeFileRelationType.ps1
  • Create src/enums/CurseForgeHashAlgorithm.ps1
  • Create src/classes/public/CurseForgeFile.ps1
  • Create src/classes/public/CurseForgeFileDependency.ps1
  • Create src/classes/public/CurseForgeFileHash.ps1
  • Create src/classes/public/CurseForgeFileModule.ps1
  • Create src/classes/public/CurseForgeFileIndex.ps1
  • Create src/classes/public/CurseForgeSortableGameVersion.ps1
  • Create src/formats/CurseForgeFile.Format.ps1xml
  • Create src/functions/public/Files/Get-CurseForgeFile.ps1
  • Create tests/Files/Get-CurseForgeFile.Tests.ps1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions