Skip to content

Define model structs for records, communities, licenses, and stats #7

@ran-codes

Description

@ran-codes

Description

Define all Go struct types that represent Zenodo API response objects.

Requirements

  • Supports FR-2.x (records), FR-4.x (communities), FR-5.x (access links), FR-6.x (licenses)

Acceptance Criteria

  • internal/model/record.goRecord, Deposition, Metadata, Creator, RelatedIdentifier structs with JSON tags
  • internal/model/community.goCommunity struct
  • internal/model/license.goLicense struct
  • internal/model/stats.goStats struct (downloads, views, unique_downloads, unique_views, version_downloads, version_views)
  • internal/model/error.go — already exists from Phase 1, verify it covers all error shapes
  • All structs have proper json tags matching Zenodo API field names
  • Pagination wrapper: PaginatedResponse[T] or equivalent for list endpoints

Dependencies

  • Blocked by: Phase 1 completion (needs API client)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions