mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-07 19:22:14 +09:00
refactor(schema): simplify validation and OpenAPI generation (#2709)
This commit is contained in:
@@ -8,6 +8,7 @@ publish = false
|
||||
[dependencies]
|
||||
anyhow = "1.0.104"
|
||||
chrono = { version = "0.4", default-features = false }
|
||||
fluxer_common = { path = "../fluxer_common" }
|
||||
fluxer-svc = { path = "../fluxer_svc" }
|
||||
futures = "0.3.32"
|
||||
moka = { version = "0.12.15", features = ["future", "sync"] }
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
#[cfg(test)]
|
||||
use fluxer_common::user_flags::{USER_FLAG_PARTNER, USER_FLAG_STAFF_HIDDEN};
|
||||
use fluxer_common::user_flags::{USER_FLAG_STAFF, visible_user_flags};
|
||||
use serde::{Deserialize, Deserializer, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
@@ -134,20 +137,6 @@ pub struct ApiUserPartial {
|
||||
pub mention_flags: Option<i32>,
|
||||
}
|
||||
|
||||
const USER_FLAG_STAFF: i64 = 1 << 0;
|
||||
const USER_FLAG_PARTNER: i64 = 1 << 2;
|
||||
const USER_FLAG_BUG_HUNTER: i64 = 1 << 3;
|
||||
const USER_FLAG_FRIENDLY_BOT: i64 = 1 << 4;
|
||||
const USER_FLAG_FRIENDLY_BOT_MANUAL_APPROVAL: i64 = 1 << 5;
|
||||
const USER_FLAG_SPAMMER: i64 = 1 << 6;
|
||||
const USER_FLAG_STAFF_HIDDEN: i64 = 1 << 57;
|
||||
const PUBLIC_USER_FLAGS: i64 = USER_FLAG_STAFF
|
||||
| USER_FLAG_PARTNER
|
||||
| USER_FLAG_BUG_HUNTER
|
||||
| USER_FLAG_FRIENDLY_BOT
|
||||
| USER_FLAG_FRIENDLY_BOT_MANUAL_APPROVAL
|
||||
| USER_FLAG_SPAMMER;
|
||||
const PUBLIC_USER_FLAGS_WITHOUT_STAFF: i64 = PUBLIC_USER_FLAGS & !USER_FLAG_STAFF;
|
||||
const FLUXER_SYSTEM_USER_ID: i64 = 0;
|
||||
const FLUXER_SYSTEM_USERNAME: &str = "Fluxer";
|
||||
const FLUXER_SYSTEM_DISCRIMINATOR: &str = "0000";
|
||||
@@ -210,15 +199,6 @@ impl UserPartial {
|
||||
}
|
||||
}
|
||||
|
||||
fn visible_user_flags(flags: i64) -> i32 {
|
||||
let visible_flags = if (flags & USER_FLAG_STAFF_HIDDEN) != 0 {
|
||||
PUBLIC_USER_FLAGS_WITHOUT_STAFF
|
||||
} else {
|
||||
PUBLIC_USER_FLAGS
|
||||
};
|
||||
(flags & visible_flags) as i32
|
||||
}
|
||||
|
||||
fn fluxer_system_user() -> ApiUserPartial {
|
||||
ApiUserPartial {
|
||||
id: FLUXER_SYSTEM_USER_ID.to_string(),
|
||||
|
||||
Reference in New Issue
Block a user