| 
									
										
										
										
											2021-06-17 16:17:15 +02:00
										 |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-08 23:33:39 +02:00
										 |  |  | const getDialectClass = (client) => { | 
					
						
							| 
									
										
										
										
											2021-06-17 16:17:15 +02:00
										 |  |  |   switch (client) { | 
					
						
							|  |  |  |     case 'postgres': | 
					
						
							| 
									
										
										
										
											2021-09-13 16:14:33 +02:00
										 |  |  |       return require('./postgresql'); | 
					
						
							| 
									
										
										
										
											2021-06-24 18:28:36 +02:00
										 |  |  |     case 'mysql': | 
					
						
							| 
									
										
										
										
											2021-09-13 16:14:33 +02:00
										 |  |  |       return require('./mysql'); | 
					
						
							| 
									
										
										
										
											2021-06-24 18:28:36 +02:00
										 |  |  |     case 'sqlite': | 
					
						
							| 
									
										
										
										
											2021-09-13 16:14:33 +02:00
										 |  |  |       return require('./sqlite'); | 
					
						
							| 
									
										
										
										
											2021-06-17 16:17:15 +02:00
										 |  |  |     default: | 
					
						
							| 
									
										
										
										
											2021-12-22 19:59:03 +05:30
										 |  |  |       throw new Error(`Unknown dialect ${client}`); | 
					
						
							| 
									
										
										
										
											2021-06-17 16:17:15 +02:00
										 |  |  |   } | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-08 23:33:39 +02:00
										 |  |  | const getDialect = (db) => { | 
					
						
							| 
									
										
										
										
											2021-07-28 21:03:32 +02:00
										 |  |  |   const { client } = db.config.connection; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-13 16:14:33 +02:00
										 |  |  |   const constructor = getDialectClass(client); | 
					
						
							|  |  |  |   const dialect = new constructor(db); | 
					
						
							| 
									
										
										
										
											2021-07-28 21:03:32 +02:00
										 |  |  |   dialect.client = client; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return dialect; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-17 16:17:15 +02:00
										 |  |  | module.exports = { | 
					
						
							|  |  |  |   getDialect, | 
					
						
							|  |  |  | }; |