24 lines
728 B
Common Lisp
24 lines
728 B
Common Lisp
;;;; cl-scopes/storage/folder - persistent folders, stored in a SQL database.
|
|
|
|
(defpackage :scopes/storage/folder
|
|
(:use :common-lisp)
|
|
(:local-nicknames (:shape :scopes/shape)
|
|
(:tracking :scopes/storage/tracking))
|
|
(:export #:folder
|
|
#:make-container))
|
|
|
|
(in-package :scopes/storage/folder)
|
|
|
|
(defclass folder (tracking:track)
|
|
((shape:head-fields :initform '(:parent :name :ref))))
|
|
|
|
(defun indexes (cont)
|
|
'((parent name ref) (ref)))
|
|
|
|
(defun make-container (storage)
|
|
(make-instance 'tracking:container
|
|
:item-class 'folder
|
|
:short-name :fldr
|
|
:table-name :folders
|
|
:index-factory #'indexes
|
|
:storage storage))
|