server.proto 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. syntax = "proto3";
  2. package chatto.discovery.v1;
  3. import "chatto/api/v1/server.proto";
  4. import "google/protobuf/descriptor.proto";
  5. // Request for public server metadata.
  6. message GetServerRequest {}
  7. // Public metadata clients need before they can authenticate or render the
  8. // initial server view.
  9. message GetServerResponse {
  10. // Public server profile and branding.
  11. chatto.api.v1.ServerPublicProfile profile = 1;
  12. // Login and registration options.
  13. chatto.api.v1.ServerLogin login = 2;
  14. }
  15. // Request for the public Neighbor directory.
  16. message ListNeighborsRequest {}
  17. // Publicly advertised canonical server origins. The response has no ordering
  18. // contract.
  19. message ListNeighborsResponse {
  20. repeated string origins = 1;
  21. }
  22. // Provides unauthenticated server discovery metadata.
  23. service ServerDiscoveryService {
  24. // Returns public server metadata, branding, registration status, and login
  25. // provider information. This fully public RPC is available before login so
  26. // clients can render the first server screen and authentication choices.
  27. rpc GetServer(GetServerRequest) returns (GetServerResponse) {
  28. option idempotency_level = NO_SIDE_EFFECTS;
  29. }
  30. // Returns the public Neighbor directory without requiring a session.
  31. rpc ListNeighbors(ListNeighborsRequest) returns (ListNeighborsResponse) {
  32. option idempotency_level = NO_SIDE_EFFECTS;
  33. }
  34. }