summaryrefslogtreecommitdiff
path: root/lisp/sql/general-pkg.lisp
blob: 5a92ed439cd5382122b0b18d7c27aca6485e599b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
(declaim (optimize (speed 0) (safety 3) (debug 3)))

(in-package :woodriverlessons)

(defclass general-pkg (record-pkg)
  ()
  (:documentation ""))

(defmethod get-about-us ((general-pkg general-pkg))
  (get-record general-pkg (make-instance 'about-us)))

(defmethod get-testimonials ((general-pkg general-pkg))
  (get-record general-pkg (make-instance 'testimonials)))

(defmethod get-gallery ((general-pkg general-pkg) id)
  (let ((gallery (make-instance 'gallery :*table (format nil "general.get_gallery(~a)" id))))
    (get-record general-pkg gallery)))

(defmethod get-galleries ((general-pkg general-pkg))
  (let ((gallery (make-instance 'gallery :*table (format nil "general.get_galleries()"))))
    (get-records general-pkg gallery nil)))

(defmethod insert-gallery ((general-pkg general-pkg) (gallery gallery))
  (setf (*table gallery) (format nil
                                 "general.insert_gallery('~a', '~a', '~a', '~a')"
                                 (description gallery)
                                 (filename gallery)
                                 (mime_type gallery)
                                 (content gallery)))
  (setf (id gallery) (caar (call-pg-function general-pkg gallery)))
  (id gallery))

(defmethod update-gallery ((general-pkg general-pkg) (gallery gallery))
  (setf (*table gallery) (format nil
                                 "general.update_gallery(~a, '~a', '~a', '~a', '~a')"
                                 (id gallery)
                                 (description gallery)
                                 (filename gallery)
                                 (mime_type gallery)
                                 (content gallery)))
  (caar (call-pg-function general-pkg gallery)))