Add core bar-db module.
This commit is contained in:
		
							parent
							
								
									148a4ece7f
								
							
						
					
					
						commit
						03c094214b
					
				
					 3 changed files with 58 additions and 11 deletions
				
			
		|  | @ -9,7 +9,7 @@ BRMINV_SOURCES=brminv.scm frontend.import.scm command-line.import.scm	\ | |||
| 	util-proc.import.scm duck.import.scm texts.import.scm		\
 | ||||
| 	api-servlets.import.scm | ||||
| BRMINV_OBJS=brminv.o frontend.o command-line.o util-proc.o duck.o	\
 | ||||
| 	texts.o api-servlets.o | ||||
| 	texts.o api-servlets.o bar-db.o | ||||
| 
 | ||||
| %.o: %.scm | ||||
| 	$(CSC) -c -static $< | ||||
|  | @ -48,7 +48,12 @@ TEXTS-SOURCES=texts.scm | |||
| texts.o: texts.import.scm | ||||
| texts.import.scm: $(TEXTS-SOURCES) | ||||
| 
 | ||||
| API-SERVLETS-SOURCES=api-servlets.scm | ||||
| API-SERVLETS-SOURCES=api-servlets.scm bar-db.import.scm | ||||
| 
 | ||||
| api-servlets.o: api-servlets.import.scm | ||||
| api-servlets.import.scm: $(API-SERVLETS-SOURCES) | ||||
| 
 | ||||
| BAR-DB-SOURCES=bar-db.scm | ||||
| 
 | ||||
| bar-db.o: bar-db.import.scm | ||||
| bar-db.import.scm: $(BAR-DB-SOURCES) | ||||
|  |  | |||
							
								
								
									
										48
									
								
								backend/bar-db.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								backend/bar-db.scm
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,48 @@ | |||
| ;; | ||||
| ;; bar-db.scm | ||||
| ;; | ||||
| ;; Bar database queries. | ||||
| ;; | ||||
| ;; ISC License | ||||
| ;; | ||||
| ;; Copyright 2023-2025 Brmlab, z.s. | ||||
| ;; Dominik Pantůček <dominik.pantucek@trustica.cz> | ||||
| ;; | ||||
| ;; Permission to use, copy, modify, and/or distribute this software | ||||
| ;; for any purpose with or without fee is hereby granted, provided | ||||
| ;; that the above copyright notice and this permission notice appear | ||||
| ;; in all copies. | ||||
| ;;  | ||||
| ;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL | ||||
| ;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED | ||||
| ;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE | ||||
| ;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR | ||||
| ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS | ||||
| ;; OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, | ||||
| ;; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | ||||
| ;; CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||
| ;; | ||||
| 
 | ||||
| (declare (unit bar-db)) | ||||
| 
 | ||||
| (module | ||||
|     bar-db | ||||
|     ( | ||||
|      bar-db-init! | ||||
|      ) | ||||
| 
 | ||||
|   (import scheme | ||||
| 	  (chicken base) | ||||
| 	  postgresql) | ||||
| 
 | ||||
|   (define bar-db-conn (make-parameter #f)) | ||||
| 
 | ||||
|   (define (bar-db-init! name host user pass) | ||||
|     (bar-db-conn | ||||
|      (connect | ||||
|       `((dbname . ,name) | ||||
| 	(host . ,host) | ||||
| 	(user . ,user) | ||||
| 	(password . ,pass))))) | ||||
| 
 | ||||
|   ) | ||||
|  | @ -32,8 +32,8 @@ | |||
| 	intarweb | ||||
| 	uri-common | ||||
| 	(chicken string) | ||||
| 	postgresql | ||||
| 	api-servlets) | ||||
| 	api-servlets | ||||
| 	bar-db) | ||||
| 
 | ||||
| (define -port- (make-parameter #f)) | ||||
| (define -certificate- (make-parameter #f)) | ||||
|  | @ -101,13 +101,7 @@ | |||
| (when (and (-user-) (-group-)) | ||||
|   (switch-user/group (-user-) (-group-))) | ||||
| 
 | ||||
| (define dbconn | ||||
|   (connect | ||||
|    `((dbname . ,(-db-name-)) | ||||
|      (host . ,(-db-host-)) | ||||
|      (user . ,(-db-user-)) | ||||
|      (password . ,(-db-pass-))))) | ||||
| (print dbconn) | ||||
| (bar-db-init! (-db-name-) (-db-host-) (-db-user-) (-db-pass-)) | ||||
| 
 | ||||
| (define (handle-api-calls) | ||||
|   (define plst (cdr (uri-path (request-uri (current-request))))) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue