meztide/api_models/
login.rs1use serde::{Deserialize, Serialize};
2
3use crate::ids::UserId;
4
5#[derive(Debug, Deserialize, Serialize)]
6pub struct LoginUserInfo {
7 pub id: UserId,
8 pub username: Box<str>,
9 pub is_site_admin: bool,
10 pub has_unread_notifications: bool,
11 pub has_pending_moderation_actions: bool,
12}
13
14#[derive(Debug, Deserialize, Serialize)]
15pub struct LoginInfo {
16 pub user: LoginUserInfo,
17 pub permissions: Option<LoginPermissions>,
18}
19
20#[derive(Debug, Deserialize, Serialize)]
21pub struct LoginPermissions {
22 pub create_community: PermissionInfo,
23 pub create_invitation: PermissionInfo,
24}
25
26#[derive(Debug, Deserialize, Serialize)]
27pub struct PermissionInfo {
28 pub allowed: bool,
29}