@backstageai/common
Version:
Common code for Backstage AI services
49 lines (45 loc) • 1.68 kB
JavaScript
const mongoose = require("mongoose");
const { User } = require("./models/Users.model");
const { AIRequest, ParentRequest } = require("./models/AiRequests.model");
const { StyleImages } = require("./models/StyleImages.model");
const { LogoTemplates } = require("./models/LogoTemplates.model");
const { PreDefinedPrompts } = require("./models/PreDefinedPrompts.model");
const { LogoTheme } = require("./models/LogoTheme.model");
const { Avatar } = require("./models/Avatar.model");
const { returnSecret } = require("./keyGenerator");
const presentation = require("./presentation");
const { checkAuth } = require("./checkAuth");
const { ProductTemplate } = require("./models/ProductTemplate.model");
const { UserCustomProduct } = require("./models/UserCustomProduct.model");
const { Category } = require("./models/ProductCategory.model");
if (!global.mongoose) {
global.mongoose = { conn: null, promise: null };
}
async function connectToDb(uri) {
if (global.mongoose.conn && mongoose.connection.readyState === 1) {
return global.mongoose.conn;
}
if (!global.mongoose.promise) {
// Set maxPoolSize to customize the connection pool size
global.mongoose.promise = mongoose.connect(uri, { maxPoolSize: 10 });
}
global.mongoose.conn = await global.mongoose.promise;
return global.mongoose.conn;
}
module.exports.connectToDb = connectToDb;
module.exports.model = {
User,
AIRequest,
StyleImages,
LogoTemplates,
PreDefinedPrompts,
LogoTheme,
ParentRequest,
Avatar,
ProductTemplate,
UserCustomProduct,
Category,
};
module.exports.returnSecret = returnSecret;
module.exports.presentation = presentation;
module.exports.checkAuth = checkAuth;