mirror of
https://github.com/hanzoai/insights.git
synced 2026-11-03 00:52:32 +00:00
PersonHog was the last of it, and it was not only a name. The package is personinsights and the types in it are already Person* -- the shipped descriptor under personinsights_client/proto/generated says PersonService and the tests say TestFakePersonClient -- but the .proto still declared PersonHogService. A client dialling one service name and a server built from a .proto declaring another is not a naming problem, it is a wire that does not connect; the only reason nobody hit it is that none of these services runs here yet. Five service declarations now say what the generated client has said all along. StreamHog was a second fictional company, invented so a Stripe mock had someone to bill. This fork already has Hedgebox, in five hundred fixtures, so the mock bills Hedgebox and there is one made-up company again instead of two. REVIEW_HOG was an enum member in three enums that had to agree, whose value has been `review` since the app was renamed. Only the member said otherwise. Every rule is in bin/debrand and every spelling is refused there, so a fresh upstream import lands on these names and none of them can come back. Two are named as outstanding rather than refused, with the reason each is still sayable: hogdesk survives inside applied migrations' choices lists, where Django compares it in Python and never writes it -- the member is Desk = "desk" and all three tables that store it hold no rows; sherlockhog keys a service in another repository that still calls itself that, and renaming our half would classify its traffic as a product that does not exist. Co-authored-by: Hanzo Dev <[email protected]>
76 lines
6.6 KiB
Protocol Buffer
76 lines
6.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
package personinsights.replica.v1;
|
|
|
|
import "personinsights/types/v1/person.proto";
|
|
import "personinsights/types/v1/group.proto";
|
|
import "personinsights/types/v1/cohort.proto";
|
|
import "personinsights/types/v1/feature_flag.proto";
|
|
|
|
// PersonReplica is the internal read API exposed by replica pods.
|
|
// The router calls this service after determining which replica owns the vnode.
|
|
service PersonReplica {
|
|
// Person lookups
|
|
rpc GetPerson(personinsights.types.v1.GetPersonRequest) returns (personinsights.types.v1.GetPersonResponse);
|
|
rpc GetPersons(personinsights.types.v1.GetPersonsRequest) returns (personinsights.types.v1.PersonsResponse);
|
|
rpc GetPersonByUuid(personinsights.types.v1.GetPersonByUuidRequest) returns (personinsights.types.v1.GetPersonResponse);
|
|
rpc GetPersonsByUuids(personinsights.types.v1.GetPersonsByUuidsRequest) returns (personinsights.types.v1.PersonsResponse);
|
|
|
|
// Person lookups by distinct ID
|
|
rpc GetPersonByDistinctId(personinsights.types.v1.GetPersonByDistinctIdRequest) returns (personinsights.types.v1.GetPersonResponse);
|
|
rpc GetPersonsByDistinctIdsInTeam(personinsights.types.v1.GetPersonsByDistinctIdsInTeamRequest) returns (personinsights.types.v1.PersonsByDistinctIdsInTeamResponse);
|
|
rpc GetPersonsByDistinctIds(personinsights.types.v1.GetPersonsByDistinctIdsRequest) returns (personinsights.types.v1.PersonsByDistinctIdsResponse);
|
|
|
|
// Distinct ID operations
|
|
rpc GetDistinctIdsForPerson(personinsights.types.v1.GetDistinctIdsForPersonRequest) returns (personinsights.types.v1.GetDistinctIdsForPersonResponse);
|
|
rpc GetDistinctIdsForPersons(personinsights.types.v1.GetDistinctIdsForPersonsRequest) returns (personinsights.types.v1.GetDistinctIdsForPersonsResponse);
|
|
|
|
// Feature flag hash key override support
|
|
rpc GetHashKeyOverrideContext(personinsights.types.v1.GetHashKeyOverrideContextRequest) returns (personinsights.types.v1.GetHashKeyOverrideContextResponse);
|
|
rpc UpsertHashKeyOverrides(personinsights.types.v1.UpsertHashKeyOverridesRequest) returns (personinsights.types.v1.UpsertHashKeyOverridesResponse);
|
|
rpc DeleteHashKeyOverridesByTeams(personinsights.types.v1.DeleteHashKeyOverridesByTeamsRequest) returns (personinsights.types.v1.DeleteHashKeyOverridesByTeamsResponse);
|
|
|
|
// Cohort membership
|
|
rpc CheckCohortMembership(personinsights.types.v1.CheckCohortMembershipRequest) returns (personinsights.types.v1.CohortMembershipResponse);
|
|
rpc CountCohortMembers(personinsights.types.v1.CountCohortMembersRequest) returns (personinsights.types.v1.CountCohortMembersResponse);
|
|
rpc DeleteCohortMember(personinsights.types.v1.DeleteCohortMemberRequest) returns (personinsights.types.v1.DeleteCohortMemberResponse);
|
|
rpc DeleteCohortMembersBulk(personinsights.types.v1.DeleteCohortMembersBulkRequest) returns (personinsights.types.v1.DeleteCohortMembersBulkResponse);
|
|
rpc InsertCohortMembers(personinsights.types.v1.InsertCohortMembersRequest) returns (personinsights.types.v1.InsertCohortMembersResponse);
|
|
rpc ListCohortMemberIds(personinsights.types.v1.ListCohortMemberIdsRequest) returns (personinsights.types.v1.ListCohortMemberIdsResponse);
|
|
|
|
// Groups
|
|
rpc GetGroup(personinsights.types.v1.GetGroupRequest) returns (personinsights.types.v1.GetGroupResponse);
|
|
rpc GetGroups(personinsights.types.v1.GetGroupsRequest) returns (personinsights.types.v1.GroupsResponse);
|
|
rpc GetGroupsBatch(personinsights.types.v1.GetGroupsBatchRequest) returns (personinsights.types.v1.GetGroupsBatchResponse);
|
|
rpc ListGroups(personinsights.types.v1.ListGroupsRequest) returns (personinsights.types.v1.ListGroupsResponse);
|
|
|
|
// Group type mappings
|
|
rpc GetGroupTypeMappingsByTeamId(personinsights.types.v1.GetGroupTypeMappingsByTeamIdRequest) returns (personinsights.types.v1.GroupTypeMappingsResponse);
|
|
rpc GetGroupTypeMappingsByTeamIds(personinsights.types.v1.GetGroupTypeMappingsByTeamIdsRequest) returns (personinsights.types.v1.GroupTypeMappingsBatchResponse);
|
|
rpc GetGroupTypeMappingsByProjectId(personinsights.types.v1.GetGroupTypeMappingsByProjectIdRequest) returns (personinsights.types.v1.GroupTypeMappingsResponse);
|
|
rpc GetGroupTypeMappingsByProjectIds(personinsights.types.v1.GetGroupTypeMappingsByProjectIdsRequest) returns (personinsights.types.v1.GroupTypeMappingsBatchResponse);
|
|
rpc GetGroupTypeMappingByDashboardId(personinsights.types.v1.GetGroupTypeMappingByDashboardIdRequest) returns (personinsights.types.v1.GetGroupTypeMappingByDashboardIdResponse);
|
|
rpc CountGroupTypeMappings(personinsights.types.v1.CountGroupTypeMappingsRequest) returns (personinsights.types.v1.CountGroupTypeMappingsResponse);
|
|
|
|
// Group writes
|
|
rpc CreateGroup(personinsights.types.v1.CreateGroupRequest) returns (personinsights.types.v1.CreateGroupResponse);
|
|
rpc UpdateGroup(personinsights.types.v1.UpdateGroupRequest) returns (personinsights.types.v1.UpdateGroupResponse);
|
|
rpc DeleteGroupsBatchForTeam(personinsights.types.v1.DeleteGroupsBatchForTeamRequest) returns (personinsights.types.v1.DeleteGroupsBatchForTeamResponse);
|
|
|
|
// Group type mapping writes
|
|
rpc UpdateGroupTypeMapping(personinsights.types.v1.UpdateGroupTypeMappingRequest) returns (personinsights.types.v1.UpdateGroupTypeMappingResponse);
|
|
rpc DeleteGroupTypeMapping(personinsights.types.v1.DeleteGroupTypeMappingRequest) returns (personinsights.types.v1.DeleteGroupTypeMappingResponse);
|
|
rpc DeleteGroupTypeMappingsBatchForTeam(personinsights.types.v1.DeleteGroupTypeMappingsBatchForTeamRequest) returns (personinsights.types.v1.DeleteGroupTypeMappingsBatchForTeamResponse);
|
|
|
|
// Person deletes (temporary: should move to leader once it supports deletes)
|
|
rpc DeletePersons(personinsights.types.v1.DeletePersonsRequest) returns (personinsights.types.v1.DeletePersonsResponse);
|
|
rpc DeletePersonsBatchForTeam(personinsights.types.v1.DeletePersonsBatchForTeamRequest) returns (personinsights.types.v1.DeletePersonsBatchForTeamResponse);
|
|
rpc DeletePersonlessDistinctIdsBatchForTeam(personinsights.types.v1.DeletePersonlessDistinctIdsBatchForTeamRequest) returns (personinsights.types.v1.DeletePersonlessDistinctIdsBatchForTeamResponse);
|
|
|
|
// Person split (temporary: same routing caveat as deletes above)
|
|
rpc SplitPerson(personinsights.types.v1.SplitPersonRequest) returns (personinsights.types.v1.SplitPersonResponse);
|
|
|
|
// Undelete repair version resets (temporary: same routing caveat as deletes above)
|
|
rpc SetPersonDistinctIdVersionFloor(personinsights.types.v1.SetPersonDistinctIdVersionFloorRequest) returns (personinsights.types.v1.SetPersonDistinctIdVersionFloorResponse);
|
|
rpc SetPersonVersionFloor(personinsights.types.v1.SetPersonVersionFloorRequest) returns (personinsights.types.v1.SetPersonVersionFloorResponse);
|
|
}
|