Skip to content

Upload — Publish-CurseForgeProjectFile #28

Description

Parent: #12

Implement Publish-CurseForgeProjectFile for uploading new project files to CurseForge.

Acceptance criteria:

  • Publish-CurseForgeProjectFile uploads a file to a project via POST /projects/{projectId}/upload-file
  • -ProjectId (mandatory), -FilePath (mandatory), -Metadata (hashtable) parameters
  • Metadata includes: changelog, changelogType, displayName, parentFileID, gameVersions[], releaseType, relations
  • Handles multipart/form-data with file binary + metadata JSON
  • Returns the created file response as a typed object
  • CurseForgeUploadFileResponse class created
  • -WhatIf and -Confirm support via SupportsShouldProcess
  • Unit tests cover parameter validation and metadata serialization

  • Create src/classes/public/CurseForgeUploadFileResponse.ps1
  • Create src/functions/public/Upload/Publish-CurseForgeProjectFile.ps1
  • Create tests/Upload/Publish-CurseForgeProjectFile.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