syntax = "proto3";

package bilibili.dynamic.interfaces.feed.v1;

import "bilibili/dynamic/common.proto";

// 
service Feed {
    // 
    rpc AddDynamicReport (AddDynamicReportReq) returns (AddDynamicReportRsp);
    // 
    rpc ArticleHomePageCategories (ArticleHomePageCategoriesReq) returns (ArticleHomePageCategoriesRsp);
    // 
    rpc AtList (bilibili.dynamic.common.AtListReq) returns (bilibili.dynamic.common.AtListRsp);
    // 
    rpc AtSearch (bilibili.dynamic.common.AtSearchReq) returns (bilibili.dynamic.common.AtListRsp);
    // 
    rpc AttachCardButton (AttachCardButtonReq) returns (AttachCardButtonRsp);
    // 
    rpc Config (ConfigReq) returns (ConfigRsp);
    // 
    rpc CreateDyn (CreateDynReq) returns (bilibili.dynamic.common.CreateResp);
    // 
    rpc CreateInitCheck (CreateInitCheckReq) returns (bilibili.dynamic.common.CreateCheckResp);
    // 
    rpc CreateOpus (CreateOpusReq) returns (bilibili.dynamic.common.CreateResp);
    // 
    rpc CreatePageInfos (CreatePageInfosReq) returns (CreatePageInfosRsp);
    // 
    rpc CreatePermissionButtonClick (CreatePermissionButtonClickReq) returns (CreatePermissionButtonClickRsp);
    // 
    rpc CreatePlusButtonClick (CreatePlusButtonClickReq) returns (CreatePlusButtonClickRsp);
    // 
    rpc DynMetricsActiveReport (DynMetricsActiveReportReq) returns (DynMetricsActiveReportRsp);
    // 
    rpc DynPrivatePubSetting (DynPrivatePubSettingReq) returns (DynPrivatePubSettingRsp);
    // 
    rpc DynamicButtonClick (DynamicButtonClickReq) returns (DynamicButtonClickRsp);
    // 
    rpc DynamicRepost (DynamicRepostReq) returns (bilibili.dynamic.common.CreateResp);
    // 
    rpc DynamicThumb (DynamicThumbReq) returns (DynamicThumbRsp);
    // 
    rpc EditDyn (EditDynReq) returns (EditDynRsp);
    // 
    rpc GetEditDynInfo (GetEditDynInfoReq) returns (GetEditDynInfoRsp);
    // 
    rpc GetEditDynInfoWeb (GetEditDynInfoWebReq) returns (GetEditDynInfoWebRsp);
    // 
    rpc GetUidByName (bilibili.dynamic.common.GetUidByNameReq) returns (bilibili.dynamic.common.GetUidByNameRsp);
    // 
    rpc GoodsAttachCardPreview (GoodsAttachCardPreviewReq) returns (GoodsAttachCardPreviewRsp);
    // 
    rpc HomeBubbleReport (HomeBubbleReportReq) returns (HomeBubbleReportRsp);
    // 
    rpc HotSearch (HotSearchReq) returns (HotSearchRsp);
    // 
    rpc ICreateGoodsReplySync (ICreateGoodsReplySyncReq) returns (ICreateResp);
    // 
    rpc NearbyPoiList (NearbyPoiListReq) returns (NearbyPoiListRsp);
    // 
    rpc RecommendPoi (RecommendPoiReq) returns (RecommendPoiRsp);
    // 
    rpc ReserveButtonClick (ReserveButtonClickReq) returns (ReserveButtonClickResp);
    // 
    rpc RmDyn (RmDynReq) returns (RmDynRsp);
    // 
    rpc RmSpaceTop (RmSpaceTopReq) returns (RmSpaceTopRsp);
    // 
    rpc SearchPoiList (SearchPoiListReq) returns (SearchPoiListRsp);
    // 
    rpc SetSpaceTop (SetSpaceTopReq) returns (SetSpaceTopRsp);
    // 
    rpc SubmitCheck (SubmitCheckReq) returns (SubmitCheckRsp);
    // 
    rpc Suggest (SuggestReq) returns (SuggestRsp);
}

// 
message ActiveReportMessage {
    // 
    enum ReportAction {
        // 
        REPORT_ACTION_NONE = 0;
        // 
        REPORT_ACTION_EXPOSURE = 1;
        // 
        REPORT_ACTION_CLICK = 2;
    }
    
    // 
    ActiveReportMessage.ReportAction action = 1;
    // 
    string metric_data = 2;
}

