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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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