about summary refs log tree commit diff
path: root/src/database
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bug in the error middlewareVika2021-09-271-0/+1
| | | | | | When an error is found, the site name passed to Storage::get_setting in the error handler is incorrect. The ASCII serialisation of the hostname should get used.
* Implemented support for channelsVika2021-09-273-65/+172
|
* Implemented FileStorage::delete_postVika2021-09-271-1/+4
|
* Finally figured out how to read without a BufReaderVika2021-09-271-14/+6
| | | | | BufReader was really unneccesary here, since I was batch-reading all of this in one go.
* Improved symlink creationVika2021-09-271-5/+78
| | | | | | Now symlink creation works on Windows and creates links relative to the posts, allowing for seamless migrations of the backing directory for true portability and no data lock-in.
* Implemented FileStorage::get_setting and FileStorage::set_settingVika2021-09-271-2/+53
|
* Moved integration tests and allowed the binary to use file backendVika2021-09-261-0/+6
| | | | | | Now the Redis dependencies are optional and only required if you want to test the backend or actually use it in production. The app displays a hint if you try to launch with an unsupported backend.
* Added file updates and fixed a bug with truncated JSON filesVika2021-09-262-3/+154
| | | | | | | | | | | There was a bug where `File::write()` would not write the entire buffer, and this condition was left unchecked by the code. All `File::write()` calls are now replaced with `File::write_all()` which ensures the whole buffer is written to the backing file. Additionally added a smoke check for the file updates. It is in no way comprehensive nor it is able to catch all the possible failures but it's a good way of testing the functionality without way too much hassle.
* Added a WIP file backendVika2021-08-152-30/+210
| | | | | | | Currently unavailable for use and only has basic GET and POST operations implemented. A lot more work is needed to make it truly usable. Locking is implemented using flock() system call on Linux.
* Improved Redis module code qualityVika2021-08-151-13/+10
|
* Shortened a connection timeout and installed a lifetime limit for connectionVika2021-08-061-1/+4
|
* Trying to mitigate and log more about the HTTP 500sVika2021-08-051-10/+12
|
* Fixed a VERY WRONG way to handle stream errorsVika2021-08-042-31/+25
| | | | | | for future reference: stream operations returning Result satisfy conditions for the futures::stream::TryStreamExt trait, allowing you to use `TryStreamExt::try_collect::<T>()` and receive a Result<T>.
* Appease rustfmt, clippy and cargo checkVika2021-07-291-2/+8
|
* Relaxed anti-takeover URL check to simply not place redirects at foreign URLsVika Shleina2021-07-192-5/+5
|
* Make rustfmt happy again after Clippy editsVika2021-05-181-4/+1
|
* Make clippy happyVika2021-05-171-12/+8
|
* Make rustfmt happyVika2021-05-172-127/+316
|
* Added setting store per-userVika2021-05-172-0/+28
|
* Update CI configuration and GitLab WebIDE settingsVika2021-05-171-1/+1
|
* Added a note to future selfVika2021-05-051-0/+7
|
* Refactored the Redis instance spawning in tests to automatically kill RedisVika2021-05-052-13/+28
|
* Removed the in-memory database, it's dragging me downVika2021-05-052-203/+0
|
* Moved the Redis spawner to the Redis module where it belongs, refactored ↵Vika2021-05-052-42/+49
| | | | tests to use the Redis database instead of a fake one
* Added a connection pool to the RedisDatabaseVika2021-05-051-17/+27
|
* Refactored error handling in RedisStorage using the ? operatorVika2021-05-051-184/+124
|
* Made some StorageError fields private and added getters insteadVika2021-05-051-2/+5
|
* Clippy lintsVika2021-05-042-22/+16
|
* Made StorageErrors directly convertible into Micropub JSON responsesVika2021-05-041-0/+16
|
* Fixed Redis testsVika2021-05-042-4/+6
|
* Implemented MemoryStorage::update_post()Vika2021-05-042-1/+84
|
* Refactored the database module and its testsVika2021-05-044-0/+767