Port Brave Sync server to Rust
Use SQLite for persistence and generate Rust protobuf bindings at build time. Add Docker image support for containerized deployment. Co-Authored-By: codex <[email protected]>
This commit is contained in:
commit
28826af88d
93 files changed
+11666
No files matched your search
@@ -0,0 +1,142 @@
|
||||
// Copyright 2017 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
// Sync protocol datatype extension for user events.
|
||||
|
||||
// If you change or add any fields in this file, update proto_visitors.h and
|
||||
// potentially proto_enum_conversions.{h, cc}.
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
option go_package = "./sync_pb";
|
||||
|
||||
option java_multiple_files = true;
|
||||
option java_package = "org.chromium.components.sync.protocol";
|
||||
|
||||
option optimize_for = LITE_RUNTIME;
|
||||
|
||||
package sync_pb;
|
||||
|
||||
import "gaia_password_reuse.proto";
|
||||
|
||||
message UserEventSpecifics {
|
||||
// Time of event, as measured by client in microseconds since Windows epoch.
|
||||
optional int64 event_time_usec = 1;
|
||||
|
||||
// The |global_id| field of the associated navigation, if there is one.
|
||||
optional int64 navigation_id = 2;
|
||||
|
||||
// On startup we generate a new random id to identify which FieldTrialEvents
|
||||
// other events belonged to.
|
||||
optional fixed64 session_id = 3;
|
||||
|
||||
// 4-7 reserved for future scalars.
|
||||
|
||||
// Used for testing and debugging EventLog system.
|
||||
message Test {}
|
||||
|
||||
// Language detection output.
|
||||
message LanguageDetection {
|
||||
option deprecated = true;
|
||||
|
||||
message Language {
|
||||
// ISO 639 language code will be used.
|
||||
optional string language_code = 1;
|
||||
// Whether the detected language is reliable, note this is determined by
|
||||
// the CLD3.
|
||||
optional bool is_reliable = 2;
|
||||
}
|
||||
// Top n languages. Typically we just log the top language, but for page
|
||||
// that we're not confident about, we may log up to 3 top languages in
|
||||
// descending order.
|
||||
repeated Language detected_languages = 1;
|
||||
// Adopted language code is the code of final determined language.
|
||||
// It will be stored only if it's different from the first detected
|
||||
// language.
|
||||
optional string adopted_language_code = 2;
|
||||
}
|
||||
|
||||
// User translated a page or interacted with translate suggestion.
|
||||
message Translation {
|
||||
option deprecated = true;
|
||||
|
||||
// Source language of the translation.
|
||||
optional string from_language_code = 1;
|
||||
// Target language of the translation.
|
||||
optional string to_language_code = 2;
|
||||
enum Interaction {
|
||||
UNKNOWN = 0;
|
||||
ACCEPT = 1;
|
||||
DECLINE = 2;
|
||||
// This happens when user scroll or click outside the UI without
|
||||
// translation.
|
||||
IGNORED = 3;
|
||||
// This happens when user choose to close the translation window without
|
||||
// translation.
|
||||
DISMISSED = 4;
|
||||
// User manually entered either language.
|
||||
// In this case, from_language_code and to_language_code will be user
|
||||
// chosen values.
|
||||
MANUAL = 5;
|
||||
// User choose to revert the translation, in this case, from_language_code
|
||||
// and to_language_code will be previous chosen values.
|
||||
TRANSLATION_REVERTED = 6;
|
||||
// Automatically triggered translation.
|
||||
// User sets always translate in user settings.
|
||||
AUTO_TRANSLATION_BY_PREF = 7;
|
||||
// User navigated through a click from a translated page.
|
||||
AUTO_TRANSLATION_BY_LINK = 8;
|
||||
// Failed to initialize the translate script, this can happen for iOS due
|
||||
// to CSPs.
|
||||
INITIALIZATION_ERROR = 9;
|
||||
}
|
||||
optional Interaction interaction = 3;
|
||||
}
|
||||
|
||||
// Logged when the user logs into Google, and at least once per 28d.
|
||||
message GaiaPasswordCaptured {
|
||||
enum EventTrigger {
|
||||
UNSPECIFIED = 0;
|
||||
// Event added because user logged in.
|
||||
USER_LOGGED_IN = 1;
|
||||
// Event added because 28d timer fired.
|
||||
EXPIRED_28D_TIMER = 2;
|
||||
}
|
||||
optional EventTrigger event_trigger = 1;
|
||||
}
|
||||
|
||||
message FlocIdComputed {
|
||||
enum EventTrigger {
|
||||
UNSPECIFIED = 0;
|
||||
// Event added because the floc id is computed for the 1st floc session.
|
||||
NEW = 1;
|
||||
// Event added because the floc id is re-computed due to a long period of
|
||||
// time has passed since the last computation.
|
||||
REFRESHED = 2;
|
||||
// Event added because the floc id is re-computed due to history deletion.
|
||||
HISTORY_DELETE = 3;
|
||||
}
|
||||
reserved 1;
|
||||
reserved "event_trigger";
|
||||
|
||||
// If not set, it means that the floc is disabled.
|
||||
optional uint64 floc_id = 2;
|
||||
}
|
||||
|
||||
oneof event {
|
||||
Test test_event = 8;
|
||||
LanguageDetection language_detection_event = 10 [deprecated = true];
|
||||
Translation translation_event = 11 [deprecated = true];
|
||||
// Happens when a user types their Google account password on another site.
|
||||
GaiaPasswordReuse gaia_password_reuse_event = 104;
|
||||
GaiaPasswordCaptured gaia_password_captured_event = 15;
|
||||
FlocIdComputed floc_id_computed_event = 16;
|
||||
}
|
||||
|
||||
reserved "field_trial_event";
|
||||
reserved 9;
|
||||
|
||||
reserved "user_consent";
|
||||
reserved 12;
|
||||
}
|
||||
Reference in new issue
Block a user