frontend/types/interfaces.ts
2025-06-01 17:46:09 +02:00

73 lines
1.3 KiB
TypeScript

export interface ChannelPermissionResponse {
channel_uuid: string,
role_uuid: string,
permissions: number
}
export interface RoleResponse {
uuid: string,
guild_uuid: string,
name: string,
color: number,
position: number,
permissions: number
}
export interface GuildResponse {
uuid: string,
name: string,
description: string | null,
icon: string | null,
owner_uuid: string,
roles: [],
member_count: number
}
export interface GuildMemberResponse {
uuid: string,
nickname: string,
user_uuid: string,
guild_uuid: string,
user: UserResponse
}
export interface ChannelResponse {
uuid: string,
guild_uuid: string,
name: string,
description: string,
permissions: ChannelPermissionResponse[]
}
export interface MessageResponse {
uuid: string,
channel_uuid: string,
user_uuid: string,
message: string,
user: UserResponse
}
export interface InviteResponse {
id: string,
user_uuid: string,
guild_uuid: string
}
export interface UserResponse {
uuid: string,
username: string,
display_name: string | null,
avatar: string,
pronouns: string | null,
email?: string,
email_verified?: boolean
}
export interface StatsResponse {
accounts: number,
uptime: number,
version: string,
registration_enabled: boolean,
email_verification_required: boolean,
build_number: string
}