1
1
Fork 0
mirror of https://code.mensbeam.com/MensBeam/Arsse.git synced 2024-12-23 09:02:41 +00:00
Commit graph

211 commits

Author SHA1 Message Date
J. King
bbace7a0ac Use void and nullable return types where practical 2020-01-20 13:34:03 -05:00
J. King
737dd9f6b8 Fix foreign keys in MySQL 2019-12-01 15:00:28 -05:00
J. King
3ef1177f06 Remove driver lists 2019-10-18 13:20:28 -04:00
J. King
3da884dfbc Don't embed ito SQL strings with question marks
Fixes #175
2019-09-12 09:53:43 -04:00
J. King
be5ad50f54 Tests for text search clause generator 2019-09-12 09:41:01 -04:00
J. King
fb6e2babb9 Change some conditions to asserts 2019-09-12 08:32:40 -04:00
J. King
3439895779 Normalize URLs before establishing feed uniqueness 2019-09-03 19:04:23 -04:00
J. King
cfef75ccba Don't update the feed URL when fetching
This can result in some unpredictable constraint violations
2019-08-06 09:58:30 -04:00
J. King
db5bcb78a3 Fix lookup of evergreen tokens 2019-07-26 20:06:47 -04:00
J. King
f7240301e4 Basic database maintenance
Closes #169
2019-07-26 09:37:51 -04:00
J. King
422eaf9605 Invalidate sessions on password change; closes #170 2019-07-25 22:34:58 -04:00
J. King
2aa16f3405 Merge branch 'fever' into opml 2019-07-24 14:04:04 -04:00
J. King
6ef13d0880 Style fixes 2019-05-01 22:52:20 -04:00
J. King
3899ee6b4e Allow for replacing label and tag associations
This supplements adding and removing
2019-04-27 18:32:15 -04:00
J. King
2af223753d Function to add a feed without a subscription 2019-04-21 14:07:36 -04:00
J. King
ceecd58393 OPML parsing comments and minr fixes 2019-04-21 13:10:47 -04:00
J. King
e3d2215920 Style fixes 2019-04-05 11:03:15 -04:00
J. King
12f23ddc16 Updated tests for arbitrary sorting 2019-04-04 17:21:23 -04:00
J. King
f72c85c9f6 Hopefully working but maybe broken custom sorting 2019-04-04 11:22:50 -04:00
J. King
4b133bddd6 Prototype arbitrary result ordering 2019-04-03 15:02:59 -04:00
J. King
74fc39fca0 Implement multi-folder context option 2019-04-02 22:44:09 -04:00
J. King
cce1089e10 Handle edge case with folder 0
Folder 0 (the root folder) is a valid, though nonsensical selection:
using it as a positive option is the same as not using the option at
all, and using it as a negative option necessarily yields an empty set.

However, it can in some contexts be validly specified, and so it should
be handled consistently. It had not been previously, but is now.
2019-04-02 19:58:35 -04:00
J. King
98f6fca7e3 Enforce minimum array size (for now) 2019-04-02 18:37:46 -04:00
J. King
ef1b761f95 Implement most multiple-item context options
Selecting multiple folder trees will require further effort
2019-04-02 18:24:20 -04:00
J. King
d8407330a0 Add a function to get when feeds were last updated
This is an optimization for Fever, which returns this information with
every API call.
2019-03-26 16:51:44 -04:00
J. King
acb3973149 Prototype implementation of Fever groups and feeds 2019-03-26 08:53:26 -04:00
J. King
e45ba3f0ea Add means of unsetting a password in the backend 2019-03-24 14:42:23 -04:00
J. King
b02c910b1e Make token creation check that the user exists 2019-03-10 15:54:43 -04:00
J. King
38bdde1167 Add access tokens to the db, with relevant code
Tokens are similar to sessions in that they stand in for users, but the
protocol handlers will manage them; Fever login hashes are the
originating use case for them. These must never expire, for example,
and we need to specify their values.

This commit also performs a bit of database clean-up
2019-03-09 16:23:56 -05:00
J. King
5de1844f6d Add article selection by tag 2019-03-07 11:07:22 -05:00
J. King
e6f70527cf Simplify tag summary 2019-03-07 08:20:09 -05:00
J. King
ff0c9a3a55 Add functionality for interacting with subscription tags 2019-03-06 22:15:41 -05:00
J. King
4945f8baa3 Clarify various SQL queries 2019-03-05 19:22:01 -05:00
J. King
fb1bdbfb37 Database schema for subscription tags 2019-03-03 12:10:18 -05:00
J. King
44366f48bf Remove arbitrary search term limits; fixes #150 2019-03-02 13:53:43 -05:00
J. King
21fdd66d37 Work around limit to SQL parameter placeholders for IN() clauses
Improves #150

LIKE-based matches also need to be similarly conservative
2019-03-01 22:36:25 -05:00
J. King
95de375e0b Handle folder and label exclusion
Consequently the way label data are retrieved was completely overhauled
2019-02-27 10:48:11 -05:00
J. King
677e33e518 Add text search exclusions 2019-02-26 11:39:19 -05:00
J. King
0dc82f64d5 Allow ranges in exclusion contexts 2019-02-26 11:11:42 -05:00
J. King
b950ac066f Restrict options in not-context and hopefully make it easier to use 2019-02-25 22:41:12 -05:00
J. King
14c02d56ac Implement new context options other than not().
Context handling has also been re-organized to simplify later
implementation of the not() option
2019-02-25 16:26:38 -05:00
J. King
2df7c25b66 Add ability to search note text 2019-02-23 20:14:52 -05:00
J. King
bc3182a961 Basic substring searching 2019-02-22 18:50:39 -05:00
J. King
17f3a2f059 Start on an API overview for the Database class 2019-02-13 12:37:41 -05:00
J. King
49cefaf5c8 Complete API documentation for the Database class 2019-02-04 13:05:48 -05:00
J. King
d3a385beef Partial API documentation for the Database class 2019-02-03 12:25:07 -05:00
J. King
5cd84c4ab4 Validate configuration parameters on import, and other changes
- Each parameter is checked for type and normalized
- Interval strings are converted to DateInterval objects
- Timeouts can be specified as interval strings
- Most intervals can be null to signify infinity
- Driver classes are checked that they implement the correct interface
- Short driver names may be used, and are used by default
- Helpful errors messages are printed in case of erroneous configuration

Exporting is currently broken; this will be fixed in an upcoming commit
2019-01-20 22:40:49 -05:00
J. King
81acba90dc Use strict equality when comparing strings 2019-01-11 10:38:06 -05:00
J. King
b4de56a64e Work around MySQL silliness with same-table foreign keys 2018-12-21 17:02:34 -05:00
J. King
f0d30c2eee Make munging of queries a generic feature 2018-12-21 12:35:10 -05:00