Campbell Alden
13779d5a74
Add a dev mode configuration flag
2026-09-05 23:38:55 +09:00
Campbell Alden
c3cd7c2796
Restructure where the CRUD base class lives for clarity and to avoid circular deps
2026-09-05 23:38:46 +09:00
Campbell Alden
0d884e5836
Add a CRUD Repo test helper to handle basic crud repo testing
2026-09-04 00:08:01 +09:00
Campbell Alden
da40febc7f
Move shared test stuff into conftest.py
2026-09-03 23:11:47 +09:00
Campbell Alden
acb343f559
Add more tests for the users repo and fix bugs they uncovered
2026-09-03 23:08:19 +09:00
Campbell Alden
6c46a1df3a
Add a default False to the user model email_confirmed field to avoid violation errors if the value is not explicitly set
2026-09-03 23:00:07 +09:00
Campbell Alden
32e3fe04a2
Set up an extremely lightweight set of tests for the user infra implementation
2026-09-03 22:58:29 +09:00
Campbell Alden
0d270c9cfb
Setup exports in the infra __init__.py
...
This helps avoid issues where model classes are not evaluated. If the models
are not properly imported then Sqlalchemy can explode during database initialization
since the mapped columns have not yet been registered.
Later, having the models all imported into __init__.py will help with setting
up a test db since it will ensure that the registrations for all models is happening
as the classes are evaluated during the imports in the package init file.
2026-09-03 22:57:55 +09:00
Campbell Alden
f44f054f56
Implement equality for SecretBox
2026-09-03 22:56:14 +09:00
Campbell Alden
04440e6270
Fill in the remaining implementations for the subscription infra impl
2026-08-29 00:52:40 +09:00
Campbell Alden
94c03cad1f
Rename duration to wait_duration to make it clear what the duration means
...
The wait_duration means how long after the previous entry was released
that you have to wait for the next one.
2026-08-29 00:52:28 +09:00
Campbell Alden
bf08335382
Unnotified is better than unseen
2026-08-24 00:20:30 +09:00
Campbell Alden
b601a8fbe8
Flesh out more of the subscription infra and services using CRUD types
2026-08-24 00:12:47 +09:00
Campbell Alden
bdf74c2dbd
Update users to use the new CRUD types
2026-08-24 00:12:29 +09:00
Campbell Alden
300cb7bd67
Add some helper types for CRUD infra
2026-08-24 00:12:17 +09:00
Campbell Alden
1c08151558
Ignore a worklist file for storing some longer term goals for myself
2026-08-21 00:25:29 +09:00
Campbell Alden
65b6ab26e7
Add basic subscriptions and a partial implementation of the infra backing
2026-08-21 00:24:32 +09:00
Campbell Alden
86b0d88874
Improve the publication table / data types to denormalize the values
...
Returning profile values where necessary will remove the need to compute
heavy joins unless the user actually wants all the data.
Now Publication points at OrderProfiles which don't expose the sequences
Orders->Sequence->EntryProfile avoids including the full `text` for the
sequence.
2026-08-21 00:24:14 +09:00
Campbell Alden
63e51fa017
Remove content directory
2026-08-15 00:15:32 +09:00
Campbell Alden
cb70df80e1
Add a script for seeding data into the database
...
Expects a Data argument which is a directory containing the text for
A Study in Scarlet
2026-08-15 00:14:12 +09:00
Campbell Alden
81bad03ebd
Remove HTML from stored data for entries
...
HTML will be rendered for entries derived from the plain text (at least,
I think).
2026-08-15 00:13:15 +09:00
Campbell Alden
5060f6a97f
Fix a circular reference issue between users and the auth service
2026-08-15 00:12:38 +09:00
Campbell Alden
583a5737a6
Add publications
2026-08-14 23:35:32 +09:00
Campbell Alden
be71dfc7ce
Add a data version of the date information I'm finding and organize everything into a directory for sherlock
2026-08-08 01:51:02 +09:00
Campbell Alden
0233c18c80
Add a link to the newspaper advertising A Study in Scarlett
2026-08-08 01:36:19 +09:00
Campbell Alden
5ba29b509e
Add my notes working out the release dates of some Sherlock Holmes stories and the evidence I've found
2026-08-08 01:33:34 +09:00
Campbell Alden
35fac60437
Improve the email confirmation logic using the router and more robust JWT handling
2026-08-05 00:34:45 +09:00
Campbell Alden
5a4f9dc250
Create a routes constants file and a router for getting routes in app
2026-08-05 00:12:47 +09:00
Campbell Alden
790e0a1ce5
Default the host configuration to 0.0.0.0
2026-08-05 00:10:55 +09:00
Campbell Alden
782e0b0ad6
Add in a mechanism for email confirmation
...
This is some of the way there but it is still missing at least:
- An actual page to view to confirm the email
- An expiry time on the minted JWT (and other JWT issues like "sub")
2026-08-03 00:33:12 +09:00
Campbell Alden
ecb98dac53
Fixup user service initiation in main
2026-08-03 00:01:29 +09:00
Campbell Alden
395164f630
Move users service into a module
2026-08-03 00:01:15 +09:00
Campbell Alden
72ece8af72
Change how services are provided so that they don't go via "extensions"
2026-08-02 22:50:47 +09:00
Campbell Alden
7b6d351282
Move the notification service into the services directory
2026-08-02 22:50:34 +09:00
Campbell Alden
387e2fa490
Add an auth service for minting and decoding JWTs
2026-08-02 22:50:05 +09:00
Campbell Alden
328f430309
Rename parsing error to be more reusable
2026-08-02 22:49:38 +09:00
Campbell Alden
0af1b827aa
Update main to set everything up (still unused)
2026-08-01 01:10:32 +09:00
Campbell Alden
12797e3cae
Add users
2026-08-01 01:10:32 +09:00
Campbell Alden
6700bc9763
Fleshout some of the notifcation service
...
This is probably organized incorrectly. If it's a service it should
be grouped with the other services
2026-08-01 01:10:32 +09:00
Campbell Alden
0b3b6f50fe
Add unconnected database support
...
Also adds a helper for doing nested config parsing since we're getting
more and more
2026-08-01 01:10:28 +09:00
Campbell Alden
cee708f4d8
Flesh out the email implementation
2026-08-01 01:07:58 +09:00
Campbell Alden
c1a61730d5
Pull email sending concerns out into a standalone service
2026-07-31 18:15:33 +09:00
Campbell Alden
7d535a2c31
Move rss stuff over to a new interface part of the project since it's spiritually different from a notification
2026-07-30 23:54:04 +09:00
Campbell Alden
3891e253ae
Steal RSS abstractions from one of my other projects
2026-07-30 23:48:25 +09:00
Campbell Alden
24bb9dae30
Add the bones of an Email Notification service
2026-07-30 23:48:10 +09:00
Campbell Alden
a7fdd6cbd0
Set up the bones of a Flask app with configuration
2026-07-30 22:45:25 +09:00
Campbell Alden
0909fd7e99
Link to the service where you can read dracula in the way described in the README
2026-07-30 00:25:39 +09:00
Campbell Alden
d3d166bf2b
Share a half motivational / half explanatory blurb in the README
2026-07-30 00:23:42 +09:00
Campbell Alden
09381d17d0
Initialize repo
2026-07-30 00:14:57 +09:00