Alex Cabal
8ad3291a35
Add admin form to view and edit users
2024-11-23 14:30:11 -06:00
Alex Cabal
d6a2bdcbc8
Make MARC roles an enum and restructure how contributors are fetched from the DB to reduce queries
2024-11-11 12:01:53 -06:00
Alex Cabal
b3a9d86828
Fix SQL definition
2024-11-11 11:21:21 -06:00
Alex Cabal
acb30b897c
Add PropertyFromHttp trait and update codebase to use new pattern
2024-11-10 22:23:43 -06:00
Mike Colagrosso
312e2105ec
Change Created datetime to timestamp to match 88c3049
2024-11-04 13:16:56 -06:00
Mike Colagrosso
c3c4cbddca
Adopt IF NOT EXISTS
approach from 82e43cb
2024-11-04 13:16:56 -06:00
Mike Colagrosso
95a1edc8b7
Bump TocEntries.SortOrder from tinyint to smallint
...
Ebooks can have more than 255 TocEntries. (572 is the current highest.)
2024-11-04 13:16:56 -06:00
Mike Colagrosso
c8e6524ef2
Remove primary key TocEntryId
...
Add a SortOrder column to order the TocEntries instead.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
2eb7fef027
Remove primary key GitCommitId
...
The table already has a Created column, and that's the column we use to sort on.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
3f3cf702b2
Remove primary key ContributorId
...
`Ebook` to `Contributor` is one to many, and we don't query by ContributorId.
The table already has a SortOrder column, and we use that to order the queries.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
1076c9a77d
Remove primary key EbookSourceId
...
There is a one to many relationship between `Ebook` and `EbookSource`, and we
don't query by `EbookSourceId`. We add a `SortOrder` column to keep the sources
in the same order as specified in `content.opf`.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
4e8ba5ddaa
Remove primary key EbookTagId
...
Add a SortOrder column so that tags are presented in the same order as listed in content.opf.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
b4b6fde778
Remove primary key EbookLocSubjectId
...
Add a SortOrder column to keep the LocSubjects in the same order as given in content.opf.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
cada95383f
Remove primary key CollectionEbookId
...
Add a SortOrder to preserve the order of the collections listed in content.opf for ebook.php, e.g., for To the Lighthouse:
№ 15 in the Modern Library’s 100 Best Novels set.
Part of the Encyclopædia Britannica’s Great Books of the Western World set.
№ 2 in the BBC’s 100 Greatest British Novels (2015) set.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
783a41a1ba
Make Ebook Language NOT NULL
2024-11-04 13:16:56 -06:00
Mike Colagrosso
7d8cfd351e
Ebook tags: Store UrlName so it can be queried
2024-11-04 13:16:56 -06:00
Mike Colagrosso
b792dec9e5
Make collection type (series, set) an enum
2024-11-04 13:16:56 -06:00
Mike Colagrosso
a9a0782946
Timestamps: Set DEFAULT and ON UPDATE values
...
Newer versions of MariaDB, such as this one included with Ubuntu 24.04:
Server version: 10.11.8-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04
change the default behavior to not automatically set timestamp defaults and on update values:
$ mysqld --verbose --help | grep explicit-defaults-for-timestamp
explicit-defaults-for-timestamp TRUE
whereas my older machines allowed it:
$ mysqld --verbose --help | grep explicit-defaults-for-timestamp
explicit-defaults-for-timestamp FALSE
More background on the flag here:
https://dev.mysql.com/doc/refman/8.4/en/timestamp-initialization.html
2024-11-04 13:16:56 -06:00
Mike Colagrosso
4abf6e29d2
Add an index for EbookCreated
...
This is the default sort on /ebooks, so it should have an index
2024-11-04 13:16:56 -06:00
Mike Colagrosso
402dae95ff
Add a Type enum to Tags for artwork/ebook
2024-11-04 13:16:56 -06:00
Mike Colagrosso
a25660bc8b
Split Collections into two tables
2024-11-04 13:16:56 -06:00
Mike Colagrosso
ac7db8d375
Add primary keys to LocSubjects and Tags tables
...
Missed these before, and in addition to being a good practice, they are needed to maintain insertion order of LocSubjects and Tags.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
79daa82bf4
Add primary keys to multiple tables
...
I missed these keys when creating the initial schema, and it's a useful practice.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
7350891cd5
Spell out EbookSourceType values
2024-11-04 13:16:56 -06:00
Mike Colagrosso
88b3ffd9ed
Store EbookSourceType as a string/enum, not int
2024-11-04 13:16:56 -06:00
Mike Colagrosso
073f138c47
Initial Ebook DB schema
2024-11-04 13:16:56 -06:00
Alex Cabal
88c3049d7a
Change some datetime columns to timestamp
2024-10-24 16:37:09 -05:00
Alex Cabal
82e43cb520
Add DB setup to readme
2024-10-23 11:09:16 -05:00
Alex Cabal
f28378de37
Update SQL table definitions
2024-05-24 11:50:04 -05:00
Alex Cabal
ee7c8343dd
Convert some constants to enums
2024-05-11 21:51:06 -05:00
Alex Cabal
703e1a7a03
Continue improving type hints
2024-05-10 23:38:57 -05:00
Alex Cabal
c4c8e7353f
Enable strict exception type hint checking in PHPStan and add exception type hints
2024-05-10 20:47:36 -05:00
Alex Cabal
5b3f8f7b77
Add support for filling backed enum types in the DB ORM layer, and cleanup some formatting issues
2024-04-25 11:57:02 -05:00
Alex Cabal
8519938e27
Fix SQL in Polls table
2024-02-06 15:53:52 -06:00
Alex Cabal
e267911305
Change column in Polls table
2024-02-04 21:51:35 -06:00
Mike Colagrosso
3ebe6fe457
Set artist name length to 255
...
The length should be long enough to store COVER_ARTWORK_MAX_STRING_LENGTH
2024-01-26 10:17:36 -06:00
Alex Cabal
cbf87487eb
Use ebook URL and not filesystem slug to identify ebooks in artworks
2024-01-23 23:11:30 -06:00
Mike Colagrosso
cad2f5f730
List artwork by artist via /artworks/<artist-name>
2024-01-23 13:46:12 -06:00
Alex Cabal
f0bdd5596f
Rename ArtistAlternateSpellings to ArtistAlternateNames
2024-01-17 16:32:57 -06:00
Alex Cabal
51672e7177
Add support for alternate spellings in new artwork form
2024-01-15 11:42:47 -06:00
Alex Cabal
f992da84ae
Don't allow submitters to review their own artwork
2024-01-13 16:38:22 -06:00
Alex Cabal
60eb118524
Add Special Notes field to artwork
2024-01-10 13:41:15 -06:00
Mike Colagrosso
854fb2c816
Add SubmitterUserId field to Artworks table
2024-01-09 23:20:08 -06:00
Mike Colagrosso
86af259f0b
Change CanUploadArtwork field name to match code
2024-01-09 10:17:14 -06:00
Alex Cabal
5a1c05d8c5
Add password login option for some users, and further refinements to artwork management system
2024-01-06 22:27:38 -06:00
Mike Colagrosso
6a5c05511a
Add cover art database
...
Co-authored-by: Job Curtis <job.curtis@gmail.com>
Co-authored-by: Alex Cabal <alex@standardebooks.org>
2024-01-03 19:14:04 -06:00
Mike Colagrosso
1f3b66144d
Add IsMatchingDonation to Payments
2023-06-18 10:06:09 -05:00
Alex Cabal
30442c0c62
Move HTTP auth to PHP
2022-07-14 12:50:21 -05:00
Alex Cabal
0bc3dc3830
Create cookie-based login and authentication system
2022-07-10 20:53:20 -05:00
Alex Cabal
7f50f00b42
work
2022-07-10 00:55:24 -05:00