| // Copyright 2022 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto2"; |
| |
| package feedwire; |
| |
| import "components/feed/core/proto/v2/wire/view_demotion_profile_extension.proto"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| message ClientUserProfiles { |
| optional DiscoverUserActionsProfile discover_user_actions_profile = 1; |
| optional ViewDemotionProfile view_demotion_profile = 2; |
| } |
| message ActionCounts { |
| message Counts { |
| optional uint32 count_1d = 1; |
| optional uint32 count_7d = 2; |
| optional uint32 count_30d = 3; |
| } |
| enum ActionType { |
| UNKNOWN = 0; |
| CLICK = 1; |
| } |
| optional ActionType type = 1; |
| optional Counts counts = 2; |
| } |
| message DiscoverUserActionsProfile { |
| message ContentMediaXEntityActionCounts { |
| optional uint64 content_category_media_type = 1; |
| optional uint64 mid = 2; |
| repeated ActionCounts counts = 3; |
| } |
| message CardCategoryXEntityActionCounts { |
| optional uint64 card_category = 1; |
| optional uint64 mid = 2; |
| repeated ActionCounts counts = 3; |
| } |
| repeated ContentMediaXEntityActionCounts content_media_x_entity = 2; |
| repeated CardCategoryXEntityActionCounts card_category_x_entity = 3; |
| } |
| message ViewDemotionProfile { |
| optional ViewDemotionProfileExtension view_demotion_profile = 1000; |
| } |