Skip to main content

nil_payload/
report.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use nil_core::player::PlayerId;
5use nil_core::report::ReportId;
6use nil_core::world::config::WorldId;
7use serde::{Deserialize, Serialize};
8use std::collections::HashSet;
9
10#[derive(Clone, Debug, Deserialize, Serialize)]
11#[serde(rename_all = "camelCase")]
12pub struct ForwardReportRequest {
13  pub world: WorldId,
14  pub id: ReportId,
15  pub recipient: PlayerId,
16}
17
18#[derive(Clone, Debug, Deserialize, Serialize)]
19#[serde(rename_all = "camelCase")]
20pub struct GetReportRequest {
21  pub world: WorldId,
22  pub id: ReportId,
23}
24
25#[derive(Clone, Debug, Deserialize, Serialize)]
26#[serde(rename_all = "camelCase")]
27pub struct GetReportsRequest {
28  pub world: WorldId,
29  pub ids: HashSet<ReportId>,
30  #[serde(default)]
31  pub limit: Option<usize>,
32}