22
33const mongoose = require ( 'mongoose' ) ;
44
5- let conn = null ;
6-
75const accessTokenSchema = require ( './AccessToken' ) ;
86const contentSchema = require ( './content' ) ;
97const dashboardResultSchema = require ( './DashboardResult' ) ;
@@ -19,21 +17,20 @@ const workspaceSchema = require('./workspace');
1917const uri = process . env . MONGODB_CONNECTION_STRING ;
2018
2119module . exports = async function connect ( ) {
22- if ( conn == null ) {
23- conn = mongoose . createConnection ( uri , { serverSelectionTimeoutMS : 5000 } ) ;
24- await conn . asPromise ( ) ;
20+ await mongoose . connect ( uri , { serverSelectionTimeoutMS : 5000 } ) ;
21+ if ( Object . keys ( mongoose . models ) . length === 0 ) {
22+ mongoose . model ( 'AccessToken' , accessTokenSchema , 'AccessToken' ) ;
23+ mongoose . model ( 'Content' , contentSchema , 'Content' ) ;
24+ mongoose . model ( 'DashboardResult' , dashboardResultSchema , 'DashboardResult' ) ;
25+ mongoose . model ( 'Invitation' , invitationSchema , 'Invitation' ) ;
26+ mongoose . model ( 'Job' , jobSchema , 'Job' ) ;
27+ mongoose . model ( 'OpenCollectiveSponsor' , openCollectiveSponsorSchema , 'OpenCollectiveSponsor' ) ;
28+ mongoose . model ( 'RateLimit' , rateLimitSchema , 'RateLimit' ) ;
29+ mongoose . model ( 'Subscriber' , subscriberSchema , 'Subscriber' ) ;
30+ mongoose . model ( 'Task' , taskSchema , 'Task' ) ;
31+ mongoose . model ( 'User' , userSchema , 'User' ) ;
32+ mongoose . model ( 'Workspace' , workspaceSchema , 'Workspace' ) ;
2533 }
26- conn . model ( 'AccessToken' , accessTokenSchema , 'AccessToken' ) ;
27- conn . model ( 'Content' , contentSchema , 'Content' ) ;
28- conn . model ( 'DashboardResult' , dashboardResultSchema , 'DashboardResult' ) ;
29- conn . model ( 'Invitation' , invitationSchema , 'Invitation' ) ;
30- conn . model ( 'Job' , jobSchema , 'Job' ) ;
31- conn . model ( 'OpenCollectiveSponsor' , openCollectiveSponsorSchema , 'OpenCollectiveSponsor' ) ;
32- conn . model ( 'RateLimit' , rateLimitSchema , 'RateLimit' ) ;
33- conn . model ( 'Subscriber' , subscriberSchema , 'Subscriber' ) ;
34- conn . model ( 'Task' , taskSchema , 'Task' ) ;
35- conn . model ( 'User' , userSchema , 'User' ) ;
36- conn . model ( 'Workspace' , workspaceSchema , 'Workspace' ) ;
3734
38- return conn ;
35+ return mongoose . connection ;
3936} ;
0 commit comments