summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/api/middlewares/Authentication.ts3
-rw-r--r--src/api/routes/applications/#application_id/bot/index.ts5
-rw-r--r--src/api/routes/applications/#application_id/commands/#command_id/index.ts7
-rw-r--r--src/api/routes/applications/#application_id/commands/index.ts7
-rw-r--r--src/api/routes/applications/#application_id/guilds/#guild_id/commands/#command_id/index.ts7
-rw-r--r--src/api/routes/applications/#application_id/guilds/#guild_id/commands/index.ts7
-rw-r--r--src/api/routes/applications/#application_id/index.ts5
-rw-r--r--src/api/routes/applications/@me.ts5
-rw-r--r--src/api/routes/applications/index.ts5
-rw-r--r--src/api/routes/auth/forgot.ts6
-rw-r--r--src/api/routes/auth/generate-registration-tokens.ts8
-rw-r--r--src/api/routes/auth/login.ts10
-rw-r--r--src/api/routes/auth/logout.ts8
-rw-r--r--src/api/routes/auth/mfa/totp.ts6
-rw-r--r--src/api/routes/auth/mfa/webauthn.ts6
-rw-r--r--src/api/routes/auth/register.ts5
-rw-r--r--src/api/routes/auth/reset.ts5
-rw-r--r--src/api/routes/auth/sessions.ts10
-rw-r--r--src/api/routes/auth/verify/index.ts6
-rw-r--r--src/api/routes/auth/verify/resend.ts6
-rw-r--r--src/api/routes/auth/verify/view-backup-codes-challenge.ts6
-rw-r--r--src/api/routes/channels/#channel_id/attachments.ts5
-rw-r--r--src/api/routes/channels/#channel_id/greet.ts5
-rw-r--r--src/api/routes/channels/#channel_id/index.ts5
-rw-r--r--src/api/routes/channels/#channel_id/invites.ts5
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/ack.ts5
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/index.ts12
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts12
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/threads.ts6
-rw-r--r--src/api/routes/channels/#channel_id/messages/bulk-delete.ts5
-rw-r--r--src/api/routes/channels/#channel_id/messages/index.ts10
-rw-r--r--src/api/routes/channels/#channel_id/messages/pins/index.ts5
-rw-r--r--src/api/routes/channels/#channel_id/messages/search.ts5
-rw-r--r--src/api/routes/channels/#channel_id/permissions.ts5
-rw-r--r--src/api/routes/channels/#channel_id/pins.ts5
-rw-r--r--src/api/routes/channels/#channel_id/post-data.ts7
-rw-r--r--src/api/routes/channels/#channel_id/purge.ts9
-rw-r--r--src/api/routes/channels/#channel_id/recipients.ts5
-rw-r--r--src/api/routes/channels/#channel_id/tags.ts7
-rw-r--r--src/api/routes/channels/#channel_id/thread-members.ts8
-rw-r--r--src/api/routes/channels/#channel_id/threads.ts25
-rw-r--r--src/api/routes/channels/#channel_id/typing.ts5
-rw-r--r--src/api/routes/channels/#channel_id/webhooks.ts5
-rw-r--r--src/api/routes/channels/preload-messages.ts6
-rw-r--r--src/api/routes/discoverable-guilds.ts6
-rw-r--r--src/api/routes/discovery.ts4
-rw-r--r--src/api/routes/download.ts5
-rw-r--r--src/api/routes/emojis/#emoji_id/source.ts5
-rw-r--r--src/api/routes/guild-recommendations.ts6
-rw-r--r--src/api/routes/guilds/#guild_id/application-command-index.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/auto-moderation/rules.ts4
-rw-r--r--src/api/routes/guilds/#guild_id/bans.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/bulk-ban.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/channels.ts6
-rw-r--r--src/api/routes/guilds/#guild_id/delete.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/emojis.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/index.ts18
-rw-r--r--src/api/routes/guilds/#guild_id/invites.ts4
-rw-r--r--src/api/routes/guilds/#guild_id/members/#member_id/index.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/members/#member_id/nick.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts2
-rw-r--r--src/api/routes/guilds/#guild_id/members/index.ts4
-rw-r--r--src/api/routes/guilds/#guild_id/messages/search.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/profile.ts2
-rw-r--r--src/api/routes/guilds/#guild_id/profile/index.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/prune.ts6
-rw-r--r--src/api/routes/guilds/#guild_id/regions.ts2
-rw-r--r--src/api/routes/guilds/#guild_id/roles/#role_id/index.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/roles/#role_id/member-ids.ts2
-rw-r--r--src/api/routes/guilds/#guild_id/roles/#role_id/members.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/roles/index.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/roles/member-counts.ts2
-rw-r--r--src/api/routes/guilds/#guild_id/shield.svg.ts11
-rw-r--r--src/api/routes/guilds/#guild_id/stickers.ts6
-rw-r--r--src/api/routes/guilds/#guild_id/templates.ts4
-rw-r--r--src/api/routes/guilds/#guild_id/vanity-url.ts4
-rw-r--r--src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/webhooks.ts6
-rw-r--r--src/api/routes/guilds/#guild_id/welcome-screen.ts4
-rw-r--r--src/api/routes/guilds/#guild_id/widget.json.ts5
-rw-r--r--src/api/routes/guilds/#guild_id/widget.png.ts9
-rw-r--r--src/api/routes/guilds/#guild_id/widget.ts2
-rw-r--r--src/api/routes/guilds/index.ts5
-rw-r--r--src/api/routes/guilds/templates/index.ts5
-rw-r--r--src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts7
-rw-r--r--src/api/routes/interactions/index.ts5
-rw-r--r--src/api/routes/invites/index.ts3
-rw-r--r--src/api/routes/oauth2/applications/@me.ts5
-rw-r--r--src/api/routes/oauth2/authorize.ts6
-rw-r--r--src/api/routes/policies/stats.ts5
-rw-r--r--src/api/routes/read-states/ack-bulk.ts5
-rw-r--r--src/api/routes/safety-hub/@me/index.ts2
-rw-r--r--src/api/routes/safety-hub/suspended/@me.ts4
-rw-r--r--src/api/routes/sticker-packs/index.ts2
-rw-r--r--src/api/routes/stickers/#sticker_id/index.ts5
-rw-r--r--src/api/routes/teams.ts4
-rw-r--r--src/api/routes/updates.ts5
-rw-r--r--src/api/routes/users/#user_id/delete.ts18
-rw-r--r--src/api/routes/users/#user_id/index.ts2
-rw-r--r--src/api/routes/users/#user_id/messages.ts6
-rw-r--r--src/api/routes/users/#user_id/profile.ts5
-rw-r--r--src/api/routes/users/#user_id/relationships.ts2
-rw-r--r--src/api/routes/users/@me/channels.ts5
-rw-r--r--src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts6
-rw-r--r--src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts6
-rw-r--r--src/api/routes/users/@me/connections/index.ts3
-rw-r--r--src/api/routes/users/@me/delete.ts4
-rw-r--r--src/api/routes/users/@me/disable.ts2
-rw-r--r--src/api/routes/users/@me/guilds.ts5
-rw-r--r--src/api/routes/users/@me/guilds/#guild_id/settings.ts5
-rw-r--r--src/api/routes/users/@me/index.ts5
-rw-r--r--src/api/routes/users/@me/mentions.ts5
-rw-r--r--src/api/routes/users/@me/mfa/codes-verification.ts5
-rw-r--r--src/api/routes/users/@me/mfa/codes.ts5
-rw-r--r--src/api/routes/users/@me/mfa/totp/disable.ts5
-rw-r--r--src/api/routes/users/@me/mfa/totp/enable.ts5
-rw-r--r--src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts2
-rw-r--r--src/api/routes/users/@me/mfa/webauthn/credentials/index.ts6
-rw-r--r--src/api/routes/users/@me/notes.ts5
-rw-r--r--src/api/routes/users/@me/relationships.ts5
-rw-r--r--src/api/routes/users/@me/settings-proto/1.ts5
-rw-r--r--src/api/routes/users/@me/settings-proto/2.ts5
-rw-r--r--src/api/routes/users/@me/settings.ts5
-rw-r--r--src/api/routes/webhooks/#webhook_id/#token/index.ts25
-rw-r--r--src/api/routes/webhooks/#webhook_id/index.ts38
-rw-r--r--src/api/util/handlers/Instance.ts3
-rw-r--r--src/api/util/handlers/Message.ts15
-rw-r--r--src/api/util/handlers/Webhook.ts5
-rw-r--r--src/api/util/utility/EmbedHandlers.ts7
-rw-r--r--src/cdn/Server.ts4
-rw-r--r--src/cdn/routes/attachments.ts11
-rw-r--r--src/connections/BattleNet/index.ts4
-rw-r--r--src/connections/Discord/index.ts4
-rw-r--r--src/connections/EpicGames/index.ts4
-rw-r--r--src/connections/Facebook/index.ts4
-rw-r--r--src/connections/GitHub/index.ts5
-rw-r--r--src/connections/Reddit/index.ts4
-rw-r--r--src/connections/Spotify/index.ts5
-rw-r--r--src/connections/Twitch/index.ts4
-rw-r--r--src/connections/Twitter/index.ts5
-rw-r--r--src/connections/Xbox/index.ts4
-rw-r--r--src/connections/Youtube/index.ts4
-rw-r--r--src/database/Database.ts2
-rw-r--r--src/database/entities/Application.ts (renamed from src/util/entities/Application.ts)0
-rw-r--r--src/database/entities/ApplicationCommand.ts (renamed from src/util/entities/ApplicationCommand.ts)0
-rw-r--r--src/database/entities/Attachment.ts (renamed from src/util/entities/Attachment.ts)4
-rw-r--r--src/database/entities/AuditLog.ts (renamed from src/util/entities/AuditLog.ts)0
-rw-r--r--src/database/entities/AutomodRule.ts (renamed from src/util/entities/AutomodRule.ts)0
-rw-r--r--src/database/entities/BackupCodes.ts (renamed from src/util/entities/BackupCodes.ts)2
-rw-r--r--src/database/entities/Badge.ts (renamed from src/util/entities/Badge.ts)0
-rw-r--r--src/database/entities/Ban.ts (renamed from src/util/entities/Ban.ts)0
-rw-r--r--src/database/entities/BaseClass.ts (renamed from src/util/entities/BaseClass.ts)8
-rw-r--r--src/database/entities/Categories.ts (renamed from src/util/entities/Categories.ts)0
-rw-r--r--src/database/entities/Channel.ts (renamed from src/util/entities/Channel.ts)8
-rw-r--r--src/database/entities/ClientRelease.ts (renamed from src/util/entities/ClientRelease.ts)0
-rw-r--r--src/database/entities/CloudAttachment.ts (renamed from src/util/entities/CloudAttachment.ts)0
-rw-r--r--src/database/entities/Config.ts (renamed from src/util/entities/Config.ts)0
-rw-r--r--src/database/entities/ConnectedAccount.ts (renamed from src/util/entities/ConnectedAccount.ts)0
-rw-r--r--src/database/entities/ConnectionConfigEntity.ts (renamed from src/util/entities/ConnectionConfigEntity.ts)0
-rw-r--r--src/database/entities/EmbedCache.ts (renamed from src/util/entities/EmbedCache.ts)0
-rw-r--r--src/database/entities/Emoji.ts (renamed from src/util/entities/Emoji.ts)2
-rw-r--r--src/database/entities/Encryption.ts (renamed from src/util/entities/Encryption.ts)0
-rw-r--r--src/database/entities/Guild.ts (renamed from src/util/entities/Guild.ts)2
-rw-r--r--src/database/entities/InstanceBan.ts (renamed from src/util/entities/InstanceBan.ts)0
-rw-r--r--src/database/entities/Invite.ts (renamed from src/util/entities/Invite.ts)0
-rw-r--r--src/database/entities/Member.ts (renamed from src/util/entities/Member.ts)8
-rw-r--r--src/database/entities/Message.ts (renamed from src/util/entities/Message.ts)4
-rw-r--r--src/database/entities/Migration.ts (renamed from src/util/entities/Migration.ts)0
-rw-r--r--src/database/entities/Note.ts (renamed from src/util/entities/Note.ts)0
-rw-r--r--src/database/entities/RateLimit.ts (renamed from src/util/entities/RateLimit.ts)0
-rw-r--r--src/database/entities/ReadState.ts (renamed from src/util/entities/ReadState.ts)0
-rw-r--r--src/database/entities/Recipient.ts (renamed from src/util/entities/Recipient.ts)0
-rw-r--r--src/database/entities/Relationship.ts (renamed from src/util/entities/Relationship.ts)0
-rw-r--r--src/database/entities/ReportMenu.ts (renamed from src/util/entities/ReportMenu.ts)0
-rw-r--r--src/database/entities/Role.ts (renamed from src/util/entities/Role.ts)0
-rw-r--r--src/database/entities/SecurityKey.ts (renamed from src/util/entities/SecurityKey.ts)0
-rw-r--r--src/database/entities/Session.ts (renamed from src/util/entities/Session.ts)4
-rw-r--r--src/database/entities/Sticker.ts (renamed from src/util/entities/Sticker.ts)0
-rw-r--r--src/database/entities/StickerPack.ts (renamed from src/util/entities/StickerPack.ts)2
-rw-r--r--src/database/entities/Stream.ts (renamed from src/util/entities/Stream.ts)0
-rw-r--r--src/database/entities/StreamSession.ts (renamed from src/util/entities/StreamSession.ts)0
-rw-r--r--src/database/entities/Tag.ts (renamed from src/util/entities/Tag.ts)0
-rw-r--r--src/database/entities/Team.ts (renamed from src/util/entities/Team.ts)0
-rw-r--r--src/database/entities/TeamMember.ts (renamed from src/util/entities/TeamMember.ts)0
-rw-r--r--src/database/entities/Template.ts (renamed from src/util/entities/Template.ts)0
-rw-r--r--src/database/entities/ThreadMember.ts (renamed from src/util/entities/ThreadMember.ts)4
-rw-r--r--src/database/entities/User.ts (renamed from src/util/entities/User.ts)7
-rw-r--r--src/database/entities/UserSettings.ts (renamed from src/util/entities/UserSettings.ts)0
-rw-r--r--src/database/entities/UserSettingsProtos.ts (renamed from src/util/entities/UserSettingsProtos.ts)0
-rw-r--r--src/database/entities/ValidRegistrationTokens.ts (renamed from src/util/entities/ValidRegistrationTokens.ts)0
-rw-r--r--src/database/entities/VoiceState.ts (renamed from src/util/entities/VoiceState.ts)0
-rw-r--r--src/database/entities/Webhook.ts (renamed from src/util/entities/Webhook.ts)0
-rw-r--r--src/database/entities/index.ts (renamed from src/util/entities/index.ts)0
-rw-r--r--src/database/index.ts3
-rw-r--r--src/gateway/events/Close.ts5
-rw-r--r--src/gateway/listener/listener.ts23
-rw-r--r--src/gateway/opcodes/GuildSync.ts5
-rw-r--r--src/gateway/opcodes/Heartbeat.ts4
-rw-r--r--src/gateway/opcodes/Identify.ts34
-rw-r--r--src/gateway/opcodes/LazyRequest.ts4
-rw-r--r--src/gateway/opcodes/PresenceUpdate.ts5
-rw-r--r--src/gateway/opcodes/RequestChannelInfo.ts3
-rw-r--r--src/gateway/opcodes/RequestGuildMembers.ts4
-rw-r--r--src/gateway/opcodes/StreamCreate.ts33
-rw-r--r--src/gateway/opcodes/StreamDelete.ts21
-rw-r--r--src/gateway/opcodes/StreamWatch.ts25
-rw-r--r--src/gateway/opcodes/VoiceStateUpdate.ts5
-rw-r--r--src/gateway/util/Utils.ts4
-rw-r--r--src/gateway/util/WebSocket.ts5
-rw-r--r--src/schemas/api/bots/InteractionCreateSchema.ts2
-rw-r--r--src/schemas/api/channels/Channel.ts2
-rw-r--r--src/schemas/api/guilds/VoiceState.ts2
-rw-r--r--src/schemas/api/messages/Message.ts2
-rw-r--r--src/schemas/api/users/ConnectedAccount.ts2
-rw-r--r--src/schemas/api/users/Member.ts4
-rw-r--r--src/schemas/api/users/User.ts2
-rw-r--r--src/schemas/api/users/index.ts1
-rw-r--r--src/schemas/responses/DiscoverableGuildsResponse.ts2
-rw-r--r--src/schemas/responses/EmailDomainLookupVerifyCodeResponse.ts2
-rw-r--r--src/schemas/responses/EmojiSourceResponse.ts2
-rw-r--r--src/schemas/responses/GuildMessagesSearchResponse.ts2
-rw-r--r--src/schemas/responses/GuildRecommendationsResponse.ts2
-rw-r--r--src/schemas/responses/HubDirectoryEntriesResponse.ts2
-rw-r--r--src/schemas/responses/MemberJoinGuildResponse.ts2
-rw-r--r--src/schemas/responses/PreloadMessagesResponseSchema.ts2
-rw-r--r--src/schemas/responses/TeamListResponse.ts2
-rw-r--r--src/schemas/responses/TokenResponse.ts2
-rw-r--r--src/schemas/responses/TypedResponses.ts2
-rw-r--r--src/schemas/responses/UserProfileResponse.ts2
-rw-r--r--src/schemas/responses/WebhookCreateResponse.ts2
-rw-r--r--src/util/connections/Connection.ts2
-rw-r--r--src/util/connections/ConnectionConfig.ts2
-rw-r--r--src/util/connections/RefreshableConnection.ts2
-rw-r--r--src/util/dtos/ConnectedAccountDTO.ts2
-rw-r--r--src/util/dtos/DmChannelDTO.ts2
-rw-r--r--src/util/dtos/ReadyGuildDTO.ts2
-rw-r--r--src/util/dtos/UserDTO.ts2
-rw-r--r--src/util/index.ts2
-rw-r--r--src/util/interfaces/Event.ts23
-rw-r--r--src/util/util/Application.ts20
-rw-r--r--src/util/util/Config.ts2
-rw-r--r--src/util/util/Decorators.ts20
-rw-r--r--src/util/util/Permissions.ts2
-rw-r--r--src/util/util/Presence.ts3
-rw-r--r--src/util/util/Rights.ts2
-rw-r--r--src/util/util/Token.ts2
-rw-r--r--src/util/util/cdn.ts2
-rw-r--r--src/util/util/email/index.ts2
-rw-r--r--src/webrtc/opcodes/Identify.ts2
-rw-r--r--src/webrtc/opcodes/Video.ts3
250 files changed, 694 insertions, 537 deletions
diff --git a/src/api/middlewares/Authentication.ts b/src/api/middlewares/Authentication.ts

