From 7023e4c7c8f158df78b5e71ddc2640290409eca1 Mon Sep 17 00:00:00 2001 From: chers Date: Fri, 31 Jul 2026 09:18:39 +0000 Subject: Update cl-bbs --- server/models.lisp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 server/models.lisp (limited to 'server/models.lisp') 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.")) -- cgit v1.2.3