// 
message AdInfoDetail {
    // 
    string nation = 1;
    // 
    string province = 2;
    // 
    string city = 3;
    // 
    string district = 4;
}

// 
message AddDynamicReportReq {
    // 
    int64 accused_uid = 1;
    // 
    string dynamic_id = 2;
    // 
    int64 reason_type = 3;
    // 
    string reason_desc = 4;
}

// 
message AddDynamicReportRsp {
}

// 
message ArticleHomePageCategoriesReq {
}

// 
message ArticleHomePageCategoriesRsp {
    // 
    repeated Category categories = 1;
}

// 
message AttachCardButtonReq {
    // 
    int32 cur_btn_status = 1;
    // 
    int64 dynamic_id = 2;
    // 
    bilibili.dynamic.common.AttachCardType attach_card_type = 3;
    // 
    string spm_id = 4;
    // 
    int64 reserve_total = 5;
    // 
    string dynamic_id_str = 6;
    // 
    string card_type = 7;
    // 
    string card_biz_id = 8;
    // 
    bilibili.dynamic.common.OpusBizType opus_biz_type = 9;
}

// 
message AttachCardButtonRsp {
    // 
    int32 final_btn_status = 1;
    // 
    string toast = 2;
    // 
    string desc_update = 3;
    // 
    int64 reserve_update = 4;
}

// 
message Category {
    // 
    int64 id = 1;
    // 
    int64 parent_id = 2;
    // 
    string name = 3;
    // 
    int64 position = 4;
    // 
    repeated Category children = 5;
    // 
    string banner_url = 6;
}

// 
message ConfigAB {
    // 
    ConfigABEntry entry = 1;
    // 
    int64 value = 2;
}

// 
enum ConfigABEntry {
    // 
    CONFIG_AB_ENTRY_NONE = 0;
    // 
    CONFIG_AB_ENTRY_PUB_PAGE_TITLE = 1;
    // 
    CONFIG_AB_ENTRY_SELECT_PIC_PANEL = 2;
    // 
    CONFIG_AB_BIG_PLUS_PUB_ARTICLE = 3;
    // 
    CONFIG_AB_LIVE_PHOTO = 4;
}

// 
message ConfigReq {
}

// 
message ConfigRsp {
    // 
    repeated ConfigAB ab_entries = 1;
    // 
    MaxPicCountType max_pic_count_type = 2;
    // 
    string article_loading_address = 3;
}

// 
message CreateDynReq {
    // 
    bilibili.dynamic.common.UserCreateMeta meta = 1;
    // 
    bilibili.dynamic.common.CreateContent content = 2;
    // 
    bilibili.dynamic.common.CreateScene scene = 3;
    // 
    repeated bilibili.dynamic.common.CreatePic pics = 4;
    // 
    bilibili.dynamic.common.DynIdentity repost_src = 5;
    // 
    bilibili.dynamic.common.CreateDynVideo video = 6;
    // 
    int64 sketch_type = 7;
    // 
    bilibili.dynamic.common.Sketch sketch = 8;
    // 
    bilibili.dynamic.common.Program program = 9;
    // 
    bilibili.dynamic.common.CreateTag dyn_tag = 10;
    // 
    bilibili.dynamic.common.CreateAttachCard attach_card = 11;
    // 
    bilibili.dynamic.common.CreateOption option = 12;
    // 
    bilibili.dynamic.common.CreateTopic topic = 13;
    // 
    string upload_id = 14;
    // 
    bilibili.dynamic.common.CreateExtraInfo extra_info = 15;
}

// 
message CreateInitCheckReq {
    // 
    bilibili.dynamic.common.CreateInitCheckScene scene = 1;
    // 
    bilibili.dynamic.common.MetaDataCtrl meta = 2;
    // 
    bilibili.dynamic.common.RepostInitCheck repost = 3;
}

// 
message CreateOpusReq {
    // 
    bilibili.dynamic.common.UserCreateMeta meta = 1;
    // 
    bilibili.dynamic.common.Opus opus = 2;
    // 
    bilibili.dynamic.common.CreateScene scene = 3;
    // 
    bilibili.dynamic.common.CreateOption option = 4;
    // 
    string upload_id = 7;
    // 
    bilibili.dynamic.common.DynIdentity repost_src = 8;
}

// 
message CreatePageCommercialInfo {
    // 
    string label_text = 1;
    // 
    string desc = 2;
    // 
    bool valid = 3;
    // 
    int64 commercial_entity_type = 4;
    // 
    int64 commercial_entity_id = 5;
    // 
    bool editable = 6;
}

