luckperms_rs/requests/
permission_check.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4#[serde(rename_all = "camelCase")]
5pub struct PermissionCheckRequest {
6 pub permission: String,
7 pub query_options: QueryOptions,
8}
9
10#[derive(Debug, Serialize, Deserialize)]
11#[serde(rename_all = "camelCase")]
12pub struct QueryOptions {
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub mode: Option<QueryMode>,
15 #[serde(skip_serializing_if = "Vec::is_empty")]
16 pub flags: Vec<QueryFlag>,
17 #[serde(skip_serializing_if = "Vec::is_empty")]
18 pub contexts: Vec<Context>,
19}
20
21#[derive(Debug, Serialize, Deserialize)]
22#[serde(rename_all = "snake_case")]
23pub enum QueryMode {
24 Contextual,
25 NonContextual,
26}
27
28#[derive(Debug, Serialize, Deserialize)]
29#[serde(rename_all = "snake_case")]
30pub enum QueryFlag {
31 ResolveInheritance,
32 IncludeNodesWithoutServerContext,
33 IncludeNodesWithoutWorldContext,
34 ApplyInheritanceNodesWithoutServerContext,
35 ApplyInheritanceNodesWithoutWorldContext,
36}
37
38#[derive(Debug, Serialize, Deserialize)]
39#[serde(rename_all = "camelCase")]
40pub struct Context {
41 pub key: String,
42 pub value: String,
43}