| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- syntax = "proto3";
- package chatto.discovery.v1;
- import "chatto/api/v1/server.proto";
- import "google/protobuf/descriptor.proto";
- // Request for public server metadata.
- message GetServerRequest {}
- // Public metadata clients need before they can authenticate or render the
- // initial server view.
- message GetServerResponse {
- // Public server profile and branding.
- chatto.api.v1.ServerPublicProfile profile = 1;
- // Login and registration options.
- chatto.api.v1.ServerLogin login = 2;
- }
- // Request for the public Neighbor directory.
- message ListNeighborsRequest {}
- // Publicly advertised servers. The response has no ordering contract.
- message ListNeighborsResponse {
- reserved 2;
- reserved "neighbors";
- // Canonical origins of the advertised servers.
- repeated string origins = 1;
- }
- // Provides unauthenticated server discovery metadata.
- service ServerDiscoveryService {
- // Returns public server metadata, branding, registration status, and login
- // provider information. This fully public RPC is available before login so
- // clients can render the first server screen and authentication choices.
- rpc GetServer(GetServerRequest) returns (GetServerResponse) {
- option idempotency_level = NO_SIDE_EFFECTS;
- }
- // Returns the public Neighbor directory without requiring a session.
- rpc ListNeighbors(ListNeighborsRequest) returns (ListNeighborsResponse) {
- option idempotency_level = NO_SIDE_EFFECTS;
- }
- }
|