// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.apps.drive.activity.v2; import "google/apps/drive/activity/v2/common.proto"; option csharp_namespace = "Google.Apps.Drive.Activity.V2"; option go_package = "google.golang.org/genproto/googleapis/apps/drive/activity/v2;activity"; option java_multiple_files = true; option java_outer_classname = "ActorProto"; option java_package = "com.google.apps.drive.activity.v2"; option objc_class_prefix = "GADA"; option php_namespace = "Google\\Apps\\Drive\\Activity\\V2"; // The actor of a Drive activity. message Actor { // The type of actor. oneof type { // An end user. User user = 1; // An anonymous user. AnonymousUser anonymous = 2; // An account acting on behalf of another. Impersonation impersonation = 3; // A non-user actor (i.e. system triggered). SystemEvent system = 4; // An administrator. Administrator administrator = 5; } } // Information about an end user. message User { // A known user. message KnownUser { // The identifier for this user that can be used with the People API to get // more information. The format is `people/ACCOUNT_ID`. See // https://developers.google.com/people/. string person_name = 1; // True if this is the user making the request. bool is_current_user = 2; } // A user whose account has since been deleted. message DeletedUser { } // A user about whom nothing is currently known. message UnknownUser { } // The type of user, such as known, unknown, and deleted. oneof type { // A known user. KnownUser known_user = 2; // A user whose account has since been deleted. DeletedUser deleted_user = 3; // A user about whom nothing is currently known. UnknownUser unknown_user = 4; } } // Empty message representing an anonymous user or indicating the authenticated // user should be anonymized. message AnonymousUser { } // Information about an impersonation, where an admin acts on behalf of an end // user. Information about the acting admin is not currently available. message Impersonation { // The impersonated user. User impersonated_user = 1; } // Event triggered by system operations instead of end users. message SystemEvent { // The types of system events that may trigger activity. enum Type { // The event type is unspecified. TYPE_UNSPECIFIED = 0; // The event is a consequence of a user account being deleted. USER_DELETION = 1; // The event is due to the system automatically purging trash. TRASH_AUTO_PURGE = 2; } // The type of the system event that may triggered activity. Type type = 1; } // Empty message representing an administrator. message Administrator { }