diff --git a/api/src/routes/channels/#channel_id/messages/index.ts b/api/src/routes/channels/#channel_id/messages/index.ts
index d3321fae..1f856b80 100644
--- a/api/src/routes/channels/#channel_id/messages/index.ts
+++ b/api/src/routes/channels/#channel_id/messages/index.ts
@@ -22,7 +22,7 @@ const router: Router = Router();
export default router;
-export function isTextChannel(type: ChannelType): boolean {
+function isTextChannel(type: ChannelType): boolean {
switch (type) {
case ChannelType.GUILD_STORE:
case ChannelType.GUILD_VOICE:
@@ -39,6 +39,7 @@ export function isTextChannel(type: ChannelType): boolean {
return true;
}
}
+module.exports.isTextChannel = isTextChannel;
export interface MessageCreateSchema {
content?: string;
diff --git a/bundle/src/Server.ts b/bundle/src/Server.ts
index 1596d54f..662b9008 100644
--- a/bundle/src/Server.ts
+++ b/bundle/src/Server.ts
@@ -2,11 +2,11 @@ process.on("unhandledRejection", console.error);
process.on("uncaughtException", console.error);
import http from "http";
-import { FosscordServer as APIServer } from "@fosscord/api";
-import { Server as GatewayServer } from "@fosscord/gateway";
+import * as Api from "@fosscord/api";
+import * as Gateway from "@fosscord/gateway";
import { CDNServer } from "@fosscord/cdn/";
import express from "express";
-import { red, green, bold } from "nanocolors";
+import { green, bold } from "nanocolors";
import { Config, initDatabase } from "@fosscord/util";
const app = express();
@@ -16,11 +16,11 @@ const production = false;
server.on("request", app);
// @ts-ignore
-const api = new APIServer({ server, port, production, app });
+const api = new Api.FosscordServer({ server, port, production, app });
// @ts-ignore
const cdn = new CDNServer({ server, port, production, app });
// @ts-ignore
-const gateway = new GatewayServer({ server, port, production });
+const gateway = new Gateway.Server({ server, port, production });
async function main() {
await initDatabase();
diff --git a/bundle/src/start.ts b/bundle/src/start.ts
index 872f324e..f65c1db9 100644
--- a/bundle/src/start.ts
+++ b/bundle/src/start.ts
@@ -1,7 +1,7 @@
// process.env.MONGOMS_DEBUG = "true";
const tsConfigPaths = require("tsconfig-paths");
const path = require("path");
-const baseUrl = path.join(__dirname, ".."); // Either absolute or relative path. If relative it's resolved to current working directory.
+const baseUrl = path.join(__dirname, "..");
const cleanup = tsConfigPaths.register({
baseUrl,
paths: {
@@ -13,6 +13,7 @@ const cleanup = tsConfigPaths.register({
"@fosscord/cdn/*": ["../cdn/dist/*"],
},
});
+console.log(require("@fosscord/gateway"));
import "reflect-metadata";
import cluster from "cluster";
@@ -26,7 +27,7 @@ import { execSync } from "child_process";
// TODO: add tcp socket event transmission
const cores = 1 || Number(process.env.threads) || os.cpus().length;
-export function getCommitOrFail() {
+function getCommitOrFail() {
try {
return execSync("git rev-parse HEAD").toString().trim();
} catch (e) {
diff --git a/cdn/src/index.ts b/cdn/src/index.ts
index 7513bd2f..a24300d6 100644
--- a/cdn/src/index.ts
+++ b/cdn/src/index.ts
@@ -1 +1,4 @@
export * from "./Server";
+export * from "./util/FileStorage";
+export * from "./util/Storage";
+export * from "./util/multer";
diff --git a/cdn/src/routes/attachments.ts b/cdn/src/routes/attachments.ts
index 49ceb1b6..354bdde9 100644
--- a/cdn/src/routes/attachments.ts
+++ b/cdn/src/routes/attachments.ts
@@ -1,9 +1,9 @@
import { Router, Response, Request } from "express";
import { Config, Snowflake } from "@fosscord/util";
-import { storage } from "@fosscord/cdn/util/Storage";
+import { storage } from "@fosscord/cdn";
import FileType from "file-type";
import { HTTPError } from "lambert-server";
-import { multer } from "@fosscord/cdn/util/multer";
+import { multer } from "@fosscord/cdn";
import imageSize from "image-size";
const router = Router();
diff --git a/cdn/src/routes/avatars.ts b/cdn/src/routes/avatars.ts
index 93045925..981cc417 100644
--- a/cdn/src/routes/avatars.ts
+++ b/cdn/src/routes/avatars.ts
@@ -1,10 +1,10 @@
import { Router, Response, Request } from "express";
import { Config, Snowflake } from "@fosscord/util";
-import { storage } from "@fosscord/cdn/util/Storage";
+import { storage } from "@fosscord/cdn";
import FileType from "file-type";
import { HTTPError } from "lambert-server";
-import { multer } from "@fosscord/cdn/util/multer";
import crypto from "crypto";
+import { multer } from "../util/multer";
// TODO: check premium and animated pfp are allowed in the config
// TODO: generate different sizes of icon
diff --git a/cdn/src/routes/external.ts b/cdn/src/routes/external.ts
index e7783ec3..50014600 100644
--- a/cdn/src/routes/external.ts
+++ b/cdn/src/routes/external.ts
@@ -2,7 +2,7 @@ import { Router, Response, Request } from "express";
import fetch from "node-fetch";
import { HTTPError } from "lambert-server";
import { Snowflake } from "@fosscord/util";
-import { storage } from "@fosscord/cdn/util/Storage";
+import { storage } from "@fosscord/cdn";
import FileType from "file-type";
import { Config } from "@fosscord/util";
diff --git a/cdn/src/util/index.ts b/cdn/src/util/index.ts
new file mode 100644
index 00000000..07a5c31a
--- /dev/null
+++ b/cdn/src/util/index.ts
@@ -0,0 +1,3 @@
+export * from "./FileStorage";
+export * from "./multer";
+export * from "./Storage";
diff --git a/gateway/src/Server.ts b/gateway/src/Server.ts
index b4e92a75..cf4f906c 100644
--- a/gateway/src/Server.ts
+++ b/gateway/src/Server.ts
@@ -2,12 +2,12 @@ import "missing-native-js-functions";
import dotenv from "dotenv";
dotenv.config();
import { closeDatabase, Config, initDatabase, initEvent } from "@fosscord/util";
-import { Server as WebSocketServer } from "ws";
+import ws from "ws";
import { Connection } from "./events/Connection";
import http from "http";
export class Server {
- public ws: WebSocketServer;
+ public ws: ws.Server;
public port: number;
public server: http.Server;
public production: boolean;
@@ -39,7 +39,7 @@ export class Server {
});
});
- this.ws = new WebSocketServer({
+ this.ws = new ws.Server({
maxPayload: 4096,
noServer: true,
});
diff --git a/gateway/src/events/Connection.ts b/gateway/src/events/Connection.ts
index f84f9d9b..c1a6b618 100644
--- a/gateway/src/events/Connection.ts
+++ b/gateway/src/events/Connection.ts
@@ -1,11 +1,8 @@
import WS from "ws";
-import {
- setHeartbeat,
- Send,
- CLOSECODES,
- OPCODES,
- WebSocket,
-} from "@fosscord/gateway";
+import { WebSocket } from "@fosscord/gateway";
+import { Send } from "../util/Send";
+import { CLOSECODES, OPCODES } from "../util/Constants";
+import { setHeartbeat } from "../util/Heartbeat";
import { IncomingMessage } from "http";
import { Close } from "./Close";
import { Message } from "./Message";
diff --git a/gateway/src/events/Message.ts b/gateway/src/events/Message.ts
index 1f1c4f72..3648931d 100644
--- a/gateway/src/events/Message.ts
+++ b/gateway/src/events/Message.ts
@@ -1,4 +1,5 @@
-import { WebSocket, Payload, CLOSECODES, OPCODES } from "@fosscord/gateway";
+import { CLOSECODES, OPCODES } from "../util/Constants";
+import { WebSocket, Payload } from "@fosscord/gateway";
var erlpack: any;
try {
erlpack = require("@yukikaze-bot/erlpack");
diff --git a/gateway/src/listener/listener.ts b/gateway/src/listener/listener.ts
index 0fa6bb08..ee640f38 100644
--- a/gateway/src/listener/listener.ts
+++ b/gateway/src/listener/listener.ts
@@ -1,15 +1,15 @@
import {
- User,
getPermission,
Permissions,
- Channel,
RabbitMQ,
listenEvent,
EventOpts,
ListenEventOpts,
Member,
} from "@fosscord/util";
-import { OPCODES, WebSocket, Send } from "@fosscord/gateway";
+import { OPCODES } from "../util/Constants";
+import { Send } from "../util/Send";
+import { WebSocket } from "@fosscord/gateway";
import "missing-native-js-functions";
import { Channel as AMQChannel } from "amqplib";
import { Recipient } from "@fosscord/util";
diff --git a/gateway/src/opcodes/Heartbeat.ts b/gateway/src/opcodes/Heartbeat.ts
index 46caee56..50394130 100644
--- a/gateway/src/opcodes/Heartbeat.ts
+++ b/gateway/src/opcodes/Heartbeat.ts
@@ -1,4 +1,6 @@
-import { Payload, Send, setHeartbeat, WebSocket } from "@fosscord/gateway";
+import { Payload, WebSocket } from "@fosscord/gateway";
+import { setHeartbeat } from "../util/Heartbeat";
+import { Send } from "../util/Send";
export async function onHeartbeat(this: WebSocket, data: Payload) {
// TODO: validate payload
diff --git a/gateway/src/opcodes/Identify.ts b/gateway/src/opcodes/Identify.ts
index 8233aade..6decf21c 100644
--- a/gateway/src/opcodes/Identify.ts
+++ b/gateway/src/opcodes/Identify.ts
@@ -1,14 +1,6 @@
+import { WebSocket, Payload } from "@fosscord/gateway";
import {
- WebSocket,
- CLOSECODES,
- Payload,
- OPCODES,
- genSessionId,
-} from "@fosscord/gateway";
-import {
- Channel,
checkToken,
- Guild,
Intents,
Member,
ReadyEventData,
@@ -16,16 +8,15 @@ import {
Session,
EVENTEnum,
Config,
- dbConnection,
- PublicMemberProjection,
PublicMember,
- ChannelType,
PublicUser,
PrivateUserProjection,
} from "@fosscord/util";
+import { Send } from "../util/Send";
+import { CLOSECODES, OPCODES } from "../util/Constants";
+import { genSessionId } from "../util/SessionUtils";
import { setupListener } from "../listener/listener";
import { IdentifySchema } from "../schema/Identify";
-import { Send } from "@fosscord/gateway/util/Send";
// import experiments from "./experiments.json";
const experiments: any = [];
import { check } from "./instanceOf";
diff --git a/gateway/src/opcodes/LazyRequest.ts b/gateway/src/opcodes/LazyRequest.ts
index 5b6ac444..d37e32da 100644
--- a/gateway/src/opcodes/LazyRequest.ts
+++ b/gateway/src/opcodes/LazyRequest.ts
@@ -5,7 +5,9 @@ import {
Role,
} from "@fosscord/util";
import { LazyRequest } from "../schema/LazyRequest";
-import { WebSocket, Send, OPCODES, Payload } from "@fosscord/gateway";
+import { Send } from "../util/Send";
+import { OPCODES } from "../util/Constants";
+import { WebSocket, Payload } from "@fosscord/gateway";
import { check } from "./instanceOf";
import "missing-native-js-functions";
|