index f6741342..9e2fa817 100644 --- a/src/api/middlewares/Authentication.ts +++ b/src/api/middlewares/Authentication.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { checkToken, Rights, Session, User, UserTokenData } from "@spacebar/util"; import { NextFunction, Request, Response } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { Session, User } from "@spacebar/database"; +import { checkToken, Rights, UserTokenData } from "@spacebar/util"; export const NO_AUTHORIZATION_ROUTES = [ // Authentication routes diff --git a/src/api/routes/applications/#application_id/bot/index.ts b/src/api/routes/applications/#application_id/bot/index.ts
index bd871745..443b5d02 100644 --- a/src/api/routes/applications/#application_id/bot/index.ts +++ b/src/api/routes/applications/#application_id/bot/index.ts
@@ -16,11 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Application, DiscordApiErrors, FieldErrors, User, createAppBotUser, generateToken, handleFile } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { verifyToken } from "node-2fa"; +import { route } from "@spacebar/api"; +import { Application, User } from "@spacebar/database"; +import { DiscordApiErrors, FieldErrors, createAppBotUser, generateToken, handleFile } from "@spacebar/util"; import { BotModifySchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/applications/#application_id/commands/#command_id/index.ts b/src/api/routes/applications/#application_id/commands/#command_id/index.ts
index e0618613..5aec66cd 100644 --- a/src/api/routes/applications/#application_id/commands/#command_id/index.ts +++ b/src/api/routes/applications/#application_id/commands/#command_id/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas"; -import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; -import { Application, ApplicationCommand, FieldErrors, Snowflake } from "@spacebar/util"; +import { route } from "@spacebar/api"; +import { Application, ApplicationCommand } from "@spacebar/database"; +import { FieldErrors, Snowflake } from "@spacebar/util"; +import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/applications/#application_id/commands/index.ts b/src/api/routes/applications/#application_id/commands/index.ts
index a3aaec2f..c01a99f4 100644 --- a/src/api/routes/applications/#application_id/commands/index.ts +++ b/src/api/routes/applications/#application_id/commands/index.ts
@@ -16,11 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas"; -import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; -import { Application, ApplicationCommand, FieldErrors, Snowflake } from "@spacebar/util"; import { IsNull } from "typeorm"; +import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas"; +import { route } from "@spacebar/api"; +import { Application, ApplicationCommand } from "@spacebar/database"; +import { FieldErrors, Snowflake } from "@spacebar/util"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/applications/#application_id/guilds/#guild_id/commands/#command_id/index.ts b/src/api/routes/applications/#application_id/guilds/#guild_id/commands/#command_id/index.ts
index 16d7786b..847d1824 100644 --- a/src/api/routes/applications/#application_id/guilds/#guild_id/commands/#command_id/index.ts +++ b/src/api/routes/applications/#application_id/guilds/#guild_id/commands/#command_id/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas"; -import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; -import { Application, ApplicationCommand, FieldErrors, Guild, Member, Snowflake } from "@spacebar/util"; +import { route } from "@spacebar/api"; +import { Application, ApplicationCommand, Guild, Member } from "@spacebar/database"; +import { FieldErrors, Snowflake } from "@spacebar/util"; +import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/applications/#application_id/guilds/#guild_id/commands/index.ts b/src/api/routes/applications/#application_id/guilds/#guild_id/commands/index.ts
index e51a4318..3664aa0c 100644 --- a/src/api/routes/applications/#application_id/guilds/#guild_id/commands/index.ts +++ b/src/api/routes/applications/#application_id/guilds/#guild_id/commands/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas"; -import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; -import { Application, ApplicationCommand, FieldErrors, Guild, Member, Snowflake } from "@spacebar/util"; +import { route } from "@spacebar/api"; +import { Application, ApplicationCommand, Guild, Member } from "@spacebar/database"; +import { FieldErrors, Snowflake } from "@spacebar/util"; +import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/applications/#application_id/index.ts b/src/api/routes/applications/#application_id/index.ts
index 5b885332..2a520def 100644 --- a/src/api/routes/applications/#application_id/index.ts +++ b/src/api/routes/applications/#application_id/index.ts
@@ -16,11 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Application, DiscordApiErrors, FieldErrors, Guild, handleFile, User } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { verifyToken } from "node-2fa"; +import { route } from "@spacebar/api"; +import { Application, Guild, User } from "@spacebar/database"; +import { DiscordApiErrors, FieldErrors, handleFile } from "@spacebar/util"; import { ApplicationModifySchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/applications/@me.ts b/src/api/routes/applications/@me.ts
index 887dcb13..308bb4ee 100644 --- a/src/api/routes/applications/@me.ts +++ b/src/api/routes/applications/@me.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Application, Guild, handleFile } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Application, Guild } from "@spacebar/database"; +import { handleFile } from "@spacebar/util"; import { ApplicationModifySchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/applications/index.ts b/src/api/routes/applications/index.ts
index 2240379a..820716b5 100644 --- a/src/api/routes/applications/index.ts +++ b/src/api/routes/applications/index.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Application, Config, createAppBotUser, trimSpecial } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Application } from "@spacebar/database"; +import { Config, createAppBotUser, trimSpecial } from "@spacebar/util"; import { ApplicationCreateSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/auth/forgot.ts b/src/api/routes/auth/forgot.ts
index 4ebb9654..3c1258f2 100644 --- a/src/api/routes/auth/forgot.ts +++ b/src/api/routes/auth/forgot.ts
@@ -16,10 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route, verifyCaptcha } from "@spacebar/api"; -import { Config, Email, User } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route, verifyCaptcha } from "@spacebar/api"; +import { User } from "@spacebar/database"; +import { Config, Email } from "@spacebar/util"; import { ForgotPasswordSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); router.post( diff --git a/src/api/routes/auth/generate-registration-tokens.ts b/src/api/routes/auth/generate-registration-tokens.ts
index 1493c2dc..626c6f66 100644 --- a/src/api/routes/auth/generate-registration-tokens.ts +++ b/src/api/routes/auth/generate-registration-tokens.ts
@@ -16,12 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { randomString, route } from "@spacebar/api"; -import { Config, ValidRegistrationToken } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { randomString, route } from "@spacebar/api"; +import { ValidRegistrationToken } from "@spacebar/database"; +import { Config } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); -export default router; router.get( "/", @@ -68,3 +68,5 @@ router.get( return res.json({ tokens: ret }); }, ); + +export default router; diff --git a/src/api/routes/auth/login.ts b/src/api/routes/auth/login.ts
index 80abf141..49889c2f 100644 --- a/src/api/routes/auth/login.ts +++ b/src/api/routes/auth/login.ts
@@ -16,15 +16,15 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route, verifyCaptcha } from "@spacebar/api"; -import { Config, FieldErrors, User, WebAuthn, generateToken, generateWebAuthnTicket } from "@spacebar/util"; -import bcrypt from "bcrypt"; import crypto from "node:crypto"; +import bcrypt from "bcrypt"; import { Request, Response, Router } from "express"; +import { route, verifyCaptcha } from "@spacebar/api"; +import { User } from "@spacebar/database"; +import { Config, FieldErrors, WebAuthn, generateToken, generateWebAuthnTicket } from "@spacebar/util"; import { LoginSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); -export default router; router.post( "/", @@ -197,3 +197,5 @@ router.post( * @returns {"token": "USERTOKEN", "settings": {"locale": "en", "theme": "dark"}} */ + +export default router; diff --git a/src/api/routes/auth/logout.ts b/src/api/routes/auth/logout.ts
index 331fa286..9ad9a873 100644 --- a/src/api/routes/auth/logout.ts +++ b/src/api/routes/auth/logout.ts
@@ -16,12 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; -import { emitEvent, Session } from "@spacebar/util"; +import { route } from "@spacebar/api"; +import { Session } from "@spacebar/database"; +import { emitEvent } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); -export default router; router.post( "/", @@ -51,3 +51,5 @@ router.post( }); }, ); + +export default router; diff --git a/src/api/routes/auth/mfa/totp.ts b/src/api/routes/auth/mfa/totp.ts
index 1696f114..2d0d8fa0 100644 --- a/src/api/routes/auth/mfa/totp.ts +++ b/src/api/routes/auth/mfa/totp.ts
@@ -16,12 +16,14 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { BackupCode, User, generateToken } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { verifyToken } from "node-2fa"; +import { route } from "@spacebar/api"; +import { BackupCode, User } from "@spacebar/database"; +import { generateToken } from "@spacebar/util"; import { TotpSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); router.post( diff --git a/src/api/routes/auth/mfa/webauthn.ts b/src/api/routes/auth/mfa/webauthn.ts
index 645c7100..d948ccac 100644 --- a/src/api/routes/auth/mfa/webauthn.ts +++ b/src/api/routes/auth/mfa/webauthn.ts
@@ -16,12 +16,14 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { generateToken, SecurityKey, User, verifyWebAuthnToken, WebAuthn } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { ExpectedAssertionResult } from "fido2-lib"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { SecurityKey, User } from "@spacebar/database"; +import { generateToken, verifyWebAuthnToken, WebAuthn } from "@spacebar/util"; import { WebAuthnTotpSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); function toArrayBuffer(buf: Buffer) { diff --git a/src/api/routes/auth/register.ts b/src/api/routes/auth/register.ts
index a937b6a6..13721c04 100644 --- a/src/api/routes/auth/register.ts +++ b/src/api/routes/auth/register.ts
@@ -16,12 +16,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route, verifyCaptcha } from "@spacebar/api"; -import { Config, FieldErrors, Invite, User, ValidRegistrationToken, generateToken, IpDataClient, AbuseIpDbClient, TimeSpan, Stopwatch } from "@spacebar/util"; import bcrypt from "bcrypt"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { MoreThan } from "typeorm"; +import { route, verifyCaptcha } from "@spacebar/api"; +import { Invite, User, ValidRegistrationToken } from "@spacebar/database"; +import { Config, FieldErrors, generateToken, IpDataClient, AbuseIpDbClient, TimeSpan, Stopwatch } from "@spacebar/util"; import { RegisterSchema } from "@spacebar/schemas"; import { BcryptWorkerPool } from "../../../util/util/workers/bcrypt/BcryptWorkerPool"; diff --git a/src/api/routes/auth/reset.ts b/src/api/routes/auth/reset.ts
index 77e93e84..5460b17d 100644 --- a/src/api/routes/auth/reset.ts +++ b/src/api/routes/auth/reset.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { checkToken, Email, FieldErrors, generateToken, User } from "@spacebar/util"; import bcrypt from "bcrypt"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { User } from "@spacebar/database"; +import { checkToken, Email, FieldErrors, generateToken } from "@spacebar/util"; import { PasswordResetSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/auth/sessions.ts b/src/api/routes/auth/sessions.ts
index d1e1c649..c83c654c 100644 --- a/src/api/routes/auth/sessions.ts +++ b/src/api/routes/auth/sessions.ts
@@ -15,12 +15,15 @@ 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/>. */ -import { route } from "@spacebar/api"; + import { createHash } from "node:crypto"; -import { emitEvent, Session } from "@spacebar/util"; import { Request, Response, Router } from "express"; -import { SessionsLogoutSchema } from "../../../schemas/api/users/SessionsSchemas"; import { In } from "typeorm"; +import { route } from "@spacebar/api"; +import { emitEvent } from "@spacebar/util"; +import { SessionsLogoutSchema } from "@spacebar/schemas"; +import { Session } from "@spacebar/database"; + const router = Router({ mergeParams: true }); router.get( "/", @@ -78,4 +81,5 @@ router.post( res.status(204).send(); }, ); + export default router; diff --git a/src/api/routes/auth/verify/index.ts b/src/api/routes/auth/verify/index.ts
index 7c8ca187..bdf4dc6d 100644 --- a/src/api/routes/auth/verify/index.ts +++ b/src/api/routes/auth/verify/index.ts
@@ -16,9 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route, verifyCaptcha } from "@spacebar/api"; -import { checkToken, Config, FieldErrors, generateToken, User } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route, verifyCaptcha } from "@spacebar/api"; +import { User } from "@spacebar/database"; +import { checkToken, Config, FieldErrors, generateToken } from "@spacebar/util"; + const router = Router({ mergeParams: true }); async function getToken(user: User) { diff --git a/src/api/routes/auth/verify/resend.ts b/src/api/routes/auth/verify/resend.ts
index 29175696..98d5d69c 100644 --- a/src/api/routes/auth/verify/resend.ts +++ b/src/api/routes/auth/verify/resend.ts
@@ -16,10 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Email, User } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { User } from "@spacebar/database"; +import { Email } from "@spacebar/util"; + const router = Router({ mergeParams: true }); router.post( diff --git a/src/api/routes/auth/verify/view-backup-codes-challenge.ts b/src/api/routes/auth/verify/view-backup-codes-challenge.ts
index 7bfd6696..4cfd476b 100644 --- a/src/api/routes/auth/verify/view-backup-codes-challenge.ts +++ b/src/api/routes/auth/verify/view-backup-codes-challenge.ts
@@ -16,11 +16,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { FieldErrors, User } from "@spacebar/util"; import bcrypt from "bcrypt"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { User } from "@spacebar/database"; +import { FieldErrors } from "@spacebar/util"; import { BackupCodesChallengeSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); router.post( diff --git a/src/api/routes/channels/#channel_id/attachments.ts b/src/api/routes/channels/#channel_id/attachments.ts
index 3bb3fc19..e5b9e49c 100644 --- a/src/api/routes/channels/#channel_id/attachments.ts +++ b/src/api/routes/channels/#channel_id/attachments.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { randomString, route } from "@spacebar/api"; -import { CloudAttachment, Channel, Config, Permissions } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { randomString, route } from "@spacebar/api"; +import { Channel, CloudAttachment } from "@spacebar/database"; +import { Config, Permissions } from "@spacebar/util"; import { UploadAttachmentRequestSchema, UploadAttachmentResponseSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/greet.ts b/src/api/routes/channels/#channel_id/greet.ts
index 37fd5589..c1c08781 100644 --- a/src/api/routes/channels/#channel_id/greet.ts +++ b/src/api/routes/channels/#channel_id/greet.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, emitEvent, Message, MessageCreateEvent, Permissions, Sticker } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { In } from "typeorm"; +import { route } from "@spacebar/api"; +import { Channel, Message, Sticker } from "@spacebar/database"; +import { emitEvent, MessageCreateEvent, Permissions } from "@spacebar/util"; import { GreetRequestSchema, MessageType } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/index.ts b/src/api/routes/channels/#channel_id/index.ts
index 3318eca2..236ddcf6 100644 --- a/src/api/routes/channels/#channel_id/index.ts +++ b/src/api/routes/channels/#channel_id/index.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, ChannelDeleteEvent, ChannelUpdateEvent, Recipient, emitEvent, handleFile, Config, FieldError, ErrorList, makeObjectErrorContent } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Channel, Recipient } from "@spacebar/database"; +import { ChannelDeleteEvent, ChannelUpdateEvent, emitEvent, handleFile, Config, FieldError, ErrorList, makeObjectErrorContent } from "@spacebar/util"; import { ChannelModifySchema, ChannelType } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/invites.ts b/src/api/routes/channels/#channel_id/invites.ts
index 44e431dc..8afc7dc0 100644 --- a/src/api/routes/channels/#channel_id/invites.ts +++ b/src/api/routes/channels/#channel_id/invites.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { randomString, route } from "@spacebar/api"; -import { Channel, Guild, Invite, InviteCreateEvent, PublicInviteRelation, User, emitEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { randomString, route } from "@spacebar/api"; +import { Channel, Guild, Invite, PublicInviteRelation, User } from "@spacebar/database"; +import { InviteCreateEvent, emitEvent } from "@spacebar/util"; import { InviteCreateSchema, isTextChannel } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts b/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
index 28f52649..ec187d8c 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { emitEvent, getPermission, MessageAckEvent, ReadState } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { ReadState } from "@spacebar/database"; +import { emitEvent, getPermission, MessageAckEvent } from "@spacebar/util"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
index 749121dd..6b59389d 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
@@ -16,10 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ +import { Request, Response, Router } from "express"; +import { HTTPError } from "lambert-server/HTTPError"; +import multer from "multer"; +import { handleMessage, postHandleMessage, route } from "@spacebar/api"; +import { Attachment, Channel, Message } from "@spacebar/database"; import { - Attachment, - Channel, - Message, MessageCreateEvent, MessageDeleteEvent, MessageUpdateEvent, @@ -31,10 +33,6 @@ import { uploadFile, NewUrlUserSignatureData, } from "@spacebar/util"; -import { Request, Response, Router } from "express"; -import { HTTPError } from "lambert-server/HTTPError"; -import multer from "multer"; -import { handleMessage, postHandleMessage, route } from "@spacebar/api"; import { MessageCreateAttachment, MessageCreateCloudAttachment, MessageCreateSchema, MessageEditSchema, ChannelType } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts b/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts
index aa64d8c5..c045bb54 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts
@@ -16,25 +16,21 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ +import { Request, Response, Router } from "express"; +import { HTTPError } from "lambert-server/HTTPError"; +import { In } from "typeorm"; import { route } from "@spacebar/api"; +import { Channel, Emoji, Member, Message, User } from "@spacebar/database"; import { arrayRemove } from "@spacebar/extensions"; import { - Channel, emitEvent, - Emoji, getPermission, - Member, - Message, MessageReactionAddEvent, MessageReactionRemoveAllEvent, MessageReactionRemoveEmojiEvent, MessageReactionRemoveEvent, - User, ReactionType, } from "@spacebar/util"; -import { Request, Response, Router } from "express"; -import { HTTPError } from "lambert-server/HTTPError"; -import { In } from "typeorm"; import { PartialEmoji, PublicMemberProjection, PublicUserProjection } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts b/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts
index de9feaee..bb48b4fb 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts
@@ -16,12 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ +import { Request, Response, Router } from "express"; import { route, sendMessage } from "@spacebar/api"; -import { Message, Channel, emitEvent, User, MessageUpdateEvent } from "@spacebar/util"; +import { Channel, Message, User } from "@spacebar/database"; +import { emitEvent, MessageUpdateEvent } from "@spacebar/util"; import { MessageThreadCreationSchema, ChannelType, MessageType } from "@spacebar/schemas"; -import { Request, Response, Router } from "express"; - const router = Router({ mergeParams: true }); // TODO: public read receipts & privacy scoping diff --git a/src/api/routes/channels/#channel_id/messages/bulk-delete.ts b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts
index d0f2a4f5..70cbb3e4 100644 --- a/src/api/routes/channels/#channel_id/messages/bulk-delete.ts +++ b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, Config, emitEvent, getPermission, getRights, Message, MessageDeleteBulkEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Channel, Message } from "@spacebar/database"; +import { Config, emitEvent, getPermission, getRights, MessageDeleteBulkEvent } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/messages/index.ts b/src/api/routes/channels/#channel_id/messages/index.ts
index d23443cb..ccfd54fd 100644 --- a/src/api/routes/channels/#channel_id/messages/index.ts +++ b/src/api/routes/channels/#channel_id/messages/index.ts
@@ -17,9 +17,8 @@ */ import { handleMessage, postHandleMessage, route } from "@spacebar/api"; +import { Attachment, Channel, Member, Message, ReadState, Relationship, User, ThreadMember, ThreadMemberFlags } from "@spacebar/database"; import { - Attachment, - Channel, Config, DiscordApiErrors, DmChannelDTO, @@ -27,19 +26,12 @@ import { FieldErrors, getPermission, getUrlSignature, - Member, - Message, MessageCreateEvent, NewUrlSignatureData, NewUrlUserSignatureData, - ReadState, - Relationship, Rights, Snowflake, uploadFile, - User, - ThreadMember, - ThreadMemberFlags, ThreadMembersUpdateEvent, ThreadCreateEvent, } from "@spacebar/util"; diff --git a/src/api/routes/channels/#channel_id/messages/pins/index.ts b/src/api/routes/channels/#channel_id/messages/pins/index.ts
index e72352cb..766af429 100644 --- a/src/api/routes/channels/#channel_id/messages/pins/index.ts +++ b/src/api/routes/channels/#channel_id/messages/pins/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { ChannelPinsUpdateEvent, Config, DiscordApiErrors, emitEvent, Message, MessageCreateEvent, MessageUpdateEvent, User } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { IsNull, Not } from "typeorm"; +import { route } from "@spacebar/api"; +import { Message, User } from "@spacebar/database"; +import { ChannelPinsUpdateEvent, Config, DiscordApiErrors, emitEvent, MessageCreateEvent, MessageUpdateEvent } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/messages/search.ts b/src/api/routes/channels/#channel_id/messages/search.ts
index 58a62bd8..ab55f8ca 100644 --- a/src/api/routes/channels/#channel_id/messages/search.ts +++ b/src/api/routes/channels/#channel_id/messages/search.ts
@@ -18,11 +18,12 @@ /* eslint-disable @typescript-eslint/ban-ts-comment */ -import { route } from "@spacebar/api"; -import { Channel, FieldErrors, Message, getPermission } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { FindManyOptions, Like } from "typeorm"; +import { route } from "@spacebar/api"; +import { Channel, Message } from "@spacebar/database"; +import { FieldErrors, getPermission } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/permissions.ts b/src/api/routes/channels/#channel_id/permissions.ts
index 62386177..b1129d21 100644 --- a/src/api/routes/channels/#channel_id/permissions.ts +++ b/src/api/routes/channels/#channel_id/permissions.ts
@@ -16,12 +16,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { Channel, ChannelUpdateEvent, emitEvent, Member, Role } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; - import { route } from "@spacebar/api"; +import { Channel, Member, Role } from "@spacebar/database"; +import { ChannelUpdateEvent, emitEvent } from "@spacebar/util"; import { ChannelPermissionOverwriteSchema, ChannelPermissionOverwrite, ChannelPermissionOverwriteType } from "@spacebar/schemas"; + const router: Router = Router({ mergeParams: true }); // TODO: Only permissions your bot has in the guild or channel can be allowed/denied (unless your bot has a MANAGE_ROLES overwrite in the channel) diff --git a/src/api/routes/channels/#channel_id/pins.ts b/src/api/routes/channels/#channel_id/pins.ts
index 5105421d..27aeaac4 100644 --- a/src/api/routes/channels/#channel_id/pins.ts +++ b/src/api/routes/channels/#channel_id/pins.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { ChannelPinsUpdateEvent, Config, DiscordApiErrors, emitEvent, Message, MessageCreateEvent, MessageUpdateEvent, User } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { IsNull, Not } from "typeorm"; +import { route } from "@spacebar/api"; +import { ChannelPinsUpdateEvent, Config, DiscordApiErrors, emitEvent, MessageCreateEvent, MessageUpdateEvent } from "@spacebar/util"; +import { Message, User } from "@spacebar/database"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/post-data.ts b/src/api/routes/channels/#channel_id/post-data.ts
index 79d02863..f8359f99 100644 --- a/src/api/routes/channels/#channel_id/post-data.ts +++ b/src/api/routes/channels/#channel_id/post-data.ts
@@ -16,13 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, Member, Message } from "@spacebar/util"; -import { PostDataSchema, PublicMessage } from "@spacebar/schemas"; - import { Request, Response, Router } from "express"; import { messageUpload } from "./messages"; import { In } from "typeorm"; +import { route } from "@spacebar/api"; +import { Channel, Member, Message } from "@spacebar/database"; +import { PostDataSchema, PublicMessage } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/purge.ts b/src/api/routes/channels/#channel_id/purge.ts
index ab8ae201..69bdd4e7 100644 --- a/src/api/routes/channels/#channel_id/purge.ts +++ b/src/api/routes/channels/#channel_id/purge.ts
@@ -16,17 +16,16 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, Message, MessageDeleteBulkEvent, emitEvent, getPermission, getRights } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { Between, FindManyOptions, FindOperator, Not } from "typeorm"; +import { route } from "@spacebar/api"; +import { Channel, Message } from "@spacebar/database"; +import { MessageDeleteBulkEvent, emitEvent, getPermission, getRights } from "@spacebar/util"; import { isTextChannel, PurgeSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); -export default router; - /** TODO: apply the delete bit by bit to prevent client and database stress **/ @@ -99,3 +98,5 @@ router.post( res.sendStatus(204); }, ); + +export default router; diff --git a/src/api/routes/channels/#channel_id/recipients.ts b/src/api/routes/channels/#channel_id/recipients.ts
index 28200cb5..c72b3aa4 100644 --- a/src/api/routes/channels/#channel_id/recipients.ts +++ b/src/api/routes/channels/#channel_id/recipients.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, ChannelRecipientAddEvent, DiscordApiErrors, DmChannelDTO, emitEvent, Recipient, User } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Channel, Recipient, User } from "@spacebar/database"; +import { ChannelRecipientAddEvent, DiscordApiErrors, DmChannelDTO, emitEvent } from "@spacebar/util"; import { ChannelType, PublicUserProjection } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/tags.ts b/src/api/routes/channels/#channel_id/tags.ts
index 3dec8a81..ffdb428d 100644 --- a/src/api/routes/channels/#channel_id/tags.ts +++ b/src/api/routes/channels/#channel_id/tags.ts
@@ -16,11 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, ChannelUpdateEvent, emitEvent, Tag } from "@spacebar/util"; import { Request, Response, Router } from "express"; -import { TagCreateSchema } from "@spacebar/schemas"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Channel, Tag } from "@spacebar/database"; +import { ChannelUpdateEvent, emitEvent } from "@spacebar/util"; +import { TagCreateSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/thread-members.ts b/src/api/routes/channels/#channel_id/thread-members.ts
index 9006fa14..036bc3dc 100644 --- a/src/api/routes/channels/#channel_id/thread-members.ts +++ b/src/api/routes/channels/#channel_id/thread-members.ts
@@ -16,12 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, emitEvent, Member, Permissions, ThreadCreateEvent, ThreadDeleteEvent, ThreadMember, ThreadMemberFlags, ThreadMembersUpdateEvent } from "@spacebar/util"; -import { ChannelType, Snowflake } from "@spacebar/schemas"; - import { Request, Response, Router } from "express"; import { MoreThan } from "typeorm"; +import { route } from "@spacebar/api"; +import { Channel, Member, ThreadMember, ThreadMemberFlags } from "@spacebar/database"; +import { emitEvent, Permissions, ThreadCreateEvent, ThreadDeleteEvent, ThreadMembersUpdateEvent } from "@spacebar/util"; +import { ChannelType, Snowflake } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/threads.ts b/src/api/routes/channels/#channel_id/threads.ts
index 1fdc772d..9485ab75 100644 --- a/src/api/routes/channels/#channel_id/threads.ts +++ b/src/api/routes/channels/#channel_id/threads.ts
@@ -16,29 +16,14 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { handleMessage, postHandleMessage, route, sendMessage } from "@spacebar/api"; -import { - Channel, - emitEvent, - User, - uploadFile, - Attachment, - Member, - ReadState, - MessageCreateEvent, - FieldErrors, - getPermission, - ThreadMember, - Message, - ChannelFlags, - Snowflake, -} from "@spacebar/util"; -import { ChannelType, MessageType, ThreadCreationSchema, MessageCreateAttachment, MessageCreateCloudAttachment } from "@spacebar/schemas"; - import { Request, Response, Router } from "express"; -import { messageUpload } from "./messages"; import { HTTPError } from "lambert-server/HTTPError"; import { FindManyOptions, FindOptionsOrder, In, Like, ArrayContains, ArrayOverlap } from "typeorm"; +import { handleMessage, postHandleMessage, route, sendMessage } from "@spacebar/api"; +import { Attachment, Channel, Member, Message, ReadState, ThreadMember, User } from "@spacebar/database"; +import { emitEvent, uploadFile, MessageCreateEvent, FieldErrors, getPermission, ChannelFlags } from "@spacebar/util"; +import { ChannelType, MessageType, ThreadCreationSchema, MessageCreateAttachment, MessageCreateCloudAttachment } from "@spacebar/schemas"; +import { messageUpload } from "./messages"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/typing.ts b/src/api/routes/channels/#channel_id/typing.ts
index 36331647..b8ef6433 100644 --- a/src/api/routes/channels/#channel_id/typing.ts +++ b/src/api/routes/channels/#channel_id/typing.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, emitEvent, Member, TypingStartEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Channel, Member } from "@spacebar/database"; +import { emitEvent, TypingStartEvent } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/#channel_id/webhooks.ts b/src/api/routes/channels/#channel_id/webhooks.ts
index 137e3139..b3efb187 100644 --- a/src/api/routes/channels/#channel_id/webhooks.ts +++ b/src/api/routes/channels/#channel_id/webhooks.ts
@@ -16,11 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, Config, DiscordApiErrors, User, Webhook, handleFile, trimSpecial, ValidateName, Application } from "@spacebar/util"; import crypto from "node:crypto"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Application, Channel, User, Webhook } from "@spacebar/database"; +import { Config, DiscordApiErrors, handleFile, trimSpecial, ValidateName } from "@spacebar/util"; import { isTextChannel, WebhookCreateSchema, WebhookType } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/channels/preload-messages.ts b/src/api/routes/channels/preload-messages.ts
index f14b387b..39fbd984 100644 --- a/src/api/routes/channels/preload-messages.ts +++ b/src/api/routes/channels/preload-messages.ts
@@ -16,10 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, Message } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Message } from "@spacebar/database"; +import { Config } from "@spacebar/util"; import { PreloadMessagesRequestSchema, PreloadMessagesResponseSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); router.post( diff --git a/src/api/routes/discoverable-guilds.ts b/src/api/routes/discoverable-guilds.ts
index 27c6cfe8..bc850bc3 100644 --- a/src/api/routes/discoverable-guilds.ts +++ b/src/api/routes/discoverable-guilds.ts
@@ -16,11 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { Config, Guild, Member } from "@spacebar/util"; - -import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; import { ArrayContains, In, Not } from "typeorm"; +import { route } from "@spacebar/api"; +import { Guild, Member } from "@spacebar/database"; +import { Config } from "@spacebar/util"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/discovery.ts b/src/api/routes/discovery.ts
index d865dfe8..1afe7b23 100644 --- a/src/api/routes/discovery.ts +++ b/src/api/routes/discovery.ts
@@ -16,9 +16,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Categories } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Categories } from "@spacebar/database"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/download.ts b/src/api/routes/download.ts
index f54a3bb2..9af0f47c 100644 --- a/src/api/routes/download.ts +++ b/src/api/routes/download.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { FieldErrors, ClientRelease } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { ClientRelease } from "@spacebar/database"; +import { FieldErrors } from "@spacebar/util"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/emojis/#emoji_id/source.ts b/src/api/routes/emojis/#emoji_id/source.ts
index 10fdba0d..d7556fd2 100644 --- a/src/api/routes/emojis/#emoji_id/source.ts +++ b/src/api/routes/emojis/#emoji_id/source.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Emoji, DiscordApiErrors, Guild, Member } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Emoji, Guild, Member } from "@spacebar/database"; +import { DiscordApiErrors } from "@spacebar/util"; import { APIErrorResponse, EmojiGuild, EmojiSourceResponse } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guild-recommendations.ts b/src/api/routes/guild-recommendations.ts
index cbe6012a..0245af83 100644 --- a/src/api/routes/guild-recommendations.ts +++ b/src/api/routes/guild-recommendations.ts
@@ -16,11 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { Config, Guild } from "@spacebar/util"; - -import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; import { ArrayContains } from "typeorm"; +import { route } from "@spacebar/api"; +import { Guild } from "@spacebar/database"; +import { Config } from "@spacebar/util"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/application-command-index.ts b/src/api/routes/guilds/#guild_id/application-command-index.ts
index d5b8d6e6..f2e5cddc 100644 --- a/src/api/routes/guilds/#guild_id/application-command-index.ts +++ b/src/api/routes/guilds/#guild_id/application-command-index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; -import { Application, ApplicationCommand, Member, Snowflake } from "@spacebar/util"; import { IsNull } from "typeorm"; +import { route } from "@spacebar/api"; +import { Application, ApplicationCommand, Member } from "@spacebar/database"; +import { Snowflake } from "@spacebar/util"; import { ApplicationCommandSchema, ApplicationCommandType } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/auto-moderation/rules.ts b/src/api/routes/guilds/#guild_id/auto-moderation/rules.ts
index 7f7717d3..6ad57899 100644 --- a/src/api/routes/guilds/#guild_id/auto-moderation/rules.ts +++ b/src/api/routes/guilds/#guild_id/auto-moderation/rules.ts
@@ -16,10 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { User, AutomodRule } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { User, AutomodRule } from "@spacebar/database"; import { AutomodRuleSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/bans.ts b/src/api/routes/guilds/#guild_id/bans.ts
index d6541d5f..6afac611 100644 --- a/src/api/routes/guilds/#guild_id/bans.ts +++ b/src/api/routes/guilds/#guild_id/bans.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Ban, DiscordApiErrors, GuildBanAddEvent, GuildBanRemoveEvent, Member, User, emitEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Ban, Member, User } from "@spacebar/database"; +import { DiscordApiErrors, GuildBanAddEvent, GuildBanRemoveEvent, emitEvent } from "@spacebar/util"; import { BanCreateSchema, BanRegistrySchema, GuildBanResponse, GuildBansResponse, PublicUser } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/bulk-ban.ts b/src/api/routes/guilds/#guild_id/bulk-ban.ts
index 0d97ff75..29d7e3a1 100644 --- a/src/api/routes/guilds/#guild_id/bulk-ban.ts +++ b/src/api/routes/guilds/#guild_id/bulk-ban.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Ban, Config, DiscordApiErrors, GuildBanAddEvent, Member, User, emitEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Ban, Member, User } from "@spacebar/database"; +import { Config, DiscordApiErrors, GuildBanAddEvent, emitEvent } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/channels.ts b/src/api/routes/guilds/#guild_id/channels.ts
index 5c87a1dc..267adc16 100644 --- a/src/api/routes/guilds/#guild_id/channels.ts +++ b/src/api/routes/guilds/#guild_id/channels.ts
@@ -16,10 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, ChannelUpdateEvent, Guild, emitEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Channel, Guild } from "@spacebar/database"; +import { ChannelUpdateEvent, emitEvent } from "@spacebar/util"; import { ChannelCreateSchema, ChannelReorderSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); router.get( diff --git a/src/api/routes/guilds/#guild_id/delete.ts b/src/api/routes/guilds/#guild_id/delete.ts
index a855cf00..88d222c0 100644 --- a/src/api/routes/guilds/#guild_id/delete.ts +++ b/src/api/routes/guilds/#guild_id/delete.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Guild, GuildDeleteEvent, emitEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Guild } from "@spacebar/database"; +import { GuildDeleteEvent, emitEvent } from "@spacebar/util"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/emojis.ts b/src/api/routes/guilds/#guild_id/emojis.ts
index 033daaf5..1d88de5d 100644 --- a/src/api/routes/guilds/#guild_id/emojis.ts +++ b/src/api/routes/guilds/#guild_id/emojis.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, DiscordApiErrors, Emoji, GuildEmojisUpdateEvent, Member, Snowflake, emitEvent, handleFile } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Emoji, Member } from "@spacebar/database"; +import { Config, DiscordApiErrors, GuildEmojisUpdateEvent, Snowflake, emitEvent, handleFile } from "@spacebar/util"; import { EmojiCreateSchema, EmojiModifySchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/index.ts b/src/api/routes/guilds/#guild_id/index.ts
index 115cd1a9..72e59f87 100644 --- a/src/api/routes/guilds/#guild_id/index.ts +++ b/src/api/routes/guilds/#guild_id/index.ts
@@ -16,23 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { - Channel, - DiscordApiErrors, - Guild, - GuildUpdateEvent, - Member, - Permissions, - SpacebarApiErrors, - emitEvent, - getPermission, - getRights, - handleFile, - Config, -} from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Channel, Guild, Member } from "@spacebar/database"; +import { DiscordApiErrors, GuildUpdateEvent, Permissions, SpacebarApiErrors, emitEvent, getPermission, getRights, handleFile } from "@spacebar/util"; import { GuildCreateResponse, GuildUpdateSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/invites.ts b/src/api/routes/guilds/#guild_id/invites.ts
index 656d06d6..7fb330de 100644 --- a/src/api/routes/guilds/#guild_id/invites.ts +++ b/src/api/routes/guilds/#guild_id/invites.ts
@@ -16,9 +16,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Invite, PublicInviteRelation } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Invite, PublicInviteRelation } from "@spacebar/database"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
index d20710de..ef5b3bf5 100644 --- a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts +++ b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, DiscordApiErrors, emitEvent, Emoji, getPermission, getRights, Guild, GuildMemberUpdateEvent, handleFile, Member, Role, Sticker } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Emoji, Guild, Member, Role, Sticker } from "@spacebar/database"; +import { Config, DiscordApiErrors, emitEvent, getPermission, getRights, GuildMemberUpdateEvent, handleFile } from "@spacebar/util"; import { MemberChangeSchema, PublicMemberProjection, PublicUserProjection } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts b/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
index 0e6a7465..4932bec9 100644 --- a/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts +++ b/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { getPermission, Member, PermissionResolvable } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Member } from "@spacebar/database"; +import { getPermission, PermissionResolvable } from "@spacebar/util"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
index ccfc37b1..6874abbb 100644 --- a/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts +++ b/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
@@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; -import { Member } from "@spacebar/util"; +import { Member } from "@spacebar/database"; import { Request, Response, Router } from "express"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/members/index.ts b/src/api/routes/guilds/#guild_id/members/index.ts
index 2ca8e32c..2586d84d 100644 --- a/src/api/routes/guilds/#guild_id/members/index.ts +++ b/src/api/routes/guilds/#guild_id/members/index.ts
@@ -16,11 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Member } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { MoreThan } from "typeorm"; +import { route } from "@spacebar/api"; +import { Member } from "@spacebar/database"; import { PublicMemberProjection } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/messages/search.ts b/src/api/routes/guilds/#guild_id/messages/search.ts
index 5c50d220..6d9bbe5e 100644 --- a/src/api/routes/guilds/#guild_id/messages/search.ts +++ b/src/api/routes/guilds/#guild_id/messages/search.ts
@@ -16,11 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, FieldErrors, Member, Message, Snowflake, getPermission } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { Between, FindManyOptions, FindOptionsWhere, In, LessThan, Like, MoreThan } from "typeorm"; +import { route } from "@spacebar/api"; +import { Channel, Member, Message } from "@spacebar/database"; +import { FieldErrors, Snowflake, getPermission } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/profile.ts b/src/api/routes/guilds/#guild_id/profile.ts
index 8bbdce1d..3156629b 100644 --- a/src/api/routes/guilds/#guild_id/profile.ts +++ b/src/api/routes/guilds/#guild_id/profile.ts
@@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; -import { Guild } from "@spacebar/util"; +import { Guild } from "@spacebar/database"; import { Request, Response, Router } from "express"; import { GuildProfileResponse, GuildVisibilityLevel } from "@spacebar/schemas"; diff --git a/src/api/routes/guilds/#guild_id/profile/index.ts b/src/api/routes/guilds/#guild_id/profile/index.ts
index 30a600b0..8352a379 100644 --- a/src/api/routes/guilds/#guild_id/profile/index.ts +++ b/src/api/routes/guilds/#guild_id/profile/index.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { emitEvent, getPermission, getRights, GuildMemberUpdateEvent, handleFile, Member, OrmUtils, Permissions } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Member } from "@spacebar/database"; +import { emitEvent, getPermission, getRights, GuildMemberUpdateEvent, handleFile, OrmUtils, Permissions } from "@spacebar/util"; import { MemberChangeProfileSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/prune.ts b/src/api/routes/guilds/#guild_id/prune.ts
index e2504bf6..7b19737e 100644 --- a/src/api/routes/guilds/#guild_id/prune.ts +++ b/src/api/routes/guilds/#guild_id/prune.ts
@@ -16,10 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Guild, Member, Snowflake } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { IsNull, LessThan } from "typeorm"; +import { route } from "@spacebar/api"; +import { Guild, Member } from "@spacebar/database"; +import { Snowflake } from "@spacebar/util"; + const router = Router({ mergeParams: true }); //Returns all inactive members, respecting role hierarchy diff --git a/src/api/routes/guilds/#guild_id/regions.ts b/src/api/routes/guilds/#guild_id/regions.ts
index 66c1e685..4edf582c 100644 --- a/src/api/routes/guilds/#guild_id/regions.ts +++ b/src/api/routes/guilds/#guild_id/regions.ts
@@ -17,7 +17,7 @@ */ import { getVoiceRegions, route } from "@spacebar/api"; -import { Guild } from "@spacebar/util"; +import { Guild } from "@spacebar/database"; import { Request, Response, Router } from "express"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
index eaacce76..b3c276df 100644 --- a/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts +++ b/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { emitEvent, GuildRoleDeleteEvent, GuildRoleUpdateEvent, handleFile, Member, Role } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Member, Role } from "@spacebar/database"; +import { emitEvent, GuildRoleDeleteEvent, GuildRoleUpdateEvent, handleFile } from "@spacebar/util"; import { RoleModifySchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/roles/#role_id/member-ids.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/member-ids.ts
index afa8d189..20ec5dac 100644 --- a/src/api/routes/guilds/#guild_id/roles/#role_id/member-ids.ts +++ b/src/api/routes/guilds/#guild_id/roles/#role_id/member-ids.ts
@@ -17,7 +17,7 @@ */ import { Router, Request, Response } from "express"; -import { Member } from "@spacebar/util"; +import { Member } from "@spacebar/database"; import { route } from "@spacebar/api"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts
index 5a55c731..349db75d 100644 --- a/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts +++ b/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts
@@ -17,9 +17,10 @@ */ import { Router, Request, Response } from "express"; -import { arrayPartition } from "@spacebar/extensions"; -import { DiscordApiErrors, Member } from "@spacebar/util"; import { route } from "@spacebar/api"; +import { Member } from "@spacebar/database"; +import { arrayPartition } from "@spacebar/extensions"; +import { DiscordApiErrors } from "@spacebar/util"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/roles/index.ts b/src/api/routes/guilds/#guild_id/roles/index.ts
index d7c493d3..4cb82663 100644 --- a/src/api/routes/guilds/#guild_id/roles/index.ts +++ b/src/api/routes/guilds/#guild_id/roles/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, DiscordApiErrors, emitEvent, GuildRoleCreateEvent, GuildRoleUpdateEvent, Member, Role, Snowflake } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { Not } from "typeorm"; +import { route } from "@spacebar/api"; +import { Member, Role } from "@spacebar/database"; +import { Config, DiscordApiErrors, emitEvent, GuildRoleCreateEvent, GuildRoleUpdateEvent, Snowflake } from "@spacebar/util"; import { RoleModifySchema, RolePositionUpdateSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/roles/member-counts.ts b/src/api/routes/guilds/#guild_id/roles/member-counts.ts
index 59783c3a..2aa8aaec 100644 --- a/src/api/routes/guilds/#guild_id/roles/member-counts.ts +++ b/src/api/routes/guilds/#guild_id/roles/member-counts.ts
@@ -17,7 +17,7 @@ */ import { Request, Response, Router } from "express"; -import { Role, Member } from "@spacebar/util"; +import { Role, Member } from "@spacebar/database"; import { route } from "@spacebar/api"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/shield.svg.ts b/src/api/routes/guilds/#guild_id/shield.svg.ts
index 983e5a35..5ccf082c 100644 --- a/src/api/routes/guilds/#guild_id/shield.svg.ts +++ b/src/api/routes/guilds/#guild_id/shield.svg.ts
@@ -16,12 +16,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { DiscordApiErrors, Guild, Member } from "@spacebar/util"; -import { Request, Response, Router } from "express"; -import { makeBadge } from "badge-maker"; -import path from "node:path"; import fs from "node:fs"; +import path from "node:path"; +import { makeBadge } from "badge-maker"; +import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Guild, Member } from "@spacebar/database"; +import { DiscordApiErrors } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/stickers.ts b/src/api/routes/guilds/#guild_id/stickers.ts
index 7c3e2921..127d30f3 100644 --- a/src/api/routes/guilds/#guild_id/stickers.ts +++ b/src/api/routes/guilds/#guild_id/stickers.ts
@@ -16,12 +16,14 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { GuildStickersUpdateEvent, Member, Snowflake, Sticker, emitEvent, uploadFile, Config, DiscordApiErrors } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import multer from "multer"; +import { route } from "@spacebar/api"; +import { Member, Sticker } from "@spacebar/database"; +import { GuildStickersUpdateEvent, Snowflake, emitEvent, uploadFile, Config, DiscordApiErrors } from "@spacebar/util"; import { ModifyGuildStickerSchema, StickerFormatType, StickerType } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); router.get( diff --git a/src/api/routes/guilds/#guild_id/templates.ts b/src/api/routes/guilds/#guild_id/templates.ts
index 2719f88b..9942fef1 100644 --- a/src/api/routes/guilds/#guild_id/templates.ts +++ b/src/api/routes/guilds/#guild_id/templates.ts
@@ -16,10 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { generateCode, route } from "@spacebar/api"; -import { Guild, Template } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { generateCode, route } from "@spacebar/api"; +import { Guild, Template } from "@spacebar/database"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/vanity-url.ts b/src/api/routes/guilds/#guild_id/vanity-url.ts
index f5289072..6a182fb3 100644 --- a/src/api/routes/guilds/#guild_id/vanity-url.ts +++ b/src/api/routes/guilds/#guild_id/vanity-url.ts
@@ -16,10 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, Guild, Invite } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Channel, Guild, Invite } from "@spacebar/database"; import { ChannelType, VanityUrlSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts b/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts
index ba801298..75824e9d 100644 --- a/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts +++ b/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, DiscordApiErrors, emitEvent, getPermission, Member, VoiceState, VoiceStateUpdateEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Channel, Member, VoiceState } from "@spacebar/database"; +import { DiscordApiErrors, emitEvent, getPermission, VoiceStateUpdateEvent } from "@spacebar/util"; import { ChannelType, VoiceStateUpdateSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/webhooks.ts b/src/api/routes/guilds/#guild_id/webhooks.ts
index cb717f90..4b46af01 100644 --- a/src/api/routes/guilds/#guild_id/webhooks.ts +++ b/src/api/routes/guilds/#guild_id/webhooks.ts
@@ -16,9 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, Webhook } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Webhook } from "@spacebar/database"; +import { Config } from "@spacebar/util"; + const router = Router({ mergeParams: true }); router.get( diff --git a/src/api/routes/guilds/#guild_id/welcome-screen.ts b/src/api/routes/guilds/#guild_id/welcome-screen.ts
index dee7fb45..c60cf4f6 100644 --- a/src/api/routes/guilds/#guild_id/welcome-screen.ts +++ b/src/api/routes/guilds/#guild_id/welcome-screen.ts
@@ -16,9 +16,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, Guild, Member } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Channel, Guild, Member } from "@spacebar/database"; import { GuildUpdateWelcomeScreenSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/widget.json.ts b/src/api/routes/guilds/#guild_id/widget.json.ts
index f1741e88..9f3ecd31 100644 --- a/src/api/routes/guilds/#guild_id/widget.json.ts +++ b/src/api/routes/guilds/#guild_id/widget.json.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { randomString, route } from "@spacebar/api"; -import { Channel, Config, DiscordApiErrors, Guild, Invite, Member, Permissions } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { randomString, route } from "@spacebar/api"; +import { Channel, Guild, Member, Invite } from "@spacebar/database"; +import { Config, DiscordApiErrors, Permissions } from "@spacebar/util"; import { ChannelType, GuildWidgetJsonResponse } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/widget.png.ts b/src/api/routes/guilds/#guild_id/widget.png.ts
index e095548e..d3d8c7c9 100644 --- a/src/api/routes/guilds/#guild_id/widget.png.ts +++ b/src/api/routes/guilds/#guild_id/widget.png.ts
@@ -18,13 +18,14 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { route } from "@spacebar/api"; -import { DiscordApiErrors, Guild } from "@spacebar/util"; -import { Request, Response, Router } from "express"; import fs from "node:fs"; -import { HTTPError } from "lambert-server/HTTPError"; import path from "node:path"; +import { Request, Response, Router } from "express"; +import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; import { storage } from "@spacebar/cdn"; +import { Guild } from "@spacebar/database"; +import { DiscordApiErrors } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/#guild_id/widget.ts b/src/api/routes/guilds/#guild_id/widget.ts
index 122789dc..2e2b3118 100644 --- a/src/api/routes/guilds/#guild_id/widget.ts +++ b/src/api/routes/guilds/#guild_id/widget.ts
@@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; -import { Guild } from "@spacebar/util"; +import { Guild } from "@spacebar/database"; import { Request, Response, Router } from "express"; import { WidgetModifySchema } from "@spacebar/schemas"; diff --git a/src/api/routes/guilds/index.ts b/src/api/routes/guilds/index.ts
index 663677dc..f9370f27 100644 --- a/src/api/routes/guilds/index.ts +++ b/src/api/routes/guilds/index.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, DiscordApiErrors, Guild, Member, getRights } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Guild, Member } from "@spacebar/database"; +import { Config, DiscordApiErrors, getRights } from "@spacebar/util"; import { GuildCreateSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/guilds/templates/index.ts b/src/api/routes/guilds/templates/index.ts
index a14f73dd..d934d299 100644 --- a/src/api/routes/guilds/templates/index.ts +++ b/src/api/routes/guilds/templates/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, DiscordApiErrors, Guild, Member, Tag, Template } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Guild, Member, Tag, Template } from "@spacebar/database"; +import { Config, DiscordApiErrors } from "@spacebar/util"; import { ChannelType, GuildTemplateCreateSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts b/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts
index 6ba97b6f..fde2c556 100644 --- a/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts +++ b/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts
@@ -16,11 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { BaseMessageComponents, InteractionCallbackSchema, InteractionCallbacksSchema, InteractionCallbackType, InteractionFailureReason, MessageType } from "@spacebar/schemas"; -import { handleComps, route, sendMessage } from "@spacebar/api"; import { Request, Response, Router } from "express"; -import { Config, emitEvent, InteractionSuccessEvent, Message, MessageUpdateEvent, pendingInteractions, User, InteractionFailureEvent } from "@spacebar/util"; import { HTTPError } from "lambert-server/HTTPError"; +import { handleComps, route, sendMessage } from "@spacebar/api"; +import { Message, User } from "@spacebar/database"; +import { InteractionCallbacksSchema, InteractionCallbackType, InteractionFailureReason, MessageType } from "@spacebar/schemas"; +import { Config, emitEvent, InteractionSuccessEvent, MessageUpdateEvent, pendingInteractions, InteractionFailureEvent } from "@spacebar/util"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/interactions/index.ts b/src/api/routes/interactions/index.ts
index fd42050c..47b189fd 100644 --- a/src/api/routes/interactions/index.ts +++ b/src/api/routes/interactions/index.ts
@@ -17,10 +17,11 @@ */ import { randomBytes } from "node:crypto"; +import { Request, Response, Router } from "express"; import { InteractionFailureReason, InteractionSchema, InteractionType } from "@spacebar/schemas"; import { route } from "@spacebar/api"; -import { Request, Response, Router } from "express"; -import { Config, emitEvent, getPermission, Guild, InteractionCreateEvent, InteractionFailureEvent, Member, Message, Snowflake } from "@spacebar/util"; +import { Guild, Member, Message } from "@spacebar/database"; +import { Config, emitEvent, getPermission, InteractionCreateEvent, InteractionFailureEvent, Snowflake } from "@spacebar/util"; import { pendingInteractions } from "@spacebar/util/imports/Interactions"; import { InteractionCreateSchema } from "@spacebar/schemas/api/bots/InteractionCreateSchema"; diff --git a/src/api/routes/invites/index.ts b/src/api/routes/invites/index.ts
index 421d5670..a1ba3131 100644 --- a/src/api/routes/invites/index.ts +++ b/src/api/routes/invites/index.ts
@@ -17,7 +17,8 @@ */ import { route } from "@spacebar/api"; -import { Ban, Config, DiscordApiErrors, emitEvent, getPermission, Guild, Invite, InviteDeleteEvent, PublicInviteRelation } from "@spacebar/util"; +import { Ban, Guild, Invite, PublicInviteRelation } from "@spacebar/database"; +import { Config, DiscordApiErrors, emitEvent, getPermission, InviteDeleteEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { UserFlags } from "@spacebar/schemas"; diff --git a/src/api/routes/oauth2/applications/@me.ts b/src/api/routes/oauth2/applications/@me.ts
index c8aa84f6..4fd68780 100644 --- a/src/api/routes/oauth2/applications/@me.ts +++ b/src/api/routes/oauth2/applications/@me.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Application, DiscordApiErrors } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Application } from "@spacebar/database"; +import { DiscordApiErrors } from "@spacebar/util"; import { PublicUserProjection } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/oauth2/authorize.ts b/src/api/routes/oauth2/authorize.ts
index 47a21eb4..55ae6a1d 100644 --- a/src/api/routes/oauth2/authorize.ts +++ b/src/api/routes/oauth2/authorize.ts
@@ -16,10 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { ApiError, Application, DiscordApiErrors, FieldErrors, Member, Permissions, User, getPermission, Role } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Application, Member, Role, User } from "@spacebar/database"; +import { ApiError, DiscordApiErrors, FieldErrors, Permissions, getPermission } from "@spacebar/util"; import { ApplicationAuthorizeSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); // TODO: scopes, other oauth types diff --git a/src/api/routes/policies/stats.ts b/src/api/routes/policies/stats.ts
index 9090d787..043dbb26 100644 --- a/src/api/routes/policies/stats.ts +++ b/src/api/routes/policies/stats.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, getRights, Guild, Member, Message, User } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Guild, Member, Message, User } from "@spacebar/database"; +import { Config, getRights } from "@spacebar/util"; const router = Router({ mergeParams: true }); router.get( diff --git a/src/api/routes/read-states/ack-bulk.ts b/src/api/routes/read-states/ack-bulk.ts
index d0212c0b..c9c903d4 100644 --- a/src/api/routes/read-states/ack-bulk.ts +++ b/src/api/routes/read-states/ack-bulk.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { ReadState } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { ReadState } from "@spacebar/database"; import { AckBulkSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); router.post( diff --git a/src/api/routes/safety-hub/@me/index.ts b/src/api/routes/safety-hub/@me/index.ts
index e5701292..ee55370b 100644 --- a/src/api/routes/safety-hub/@me/index.ts +++ b/src/api/routes/safety-hub/@me/index.ts
@@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; -import { User } from "@spacebar/util"; +import { User } from "@spacebar/database"; import { Request, Response, Router } from "express"; import { AccountStandingResponse, AccountStandingState, AppealEligibility } from "@spacebar/schemas"; diff --git a/src/api/routes/safety-hub/suspended/@me.ts b/src/api/routes/safety-hub/suspended/@me.ts
index e5701292..043f7364 100644 --- a/src/api/routes/safety-hub/suspended/@me.ts +++ b/src/api/routes/safety-hub/suspended/@me.ts
@@ -16,9 +16,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { User } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { User } from "@spacebar/database"; import { AccountStandingResponse, AccountStandingState, AppealEligibility } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/sticker-packs/index.ts b/src/api/routes/sticker-packs/index.ts
index ce4f214d..86a18ef6 100644 --- a/src/api/routes/sticker-packs/index.ts +++ b/src/api/routes/sticker-packs/index.ts
@@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; -import { StickerPack } from "@spacebar/util"; +import { StickerPack } from "@spacebar/database"; import { Request, Response, Router } from "express"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/stickers/#sticker_id/index.ts b/src/api/routes/stickers/#sticker_id/index.ts
index 7188d93f..ac265c64 100644 --- a/src/api/routes/stickers/#sticker_id/index.ts +++ b/src/api/routes/stickers/#sticker_id/index.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Sticker } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Sticker } from "@spacebar/database"; + const router = Router({ mergeParams: true }); router.get( diff --git a/src/api/routes/teams.ts b/src/api/routes/teams.ts
index da0ea784..fa3a2413 100644 --- a/src/api/routes/teams.ts +++ b/src/api/routes/teams.ts
@@ -17,9 +17,9 @@ */ import { Request, Response, Router } from "express"; -import { route } from "@spacebar/api"; -import { Team, TeamMember, User } from "@spacebar/util"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Team, TeamMember, User } from "@spacebar/database"; import { TeamCreateSchema, TeamMemberRole, TeamMemberState } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/updates.ts b/src/api/routes/updates.ts
index 7228a761..ca14507f 100644 --- a/src/api/routes/updates.ts +++ b/src/api/routes/updates.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { FieldErrors, ClientRelease } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { ClientRelease } from "@spacebar/database"; +import { FieldErrors } from "@spacebar/util"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/#user_id/delete.ts b/src/api/routes/users/#user_id/delete.ts
index d811fe06..49be55e2 100644 --- a/src/api/routes/users/#user_id/delete.ts +++ b/src/api/routes/users/#user_id/delete.ts
@@ -17,22 +17,8 @@ */ import { route } from "@spacebar/api"; -import { - Channel, - ChannelDeleteEvent, - ChannelRecipientRemoveEvent, - emitEvent, - Emoji, - Guild, - InstanceBan, - Member, - Recipient, - Sticker, - Stopwatch, - User, - UserDeleteEvent, - UserSettingsProtos, -} from "@spacebar/util"; +import { Channel, Emoji, Guild, InstanceBan, Member, Recipient, Sticker, User, UserSettingsProtos } from "@spacebar/database"; +import { ChannelDeleteEvent, ChannelRecipientRemoveEvent, emitEvent, Stopwatch, UserDeleteEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { ChannelType, InstanceUserDeleteSchema, PrivateUserProjection } from "@spacebar/schemas"; import { Not } from "typeorm"; diff --git a/src/api/routes/users/#user_id/index.ts b/src/api/routes/users/#user_id/index.ts
index ada0e916..82a19420 100644 --- a/src/api/routes/users/#user_id/index.ts +++ b/src/api/routes/users/#user_id/index.ts
@@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; -import { User } from "@spacebar/util"; +import { User } from "@spacebar/database"; import { Request, Response, Router } from "express"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/#user_id/messages.ts b/src/api/routes/users/#user_id/messages.ts
index 5d86c282..1e32ca45 100644 --- a/src/api/routes/users/#user_id/messages.ts +++ b/src/api/routes/users/#user_id/messages.ts
@@ -16,10 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, Message, User } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Message, User } from "@spacebar/database"; +import { Config } from "@spacebar/util"; import { DmMessagesResponseSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); router.get( diff --git a/src/api/routes/users/#user_id/profile.ts b/src/api/routes/users/#user_id/profile.ts
index 372f8927..84082afa 100644 --- a/src/api/routes/users/#user_id/profile.ts +++ b/src/api/routes/users/#user_id/profile.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Badge, Config, emitEvent, FieldErrors, handleFile, Member, Relationship, User, UserUpdateEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { In } from "typeorm"; +import { route } from "@spacebar/api"; +import { Badge, Member, Relationship, User } from "@spacebar/database"; +import { Config, emitEvent, FieldErrors, handleFile, UserUpdateEvent } from "@spacebar/util"; import { PartialConnectedAccountResponse, PrivateUserProjection, PublicUser, PublicUserProjection, RelationshipType, UserProfileModifySchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/#user_id/relationships.ts b/src/api/routes/users/#user_id/relationships.ts
index 38bd64b6..255d12c3 100644 --- a/src/api/routes/users/#user_id/relationships.ts +++ b/src/api/routes/users/#user_id/relationships.ts
@@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; -import { User } from "@spacebar/util"; +import { User } from "@spacebar/database"; import { Request, Response, Router } from "express"; import { UserRelationsResponse } from "@spacebar/schemas"; diff --git a/src/api/routes/users/@me/channels.ts b/src/api/routes/users/@me/channels.ts
index dc44935e..081aa862 100644 --- a/src/api/routes/users/@me/channels.ts +++ b/src/api/routes/users/@me/channels.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, DmChannelDTO, Recipient } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Channel, Recipient } from "@spacebar/database"; +import { DmChannelDTO } from "@spacebar/util"; import { DmChannelCreateSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts b/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts
index 6e6d7e2f..595f33b5 100644 --- a/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts +++ b/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts
@@ -16,9 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { ApiError, ConnectedAccount, ConnectionStore, DiscordApiErrors, FieldErrors, RefreshableConnection } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { ConnectedAccount } from "@spacebar/database"; +import { ApiError, ConnectionStore, DiscordApiErrors, FieldErrors, RefreshableConnection } from "@spacebar/util"; + const router = Router({ mergeParams: true }); // TODO: this route is only used for spotify, twitch, and youtube. (battlenet seems to be able to PUT, maybe others also) diff --git a/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts b/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts
index 0fc6f3fb..f633b35e 100644 --- a/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts +++ b/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts
@@ -16,10 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { ConnectedAccount, DiscordApiErrors, emitEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { ConnectedAccount } from "@spacebar/database"; +import { DiscordApiErrors, emitEvent } from "@spacebar/util"; import { ConnectionUpdateSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); // TODO: connection update schema diff --git a/src/api/routes/users/@me/connections/index.ts b/src/api/routes/users/@me/connections/index.ts
index fe2fbba0..9dffbef3 100644 --- a/src/api/routes/users/@me/connections/index.ts +++ b/src/api/routes/users/@me/connections/index.ts
@@ -18,7 +18,8 @@ import { Request, Response, Router } from "express"; import { route } from "@spacebar/api"; -import { ConnectedAccount, ConnectedAccountDTO } from "@spacebar/util"; +import { ConnectedAccount } from "@spacebar/database"; +import { ConnectedAccountDTO } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/delete.ts b/src/api/routes/users/@me/delete.ts
index fab936a7..aa112dca 100644 --- a/src/api/routes/users/@me/delete.ts +++ b/src/api/routes/users/@me/delete.ts
@@ -16,11 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Guild, Member, User, UserSettingsProtos } from "@spacebar/util"; import bcrypt from "bcrypt"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Guild, Member, User, UserSettingsProtos } from "@spacebar/database"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/disable.ts b/src/api/routes/users/@me/disable.ts
index e95ec457..7ae17b49 100644 --- a/src/api/routes/users/@me/disable.ts +++ b/src/api/routes/users/@me/disable.ts
@@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; -import { User } from "@spacebar/util"; +import { User } from "@spacebar/database"; import bcrypt from "bcrypt"; import { Request, Response, Router } from "express"; diff --git a/src/api/routes/users/@me/guilds.ts b/src/api/routes/users/@me/guilds.ts
index d64054ef..50f5a59c 100644 --- a/src/api/routes/users/@me/guilds.ts +++ b/src/api/routes/users/@me/guilds.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, Guild, Member } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Guild, Member } from "@spacebar/database"; +import { Config } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/guilds/#guild_id/settings.ts b/src/api/routes/users/@me/guilds/#guild_id/settings.ts
index 72ba0773..157ad985 100644 --- a/src/api/routes/users/@me/guilds/#guild_id/settings.ts +++ b/src/api/routes/users/@me/guilds/#guild_id/settings.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Channel, Member, OrmUtils } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Channel, Member } from "@spacebar/database"; +import { OrmUtils } from "@spacebar/util"; import { UserGuildSettingsSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/index.ts b/src/api/routes/users/@me/index.ts
index ae04e69f..1fda0afb 100644 --- a/src/api/routes/users/@me/index.ts +++ b/src/api/routes/users/@me/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, emitEvent, FieldErrors, generateToken, handleFile, User, UserUpdateEvent } from "@spacebar/util"; import bcrypt from "bcrypt"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { User } from "@spacebar/database"; +import { Config, emitEvent, FieldErrors, generateToken, handleFile, UserUpdateEvent } from "@spacebar/util"; import { DisplayNameStyle, PrivateUserProjection, UserModifySchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/mentions.ts b/src/api/routes/users/@me/mentions.ts
index 87602b3c..e0908458 100644 --- a/src/api/routes/users/@me/mentions.ts +++ b/src/api/routes/users/@me/mentions.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Snowflake, Message, Member, Channel, Permissions, NewUrlUserSignatureData, Stopwatch, Attachment } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { In, LessThan, FindOptionsWhere } from "typeorm"; +import { route } from "@spacebar/api"; +import { Message, Member, Channel, Attachment } from "@spacebar/database"; +import { Snowflake, Permissions, NewUrlUserSignatureData, Stopwatch } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/mfa/codes-verification.ts b/src/api/routes/users/@me/mfa/codes-verification.ts
index 94213037..ca6447f3 100644 --- a/src/api/routes/users/@me/mfa/codes-verification.ts +++ b/src/api/routes/users/@me/mfa/codes-verification.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { BackupCode, DiscordApiErrors, User, generateMfaBackupCodes } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { BackupCode, generateMfaBackupCodes, User } from "@spacebar/database"; +import { DiscordApiErrors } from "@spacebar/util"; import { CodesVerificationSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/mfa/codes.ts b/src/api/routes/users/@me/mfa/codes.ts
index 0b1b94da..26f555bd 100644 --- a/src/api/routes/users/@me/mfa/codes.ts +++ b/src/api/routes/users/@me/mfa/codes.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { BackupCode, FieldErrors, generateMfaBackupCodes, User } from "@spacebar/util"; import bcrypt from "bcrypt"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { BackupCode, generateMfaBackupCodes, User } from "@spacebar/database"; +import { FieldErrors } from "@spacebar/util"; import { MfaCodesSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/mfa/totp/disable.ts b/src/api/routes/users/@me/mfa/totp/disable.ts
index b26161a3..c75365ac 100644 --- a/src/api/routes/users/@me/mfa/totp/disable.ts +++ b/src/api/routes/users/@me/mfa/totp/disable.ts
@@ -16,11 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { BackupCode, User, generateToken } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { verifyToken } from "node-2fa"; +import { route } from "@spacebar/api"; +import { BackupCode, User } from "@spacebar/database"; +import { generateToken } from "@spacebar/util"; import { TotpDisableSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/mfa/totp/enable.ts b/src/api/routes/users/@me/mfa/totp/enable.ts
index e626a736..fd098c2d 100644 --- a/src/api/routes/users/@me/mfa/totp/enable.ts +++ b/src/api/routes/users/@me/mfa/totp/enable.ts
@@ -16,12 +16,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { User, generateMfaBackupCodes, generateToken } from "@spacebar/util"; import bcrypt from "bcrypt"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { verifyToken } from "node-2fa"; +import { route } from "@spacebar/api"; +import { User, generateMfaBackupCodes } from "@spacebar/database"; +import { generateToken } from "@spacebar/util"; import { TotpEnableSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts b/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts
index 65c01806..c15a0144 100644 --- a/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts +++ b/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts
@@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; -import { SecurityKey, User } from "@spacebar/util"; +import { SecurityKey, User } from "@spacebar/database"; import { Request, Response, Router } from "express"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts b/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts
index 6c877189..774c4138 100644 --- a/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts +++ b/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts
@@ -16,13 +16,15 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { DiscordApiErrors, FieldErrors, generateWebAuthnTicket, SecurityKey, User, verifyWebAuthnToken, WebAuthn } from "@spacebar/util"; import bcrypt from "bcrypt"; import { Request, Response, Router } from "express"; import { ExpectedAttestationResult } from "fido2-lib"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { SecurityKey, User } from "@spacebar/database"; +import { DiscordApiErrors, FieldErrors, generateWebAuthnTicket, verifyWebAuthnToken, WebAuthn } from "@spacebar/util"; import { CreateWebAuthnCredentialSchema, GenerateWebAuthnCredentialsSchema, WebAuthnPostSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); const isGenerateSchema = (body: WebAuthnPostSchema): body is GenerateWebAuthnCredentialsSchema => "password" in body; diff --git a/src/api/routes/users/@me/notes.ts b/src/api/routes/users/@me/notes.ts
index 3fe1682e..b988b2cd 100644 --- a/src/api/routes/users/@me/notes.ts +++ b/src/api/routes/users/@me/notes.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Note, Snowflake, User, emitEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Note, User } from "@spacebar/database"; +import { Snowflake, emitEvent } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/relationships.ts b/src/api/routes/users/@me/relationships.ts
index be5629ab..d4d1eb1e 100644 --- a/src/api/routes/users/@me/relationships.ts +++ b/src/api/routes/users/@me/relationships.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { Config, DiscordApiErrors, Relationship, RelationshipAddEvent, RelationshipRemoveEvent, RelationshipUpdateEvent, User, emitEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; +import { route } from "@spacebar/api"; +import { Relationship, User } from "@spacebar/database"; +import { Config, DiscordApiErrors, RelationshipAddEvent, RelationshipRemoveEvent, RelationshipUpdateEvent, emitEvent } from "@spacebar/util"; import { PublicUserProjection, RelationshipType, RelationshipPatchSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/settings-proto/1.ts b/src/api/routes/users/@me/settings-proto/1.ts
index 510af975..531dcdcb 100644 --- a/src/api/routes/users/@me/settings-proto/1.ts +++ b/src/api/routes/users/@me/settings-proto/1.ts
@@ -16,11 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; -import { emitEvent, OrmUtils, UserSettingsProtos } from "@spacebar/util"; import { PreloadedUserSettings } from "discord-protos"; import { JsonValue } from "@protobuf-ts/runtime"; +import { route } from "@spacebar/api"; +import { UserSettingsProtos } from "@spacebar/database"; +import { emitEvent, OrmUtils } from "@spacebar/util"; import { SettingsProtoJsonResponse, SettingsProtoResponse, SettingsProtoUpdateJsonSchema, SettingsProtoUpdateSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/settings-proto/2.ts b/src/api/routes/users/@me/settings-proto/2.ts
index 93017480..e4e9ff1d 100644 --- a/src/api/routes/users/@me/settings-proto/2.ts +++ b/src/api/routes/users/@me/settings-proto/2.ts
@@ -16,11 +16,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; -import { emitEvent, OrmUtils, UserSettingsProtos } from "@spacebar/util"; import { FrecencyUserSettings } from "discord-protos"; import { JsonValue } from "@protobuf-ts/runtime"; +import { route } from "@spacebar/api"; +import { UserSettingsProtos } from "@spacebar/database"; +import { emitEvent, OrmUtils } from "@spacebar/util"; import { SettingsProtoJsonResponse, SettingsProtoResponse, SettingsProtoUpdateJsonSchema, SettingsProtoUpdateSchema } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); diff --git a/src/api/routes/users/@me/settings.ts b/src/api/routes/users/@me/settings.ts
index 5136c4ab..3bf8b887 100644 --- a/src/api/routes/users/@me/settings.ts +++ b/src/api/routes/users/@me/settings.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { route } from "@spacebar/api"; -import { User, UserSettings, emitEvent, Session, PresenceUpdateEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { route } from "@spacebar/api"; +import { Session, User, UserSettings } from "@spacebar/database"; +import { emitEvent, PresenceUpdateEvent } from "@spacebar/util"; import { UserSettingsUpdateSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/webhooks/#webhook_id/#token/index.ts b/src/api/routes/webhooks/#webhook_id/#token/index.ts
index cab73d64..a3984a85 100644 --- a/src/api/routes/webhooks/#webhook_id/#token/index.ts +++ b/src/api/routes/webhooks/#webhook_id/#token/index.ts
@@ -1,9 +1,28 @@ -import { route } from "@spacebar/api"; -import { Config, DiscordApiErrors, emitEvent, handleFile, ValidateName, Webhook, WebhooksUpdateEvent } from "@spacebar/util"; +/* + Spacebar: A FOSS re-implementation and extension of the Discord.com backend. + Copyright (C) 2026 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/>. +*/ + import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import multer from "multer"; -import { executeWebhook } from "../../../../util/handlers/Webhook"; +import { route } from "@spacebar/api"; +import { Webhook } from "@spacebar/database"; +import { Config, DiscordApiErrors, emitEvent, handleFile, ValidateName, WebhooksUpdateEvent } from "@spacebar/util"; +import { executeWebhook } from "@spacebar/api/util/handlers/Webhook"; import { WebhookUpdateSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); diff --git a/src/api/routes/webhooks/#webhook_id/index.ts b/src/api/routes/webhooks/#webhook_id/index.ts
index 5c08ec3d..71a02b22 100644 --- a/src/api/routes/webhooks/#webhook_id/index.ts +++ b/src/api/routes/webhooks/#webhook_id/index.ts
@@ -1,21 +1,29 @@ -import { route } from "@spacebar/api"; -import { - Config, - DiscordApiErrors, - getPermission, - Webhook, - WebhooksUpdateEvent, - emitEvent, - Channel, - handleFile, - ValidateName, - Message, - MessageDeleteBulkEvent, -} from "@spacebar/util"; +/* + Spacebar: A FOSS re-implementation and extension of the Discord.com backend. + Copyright (C) 2026 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/>. +*/ + import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server/HTTPError"; -import { WebhookUpdateSchema } from "@spacebar/schemas"; import { In } from "typeorm"; +import { route } from "@spacebar/api"; +import { Webhook, Channel, Message } from "@spacebar/database"; +import { Config, DiscordApiErrors, getPermission, WebhooksUpdateEvent, emitEvent, handleFile, ValidateName, MessageDeleteBulkEvent } from "@spacebar/util"; +import { WebhookUpdateSchema } from "@spacebar/schemas"; + const router = Router({ mergeParams: true }); router.get( diff --git a/src/api/util/handlers/Instance.ts b/src/api/util/handlers/Instance.ts
index f899d07d..52d241aa 100644 --- a/src/api/util/handlers/Instance.ts +++ b/src/api/util/handlers/Instance.ts
@@ -16,7 +16,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { Session, TimeSpan } from "@spacebar/util"; +import { Session } from "@spacebar/database"; +import { TimeSpan } from "@spacebar/util"; import { setInterval } from "node:timers"; export async function initInstance() { diff --git a/src/api/util/handlers/Message.ts b/src/api/util/handlers/Message.ts
index 4e6d7316..65d41e43 100644 --- a/src/api/util/handlers/Message.ts +++ b/src/api/util/handlers/Message.ts
@@ -19,13 +19,9 @@ import { HTTPError } from "lambert-server/HTTPError"; import { Equal, In, Or } from "typeorm"; import { fillMessageUrlEmbeds, randomString } from "@spacebar/api"; -import { getDatabase } from "@spacebar/database"; +import { getDatabase, Application, Attachment, Channel, CloudAttachment, Guild, Member, Message, ReadState, Role, Session, Sticker, User, Webhook } from "@spacebar/database"; import { mathLogBase, arrayDistributeSequentially } from "@spacebar/extensions"; import { - Application, - Attachment, - Channel, - CloudAttachment, Config, DiscordApiErrors, emitEvent, @@ -33,27 +29,18 @@ import { FieldErrors, getPermission, getRights, - Guild, handleFile, HERE_MENTION, - Member, - Message, MessageCreateEvent, MessageFlags, Permissions, - ReadState, - Role, ROLE_MENTION, - Session, Snowflake, - Sticker, Stopwatch, TraceNode, TraceRoot, TraceSubTree, - User, USER_MENTION, - Webhook, } from "@spacebar/util"; import { ActionRowComponent, diff --git a/src/api/util/handlers/Webhook.ts b/src/api/util/handlers/Webhook.ts
index 48032c8f..02fe6690 100644 --- a/src/api/util/handlers/Webhook.ts +++ b/src/api/util/handlers/Webhook.ts
@@ -1,8 +1,9 @@ -import { handleMessage, postHandleMessage } from "@spacebar/api"; -import { Attachment, Channel, Config, DiscordApiErrors, emitEvent, FieldErrors, Message, MessageCreateEvent, Snowflake, uploadFile, ValidateName, Webhook } from "@spacebar/util"; import { Request, Response } from "express"; import { HTTPError } from "lambert-server/HTTPError"; import { MoreThan } from "typeorm"; +import { handleMessage, postHandleMessage } from "@spacebar/api"; +import { Attachment, Channel, Message, Webhook } from "@spacebar/database"; +import { Config, DiscordApiErrors, emitEvent, FieldErrors, MessageCreateEvent, Snowflake, uploadFile, ValidateName } from "@spacebar/util"; import { WebhookExecuteSchema } from "@spacebar/schemas"; export const executeWebhook = async (req: Request, res: Response) => { diff --git a/src/api/util/utility/EmbedHandlers.ts b/src/api/util/utility/EmbedHandlers.ts
index fa3d74f0..c18e4f79 100644 --- a/src/api/util/utility/EmbedHandlers.ts +++ b/src/api/util/utility/EmbedHandlers.ts
@@ -16,14 +16,15 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { sleep, arrayDistinctBy, arrayGroupBy } from "@spacebar/extensions"; -import { Config, EmbedCache, emitEvent, Message, MessageUpdateEvent, normalizeUrl, OrmUtils } from "@spacebar/util"; -import { Embed, EmbedImage, EmbedType } from "@spacebar/schemas"; import * as cheerio from "cheerio"; import crypto from "node:crypto"; import { yellow } from "picocolors"; import probe from "probe-image-size"; import { FindOptionsWhere, In } from "typeorm"; +import { EmbedCache, Message } from "@spacebar/database"; +import { sleep, arrayDistinctBy, arrayGroupBy } from "@spacebar/extensions"; +import { Config, emitEvent, MessageUpdateEvent, normalizeUrl, OrmUtils } from "@spacebar/util"; +import { Embed, EmbedImage, EmbedType } from "@spacebar/schemas"; export function getDefaultFetchOptions(): RequestInit { return { diff --git a/src/cdn/Server.ts b/src/cdn/Server.ts
index 1c0f7802..cd0d8dee 100644 --- a/src/cdn/Server.ts +++ b/src/cdn/Server.ts
@@ -20,8 +20,8 @@ import path from "node:path"; import morgan from "morgan"; import { Server, ServerOptions } from "lambert-server/Server"; import { CORS, BodyParser } from "@spacebar/api"; -import { initDatabase } from "@spacebar/database"; -import { Attachment, Config, registerRoutes } from "@spacebar/util"; +import { Attachment, initDatabase } from "@spacebar/database"; +import { Config, registerRoutes } from "@spacebar/util"; import { ProcessLifecycle } from "../util/util/ProcessLifecycle"; import { Monitoring } from "../util/monitoring/Monitoring"; import guildProfilesRoute from "./routes/guild-profiles"; diff --git a/src/cdn/routes/attachments.ts b/src/cdn/routes/attachments.ts
index d1defe85..01621be1 100644 --- a/src/cdn/routes/attachments.ts +++ b/src/cdn/routes/attachments.ts
@@ -16,14 +16,15 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { Config, CloudAttachment, hasValidSignature, NewUrlUserSignatureData, Snowflake, UrlSignResult } from "@spacebar/util"; import { Request, Response, Router } from "express"; +import { fileTypeFromBuffer } from "file-type"; import imageSize from "image-size"; import { HTTPError } from "lambert-server/HTTPError"; -import { multer } from "../util/multer"; -import { storage } from "@spacebar/cdn"; -import { fileTypeFromBuffer } from "file-type"; -import { cache } from "../util/cache"; +import { CloudAttachment } from "@spacebar/database"; +import { Config, hasValidSignature, NewUrlUserSignatureData, Snowflake, UrlSignResult } from "@spacebar/util"; +import { storage } from "@spacebar/cdn/util/Storage"; +import { multer } from "@spacebar/cdn/util/multer"; +import { cache } from "@spacebar/cdn/util/cache"; const router = Router({ mergeParams: true }); diff --git a/src/connections/BattleNet/index.ts b/src/connections/BattleNet/index.ts
index 30488e3c..d7bdc131 100644 --- a/src/connections/BattleNet/index.ts +++ b/src/connections/BattleNet/index.ts
@@ -16,8 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount, Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; import wretch from "wretch"; +import { ConnectedAccount } from "@spacebar/database"; +import { Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; + import { GenericOAuthSettings as BattleNetSettings } from "../GenericOAuthSettings"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; diff --git a/src/connections/Discord/index.ts b/src/connections/Discord/index.ts
index 5a15f097..3a1ceb33 100644 --- a/src/connections/Discord/index.ts +++ b/src/connections/Discord/index.ts
@@ -16,8 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount, Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; import wretch from "wretch"; +import { ConnectedAccount } from "@spacebar/database"; +import { Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; + import { GenericOAuthSettings as DiscordSettings } from "../GenericOAuthSettings"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; diff --git a/src/connections/EpicGames/index.ts b/src/connections/EpicGames/index.ts
index 5fc2701f..57305460 100644 --- a/src/connections/EpicGames/index.ts +++ b/src/connections/EpicGames/index.ts
@@ -16,8 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount, Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; import wretch from "wretch"; +import { ConnectedAccount } from "@spacebar/database"; +import { Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; + import { GenericOAuthSettings as EpicGamesSettings } from "../GenericOAuthSettings"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; diff --git a/src/connections/Facebook/index.ts b/src/connections/Facebook/index.ts
index 3abd5669..46cb7344 100644 --- a/src/connections/Facebook/index.ts +++ b/src/connections/Facebook/index.ts
@@ -16,8 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount, Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; import wretch from "wretch"; +import { ConnectedAccount } from "@spacebar/database"; +import { Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; + import { GenericOAuthSettings as FacebookSettings } from "../GenericOAuthSettings"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; diff --git a/src/connections/GitHub/index.ts b/src/connections/GitHub/index.ts
index a5e0f704..3ec30e2b 100644 --- a/src/connections/GitHub/index.ts +++ b/src/connections/GitHub/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount, Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; import wretch from "wretch"; -import { GenericOAuthSettings as GitHubSettings } from "../GenericOAuthSettings"; +import { ConnectedAccount } from "@spacebar/database"; +import { Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; +import { GenericOAuthSettings as GitHubSettings } from "../GenericOAuthSettings"; interface UserResponse { login: string; diff --git a/src/connections/Reddit/index.ts b/src/connections/Reddit/index.ts
index 92f3737e..01e0f738 100644 --- a/src/connections/Reddit/index.ts +++ b/src/connections/Reddit/index.ts
@@ -16,8 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount, Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; import wretch from "wretch"; +import { ConnectedAccount } from "@spacebar/database"; +import { Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; + import { GenericOAuthSettings as RedditSettings } from "../GenericOAuthSettings"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; diff --git a/src/connections/Spotify/index.ts b/src/connections/Spotify/index.ts
index 97884b03..ac8f98e1 100644 --- a/src/connections/Spotify/index.ts +++ b/src/connections/Spotify/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ApiError, ConnectedAccount, ConnectionLoader, DiscordApiErrors, RefreshableConnection } from "@spacebar/util"; import wretch from "wretch"; -import { GenericOAuthSettings as SpotifySettings } from "../GenericOAuthSettings"; +import { ConnectedAccount } from "@spacebar/database"; +import { ConnectionLoader, DiscordApiErrors, RefreshableConnection } from "@spacebar/util"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; +import { GenericOAuthSettings as SpotifySettings } from "../GenericOAuthSettings"; export interface UserResponse { display_name: string; diff --git a/src/connections/Twitch/index.ts b/src/connections/Twitch/index.ts
index da2d1f63..8ce8fc2e 100644 --- a/src/connections/Twitch/index.ts +++ b/src/connections/Twitch/index.ts
@@ -16,8 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount, ConnectionLoader, DiscordApiErrors, RefreshableConnection } from "@spacebar/util"; import wretch from "wretch"; +import { ConnectedAccount } from "@spacebar/database"; +import { RefreshableConnection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; + import { GenericOAuthSettings as TwitchSettings } from "../GenericOAuthSettings"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; diff --git a/src/connections/Twitter/index.ts b/src/connections/Twitter/index.ts
index 7a56aa41..4721a76a 100644 --- a/src/connections/Twitter/index.ts +++ b/src/connections/Twitter/index.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount, ConnectionLoader, DiscordApiErrors, RefreshableConnection } from "@spacebar/util"; import wretch from "wretch"; -import { GenericOAuthSettings as TwitterSettings } from "../GenericOAuthSettings"; +import { ConnectedAccount } from "@spacebar/database"; +import { RefreshableConnection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; +import { GenericOAuthSettings as TwitterSettings } from "../GenericOAuthSettings"; interface TwitterUserResponse { data: { diff --git a/src/connections/Xbox/index.ts b/src/connections/Xbox/index.ts
index 95cd6ecb..04f6eab7 100644 --- a/src/connections/Xbox/index.ts +++ b/src/connections/Xbox/index.ts
@@ -16,8 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount, Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; import wretch from "wretch"; +import { ConnectedAccount } from "@spacebar/database"; +import { Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; + import { GenericOAuthSettings as XboxSettings } from "../GenericOAuthSettings"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; diff --git a/src/connections/Youtube/index.ts b/src/connections/Youtube/index.ts
index 64debb83..8e4b3a5b 100644 --- a/src/connections/Youtube/index.ts +++ b/src/connections/Youtube/index.ts
@@ -16,8 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount, Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; import wretch from "wretch"; +import { ConnectedAccount } from "@spacebar/database"; +import { Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util"; + import { GenericOAuthSettings as YoutubeSettings } from "../GenericOAuthSettings"; import { ConnectedAccountCommonOAuthTokenResponse, ConnectionCallbackSchema } from "@spacebar/schemas"; diff --git a/src/database/Database.ts b/src/database/Database.ts
index adafeac0..a1d39478 100644 --- a/src/database/Database.ts +++ b/src/database/Database.ts
@@ -21,7 +21,7 @@ import path from "node:path"; import { green, red, yellow } from "picocolors"; import { DataSource } from "typeorm"; // noinspection ES6PreferShortImport -import { ConfigEntity } from "../util/entities/Config"; +import { ConfigEntity } from "@spacebar/database/entities/Config"; import fs from "node:fs"; import { ProcessLifecycle } from "../util/util/ProcessLifecycle"; diff --git a/src/util/entities/Application.ts b/src/database/entities/Application.ts
index c4f40343..c4f40343 100644 --- a/src/util/entities/Application.ts +++ b/src/database/entities/Application.ts
diff --git a/src/util/entities/ApplicationCommand.ts b/src/database/entities/ApplicationCommand.ts
index 892bb833..892bb833 100644 --- a/src/util/entities/ApplicationCommand.ts +++ b/src/database/entities/ApplicationCommand.ts
diff --git a/src/util/entities/Attachment.ts b/src/database/entities/Attachment.ts
index ff9643fc..b9756bf7 100644 --- a/src/util/entities/Attachment.ts +++ b/src/database/entities/Attachment.ts
@@ -17,9 +17,9 @@ */ import { BeforeRemove, Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm"; -import { Config, deleteFile } from "../util"; +import { Config, deleteFile } from "../../util/util"; import { BaseClass } from "./BaseClass"; -import { getUrlSignature, NewUrlUserSignatureData, NewUrlSignatureData } from "../Signing"; +import { getUrlSignature, NewUrlUserSignatureData, NewUrlSignatureData } from "../../util/Signing"; import { PublicAttachment } from "../../schemas/api/messages/Attachments"; @Entity({ diff --git a/src/util/entities/AuditLog.ts b/src/database/entities/AuditLog.ts
index f47f6dc7..f47f6dc7 100644 --- a/src/util/entities/AuditLog.ts +++ b/src/database/entities/AuditLog.ts
diff --git a/src/util/entities/AutomodRule.ts b/src/database/entities/AutomodRule.ts
index 97312984..97312984 100644 --- a/src/util/entities/AutomodRule.ts +++ b/src/database/entities/AutomodRule.ts
diff --git a/src/util/entities/BackupCodes.ts b/src/database/entities/BackupCodes.ts
index 6759a9a3..88fe932e 100644 --- a/src/util/entities/BackupCodes.ts +++ b/src/database/entities/BackupCodes.ts
@@ -20,7 +20,7 @@ import { Column, Entity, JoinColumn, ManyToOne } from "typeorm"; import { BaseClass } from "./BaseClass"; import { User } from "./User"; import crypto from "node:crypto"; -import { Config } from "../util"; +import { Config } from "../../util/util"; @Entity({ name: "backup_codes", diff --git a/src/util/entities/Badge.ts b/src/database/entities/Badge.ts
index 924ef79e..924ef79e 100644 --- a/src/util/entities/Badge.ts +++ b/src/database/entities/Badge.ts
diff --git a/src/util/entities/Ban.ts b/src/database/entities/Ban.ts
index 17121ace..17121ace 100644 --- a/src/util/entities/Ban.ts +++ b/src/database/entities/Ban.ts
diff --git a/src/util/entities/BaseClass.ts b/src/database/entities/BaseClass.ts
index a64138ad..770c96e8 100644 --- a/src/util/entities/BaseClass.ts +++ b/src/database/entities/BaseClass.ts
@@ -17,10 +17,10 @@ */ import { BaseEntity, BeforeInsert, BeforeUpdate, FindOptionsWhere, PrimaryColumn } from "typeorm"; -import { getDatabase } from "@spacebar/database"; -import { Snowflake } from "../util"; -import { OrmUtils } from "../imports"; -import { annotationsKey } from "../util/Decorators"; +import { getDatabase } from "../Database"; +import { Snowflake } from "../../util/util/Snowflake"; +import { OrmUtils } from "../../util/imports/OrmUtils"; +import { annotationsKey } from "../../util/util/Decorators"; export class BaseClassWithoutId extends BaseEntity { private get construct() { diff --git a/src/util/entities/Categories.ts b/src/database/entities/Categories.ts
index 8c7ca78c..8c7ca78c 100644 --- a/src/util/entities/Categories.ts +++ b/src/database/entities/Categories.ts
diff --git a/src/util/entities/Channel.ts b/src/database/entities/Channel.ts
index e3c1c979..17a2a628 100644 --- a/src/util/entities/Channel.ts +++ b/src/database/entities/Channel.ts
@@ -18,9 +18,9 @@ import { HTTPError } from "lambert-server/HTTPError"; import { Column, Entity, JoinColumn, ManyToOne, OneToMany, RelationId } from "typeorm"; -import { DmChannelDTO } from "../dtos"; -import { ChannelCreateEvent, ChannelRecipientRemoveEvent, ThreadCreateEvent, ThreadMembersUpdateEvent } from "../interfaces"; -import { InvisibleCharacters, Snowflake, emitEvent, getPermission, trimSpecial, Permissions, Config, DiscordApiErrors } from "../util"; +import { DmChannelDTO } from "../../util/dtos"; +import { ChannelCreateEvent, ChannelRecipientRemoveEvent, ThreadCreateEvent, ThreadMembersUpdateEvent } from "../../util/interfaces"; +import { InvisibleCharacters, Snowflake, emitEvent, getPermission, trimSpecial, Permissions, Config, DiscordApiErrors } from "../../util/util"; import { BaseClass } from "./BaseClass"; import { Guild } from "./Guild"; import { Invite } from "./Invite"; @@ -33,7 +33,7 @@ import { VoiceState } from "./VoiceState"; import { Webhook } from "./Webhook"; import { Member } from "./Member"; import { ChannelPermissionOverwrite, ChannelType, PublicChannel, PublicUserProjection, ThreadMetadata } from "@spacebar/schemas"; -import { OrmUtils } from "../imports"; +import { OrmUtils } from "../../util/imports"; import { ThreadMember } from "./ThreadMember"; @Entity({ diff --git a/src/util/entities/ClientRelease.ts b/src/database/entities/ClientRelease.ts
index fc8fe86c..fc8fe86c 100644 --- a/src/util/entities/ClientRelease.ts +++ b/src/database/entities/ClientRelease.ts
diff --git a/src/util/entities/CloudAttachment.ts b/src/database/entities/CloudAttachment.ts
index 408df024..408df024 100644 --- a/src/util/entities/CloudAttachment.ts +++ b/src/database/entities/CloudAttachment.ts
diff --git a/src/util/entities/Config.ts b/src/database/entities/Config.ts
index 7d4e05af..7d4e05af 100644 --- a/src/util/entities/Config.ts +++ b/src/database/entities/Config.ts
diff --git a/src/util/entities/ConnectedAccount.ts b/src/database/entities/ConnectedAccount.ts
index d0ed8097..d0ed8097 100644 --- a/src/util/entities/ConnectedAccount.ts +++ b/src/database/entities/ConnectedAccount.ts
diff --git a/src/util/entities/ConnectionConfigEntity.ts b/src/database/entities/ConnectionConfigEntity.ts
index 9ad2af8b..9ad2af8b 100644 --- a/src/util/entities/ConnectionConfigEntity.ts +++ b/src/database/entities/ConnectionConfigEntity.ts
diff --git a/src/util/entities/EmbedCache.ts b/src/database/entities/EmbedCache.ts
index b34be18c..b34be18c 100644 --- a/src/util/entities/EmbedCache.ts +++ b/src/database/entities/EmbedCache.ts
diff --git a/src/util/entities/Emoji.ts b/src/database/entities/Emoji.ts
index 586550f9..f75cb03f 100644 --- a/src/util/entities/Emoji.ts +++ b/src/database/entities/Emoji.ts
@@ -17,7 +17,7 @@ */ import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm"; -import { User } from "."; +import { User } from "./index"; import { BaseClass } from "./BaseClass"; import { Guild } from "./Guild"; diff --git a/src/util/entities/Encryption.ts b/src/database/entities/Encryption.ts
index 9c76701a..9c76701a 100644 --- a/src/util/entities/Encryption.ts +++ b/src/database/entities/Encryption.ts
diff --git a/src/util/entities/Guild.ts b/src/database/entities/Guild.ts
index 0cea637e..ab56b76a 100644 --- a/src/util/entities/Guild.ts +++ b/src/database/entities/Guild.ts
@@ -18,7 +18,7 @@ import { Column, Entity, JoinColumn, ManyToOne, OneToMany, RelationId } from "typeorm"; import { arrayRemove } from "@spacebar/extensions"; -import { Config, GuildWelcomeScreen, Snowflake, handleFile } from ".."; +import { Config, GuildWelcomeScreen, Snowflake, handleFile } from "@spacebar/util"; import { Ban } from "./Ban"; import { BaseClass } from "./BaseClass"; import { Channel } from "./Channel"; diff --git a/src/util/entities/InstanceBan.ts b/src/database/entities/InstanceBan.ts
index 03424e5a..03424e5a 100644 --- a/src/util/entities/InstanceBan.ts +++ b/src/database/entities/InstanceBan.ts
diff --git a/src/util/entities/Invite.ts b/src/database/entities/Invite.ts
index cc5374eb..cc5374eb 100644 --- a/src/util/entities/Invite.ts +++ b/src/database/entities/Invite.ts
diff --git a/src/util/entities/Member.ts b/src/database/entities/Member.ts
index b6b1ca11..b9fbac3d 100644 --- a/src/util/entities/Member.ts +++ b/src/database/entities/Member.ts
@@ -18,10 +18,10 @@ import { HTTPError } from "lambert-server/HTTPError"; import { BeforeInsert, BeforeUpdate, Column, Entity, Index, JoinColumn, JoinTable, ManyToMany, ManyToOne, Not, PrimaryGeneratedColumn, RelationId } from "typeorm"; -import { Ban, Channel, PublicGuildRelations } from "."; -import { ReadyGuildDTO } from "../dtos"; -import { GuildCreateEvent, GuildDeleteEvent, GuildMemberAddEvent, GuildMemberRemoveEvent, GuildMemberUpdateEvent, MessageCreateEvent } from "../interfaces"; -import { Config, emitEvent, DiscordApiErrors, Stopwatch } from "../util"; +import { Ban, Channel, PublicGuildRelations } from "./index"; +import { ReadyGuildDTO } from "../../util/dtos"; +import { GuildCreateEvent, GuildDeleteEvent, GuildMemberAddEvent, GuildMemberRemoveEvent, GuildMemberUpdateEvent, MessageCreateEvent } from "../../util/interfaces"; +import { Config, emitEvent, DiscordApiErrors, Stopwatch } from "../../util/util"; import { BaseClassWithoutId } from "./BaseClass"; import { Guild } from "./Guild"; import { Message } from "./Message"; diff --git a/src/util/entities/Message.ts b/src/database/entities/Message.ts
index 68e7cbbb..31e6a0e4 100644 --- a/src/util/entities/Message.ts +++ b/src/database/entities/Message.ts
@@ -27,7 +27,7 @@ import { Guild } from "./Guild"; import { Webhook } from "./Webhook"; import { Sticker } from "./Sticker"; import { Attachment } from "./Attachment"; -import { NewUrlUserSignatureData } from "../Signing"; +import { NewUrlUserSignatureData } from "../../util/Signing"; import { ApplicationCommandType, BaseMessageComponents, @@ -44,7 +44,7 @@ import { InteractionType, } from "@spacebar/schemas"; import { MessageFlags } from "@spacebar/util"; -import { JsonRemoveEmpty } from "../util/Decorators"; +import { JsonRemoveEmpty } from "../../util/util/Decorators"; @Entity({ name: "messages", diff --git a/src/util/entities/Migration.ts b/src/database/entities/Migration.ts
index b4a5ff78..b4a5ff78 100644 --- a/src/util/entities/Migration.ts +++ b/src/database/entities/Migration.ts
diff --git a/src/util/entities/Note.ts b/src/database/entities/Note.ts
index e9f173ff..e9f173ff 100644 --- a/src/util/entities/Note.ts +++ b/src/database/entities/Note.ts
diff --git a/src/util/entities/RateLimit.ts b/src/database/entities/RateLimit.ts
index ab85285c..ab85285c 100644 --- a/src/util/entities/RateLimit.ts +++ b/src/database/entities/RateLimit.ts
diff --git a/src/util/entities/ReadState.ts b/src/database/entities/ReadState.ts
index 4d15c6cc..4d15c6cc 100644 --- a/src/util/entities/ReadState.ts +++ b/src/database/entities/ReadState.ts
diff --git a/src/util/entities/Recipient.ts b/src/database/entities/Recipient.ts
index 2dcff244..2dcff244 100644 --- a/src/util/entities/Recipient.ts +++ b/src/database/entities/Recipient.ts
diff --git a/src/util/entities/Relationship.ts b/src/database/entities/Relationship.ts
index c2256ed3..c2256ed3 100644 --- a/src/util/entities/Relationship.ts +++ b/src/database/entities/Relationship.ts
diff --git a/src/util/entities/ReportMenu.ts b/src/database/entities/ReportMenu.ts
index a37ae159..a37ae159 100644 --- a/src/util/entities/ReportMenu.ts +++ b/src/database/entities/ReportMenu.ts
diff --git a/src/util/entities/Role.ts b/src/database/entities/Role.ts
index e6b2e459..e6b2e459 100644 --- a/src/util/entities/Role.ts +++ b/src/database/entities/Role.ts
diff --git a/src/util/entities/SecurityKey.ts b/src/database/entities/SecurityKey.ts
index cbf80d3d..cbf80d3d 100644 --- a/src/util/entities/SecurityKey.ts +++ b/src/database/entities/SecurityKey.ts
diff --git a/src/util/entities/Session.ts b/src/database/entities/Session.ts
index 1cb77ebe..e0e622db 100644 --- a/src/util/entities/Session.ts +++ b/src/database/entities/Session.ts
@@ -20,9 +20,9 @@ import crypto from "node:crypto"; import { User } from "./User"; import { BaseClassWithoutId } from "./BaseClass"; import { Column, CreateDateColumn, Entity, Index, JoinColumn, ManyToOne, PrimaryColumn, RelationId } from "typeorm"; -import { Activity, ClientStatus, GatewaySession, GatewaySessionClientInfo, PrivateStatus } from "../interfaces"; +import { Activity, ClientStatus, GatewaySession, GatewaySessionClientInfo, PrivateStatus } from "../../util/interfaces"; import { randomUpperString } from "@spacebar/api"; -import { DateBuilder, IpDataClient, TimeSpan } from "../util"; +import { DateBuilder, IpDataClient, TimeSpan } from "../../util/util"; @Entity({ name: "sessions", diff --git a/src/util/entities/Sticker.ts b/src/database/entities/Sticker.ts
index c88e0c29..c88e0c29 100644 --- a/src/util/entities/Sticker.ts +++ b/src/database/entities/Sticker.ts
diff --git a/src/util/entities/StickerPack.ts b/src/database/entities/StickerPack.ts
index d4a598f4..87112441 100644 --- a/src/util/entities/StickerPack.ts +++ b/src/database/entities/StickerPack.ts
@@ -17,7 +17,7 @@ */ import { Column, Entity, JoinColumn, ManyToOne, OneToMany, RelationId } from "typeorm"; -import { Sticker } from "."; +import { Sticker } from "./index"; import { BaseClass } from "./BaseClass"; @Entity({ diff --git a/src/util/entities/Stream.ts b/src/database/entities/Stream.ts
index bf2f3a62..bf2f3a62 100644 --- a/src/util/entities/Stream.ts +++ b/src/database/entities/Stream.ts
diff --git a/src/util/entities/StreamSession.ts b/src/database/entities/StreamSession.ts
index 1dca2424..1dca2424 100644 --- a/src/util/entities/StreamSession.ts +++ b/src/database/entities/StreamSession.ts
diff --git a/src/util/entities/Tag.ts b/src/database/entities/Tag.ts
index 63ad4b86..63ad4b86 100644 --- a/src/util/entities/Tag.ts +++ b/src/database/entities/Tag.ts
diff --git a/src/util/entities/Team.ts b/src/database/entities/Team.ts
index e440e965..e440e965 100644 --- a/src/util/entities/Team.ts +++ b/src/database/entities/Team.ts
diff --git a/src/util/entities/TeamMember.ts b/src/database/entities/TeamMember.ts
index 72e23b76..72e23b76 100644 --- a/src/util/entities/TeamMember.ts +++ b/src/database/entities/TeamMember.ts
diff --git a/src/util/entities/Template.ts b/src/database/entities/Template.ts
index 79804eed..79804eed 100644 --- a/src/util/entities/Template.ts +++ b/src/database/entities/Template.ts
diff --git a/src/util/entities/ThreadMember.ts b/src/database/entities/ThreadMember.ts
index cea61f51..fdda4eea 100644 --- a/src/util/entities/ThreadMember.ts +++ b/src/database/entities/ThreadMember.ts
@@ -17,8 +17,8 @@ */ import { Column, Entity, Index, JoinColumn, ManyToOne, PrimaryGeneratedColumn, RelationId } from "typeorm"; -import { ThreadMembersUpdateEvent } from "../interfaces"; -import { emitEvent } from "../util"; +import { ThreadMembersUpdateEvent } from "../../util/interfaces"; +import { emitEvent } from "../../util/util"; import { BaseClassWithoutId } from "./BaseClass"; import { Channel } from "./Channel"; import { HTTPError } from "lambert-server/HTTPError"; diff --git a/src/util/entities/User.ts b/src/database/entities/User.ts
index afde3e9b..5f40adb3 100644 --- a/src/util/entities/User.ts +++ b/src/database/entities/User.ts
@@ -18,9 +18,10 @@ import { Request } from "express"; import { Column, Entity, JoinColumn, OneToMany, OneToOne } from "typeorm"; -import { Channel, Config, Email, FieldErrors, Snowflake, Stopwatch, trimSpecial } from ".."; -import { Random } from "../util"; +import { Config, Email, FieldErrors, Snowflake, Stopwatch, trimSpecial } from "@spacebar/util"; +import { Random } from "@spacebar/util/util/Random"; import { BaseClass } from "./BaseClass"; +import { Channel } from "./Channel"; import { ConnectedAccount } from "./ConnectedAccount"; import { Member } from "./Member"; import { Relationship } from "./Relationship"; @@ -38,7 +39,7 @@ import { PublicUserProjection, UserPrivate, } from "@spacebar/schemas"; -import { JsonNumber } from "../util/Decorators"; +import { JsonNumber } from "../../util/util/Decorators"; @Entity({ name: "users", diff --git a/src/util/entities/UserSettings.ts b/src/database/entities/UserSettings.ts
index 7ccb8e1e..7ccb8e1e 100644 --- a/src/util/entities/UserSettings.ts +++ b/src/database/entities/UserSettings.ts
diff --git a/src/util/entities/UserSettingsProtos.ts b/src/database/entities/UserSettingsProtos.ts
index c8ee9d12..c8ee9d12 100644 --- a/src/util/entities/UserSettingsProtos.ts +++ b/src/database/entities/UserSettingsProtos.ts
diff --git a/src/util/entities/ValidRegistrationTokens.ts b/src/database/entities/ValidRegistrationTokens.ts
index f8cb35a4..f8cb35a4 100644 --- a/src/util/entities/ValidRegistrationTokens.ts +++ b/src/database/entities/ValidRegistrationTokens.ts
diff --git a/src/util/entities/VoiceState.ts b/src/database/entities/VoiceState.ts
index 5abdb7da..5abdb7da 100644 --- a/src/util/entities/VoiceState.ts +++ b/src/database/entities/VoiceState.ts
diff --git a/src/util/entities/Webhook.ts b/src/database/entities/Webhook.ts
index f631c393..f631c393 100644 --- a/src/util/entities/Webhook.ts +++ b/src/database/entities/Webhook.ts
diff --git a/src/util/entities/index.ts b/src/database/entities/index.ts
index 79fceecc..79fceecc 100644 --- a/src/util/entities/index.ts +++ b/src/database/entities/index.ts
diff --git a/src/database/index.ts b/src/database/index.ts
index 0ceebea8..3ec764b3 100644 --- a/src/database/index.ts +++ b/src/database/index.ts
@@ -16,4 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ +import "reflect-metadata"; + export * from "./Database"; +export * from "./entities/index"; diff --git a/src/gateway/events/Close.ts b/src/gateway/events/Close.ts
index 6a3c6cb3..c227c33d 100644 --- a/src/gateway/events/Close.ts +++ b/src/gateway/events/Close.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { WebSocket } from "@spacebar/gateway"; -import { emitEvent, Member, PresenceUpdateEvent, Session, SessionsReplace, User, VoiceState, VoiceStateUpdateEvent, distributePresenceUpdate } from "@spacebar/util"; import { randomString } from "@spacebar/api"; +import { Member, Session, User, VoiceState } from "@spacebar/database"; +import { WebSocket } from "@spacebar/gateway"; +import { emitEvent, PresenceUpdateEvent, SessionsReplace, VoiceStateUpdateEvent, distributePresenceUpdate } from "@spacebar/util"; import { ProcessLifecycle } from "../../util/util/ProcessLifecycle"; export async function Close(this: WebSocket, code: number, reason: Buffer) { diff --git a/src/gateway/listener/listener.ts b/src/gateway/listener/listener.ts
index 70571e5f..226859a8 100644 --- a/src/gateway/listener/listener.ts +++ b/src/gateway/listener/listener.ts
@@ -16,26 +16,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { - Ban, - EVENTEnum, - EventOpts, - getPermission, - listenEvent, - ListenEventOpts, - Member, - Message, - NewUrlUserSignatureData, - Permissions, - RabbitMQ, - Recipient, - Relationship, -} from "@spacebar/util"; -import { CLOSECODES, OPCODES, Send } from "../util"; -import { WebSocket } from "@spacebar/gateway"; import { Channel as AMQChannel } from "amqplib"; -import { PublicMember, RelationshipType } from "@spacebar/schemas"; import { bgRedBright } from "picocolors"; +import { Ban, Member, Message, Recipient, Relationship } from "@spacebar/database"; +import { EVENTEnum, EventOpts, getPermission, listenEvent, ListenEventOpts, NewUrlUserSignatureData, Permissions, RabbitMQ } from "@spacebar/util"; +import { WebSocket } from "@spacebar/gateway"; +import { PublicMember, RelationshipType } from "@spacebar/schemas"; +import { CLOSECODES, OPCODES, Send } from "../util"; // TODO: close connection on Invalidated Token // TODO: check intent diff --git a/src/gateway/opcodes/GuildSync.ts b/src/gateway/opcodes/GuildSync.ts
index 04d3de56..f075028b 100644 --- a/src/gateway/opcodes/GuildSync.ts +++ b/src/gateway/opcodes/GuildSync.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { Member, Session, Presence, timePromise, Stopwatch, Config, getMostRelevantSession } from "@spacebar/util"; +import { In } from "typeorm"; +import { Member, Session } from "@spacebar/database"; import { WebSocket, Payload, OPCODES, Send, handleOffloadedGatewayRequest } from "@spacebar/gateway"; import { PublicMember } from "@spacebar/schemas"; -import { In } from "typeorm"; +import { Presence, timePromise, Stopwatch, Config, getMostRelevantSession } from "@spacebar/util"; // TODO: only show roles/members that have access to this channel // TODO: config: to list all members (even those who are offline) sorted by role, or just those who are online diff --git a/src/gateway/opcodes/Heartbeat.ts b/src/gateway/opcodes/Heartbeat.ts
index 5e60a65a..a02e3b67 100644 --- a/src/gateway/opcodes/Heartbeat.ts +++ b/src/gateway/opcodes/Heartbeat.ts
@@ -16,11 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ +import { FindOptionsWhere } from "typeorm"; import { OPCODES, Payload, WebSocket } from "@spacebar/gateway"; +import { Session } from "@spacebar/database"; import { setHeartbeat } from "../util/Heartbeat"; import { Send } from "../util/Send"; -import { Session } from "@spacebar/util"; -import { FindOptionsWhere } from "typeorm"; interface QoSData { seq: number | null; diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts
index b4b127e5..9c87aec9 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts
@@ -20,46 +20,48 @@ import { In, Not } from "typeorm"; import { PreloadedUserSettings } from "discord-protos"; import { Capabilities, CLOSECODES, OPCODES, Payload, Send, setupListener, WebSocket } from "@spacebar/gateway"; import { arrayGroupBy } from "@spacebar/extensions"; -import { getDatabase } from "@spacebar/database"; import { + getDatabase, Application, Channel, + Emoji, + Guild, + Member, + MemberPrivateProjection, + ReadState, + Recipient, + Relationship, + Role, + Session, + Sticker, + ThreadMember, + UserSettings, + UserSettingsProtos, + VoiceState, +} from "@spacebar/database"; +import { checkToken, Config, CurrentTokenFormatVersion, ElapsedTime, emitEvent, - Emoji, EVENTEnum, generateToken, - Guild, GuildOrUnavailable, Intents, - Member, - MemberPrivateProjection, OPCodes, PresenceUpdateEvent, - ReadState, ReadyEventData, ReadyGuildDTO, ReadyUserGuildSettingsEntries, - Recipient, - Relationship, - Role, - Session, SessionsReplace, - Sticker, Stopwatch, - ThreadMember, timeFunction, timePromise, TraceNode, TraceRoot, - UserSettings, - UserSettingsProtos, - VoiceState, } from "@spacebar/util"; -import { ChannelType, DefaultUserGuildSettings, DMChannel, IdentifySchema, PrivateUserProjection, PublicUser, PublicUserProjection, RelationshipType } from "@spacebar/schemas"; +import { ChannelType, DefaultUserGuildSettings, DMChannel, IdentifySchema, PrivateUserProjection, PublicUser, PublicUserProjection } from "@spacebar/schemas"; import { randomString } from "@spacebar/api"; import { check } from "./instanceOf"; diff --git a/src/gateway/opcodes/LazyRequest.ts b/src/gateway/opcodes/LazyRequest.ts
index d8900d9e..d8f4cb5a 100644 --- a/src/gateway/opcodes/LazyRequest.ts +++ b/src/gateway/opcodes/LazyRequest.ts
@@ -17,11 +17,11 @@ */ import murmur from "murmurhash-js/murmurhash3_gc"; -import { getDatabase } from "@spacebar/database"; +import { getDatabase, Member, Role, Session, User, Channel } from "@spacebar/database"; import { arrayPartition } from "@spacebar/extensions"; import { WebSocket, Payload, handlePresenceUpdate, OPCODES, Send } from "@spacebar/gateway"; import { LazyRequestSchema } from "@spacebar/schemas"; -import { getPermission, listenEvent, Member, Role, Session, User, Presence, Channel, Permissions, getMostRelevantSession } from "@spacebar/util"; +import { getPermission, listenEvent, Presence, Permissions, getMostRelevantSession } from "@spacebar/util"; import { check } from "./instanceOf"; // TODO: only show roles/members that have access to this channel diff --git a/src/gateway/opcodes/PresenceUpdate.ts b/src/gateway/opcodes/PresenceUpdate.ts
index 47f84fa9..a0be5f65 100644 --- a/src/gateway/opcodes/PresenceUpdate.ts +++ b/src/gateway/opcodes/PresenceUpdate.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ +import { Session, User } from "@spacebar/database"; import { WebSocket, Payload } from "@spacebar/gateway"; -import { emitEvent, InternalStatusOrder, PresenceUpdateEvent, PrivateStatus, PublicStatus, PublicStatusOrder, Session, User } from "@spacebar/util"; -import { check } from "./instanceOf"; +import { emitEvent, InternalStatusOrder, PresenceUpdateEvent, PrivateStatus } from "@spacebar/util"; import { ActivitySchema } from "@spacebar/schemas"; +import { check } from "./instanceOf"; export async function onPresenceUpdate(this: WebSocket, { d }: Payload) { const startTime = Date.now(); diff --git a/src/gateway/opcodes/RequestChannelInfo.ts b/src/gateway/opcodes/RequestChannelInfo.ts
index efa3e728..8cb9098d 100644 --- a/src/gateway/opcodes/RequestChannelInfo.ts +++ b/src/gateway/opcodes/RequestChannelInfo.ts
@@ -16,9 +16,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ +import { Channel } from "@spacebar/database"; import { WebSocket, Payload, OPCODES, Send, handleOffloadedGatewayRequest } from "@spacebar/gateway"; import { ChannelType } from "@spacebar/schemas"; -import { Channel, Config } from "@spacebar/util"; +import { Config } from "@spacebar/util"; export async function onRequestChannelInfo(this: WebSocket, { d }: Payload) { // Schema validation can only accept either string or array, so transforming it here to support both diff --git a/src/gateway/opcodes/RequestGuildMembers.ts b/src/gateway/opcodes/RequestGuildMembers.ts
index 88b24d6c..ec8e17cf 100644 --- a/src/gateway/opcodes/RequestGuildMembers.ts +++ b/src/gateway/opcodes/RequestGuildMembers.ts
@@ -17,10 +17,10 @@ */ import { FindManyOptions, ILike, In, MoreThan } from "typeorm"; -import { getDatabase } from "@spacebar/database"; +import { getDatabase, Member, Session } from "@spacebar/database"; import { WebSocket, Payload, OPCODES, Send, handleOffloadedGatewayRequest } from "@spacebar/gateway"; import { RequestGuildMembersSchema } from "@spacebar/schemas"; -import { Config, DateBuilder, getPermission, GuildMembersChunkEvent, Member, Presence, Session } from "@spacebar/util"; +import { Config, DateBuilder, getPermission, GuildMembersChunkEvent, Presence } from "@spacebar/util"; import { check } from "./instanceOf"; export async function onRequestGuildMembers(this: WebSocket, { d }: Payload) { diff --git a/src/gateway/opcodes/StreamCreate.ts b/src/gateway/opcodes/StreamCreate.ts
index d1faffb1..6fc222ab 100644 --- a/src/gateway/opcodes/StreamCreate.ts +++ b/src/gateway/opcodes/StreamCreate.ts
@@ -1,17 +1,24 @@ +/* + 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/>. +*/ + +import { Channel, Member, Stream, StreamSession, VoiceState } from "@spacebar/database"; import { genVoiceToken, Payload, WebSocket, generateStreamKey } from "@spacebar/gateway"; -import { - Channel, - Config, - emitEvent, - Member, - Snowflake, - Stream, - StreamCreateEvent, - StreamServerUpdateEvent, - StreamSession, - VoiceState, - VoiceStateUpdateEvent, -} from "@spacebar/util"; +import { Config, emitEvent, Snowflake, StreamCreateEvent, StreamServerUpdateEvent, VoiceStateUpdateEvent } from "@spacebar/util"; import { check } from "./instanceOf"; import { StreamCreateSchema } from "@spacebar/schemas"; diff --git a/src/gateway/opcodes/StreamDelete.ts b/src/gateway/opcodes/StreamDelete.ts
index 1ccc5ca6..82d09538 100644 --- a/src/gateway/opcodes/StreamDelete.ts +++ b/src/gateway/opcodes/StreamDelete.ts
@@ -1,5 +1,24 @@ +/* + Spacebar: A FOSS re-implementation and extension of the Discord.com backend. + Copyright (C) 2026 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/>. +*/ + +import { Member, Stream, VoiceState } from "@spacebar/database"; import { parseStreamKey, Payload, WebSocket } from "@spacebar/gateway"; -import { emitEvent, Member, Stream, StreamDeleteEvent, VoiceState, VoiceStateUpdateEvent } from "@spacebar/util"; +import { emitEvent, StreamDeleteEvent, VoiceStateUpdateEvent } from "@spacebar/util"; import { check } from "./instanceOf"; import { StreamDeleteSchema } from "@spacebar/schemas"; diff --git a/src/gateway/opcodes/StreamWatch.ts b/src/gateway/opcodes/StreamWatch.ts
index 040fb954..f63e4a15 100644 --- a/src/gateway/opcodes/StreamWatch.ts +++ b/src/gateway/opcodes/StreamWatch.ts
@@ -1,8 +1,27 @@ -import { genVoiceToken, parseStreamKey, Payload, WebSocket } from "@spacebar/gateway"; -import { Config, emitEvent, Stream, StreamCreateEvent, StreamServerUpdateEvent, StreamSession } from "@spacebar/util"; -import { check } from "./instanceOf"; +/* + Spacebar: A FOSS re-implementation and extension of the Discord.com backend. + Copyright (C) 2026 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/>. +*/ + import { Not } from "typeorm"; +import { Stream, StreamSession } from "@spacebar/database"; +import { genVoiceToken, parseStreamKey, Payload, WebSocket } from "@spacebar/gateway"; +import { Config, emitEvent, StreamCreateEvent, StreamServerUpdateEvent } from "@spacebar/util"; import { StreamWatchSchema } from "@spacebar/schemas"; +import { check } from "./instanceOf"; export async function onStreamWatch(this: WebSocket, data: Payload) { const startTime = Date.now(); diff --git a/src/gateway/opcodes/VoiceStateUpdate.ts b/src/gateway/opcodes/VoiceStateUpdate.ts
index 0bc09852..e6975358 100644 --- a/src/gateway/opcodes/VoiceStateUpdate.ts +++ b/src/gateway/opcodes/VoiceStateUpdate.ts
@@ -16,10 +16,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ +import { Guild, Member, VoiceState } from "@spacebar/database"; import { Payload, WebSocket, genVoiceToken } from "@spacebar/gateway"; -import { Config, emitEvent, Guild, Member, VoiceServerUpdateEvent, VoiceState, VoiceStateUpdateEvent } from "@spacebar/util"; -import { check } from "./instanceOf"; +import { Config, emitEvent, VoiceServerUpdateEvent, VoiceStateUpdateEvent } from "@spacebar/util"; import { Region, VoiceStateUpdateSchema } from "@spacebar/schemas"; +import { check } from "./instanceOf"; // TODO: check if a voice server is setup // Notice: Bot users respect the voice channel's user limit, if set. diff --git a/src/gateway/util/Utils.ts b/src/gateway/util/Utils.ts
index 20880622..23e9569b 100644 --- a/src/gateway/util/Utils.ts +++ b/src/gateway/util/Utils.ts
@@ -16,8 +16,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { sleep } from "@spacebar/extensions"; -import { Event, Session, TimeSpan, VoiceState } from "@spacebar/util"; +import { Session, VoiceState } from "@spacebar/database"; +import { Event, TimeSpan } from "@spacebar/util"; import { WebSocket } from "./WebSocket"; import { OPCODES } from "./Constants"; import { Send } from "./Send"; diff --git a/src/gateway/util/WebSocket.ts b/src/gateway/util/WebSocket.ts
index 41dc93c1..50c7bbb1 100644 --- a/src/gateway/util/WebSocket.ts +++ b/src/gateway/util/WebSocket.ts
@@ -16,12 +16,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { Intents, ListenEventOpts, Permissions, Session } from "@spacebar/util"; import WS from "ws"; import { Deflate, Inflate } from "fast-zlib"; -import { Capabilities } from "./Capabilities"; import { Decoder, Encoder } from "@toondepauw/node-zstd"; +import { Session } from "@spacebar/database"; +import { Intents, ListenEventOpts, Permissions } from "@spacebar/util"; import { QoSPayload } from "../opcodes/Heartbeat"; +import { Capabilities } from "./Capabilities"; export interface WebSocket extends WS { recentTransactions: string[]; diff --git a/src/schemas/api/bots/InteractionCreateSchema.ts b/src/schemas/api/bots/InteractionCreateSchema.ts
index 5a6d1c3f..ff7cfaf8 100644 --- a/src/schemas/api/bots/InteractionCreateSchema.ts +++ b/src/schemas/api/bots/InteractionCreateSchema.ts
@@ -18,7 +18,7 @@ import { PublicMember, PublicUser, Snowflake, InteractionType } from "@spacebar/schemas"; // TODO: remove entity imports -import { Channel, Message } from "@spacebar/util"; +import { Channel, Message } from "@spacebar/database"; export interface InteractionCreateSchema { version: number; // TODO: types? diff --git a/src/schemas/api/channels/Channel.ts b/src/schemas/api/channels/Channel.ts
index e3902626..33514b82 100644 --- a/src/schemas/api/channels/Channel.ts +++ b/src/schemas/api/channels/Channel.ts
@@ -17,7 +17,7 @@ */ // TODO: remove entity imports -import { Channel, Recipient, Tag, ThreadMember } from "@spacebar/util"; +import { Channel, Recipient, Tag, ThreadMember } from "@spacebar/database"; import { HTTPError } from "lambert-server/HTTPError"; import { Snowflake } from "../../Identifiers"; import { PartialUser, PublicMember } from "../users"; diff --git a/src/schemas/api/guilds/VoiceState.ts b/src/schemas/api/guilds/VoiceState.ts
index 278e9678..1c2f7d00 100644 --- a/src/schemas/api/guilds/VoiceState.ts +++ b/src/schemas/api/guilds/VoiceState.ts
@@ -17,7 +17,7 @@ */ //TODO: remove entity import -import { VoiceState } from "@spacebar/util"; +import { VoiceState } from "@spacebar/database"; export enum PublicVoiceStateEnum { user_id, diff --git a/src/schemas/api/messages/Message.ts b/src/schemas/api/messages/Message.ts
index 73d0e79b..a6d5f162 100644 --- a/src/schemas/api/messages/Message.ts +++ b/src/schemas/api/messages/Message.ts
@@ -17,7 +17,7 @@ */ // TODO: remove entity import -import { Sticker } from "@spacebar/util"; +import { Sticker } from "@spacebar/database"; import { Embed, MessageActivity, MessageComponent, PartialUser, Poll, PublicChannel, Snowflake } from "@spacebar/schemas"; import { PublicAttachment } from "./Attachments"; diff --git a/src/schemas/api/users/ConnectedAccount.ts b/src/schemas/api/users/ConnectedAccount.ts
index 281fc58f..0779a769 100644 --- a/src/schemas/api/users/ConnectedAccount.ts +++ b/src/schemas/api/users/ConnectedAccount.ts
@@ -17,6 +17,6 @@ */ //TODO: remove entity import -import { ConnectedAccount } from "@spacebar/util"; +import { ConnectedAccount } from "@spacebar/database"; export type PublicConnectedAccount = Pick<ConnectedAccount, "name" | "type" | "verified">; diff --git a/src/schemas/api/users/Member.ts b/src/schemas/api/users/Member.ts
index 049190e0..0cfaa0c9 100644 --- a/src/schemas/api/users/Member.ts +++ b/src/schemas/api/users/Member.ts
@@ -16,9 +16,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { PublicUser } from "@spacebar/schemas"; // TODO: remove entity import -import { Member } from "@spacebar/util"; +import { Member } from "@spacebar/database"; +import { PublicUser } from "@spacebar/schemas"; export interface ChannelOverride { message_notifications: number; diff --git a/src/schemas/api/users/User.ts b/src/schemas/api/users/User.ts
index 0360eb03..8a3449ba 100644 --- a/src/schemas/api/users/User.ts +++ b/src/schemas/api/users/User.ts
@@ -20,7 +20,7 @@ import { ConnectedAccountSchema, Snowflake, UserSettingsSchema } from "@spacebar // TODO: maybe move the one thing this depends on to import { BitField } from "@spacebar/util/util"; // TODO: remove entity import -import { Relationship, Session } from "@spacebar/util/entities"; +import { Relationship, Session } from "@spacebar/database/entities"; interface UserEntityPleaseRewriteThankYou { id: Snowflake; diff --git a/src/schemas/api/users/index.ts b/src/schemas/api/users/index.ts
index 85c92662..5c9b2008 100644 --- a/src/schemas/api/users/index.ts +++ b/src/schemas/api/users/index.ts
@@ -21,3 +21,4 @@ export * from "./InstanceUserDeleteSchema"; export * from "./Member"; export * from "./User"; export * from "./UserSettings"; +export * from "./SessionsSchemas"; diff --git a/src/schemas/responses/DiscoverableGuildsResponse.ts b/src/schemas/responses/DiscoverableGuildsResponse.ts
index 02c46f1c..711c10cd 100644 --- a/src/schemas/responses/DiscoverableGuildsResponse.ts +++ b/src/schemas/responses/DiscoverableGuildsResponse.ts
@@ -17,7 +17,7 @@ */ // TODO: remove dependency on entities -import { Guild } from "@spacebar/util"; +import { Guild } from "@spacebar/database"; export interface DiscoverableGuildsResponse { total: number; diff --git a/src/schemas/responses/EmailDomainLookupVerifyCodeResponse.ts b/src/schemas/responses/EmailDomainLookupVerifyCodeResponse.ts
index b2400e95..d868d897 100644 --- a/src/schemas/responses/EmailDomainLookupVerifyCodeResponse.ts +++ b/src/schemas/responses/EmailDomainLookupVerifyCodeResponse.ts
@@ -17,7 +17,7 @@ */ // TODO: remove dependency on entities -import { Guild } from "@spacebar/util"; +import { Guild } from "@spacebar/database"; export interface EmailDomainLookupVerifyCodeResponse { guild: Guild; diff --git a/src/schemas/responses/EmojiSourceResponse.ts b/src/schemas/responses/EmojiSourceResponse.ts
index f01848a8..511ba380 100644 --- a/src/schemas/responses/EmojiSourceResponse.ts +++ b/src/schemas/responses/EmojiSourceResponse.ts
@@ -17,7 +17,7 @@ */ // TODO: remove entity import -import { Emoji } from "@spacebar/util"; +import { Emoji } from "@spacebar/database"; export interface EmojiSourceResponse { type: "GUILD" | "APPLICATION"; diff --git a/src/schemas/responses/GuildMessagesSearchResponse.ts b/src/schemas/responses/GuildMessagesSearchResponse.ts
index e498f8bc..3cc35ce2 100644 --- a/src/schemas/responses/GuildMessagesSearchResponse.ts +++ b/src/schemas/responses/GuildMessagesSearchResponse.ts
@@ -17,7 +17,7 @@ */ // TODO: remove dependency on entities -import { Role } from "@spacebar/util"; +import { Role } from "@spacebar/database"; import { BaseMessageComponents, Embed, MessageType, Poll, PublicUser } from "@spacebar/schemas"; import { PublicAttachment } from "../api/messages/Attachments"; diff --git a/src/schemas/responses/GuildRecommendationsResponse.ts b/src/schemas/responses/GuildRecommendationsResponse.ts
index c8fed072..f0149d09 100644 --- a/src/schemas/responses/GuildRecommendationsResponse.ts +++ b/src/schemas/responses/GuildRecommendationsResponse.ts
@@ -17,7 +17,7 @@ */ // TODO: remove dependency on entities -import { Guild } from "@spacebar/util"; +import { Guild } from "@spacebar/database"; export interface GuildRecommendationsResponse { recommended_guilds: Guild[]; diff --git a/src/schemas/responses/HubDirectoryEntriesResponse.ts b/src/schemas/responses/HubDirectoryEntriesResponse.ts
index c19b6a14..fc710aa2 100644 --- a/src/schemas/responses/HubDirectoryEntriesResponse.ts +++ b/src/schemas/responses/HubDirectoryEntriesResponse.ts
@@ -17,7 +17,7 @@ */ // TODO: remove dependency on entities -import { Guild } from "@spacebar/util"; +import { Guild } from "@spacebar/database"; export interface HubDirectoryEntry { author_id: string; diff --git a/src/schemas/responses/MemberJoinGuildResponse.ts b/src/schemas/responses/MemberJoinGuildResponse.ts
index bbb370cc..d37ed865 100644 --- a/src/schemas/responses/MemberJoinGuildResponse.ts +++ b/src/schemas/responses/MemberJoinGuildResponse.ts
@@ -17,7 +17,7 @@ */ // TODO: remove entity imports -import { Emoji, Role, Sticker } from "@spacebar/util"; +import { Emoji, Role, Sticker } from "@spacebar/database"; import { GuildCreateResponse } from "@spacebar/schemas"; export interface MemberJoinGuildResponse { diff --git a/src/schemas/responses/PreloadMessagesResponseSchema.ts b/src/schemas/responses/PreloadMessagesResponseSchema.ts
index 0a767888..ea3d38d9 100644 --- a/src/schemas/responses/PreloadMessagesResponseSchema.ts +++ b/src/schemas/responses/PreloadMessagesResponseSchema.ts
@@ -17,6 +17,6 @@ */ // TODO: remove entity import -import { Message } from "@spacebar/util"; +import { Message } from "@spacebar/database"; export type PreloadMessagesResponseSchema = Message[]; diff --git a/src/schemas/responses/TeamListResponse.ts b/src/schemas/responses/TeamListResponse.ts
index d8bf8564..fc4d93e2 100644 --- a/src/schemas/responses/TeamListResponse.ts +++ b/src/schemas/responses/TeamListResponse.ts
@@ -17,6 +17,6 @@ */ // TODO: remove entity import -import { Team } from "@spacebar/util"; +import { Team } from "@spacebar/database"; export type TeamListResponse = Team[]; diff --git a/src/schemas/responses/TokenResponse.ts b/src/schemas/responses/TokenResponse.ts
index 4a0c0834..88ac5e20 100644 --- a/src/schemas/responses/TokenResponse.ts +++ b/src/schemas/responses/TokenResponse.ts
@@ -17,7 +17,7 @@ */ // TODO: remove dependency on entities -import { BackupCode, UserSettings } from "@spacebar/util"; +import { BackupCode, UserSettings } from "@spacebar/database"; export interface TokenResponse { token: string; diff --git a/src/schemas/responses/TypedResponses.ts b/src/schemas/responses/TypedResponses.ts
index 9fa6cd0c..9b7d64ee 100644 --- a/src/schemas/responses/TypedResponses.ts +++ b/src/schemas/responses/TypedResponses.ts
@@ -20,7 +20,7 @@ import { GeneralConfiguration, LimitsConfiguration } from "../../util/config/types"; import { DmChannelDTO } from "../../util/dtos"; // TODO: remove entity imports -import { Application, BackupCode, Categories, Channel, Guild, Invite, Member, Message, Role, Template, Webhook } from "@spacebar/util"; +import { Application, BackupCode, Categories, Channel, Guild, Invite, Member, Message, Role, Template, Webhook } from "@spacebar/database"; import { GuildVoiceRegion } from "./GuildVoiceRegionsResponse"; import { GuildCreateResponse, PrivateUser, PublicMember, PublicUser } from "@spacebar/schemas"; diff --git a/src/schemas/responses/UserProfileResponse.ts b/src/schemas/responses/UserProfileResponse.ts
index 64459bd1..daf0c460 100644 --- a/src/schemas/responses/UserProfileResponse.ts +++ b/src/schemas/responses/UserProfileResponse.ts
@@ -17,7 +17,7 @@ */ // TODO: remove entity imports -import { Badge, Member, User } from "@spacebar/util"; +import { Badge, Member, User } from "@spacebar/database"; import { PublicConnectedAccount, PublicMember, PublicUser } from "@spacebar/schemas"; export type MutualGuild = { diff --git a/src/schemas/responses/WebhookCreateResponse.ts b/src/schemas/responses/WebhookCreateResponse.ts
index 08d997fb..2f5e92f0 100644 --- a/src/schemas/responses/WebhookCreateResponse.ts +++ b/src/schemas/responses/WebhookCreateResponse.ts
@@ -17,7 +17,7 @@ */ // TODO: remove dependency on entities -import { User, Webhook } from "@spacebar/util"; +import { User, Webhook } from "@spacebar/database"; export interface WebhookCreateResponse { user: User; diff --git a/src/util/connections/Connection.ts b/src/util/connections/Connection.ts
index 56b2b899..e0ec56ba 100644 --- a/src/util/connections/Connection.ts +++ b/src/util/connections/Connection.ts
@@ -17,7 +17,7 @@ */ import crypto from "node:crypto"; -import { ConnectedAccount } from "../entities"; +import { ConnectedAccount } from "../../database/entities"; import { ConnectedAccountSchema, ConnectionCallbackSchema } from "@spacebar/schemas"; import { Config, DiscordApiErrors } from "../util"; diff --git a/src/util/connections/ConnectionConfig.ts b/src/util/connections/ConnectionConfig.ts
index c5da3878..338b97be 100644 --- a/src/util/connections/ConnectionConfig.ts +++ b/src/util/connections/ConnectionConfig.ts
@@ -17,7 +17,7 @@ */ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { ConnectionConfigEntity } from "../entities"; +import { ConnectionConfigEntity } from "../../database/entities"; import { OrmUtils } from "../imports"; let config: any; diff --git a/src/util/connections/RefreshableConnection.ts b/src/util/connections/RefreshableConnection.ts
index 3d7761f7..8418b085 100644 --- a/src/util/connections/RefreshableConnection.ts +++ b/src/util/connections/RefreshableConnection.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount } from "../entities"; +import { ConnectedAccount } from "../../database/entities"; import { Connection } from "./Connection"; import { ConnectedAccountCommonOAuthTokenResponse } from "@spacebar/schemas"; diff --git a/src/util/dtos/ConnectedAccountDTO.ts b/src/util/dtos/ConnectedAccountDTO.ts
index a137d732..dfa3db01 100644 --- a/src/util/dtos/ConnectedAccountDTO.ts +++ b/src/util/dtos/ConnectedAccountDTO.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ConnectedAccount } from "../entities"; +import { ConnectedAccount } from "../../database/entities"; export class ConnectedAccountDTO { id: string; diff --git a/src/util/dtos/DmChannelDTO.ts b/src/util/dtos/DmChannelDTO.ts
index f7c42d96..9e6f05da 100644 --- a/src/util/dtos/DmChannelDTO.ts +++ b/src/util/dtos/DmChannelDTO.ts
@@ -17,7 +17,7 @@ */ import { MinimalPublicUserDTO } from "./UserDTO"; -import { Channel, User } from "../entities"; +import { Channel, User } from "../../database/entities"; import { PublicUserProjection } from "@spacebar/schemas"; export class DmChannelDTO { diff --git a/src/util/dtos/ReadyGuildDTO.ts b/src/util/dtos/ReadyGuildDTO.ts
index 1b9677e0..b2475847 100644 --- a/src/util/dtos/ReadyGuildDTO.ts +++ b/src/util/dtos/ReadyGuildDTO.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { Channel, Emoji, Guild, Role, Sticker } from "../entities"; +import { Channel, Emoji, Guild, Role, Sticker } from "../../database/entities"; import { ChannelOverride, ChannelType, PublicMember, PublicUser, UserGuildSettings } from "@spacebar/schemas"; // TODO: this is not the best place for this type diff --git a/src/util/dtos/UserDTO.ts b/src/util/dtos/UserDTO.ts
index 2a79f8f1..63f1c3ad 100644 --- a/src/util/dtos/UserDTO.ts +++ b/src/util/dtos/UserDTO.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { User } from "../entities"; +import { User } from "../../database/entities"; export class MinimalPublicUserDTO { avatar?: string | null; diff --git a/src/util/index.ts b/src/util/index.ts
index dd2f7f32..2b739838 100644 --- a/src/util/index.ts +++ b/src/util/index.ts
@@ -22,7 +22,7 @@ import "reflect-metadata"; export * from "./util/index"; export * from "./interfaces/index"; -export * from "./entities/index"; + export * from "./dtos/index"; export * from "./imports"; export * from "./config"; diff --git a/src/util/interfaces/Event.ts b/src/util/interfaces/Event.ts
index 6152f70a..22eec64f 100644 --- a/src/util/interfaces/Event.ts +++ b/src/util/interfaces/Event.ts
@@ -16,27 +16,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { - ConnectedAccount, - Invite, - Role, - Emoji, - Channel, - User, - Sticker, - Activity, - Status, - Presence, - UserSettings, - IReadyGuildDTO, - ReadState, - ReadyUserGuildSettingsEntries, - ReadyPrivateChannel, - GuildOrUnavailable, - Snowflake, - ThreadMember, - PrivateStatus, -} from "@spacebar/util"; +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 { JsonValue } from "@protobuf-ts/runtime"; import { ApplicationCommand, diff --git a/src/util/util/Application.ts b/src/util/util/Application.ts
index 64c87775..f4e08cde 100644 --- a/src/util/util/Application.ts +++ b/src/util/util/Application.ts
@@ -1,5 +1,23 @@ +/* + Spacebar: A FOSS re-implementation and extension of the Discord.com backend. + Copyright (C) 2026 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/>. +*/ + import { Request } from "express"; -import { Application, User } from "../entities"; +import { Application, User } from "../../database/entities"; export async function createAppBotUser(app: Application, req: Request) { const user = await User.register({ diff --git a/src/util/util/Config.ts b/src/util/util/Config.ts
index 3c1c45f1..46c5a168 100644 --- a/src/util/util/Config.ts +++ b/src/util/util/Config.ts
@@ -20,7 +20,7 @@ import { existsSync } from "node:fs"; import fs from "node:fs/promises"; import { OrmUtils } from ".."; import { ConfigValue } from "../config"; -import { ConfigEntity } from "../entities"; +import { ConfigEntity } from "../../database/entities"; import { JsonValue } from "@protobuf-ts/runtime"; import { bold, red, redBright } from "picocolors"; diff --git a/src/util/util/Decorators.ts b/src/util/util/Decorators.ts
index 18910b9d..3211cb27 100644 --- a/src/util/util/Decorators.ts +++ b/src/util/util/Decorators.ts
@@ -1,4 +1,22 @@ -import { BaseClassWithoutId } from "@spacebar/util"; +/* + Spacebar: A FOSS re-implementation and extension of the Discord.com backend. + Copyright (C) 2026 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/>. +*/ + +import { BaseClassWithoutId } from "@spacebar/database"; export const annotationsKey = Symbol("Annotations"); diff --git a/src/util/util/Permissions.ts b/src/util/util/Permissions.ts
index 66dd1943..6585f692 100644 --- a/src/util/util/Permissions.ts +++ b/src/util/util/Permissions.ts
@@ -2,7 +2,7 @@ // Apache License Version 2.0 Copyright 2015 - 2021 Amish Shah // @fc-license-skip -import { Channel, Guild, Member, Role, User } from "../entities"; +import { Channel, Guild, Member, Role, User } from "../../database/entities"; import { BitField, BitFieldResolvable, BitFlag } from "./BitField"; import { HTTPError } from "lambert-server/HTTPError"; import { ChannelPermissionOverwrite, ChannelPermissionOverwriteType, ChannelType, UserFlags } from "@spacebar/schemas"; diff --git a/src/util/util/Presence.ts b/src/util/util/Presence.ts
index 5a475adc..8180a026 100644 --- a/src/util/util/Presence.ts +++ b/src/util/util/Presence.ts
@@ -16,7 +16,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { emitEvent, Member, PresenceUpdateEvent, Recipient, Relationship, Session } from "@spacebar/util"; +import { Member, Recipient, Relationship, Session } from "@spacebar/database"; +import { emitEvent, PresenceUpdateEvent } from "@spacebar/util"; import { RelationshipType } from "@spacebar/schemas"; import { Not } from "typeorm"; diff --git a/src/util/util/Rights.ts b/src/util/util/Rights.ts
index f0425749..0eee0a3f 100644 --- a/src/util/util/Rights.ts +++ b/src/util/util/Rights.ts
@@ -17,7 +17,7 @@ */ import { BitField, BitFieldResolvable, BitFlag } from "./BitField"; -import { User } from "../entities"; +import { User } from "../../database/entities"; import { HTTPError } from "lambert-server/HTTPError"; export type RightResolvable = bigint | number | Rights | RightResolvable[] | RightString; diff --git a/src/util/util/Token.ts b/src/util/util/Token.ts
index a1c4536e..10bd5e2c 100644 --- a/src/util/util/Token.ts +++ b/src/util/util/Token.ts
@@ -18,7 +18,7 @@ import jwt from "jsonwebtoken"; import { Config } from "./Config"; -import { InstanceBan, Session, User } from "../entities"; +import { InstanceBan, Session, User } from "../../database/entities"; import crypto from "node:crypto"; import fs from "node:fs/promises"; import { existsSync } from "node:fs"; diff --git a/src/util/util/cdn.ts b/src/util/util/cdn.ts
index 46fa0ebd..ef934f78 100644 --- a/src/util/util/cdn.ts +++ b/src/util/util/cdn.ts
@@ -18,7 +18,7 @@ import FormData from "form-data"; import { HTTPError } from "lambert-server/HTTPError"; -import { Attachment } from "../entities"; +import { Attachment } from "../../database/entities"; import { Config } from "./Config"; export async function uploadFile( diff --git a/src/util/util/email/index.ts b/src/util/util/email/index.ts
index cceb99f4..9b37b1b0 100644 --- a/src/util/util/email/index.ts +++ b/src/util/util/email/index.ts
@@ -18,7 +18,7 @@ import fs from "node:fs/promises"; import path from "node:path"; -import { User } from "../../entities"; +import { User } from "../../../database/entities"; import { Config } from "../Config"; import { generateToken } from "../Token"; import { IEmail, IEmailClient } from "./clients/IEmailClient"; diff --git a/src/webrtc/opcodes/Identify.ts b/src/webrtc/opcodes/Identify.ts
index 5068e42b..7d776d9c 100644 --- a/src/webrtc/opcodes/Identify.ts +++ b/src/webrtc/opcodes/Identify.ts
@@ -16,8 +16,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ +import { StreamSession, VoiceState } from "@spacebar/database"; import { CLOSECODES } from "@spacebar/gateway"; -import { StreamSession, VoiceState } from "@spacebar/util"; import { validateSchema, VoiceIdentifySchema } from "@spacebar/schemas"; import { generateSsrc, mediaServer, Send, VoiceOPCodes, VoicePayload, WebRtcWebSocket } from "@spacebar/webrtc"; import { SSRCs } from "@spacebarchat/spacebar-webrtc-types"; diff --git a/src/webrtc/opcodes/Video.ts b/src/webrtc/opcodes/Video.ts
index 323438a6..e448536a 100644 --- a/src/webrtc/opcodes/Video.ts +++ b/src/webrtc/opcodes/Video.ts
@@ -15,7 +15,8 @@ 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/>. */ -import { Stream } from "@spacebar/util"; + +import { Stream } from "@spacebar/database"; import { mediaServer, Send, VoiceOPCodes, VoicePayload, WebRtcWebSocket } from "@spacebar/webrtc"; import type { WebRtcClient } from "@spacebarchat/spacebar-webrtc-types"; import { validateSchema, VoiceVideoSchema } from "@spacebar/schemas";