;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*- ;;; $Header: src/package.lisp $ ;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved. ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; * Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; * Redistributions in binary form must reproduce the above ;;; copyright notice, this list of conditions and the following ;;; disclaimer in the documentation and/or other materials ;;; provided with the distribution. ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. (in-package :cl-user) (defpackage :claw-demo-backend (:use :cl :clsql :clsql-sys :clsql-postgresql :local-time :claw-as :closer-mop :split-sequence) (:shadowing-import-from :local-time :timezone :decode-duration :format-duration :parse-datestring :universal-time :parse-timestring) (:documentation "A demo application for CLAW") (:export #:*claw-demo-db* #:demo-setup #:db-connect #:db-disconnect ;; --- Value objects --- ;; #:copy-values-by-accessors #:slot-column-name #:base-table #:records-equal #:table-id #:table-version #:table-update-user #:table-insert-user #:table-update-date #:table-insert-date #:user #:user-firstname #:user-surname #:user-username #:user-email #:user-password #:user-active #:user-roles #:role #:role-name #:role-description #:role-users #:city #:city-name #:city-zip #:city-iso-state #:city-iso-country #:city-alt-code #:customer #:customer-name1 #:customer-name2 #:customer-email #:customer-phone1 #:customer-phone2 #:customer-phone3 #:customer-fax #:customer-addresses #:customer-vat #:customer-vat #:customer-code1 #:customer-code2 #:customer-code3 #:customer-code4 #:customer-address #:customer-address-name1 #:customer-address-name2 #:customer-address-type #:customer-address-address #:customer-address-city #:customer-address-zip #:customer-address-state #:customer-address-country ;; --- Business methods --- ;; #:update-db-item #:delete-db-item #:reload-db-item #:find-by-id #:delete-by-id #:delete-class-records #:find-vo #:count-vo #:find-user-by-name #:find-roles-by-names #:find-roles-by-ids #:find-customers #:find-users))