Skip to content

feat(client): add getBillCodes (1.5.0) - #113

Merged
eyuapptree merged 3 commits into
masterfrom
eyu/billcodes-call
Oct 9, 2026
Merged

eyuapptree merged 3 commits into
masterfrom
eyu/billcodes-call

Conversation

@eyuapptree

Copy link
Copy Markdown
Contributor

Summary

  • Add `FamisClient.getBillCodes(context)` for `GET /billcodes`
  • Add `BillCode` model
  • Bump version to 1.4.2 and update CHANGELOG

Test plan

  • `tsc --noEmit` passes
  • Verify against a live tenant

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@alexisandreason

Copy link
Copy Markdown
Contributor

Code review

Fix before merging

  • Duplicate BillCode interface (model/famis_models.ts ~L1659). An identical BillCode interface already exists further down the same file (L2459 on master). The two declarations merge silently today, but tsc will fail with "Subsequent property declarations must have the same type" the first time one copy diverges. Delete the new block and use the existing interface.
  • Version bump should be 1.5.0, not 1.4.2 (package.json, CHANGELOG.md). getBillCodes is new public API logged under "Added". The CHANGELOG's stated SemVer policy and repo precedent (1.4.0 "Added" was a minor bump, 1.4.1 "Fixed" a patch) call for a minor bump. Retitle the CHANGELOG section [1.5.0].

Cleanup suggestions

  • Placement (famis_client.ts ~L645). getBillCodes sits between getPayPeriods and the //region TimeZones block, ~440 lines away from getPropertyBillCodeAssociations (~L1080). Move it next to that getter or give it its own //region BillCodes.
  • No test. tests/integration.test.ts has a "Lists" describe block with one should fetch all <x> case per simple getter; getBillCodes is not added. The 'billcodes' route and BillCode field names are unverified against a live tenant (note Active here vs ActiveFlag on the sibling PropertyBillCodeAssociations model), and the PR's "Verify against a live tenant" box is unchecked.
  • UpdateDate: Date (model/famis_models.ts ~L1662). getAll returns raw JSON, so this is an ISO string at runtime and billCode.UpdateDate.getTime() throws despite a clean tsc. This matches a pre-existing pattern in many models, but the PR adds another instance; string would be honest.

🤖 Generated with Claude Code

- Remove duplicate BillCode interface
- Bump version to 1.5.0 (minor, new public API)
- Move getBillCodes next to bill code associations
- Add integration test for getBillCodes

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@eyuapptree eyuapptree changed the title feat(client): add getBillCodes (1.4.2) feat(client): add getBillCodes (1.5.0) Oct 8, 2026
getAll returns raw JSON, so the value is an ISO string at runtime.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@eyuapptree

Copy link
Copy Markdown
Contributor Author

Thanks for the review, all addressed in ce819fb and e464a48:

  • Duplicate BillCode: removed the new copy and kept the existing interface.
  • Version: bumped to 1.5.0 in package.json and the CHANGELOG heading, and retitled the PR.
  • Placement: moved getBillCodes into a new //#region bill codes, next to getPropertyBillCodeAssociations.
  • Test: added should fetch all bill codes to the "Lists" block. I haven't run it against a live tenant yet, so the verify box is still unchecked.
  • UpdateDate: changed to string on the existing BillCode model.

tsc is clean.

🤖 Generated with Claude Code

@eyuapptree
eyuapptree merged commit 372b101 into master Oct 9, 2026
2 checks passed
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