Skip to content

feat(billing): Add seat activity and seats service protos - #411

Draft
volokluev wants to merge 5 commits into
mainfrom
volo/seat_service
Draft

feat(billing): Add seat activity and seats service protos#411
volokluev wants to merge 5 commits into
mainfrom
volo/seat_service

Conversation

@volokluev

@volokluev volokluev commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Adds proto definitions for two new billing services:

seat_activity service

  • CloseContract - close a seat contract
  • GetOriginalSeatDates - get original creation dates for seats
  • GetSeatActivityHistory - get seat activity history for a contract
  • GetSeatContractState - check if a seat contract exists and is active
  • GetSeatState - get the current state of a seat
  • PerformSeatActions - perform batch seat actions

seats service

  • AssignSeat - assign a seat
  • CheckAssignSeats - check if seats can be assigned
  • DisableSeat - disable a seat
  • GetDailySeatUsage - get daily seat usage
  • GetDailySeatUsageByProject - get daily seat usage by project
  • GetSeatStatusForExternalProduct - get seat status for an external product
  • RemoveSeat - remove a seat
  • RolloverSeatsToNewContract - rollover seats to a new contract
  • UpdateSeatIdentifier - update a seat identifier

Shared types

  • SeatStatus (consolidated into billing/v1/common/v1/seat_status.proto — shared by both services)
  • SeatObject, SeatState, SeatActionRecord, ExternalProductSeatActivity, SeatActionItem, OriginalSeatDate
  • SeatAssignmentOutcome, ProjectSeatUsage

Dependencies

  • Depended on by: getsentry/getsentry#21644 — must be merged and released first

- Add seat_activity service endpoints: close_contract, get_original_seat_dates,
  get_seat_activity_history, get_seat_contract_state, get_seat_state, perform_seat_actions
- Add seats service endpoints: assign_seat, check_assign_seats, disable_seat,
  get_daily_seat_usage, get_daily_seat_usage_by_project, get_seat_status,
  remove_seat, rollover_seats, update_seat_identifier
- Define shared types: SeatStatus, SeatObject, SeatState, SeatActionRecord,
  ExternalProductSeatActivity, SeatActionItem, OriginalSeatDate,
  ExternalProductSeatStatus, SeatAssignmentOutcome, ProjectSeatUsage
@github-actions

github-actions Bot commented Aug 25, 2026

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow ci / buf-checks (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedAug 26, 2026, 11:09 PM

getsantry Bot and others added 4 commits August 25, 2026 00:14
Move SeatStatus into billing/v1/common/v1/seat_status.proto so both
seat_activity and seats services share one enum. Remove the duplicate
ExternalProductSeatStatus from seats/v1/seats.proto.
Add documentation comments to all seat_activity and seats service proto
messages explaining what each endpoint does, its constraints, and any
notable behavior (e.g. OVER_QUOTA -> DISABLED mapping, idempotent
rollover, high-throughput check-in path).
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