// 
message CreatePageInfosReq {
    // 
    int64 topic_id = 1;
    // 
    int64 commercial_entity_type = 2;
    // 
    int64 commercial_entity_id = 3;
    // 
    bilibili.dynamic.common.CreateScene scene = 4;
    // 
    repeated bilibili.dynamic.common.GoodsContent goods = 5;
}

// 
message CreatePageInfosRsp {
    // 
    CreatePageTopicInfo topic = 1;
    // 
    CreatePageCommercialInfo commercial = 2;
    // 
    repeated GoodsItem goods = 3;
}

// 
message CreatePageTopicInfo {
    // 
    int64 topic_id = 1;
    // 
    string topic_name = 2;
    // 
    string hint = 3;
}

// 
message CreatePermissionButtonClickReq {
    // 
    bilibili.dynamic.common.UpPermissionType type = 1;
}

// 
message CreatePermissionButtonClickRsp {
}

// 
message CreatePlusButtonClickReq {
}

// 
message CreatePlusButtonClickRsp {
}

// 
message DynMetricsActiveReportReq {
    // 
    repeated ActiveReportMessage report_metrics = 1;
}

// 
message DynMetricsActiveReportRsp {
}

// 
message DynPrivatePubSettingReq {
    // 
    string object_id = 1;
    // 
    string action = 2;
}

// 
message DynPrivatePubSettingRsp {
    // 
    string toast = 1;
}

// 
enum DynamicButtonClickBizType {
    // 
    DYNAMIC_BUTTON_CLICK_BIZ_TYPE_NONE = 0;
    // 
    DYNAMIC_BUTTON_CLICK_BIZ_TYPE_LIVE = 1;
    // 
    DYNAMIC_BUTTON_CLICK_BIZ_TYPE_DYN_UP = 2;
}

// 
message DynamicButtonClickReq {
    // 
    repeated int32 biz_type = 1;
}

// 
message DynamicButtonClickRsp {
}

// 
message DynamicRepostReq {
    // 
    int64 uid = 1;
    // 
    bilibili.dynamic.common.CreateContent content = 2;
    // 
    bilibili.dynamic.common.DynIdentity repost_src = 3;
    // 
    bilibili.dynamic.common.CreateOption option = 4;
    // 
    bilibili.dynamic.common.CreateTopic topic = 5;
    // 
    string upload_id = 6;
}

// 
message DynamicThumbReq {
    // 
    int64 uid = 1;
    // 
    int64 dyn_id = 2;
    // 
    int64 type = 3;
    // 
    int64 rid = 4;
    // 
    int64 spec_type = 5;
    // 
    int64 up = 6;
    // 
    string from = 7;
    // 
    string dyn_id_str = 8;
    // 
    string spmid = 9;
    // 
    string from_spmid = 10;
    // 
    string action_id = 11;
}

// 
message DynamicThumbRsp {
}

// 
message EditDynReq {
    // 
    int64 dyn_id = 1;
    // 
    bilibili.dynamic.common.CreateScene scene = 2;
    // 
    bilibili.dynamic.common.UserCreateMeta meta = 3;
    // 
    bilibili.dynamic.common.CreateContent content = 4;
    // 
    repeated bilibili.dynamic.common.CreatePic pics = 5;
    // 
    bilibili.dynamic.common.DynIdentity repost_src = 6;
    // 
    bilibili.dynamic.common.CreateTag dyn_tag = 7;
    // 
    bilibili.dynamic.common.CreateAttachCard attach_card = 8;
    // 
    bilibili.dynamic.common.CreateOption option = 9;
    // 
    bilibili.dynamic.common.CreateTopic topic = 10;
    // 
    string upload_id = 11;
}

// 
message EditDynRsp {
    // 
    int64 state = 1;
    // 
    string totast = 2;
}

// 
message GetEditDynInfoReq {
    // 
    int64 dyn_id = 1;
    // 
    bilibili.dynamic.common.CreateInitCheckScene scene = 2;
    // 
    bilibili.dynamic.common.MetaDataCtrl meta = 3;
    // 
    bilibili.dynamic.common.RepostInitCheck repost = 4;
}

