|
|
|
(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))
|