(in-package #:cl-user) (defpackage #:archive (:nicknames #:arc) (:use #:cl #:ritherdon-archive.db #:app-constants #:mito) (:export #:archive-entry)) (in-package #:archive) (defclass archive-entry () ((title :documentation "The title of the archive entry." :col-type (or :text :null) :initarg :title :initform :null :accessor title-of) (search-id :documentation "The Id. used in the Meilisearch database." :col-type (or :integer :null) :initarg :search-id :initform :null :accessor search-id-of) (month :documentation "The month the artwork was published." :col-type (or :text :null) :initarg :month :initform :null :accessor month-of) (year :documentation "The year the artwork was published." :col-type (or :integer :null) :initarg :year :initform :null :accessor year-of) (slug :documentation "The slug, used as part of the URL, to access the entry." :col-type (or :text :null) :initarg :slug :initform :null :accessor slug-of) (thumbnail-slug :documentation "The name of the thumbnail, for particular entry." :col-type (or :text :null) :initarg :thumbnail-slug :initform :null :accessor thumbnail-slug-of) (thumbnail-file-type :documentation "The file type of the thumbnail, used when serving image." :col-type (or :text :null) :initarg :thumbnail-file-type :initform :null :accessor thumbnail-file-type-of) (keywords :documentation "Text for Meilisearch's filter options. An example of how the keywords shold look is: 'art,welding,blue and green,metal'. The 'blue and green' section is classed as one keyword." :col-type (or :text :null) :initarg :keywords :initform :null :accessor keywords-of)) (:documentation "`ARCHIVE-ENTRY' represents the model used by Mito to map database between the system and the 'archive_entry' table in the database. This model contains data which is used more by the Meilisearch instance attached to this website -- as a seperate service.") (:metaclass mito:dao-table-class))