Skip to content

Tags

Tags

v1.0.0

Toggle v1.0.0's commit message
chore: release v1.0.0

v0.7.1

Toggle v0.7.1's commit message
chore: release v0.7.1

v0.7.0

Toggle v0.7.0's commit message
feat: Event and Participant typed apis with status classification

Adds ClockInterface + SystemClock for injectable time, ParticipantStatus
backed string enum with isPositive/isPending/isNegative classification,
Event and Participant entity DTOs, EventApi (upcoming/between/isFull/
participantCount with injected clock), and ParticipantApi (register/
markAttended/cancel/checkIn/forEvent/forContact/countByStatus).

cancel() and checkIn() mirror the refund() pattern and create an Activity
when a reason / timestamp is provided. countByStatus() issues one grouped
transport call. isFull() compares positive-class participant count against
max_participants using a single row_count Participant.get request.

576 tests, 99.4% line coverage, PHPStan level max clean, Rector clean.

v0.6.0

Toggle v0.6.0's commit message
chore: release v0.6.0

v0.4.0

Toggle v0.4.0's commit message
test: improve mutation score from 80% to 95%

Kill surviving mutations across entity DTOs, API methods and Result:
- Entity: assert isBilling/locationType defaults, toBool with int/string/'1',
  toInt fallback 0, wrong-type fields returning null (Tag, Group, Activity),
  toArray() omits optional keys when null/empty
- API: verify select/limit/where params in Tag.get, Group.get, CustomField.get
  and Contact.get; primary() non-primary-first fixtures; isPrimary default false;
  updateById/add empty-response ValidationException; fallback id=0 from create;
  resolveStateProvinceId query params
- Result: non-list API response re-indexing, non-array row skipped, negative
  count clamped to zero

v0.3.0

Toggle v0.3.0's commit message
chore: release v0.3.0 — update changelog, readme and version

v0.2.0

Toggle v0.2.0's commit message
chore: release v0.2.0 — update changelog, readme and version

Promotes the generic transport layer (CiviCrmClient, TransportInterface,
AbstractEntityApi, GenericApi) to the primary public API in the docs.