frontend/types/interfaces.ts
Radical 6141cac41a
All checks were successful
ci/woodpecker/manual/build-and-publish Pipeline was successful
Merge branch 'settings-page'
co-authored-by: JustTemmie <git@beaver.mom>
2025-06-23 21:11:08 +02:00

85 lines
1.5 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 | null,
pronouns: string | null,
about: 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
}
export interface ScrollPosition {
scrollHeight: number,
scrollWidth: number,
scrollTop: number,
scrollLeft: number
offsetHeight: number,
offsetWidth: number,
offsetTop: number,
offsetLeft: number
}