mirror of
https://github.com/qwerinope/qweribot.git
synced 2025-12-18 23:01:38 +01:00
32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
import Surreal from "surrealdb";
|
|
|
|
const surrealurl = process.env.SURREAL_URL ?? "";
|
|
if (surrealurl === "") { console.error("Please provide a SURREAL_URL in .env."); process.exit(1); };
|
|
const namespace = process.env.SURREAL_NAMESPACE ?? "";
|
|
if (namespace === "") { console.error("Please provide a SURREAL_NAMESPACE in .env."); process.exit(1); };
|
|
const database = process.env.SURREAL_DATABASE ?? "";
|
|
if (database === "") { console.error("Please provide a SURREAL_DATABASE in .env."); process.exit(1); };
|
|
const username = process.env.SURREAL_USERNAME ?? "";
|
|
if (username === "") { console.error("Please provide a SURREAL_USERNAME in .env."); process.exit(1); };
|
|
const password = process.env.SURREAL_PASSWORD ?? "";
|
|
if (password === "") { console.error("Please provide a SURREAL_PASSWORD in .env."); process.exit(1); };
|
|
|
|
export default async function DB(): Promise<Surreal> {
|
|
const db = new Surreal();
|
|
try {
|
|
await db.connect(surrealurl, {
|
|
auth: {
|
|
username,
|
|
password
|
|
}
|
|
});
|
|
await db.use({ namespace, database });
|
|
return db;
|
|
}
|
|
catch (err) {
|
|
console.error("Failed to connect to SurrealDB:", err instanceof Error ? err.message : String(err));
|
|
await db.close();
|
|
throw err;
|
|
};
|
|
};
|