Rob Hoelz
790f431df0
MWS: Use transactions when modifying multiple resources ( #7991 )
...
* Use transactions when modifying multiple resources
This prevents partial changes from entering the database, and also
nets a nice speed-up.
* Keep track of transaction depth
…so we could someday potentially leverage SQL implementations that don't
implement nested transactions
2024-02-22 10:48:39 +00:00
Jeremy Ruston
1eecfb6b3a
Less logging
2024-02-21 17:55:13 +00:00
Jeremy Ruston
b8c1c6c8de
Allow backslashes in trailing API path components
...
To make us more tolerant of proxies that "helpfully" decodeuricomponent for us (looking at you Azure)
2024-02-21 17:54:56 +00:00
Jeremy Ruston
6503fb4a04
Simple performance logging
2024-02-20 09:33:39 +00:00
Jeremy Ruston
bab14b7053
Logging
2024-02-19 16:29:14 +00:00
Jeremy Ruston
6f8a3b9261
mws-load command: more validation tiddler files
2024-02-16 16:41:39 +00:00
Jeremy Ruston
8edefffbc5
WIP: Support for streaming multipart form data to the file system
2024-02-16 16:02:40 +00:00
Jeremy Ruston
c26acfdb42
Add NOT NULL constraint to all columns
...
Thanks @hoelzro
2024-02-05 16:15:35 +00:00
Jeremy Ruston
f925f036c9
Introduce $tw.mws for MWS globals
2024-02-05 14:49:08 +00:00
Jeremy Ruston
6675358e85
WIP: Add a multipart/form-data convenience function
...
This is the start of adding support for large attachments.
We have a new endpoint for POSTing tiddler data. The idea is that it will take any kind of data and figure out how to extract tiddlers from the upload and save them in the nominated bag.
The next step is to move the attachment files into a special folder and reference them from the database so that we can construct _canonical_uris for them.
2024-02-02 15:42:02 +00:00
Jeremy Ruston
262a730534
Move the database file into a "store" directory inside the wiki folder
2024-01-29 18:11:50 +00:00
Jeremy Ruston
4b6872aa42
Fix typo
2024-01-29 08:29:26 +00:00
Jeremy Ruston
3283d38867
First draft of a command to read tiddlers, bags and recipes from an archive
...
The archive format is a legacy format that I used with Xememex, and will need to be updated to iron out the wrinkles
2024-01-28 21:27:12 +00:00
Jeremy Ruston
4204ff367e
A few more tests
2024-01-28 17:11:53 +00:00
Jeremy Ruston
51e646690c
Allow tilde character in bag and recipe names
2024-01-28 17:11:44 +00:00
Jeremy Ruston
85607f7846
Query fixes
2024-01-28 17:11:23 +00:00
Jeremy Ruston
41a5bcc3a1
Fix canonical URI handling
2024-01-26 15:48:39 +00:00
Jeremy Ruston
84c8a9be9b
Fix typo
2024-01-26 15:01:07 +00:00
Jeremy Ruston
62b2fe3e2f
Add an error when creating a recipe with no bags
2024-01-26 14:42:43 +00:00
Jeremy Ruston
b0a67300cc
Add support for bag descriptions, validate bags and recipes, and complete the UI for creating bags and recipes
...
Styling to come
2024-01-24 22:24:24 +00:00
Jeremy Ruston
8d95c92bfb
Use $:/state/ tiddler for server entity state tiddlers
2024-01-24 10:56:23 +00:00
Jeremy Ruston
627c3e20cc
Add docs bags
2024-01-23 16:53:12 +00:00
Jeremy Ruston
4d42d4a190
Escape less than sign
...
Otherwise tiddlers containing `</script>` will break TiddlyWiki
2024-01-23 16:52:49 +00:00
Jeremy Ruston
f6d6478944
Add support for recipe descriptions
2024-01-23 14:29:50 +00:00
Jeremy Ruston
239ace0c07
Avoid clients of sqlTiddlerStore having to call updateAdminWIki() explicitly
2024-01-23 12:53:06 +00:00
Jeremy Ruston
c1312100aa
Admin UI styling
2024-01-23 12:52:40 +00:00
Jeremy Ruston
e343eccdc3
Refactor _canonical_uri handling out of route handlers
2024-01-23 10:51:12 +00:00
Jeremy Ruston
da5b316358
Split SqlTiddlerStore into SqlTiddlerStore and SqlTiddlerDatabase
...
The motivation is to encapsulate knowledge of the SQL queries
2024-01-22 22:08:55 +00:00
Jeremy Ruston
dc8692044c
Use SQLite's AUTOINCREMENT to give us tiddler version identifiers
...
This commit fixes sync within hosted wikis
2024-01-21 18:18:29 +00:00
Jeremy Ruston
11ecaff7db
Fix typo
2024-01-20 21:48:40 +00:00
Jeremy Ruston
d832bbcc70
Order the results of getRecipeTiddlers
2024-01-20 21:48:33 +00:00
Jeremy Ruston
59aed49e98
Make getRecipeTiddlers return the bagname as well
2024-01-20 20:22:46 +00:00
Jeremy Ruston
e9f83ca735
Add missing LIMIT 1
2024-01-19 22:03:07 +00:00
Jeremy Ruston
afa9ad3cde
Update store.getRecipeTiddler to also return the bag from which the tiddler came
2024-01-19 20:35:47 +00:00
Jeremy Ruston
01d29ed11e
get bag tiddler and put recipe tiddler should return the bag name
2024-01-19 20:12:29 +00:00
Jeremy Ruston
8f9ae7e4d5
Clarify method name
2024-01-19 19:52:57 +00:00
Jeremy Ruston
5fddd3b104
Add support for retrieving tiddlers from bags
2024-01-19 19:33:58 +00:00
Jeremy Ruston
02afbb4000
Rename some of the routes more logically
2024-01-19 19:27:54 +00:00
Jeremy Ruston
54432485e7
Add an HTML view of bag listings
2024-01-19 19:25:58 +00:00
Jeremy Ruston
26ede2839b
Add support for _canonical_uri tiddlers
...
Currently hard wired to kick in for tiddlers over 10MB (in base64 representation for binary tiddlers)
2024-01-19 14:46:21 +00:00
Jeremy Ruston
4b0df1a7ae
Basic support for creating bags and recipes
...
Cannot yet specify the bags for the new recipe
2024-01-19 11:03:58 +00:00
Jeremy Ruston
9767e7d3b7
Update entity state tiddlers on startup to read bag and recipe info
2024-01-19 11:03:27 +00:00
Jeremy Ruston
4133e7d6d6
Stream wiki generation
...
Avoids "string too long" errors when working with big tiddlers (>100MB)
2024-01-19 10:52:12 +00:00
Jeremy Ruston
4f37355a9f
Tests should use a dummy admin wiki
2024-01-19 10:28:04 +00:00
Jeremy Ruston
2f09c32d2d
Fix getTiddler query
2024-01-18 21:47:57 +00:00
Jeremy Ruston
8941bd1747
Server extension framework
...
May not actually be needed
2024-01-17 22:42:01 +00:00
Jeremy Ruston
615dc0c4a3
First pass at admin user interface
2024-01-17 22:41:41 +00:00
Jeremy Ruston
1fb8b2e279
Fix broken test
2024-01-05 15:45:40 +00:00
Jeremy Ruston
0799177cf4
Add another recipe, improve docs
2024-01-05 15:40:39 +00:00
Jeremy Ruston
1eed61397b
Fix create recipe SQL bug
2024-01-05 15:37:48 +00:00