Skip to content

Add support for custom items#90

Merged
rafaeljusto merged 4 commits into
mainfrom
custom-items
May 28, 2026
Merged

Add support for custom items#90
rafaeljusto merged 4 commits into
mainfrom
custom-items

Conversation

@CFDan

@CFDan CFDan commented May 28, 2026

Copy link
Copy Markdown
Contributor

Description

  • Added support for Custom Items (in preparation for MCP support)
  • Added tests
  • Validated all the custom items functionality works with a mock Go test app

@CFDan CFDan requested a review from rafaeljusto May 28, 2026 15:36
@CFDan CFDan requested a review from a team as a code owner May 28, 2026 15:36

@rafaeljusto rafaeljusto left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey Dan, added some suggestions. Let me know if you want me to patch those.

Comment thread projects/custom_item.go Outdated
Comment thread projects/custom_item.go Outdated
Comment thread projects/custom_item.go Outdated
Comment thread projects/custom_item.go Outdated
Comment thread projects/custom_item_record.go Outdated
Comment thread projects/custom_item_record.go Outdated
Comment thread projects/custom_item_record.go Outdated
Comment thread projects/custom_item_record.go Outdated
Comment thread projects/custom_item_field.go Outdated
Co-authored-by: Rafael Dantas Justo <rafael.justo@teamwork.com>
@CFDan

CFDan commented May 28, 2026

Copy link
Copy Markdown
Contributor Author

If you have time that would be great @rafaeljusto ❤️

- Replace stringly-typed Include/OrderBy filters with typed enums
  (CustomItemSideload, CustomItemOrderBy, CustomItemRecordSideload,
  CustomItemRecordOrderBy) and align their values with the server-side
  enums in projectsapigo (pkg/enum/customitem*.go).
- Drop OrderBy from the field list filters — the server's field
  endpoint has no orderBy query param, only orderMode.
- Add the archived state to CustomItemState and CustomItemRecordState
  to match the three states the server exposes; add the missing
  "users" sideload on record list/get.
- Always send skipCounts=true on the v3 list endpoints and collapse
  Meta to just HasMore — total counts are derivable from
  (page * pageSize) + 1.
- Promote NullableInt64 to the root twapi package so it can be reused
  across resources.
- Document the typed-enum and skipCounts conventions in AGENTS.md and
  list NullableInt64 in the common types table.
@rafaeljusto rafaeljusto merged commit 618b6b3 into main May 28, 2026
3 checks passed
@rafaeljusto rafaeljusto deleted the custom-items branch May 28, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants