Skip to content

Adds Groups module with snake_case API#10

Merged
johnnyt merged 1 commit intomainfrom
groups
Oct 6, 2025
Merged

Adds Groups module with snake_case API#10
johnnyt merged 1 commit intomainfrom
groups

Conversation

@johnnyt
Copy link
Member

@johnnyt johnnyt commented Oct 6, 2025

  • Implements Msg.Groups for M365 Group management (create, get, list, add/remove members)
  • Adds Request.convert_keys/1 to allow snake_case input (converts to camelCase for API)
  • Supports odata pattern (e.g., owners_odata_bind → "owners@odata.bind")
  • Adds comprehensive integration tests (15 Groups tests + 9 Request tests)
  • Removes all Logger calls from library modules (libraries should be quiet)
  • Adds helper script for finding test group IDs
  • Updates quality task for better coverage reporting

Why: Libraries should accept idiomatic Elixir (snake_case) and delegate logging to consuming applications. Integration tests verify real API behavior.

🤖 Generated with Claude Code

- Implements Msg.Groups for M365 Group management (create, get, list, add/remove members)
- Adds Request.convert_keys/1 to allow snake_case input (converts to camelCase for API)
- Supports _odata_ pattern (e.g., owners_odata_bind → "owners@odata.bind")
- Adds comprehensive integration tests (15 Groups tests + 9 Request tests)
- Removes all Logger calls from library modules (libraries should be quiet)
- Adds helper script for finding test group IDs
- Updates quality task for better coverage reporting

Why: Libraries should accept idiomatic Elixir (snake_case) and delegate logging
to consuming applications. Integration tests verify real API behavior.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@johnnyt johnnyt merged commit ff9e462 into main Oct 6, 2025
6 checks passed
@johnnyt johnnyt deleted the groups branch October 6, 2025 22:11
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.

1 participant