diff options
| author | chers <admin@tilde.tailb619f6.ts.net> | 2026-07-31 09:18:39 +0000 |
|---|---|---|
| committer | chers <admin@tilde.tailb619f6.ts.net> | 2026-07-31 09:18:39 +0000 |
| commit | 7023e4c7c8f158df78b5e71ddc2640290409eca1 (patch) | |
| tree | 077fb46bdb484bbbf7f9a81fd1d512f66650be10 /server/models.lisp | |
Diffstat (limited to 'server/models.lisp')
| -rw-r--r-- | server/models.lisp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/server/models.lisp b/server/models.lisp new file mode 100644 index 0000000..8ee7f4d --- /dev/null +++ b/server/models.lisp @@ -0,0 +1,35 @@ +(defpackage :cl-bbs/models + (:use :cl) + (:export #:thread + #:post + #:board + #:headline + #:posts + #:truncated + #:content + #:date + #:messages + #:vip + #:name)) + +(in-package :cl-bbs/models) + +(defclass post () + ((id :initarg :id :accessor post-id) + (date :initarg :date :accessor post-date) + (vip :initarg :vip :accessor post-vip :initform nil) + (content :initarg :content :accessor post-content)) + (:documentation "Represents a single post on a message board.")) + +(defclass thread () + ((id :initarg :id :accessor thread-id) + (headline :initarg :headline :accessor thread-headline) + (date :initarg :date :accessor thread-date) + (messages :initarg :messages :accessor thread-messages :initform 1) + (truncated :initarg :truncated :accessor thread-truncated :initform nil) + (posts :initarg :posts :accessor thread-posts :initform nil)) + (:documentation "Represents a thread consisting of a series of posts.")) + +(defclass board () + ((name :initarg :name :accessor board-name)) + (:documentation "Represents a message board.")) |
