// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Events related to adding and removing users from Chrome.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
import "components/reporting/proto/synced/session_affiliated_user.proto";
package reporting;
enum UserRemovalReason {
UNKNOWN = 0;
LOCAL_USER_INITIATED = 1;
REMOTE_ADMIN_INITIATED = 2;
LOCAL_USER_INITIATED_ON_REQUIRED_UPDATE = 3;
DEVICE_EPHEMERAL_USERS_ENABLED = 4;
GAIA_REMOVED = 5;
MISCONFIGURED_USER = 6;
}
// To be reported when a user is added.
message UserAddedEvent {}
// To be reported when a user is removed
message UserRemovedEvent {
optional UserRemovalReason reason = 1;
}
message UserAddedRemovedRecord {
// Seconds since epoch.
optional int64 event_timestamp_sec = 1;
// Omitted if the user is not affiliated.
optional SessionAffiliatedUser affiliated_user = 2;
oneof event {
UserAddedEvent user_added_event = 3;
UserRemovedEvent user_removed_event = 4;
}
}