privchat_protocol/rpc/group/transfer.rs
1// Copyright 2025 Shanghai Boyu Information Technology Co., Ltd.
2// https://privchat.dev
3//
4// Author: zoujiaqing <zoujiaqing@gmail.com>
5//
6// Licensed under the Apache License, Version 2.0 (the "License");
7// you may not use this file except in compliance with the License.
8// You may obtain a copy of the License at
9//
10// http://www.apache.org/licenses/LICENSE-2.0
11//
12// Unless required by applicable law or agreed to in writing, software
13// distributed under the License is distributed on an "AS IS" BASIS,
14// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15// See the License for the specific language governing permissions and
16// limitations under the License.
17
18/// 群主转让 RPC
19use serde::{Deserialize, Serialize};
20
21/// 转让群主请求
22///
23/// RPC路由: `group/role/transfer_owner`
24#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct GroupTransferOwnerRequest {
26 /// 群组ID
27 pub group_id: u64,
28 /// 当前群主ID
29 pub current_owner_id: u64,
30 /// 新群主ID
31 pub new_owner_id: u64,
32}
33
34/// 转让群主响应
35///
36/// RPC路由: `group/role/transfer_owner`
37#[derive(Debug, Clone, Serialize, Deserialize)]
38pub struct GroupTransferOwnerResponse {
39 pub group_id: u64,
40 pub new_owner_id: u64,
41 pub transferred_at: Option<String>, // ISO 8601,可选
42}