Clean up some schemas

This commit is contained in:
Rory&
2026-08-08 06:53:15 +02:00
parent 580d438c3a
commit fc086ddcea
32 changed files with 143 additions and 71 deletions
+2 -1
View File
@@ -17,7 +17,7 @@
*/
import { ConnectedAccount, Invite, Role, Emoji, Channel, User, Sticker, UserSettings, ReadState, ThreadMember } from "@spacebar/database";
import { Activity, Presence, IReadyGuildDTO, ReadyUserGuildSettingsEntries, ReadyPrivateChannel, GuildOrUnavailable, Snowflake, PrivateStatus } from "@spacebar/util";
import { Activity, Presence, IReadyGuildDTO, ReadyUserGuildSettingsEntries, ReadyPrivateChannel, GuildOrUnavailable, Snowflake } from "@spacebar/util";
import { JsonValue } from "@protobuf-ts/runtime";
import {
ApplicationCommand,
@@ -25,6 +25,7 @@ import {
Interaction,
InteractionFailureReason,
PartialEmoji,
PrivateStatus,
PublicChannel,
PublicMember,
PublicMessage,
-10
View File
@@ -1,10 +0,0 @@
export interface GuildWelcomeScreen {
enabled: boolean;
description: string;
welcome_channels: {
description: string;
emoji_id?: string;
emoji_name?: string;
channel_id: string;
}[];
}
+1 -2
View File
@@ -16,9 +16,8 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import { ClientStatus, Status } from "./Status";
import { ClientStatus, Status, PublicUser } from "@spacebar/schemas";
import { Activity } from "./Activity";
import { PublicUser } from "@spacebar/schemas";
export interface Presence {
user: PublicUser;
-56
View File
@@ -1,56 +0,0 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export enum PublicStatusOrder {
online = 0,
idle = 1,
dnd = 2,
offline = 3,
}
export enum InternalStatusOrder {
online = 0,
idle = 1,
dnd = 2,
invisible = 3,
offline = 4,
unknown = 5,
}
export type PublicStatus = keyof typeof PublicStatusOrder;
export type PrivateStatus = PublicStatus | "invisible";
export type SetPrivateStatus = PrivateStatus | "unknown";
// @deprecated Use PublicStatus, PrivateStatus or SetPrivateStatus instead
export type Status =
| "idle"
| "dnd"
| "online"
| "offline"
// Send only
| "invisible"
// Identify only
| "unknown";
export interface ClientStatus {
desktop?: string; // e.g. Windows/Linux/Mac
mobile?: string; // e.g. iOS/Android
web?: string; // e.g. browser, bot account, unknown
embedded?: string; // e.g. embedded
vr?: string;
}
-1
View File
@@ -21,4 +21,3 @@ export * from "./ConnectedAccount";
export * from "./Event";
export * from "./GuildWelcomeScreen";
export * from "./Presence";
export * from "./Status";