// 
message GetEditDynInfoRsp {
    // 
    repeated bilibili.dynamic.common.CreatePic pics = 1;
    // 
    int64 orig_dyn_id = 2;
    // 
    int64 pre_dyn_id = 3;
    // 
    repeated CreatePageTopicInfo topic_infos = 4;
    // 
    bilibili.dynamic.common.CreateAttachCard attach_card = 5;
    // 
    bilibili.dynamic.common.PublishSetting setting = 6;
    // 
    bilibili.dynamic.common.UpPermission permission = 7;
    // 
    bilibili.dynamic.common.ShareChannel share_info = 8;
    // 
    bilibili.dynamic.common.PublishYellowBar yellow_bar = 9;
    // 
    bilibili.dynamic.common.PlusRedDot plus_red_dot = 10;
    // 
    int64 only_fans = 11;
    // 
    string edit_alert_msg = 12;
    // 
    int64 remain_edit_times = 13;
    // 
    CreatePageCommercialInfo commercial = 14;
    // 
    int64 dyn_type = 17;
}

// 
message GetEditDynInfoWebReq {
    // 
    string dyn_id = 1;
    // 
    bilibili.dynamic.common.CreateInitCheckScene scene = 2;
    // 
    bilibili.dynamic.common.MetaDataCtrl meta = 3;
}

// 
message GetEditDynInfoWebRsp {
    // 
    bilibili.dynamic.common.PublishWebSettings settings = 1;
    // 
    bilibili.dynamic.common.PermissionsWeb permissions = 2;
    // 
    bilibili.dynamic.common.CreateAttachCard attach_card = 3;
    // 
    CreatePageCommercialInfo commercial = 4;
    // 
    int64 only_fans = 5;
    // 
    string edit_alert_msg = 6;
    // 
    int64 remain_edit_times = 7;
    // 
    string orig_dyn_id_str = 8;
    // 
    string pre_dyn_id_str = 9;
}

// 
message GoodsAttachCardPreviewReq {
    // 
    repeated int64 item_ids = 1;
    // 
    int64 dyn_id = 2;
    // 
    int64 mid = 3;
    // 
    bilibili.dynamic.common.MetaDataCtrl meta = 4;
}

// 
message GoodsAttachCardPreviewRsp {
    // 
    map<int64, GoodsItem> goods = 1;
}

// 
message GoodsItem {
    // 
    int64 items_id = 1;
    // 
    string name = 2;
    // 
    string brief = 3;
    // 
    string img = 4;
    // 
    float price = 5;
    // 
    string price_str = 6;
    // 
    string icon_name = 7;
    // 
    string icon_url = 8;
    // 
    string jump_link = 9;
    // 
    string jump_link_desc = 10;
    // 
    int64 act_id = 11;
    // 
    int64 act_mid = 12;
}

// 
message HomeBubbleReportReq {
    // 
    string track_id = 1;
}

// 
message HomeBubbleReportRsp {
}

// 
message HotSearchReq {
}

// 
message HotSearchRsp {
    // 
    message Item {
        // 
        string words = 1;
    }
    
    // 
    repeated HotSearchRsp.Item items = 1;
    // 
    string version = 2;
}

// 
message ICreateGoodsReplySyncReq {
    // 
    int64 uid = 1;
    // 
    int64 goods_id = 2;
    // 
    bilibili.dynamic.common.CreateContent content = 3;
    // 
    bilibili.dynamic.common.CreateScene scene = 4;
    // 
    repeated bilibili.dynamic.common.CreatePic pics = 5;
}

// 
message ICreateResp {
    // 
    int64 dyn_id = 1;
    // 
    int64 dyn_type = 2;
    // 
    int64 dyn_rid = 3;
}

// 
message LbsLocation {
    // 
    double lat = 1;
    // 
    double lng = 2;
}

// 
enum MaxPicCountType {
    // 
    MAX_PIC_COUNT_NINE = 0;
    // 
    MAX_PIC_COUNT_EIGHTEEN = 1;
}

// 
message NearbyPoiDetail {
    // 
    LbsLocation location = 1;
    // 
    POI_TYPE type = 2;
    // 
    string poi = 3;
    // 
    string address = 4;
    // 
    string title = 5;
    // 
    string show_title = 6;
    // 
    double distance = 7;
    // 
    string show_distance = 8;
    // 
    AdInfoDetail ad_info = 9;
    // 
    repeated PoiId ancestors = 10;
}

// 
message NearbyPoiListItem {
    // 
    NearbyPoiDetail poi_info = 1;
    // 
    int32 user_count = 2;
}

// 
message NearbyPoiListReq {
    // 
    double lat = 1;
    // 
    double lng = 2;
    // 
    int32 page = 3;
    // 
    int32 page_size = 4;
}

// 
message NearbyPoiListRsp {
    // 
    bool has_more = 1;
    // 
    repeated NearbyPoiListItem pois = 2;
}

