syntax = "proto3";
package wechaty.puppet;

option go_package="github.com/wechaty/go-grpc/wechaty/puppet";
option java_package="io.github.wechaty.grpc.puppet";
option csharp_namespace = "github.wechaty.grpc.puppet";

import "google/protobuf/timestamp.proto";

/**
 * @deprecated
 *  Huan(202109): will be removed after Dec 31, 2022
 *    https://cloud.google.com/apis/design/design_patterns#optional_primitive_fields
 */
import "google/protobuf/wrappers.proto";

message RoomInvitationPayloadRequest {
  string                      id      = 1;
  /**
   * Huan(202002): `payload` should be removed.
   *  The puppet server should take the responsibilities
   *  for storing the unaccepted friend-request payload.
   *
   * @deprecated: use payload instead.
   *  Huan(202109): Wrapper types must not be used going forward.
   *    https://cloud.google.com/apis/design/design_patterns#optional_primitive_fields
   */
  google.protobuf.StringValue payload_string_value_deprecated = 2 [deprecated = true];  // Deprecated: will be removed after Dec 31, 2022
  string payload = 3;
}
message RoomInvitationPayloadResponse {
  string   id                = 1;
  string   inviter_id        = 2; // 邀请者id
  string   topic             = 3; // 群名称
  int32    member_count      = 4; // 群成员数量
  repeated string member_ids = 5; // 群成员id列表
  /**
   * @deprecated will be removed after Dec 31, 2022
   *  Huan(202109): use receive_time(10) instead
   */
  uint64   timestamp_uint64_deprecated = 6 [deprecated = true]; // Deprecated: will be removed after Dec 31, 2022
  string   avatar            = 7; // 群头像
  string   invitation        = 8; // 在企微中为群邀请的链接地址
  string   receiver_id       = 9; // 收到群邀请的成员id
  google.protobuf.Timestamp receive_time = 10; // 时间戳
}

message RoomInvitationAcceptRequest {
  string id = 1;
}
message RoomInvitationAcceptResponse {}

message RoomInvitationAcceptByQRCodeRequest {
  string qrcode = 1;
}
message RoomInvitationAcceptByQRCodeResponse {
  string room_id = 1;
  string chat_id = 2;
}
