A sync server implemented in go to communicate with Brave sync clients using
components/sync/protocol/sync.proto.
Current Chromium version for sync protocol buffer files used in this repo is Chromium 83.0.4103.61.
This server supports endpoints as bellow.
The GET /v2/timestamp endpoint returns a UNIX timestamp in milliseconds and expected time for a token to expire in JSON format. Sync clients are responsible to create valid access tokens using timestamps returned by the server.
The POST /v2/command/ endpoint handles Commit and GetUpdates requests from sync clients and return corresponding responses both in protobuf format. Detailed of requests and their corresponding responses are defined in sync_pb/sync.proto. Previous granted access token should be passed in the request's Authorization header.
Currently we use dynamoDB as the datastore, the schema could be found in schema/dynamodb/table.json.