// 
enum POI_TYPE {
    // 
    TENCENT = 0;
    // 
    CITY = 1;
    // 
    NATION = 2;
    // 
    BILI = 3;
}

// 
message PoiDetail {
    // 
    LbsLocation location = 1;
    // 
    POI_TYPE type = 2;
    // 
    string poi = 3;
    // 
    string address = 4;
    // 
    string title = 5;
    // 
    string show_title = 6;
    // 
    double distance = 7;
    // 
    string show_distance = 8;
    // 
    AdInfoDetail ad_info = 9;
    // 
    PoiId ancestors = 10;
}

// 
message PoiId {
    // 
    string poi = 1;
    // 
    int32 type = 2;
}

// 
message PoiListItem {
    // 
    PoiDetail poi_info = 1;
    // 
    int32 user_count = 2;
}

// 
message RecommendPoiReq {
    // 
    double lat = 1;
    // 
    double lng = 2;
}

// 
message RecommendPoiRsp {
    // 
    NearbyPoiDetail poi = 1;
    // 
    NearbyPoiDetail parent_poi = 2;
}

// 
message ReserveButtonClickReq {
    // 
    int64 uid = 1;
    // 
    int64 reserve_id = 2;
    // 
    int64 reserve_total = 3;
    // 
    ReserveButtonStatus cur_btn_status = 4;
    // 
    string spmid = 5;
    // 
    int64 dyn_id = 6;
    // 
    int64 dyn_type = 7;
}

// 
message ReserveButtonClickResp {
    // 
    ReserveButtonStatus final_btn_status = 1;
    // 
    ReserveButtonMode btn_mode = 2;
    // 
    int64 reserve_update = 3;
    // 
    string desc_update = 4;
    // 
    bool has_activity = 5;
    // 
    string activity_url = 6;
    // 
    string toast = 7;
    // 
    ReserveCalendarInfo reserve_calendar_info = 8;
}

// 
enum ReserveButtonMode {
    // 
    RESERVE_BUTTON_MODE_NONE = 0;
    // 
    RESERVE_BUTTON_MODE_RESERVE = 1;
    // 
    RESERVE_BUTTON_MODE_UP_CANCEL = 2;
}

// 
enum ReserveButtonStatus {
    // 
    RESERVE_BUTTON_STATUS_NONE = 0;
    // 
    RESERVE_BUTTON_STATUS_UNCHECK = 1;
    // 
    RESERVE_BUTTON_STATUS_CHECK = 2;
}

// 
message ReserveCalendarInfo {
    // 
    string title = 1;
    // 
    int64 start_ts = 2;
    // 
    int64 end_ts = 3;
    // 
    string description = 4;
    // 
    string bussiness_id = 5;
    // 
    string url = 6;
}

// 
message RmDynReq {
    // 
    int64 dyn_id = 1;
    // 
    string dyn_id_str = 2;
    // 
    int64 dyn_type = 3;
    // 
    string rid_str = 4;
}

// 
message RmDynRsp {
}

// 
message RmSpaceTopReq {
    // 
    int64 dyn_id = 1;
    // 
    int32 teenagers_mode = 2;
}

// 
message RmSpaceTopRsp {
}

// 
message SearchPoiListReq {
    // 
    double lat = 1;
    // 
    double lng = 2;
    // 
    int32 page = 3;
    // 
    int32 page_size = 4;
    // 
    string keyword = 5;
}

// 
message SearchPoiListRsp {
    // 
    bool has_more = 1;
    // 
    repeated PoiListItem pois = 2;
}

// 
message SetSpaceTopReq {
    // 
    int64 dyn_id = 1;
    // 
    int32 teenagers_mode = 2;
}

// 
message SetSpaceTopRsp {
}

// 
message SubmitCheckReq {
    // 
    bilibili.dynamic.common.CreateContent content = 1;
    // 
    repeated bilibili.dynamic.common.CreatePic pics = 2;
    // 
    bilibili.dynamic.common.CreateAttachCard attach_card = 3;
    // 
    bilibili.dynamic.common.CreateScene scene = 4;
    // 
    bilibili.dynamic.common.CreateOption create_option = 5;
    // 
    bilibili.dynamic.common.Opus opus = 6;
    // 
    string dyn_id_str = 7;
}

// 
message SubmitCheckRsp {
}

// 
message SuggestReq {
    // 
    string s = 1;
    // 
    int32 type = 2;
}

// 
message SuggestRsp {
    // 
    repeated string list = 1;
    // 
    string track_id = 2;
    // 
    string version = 3;
}

