Commit Graph

19 Commits

Author SHA1 Message Date
Elf M. Sternberg 1bbe8c1ee8 Completely revamped the internal structures.
This removes the page/note dichotomy, since it wasn't working
as well as I'd hoped.  The discipline required now is higher
where the data store layer is concerned, but the actual structures
are smaller and more efficient.
2020-11-04 12:54:17 -08:00
Elf M. Sternberg 77ca6d0304 A reset for the single table case. 2020-11-02 18:32:01 -08:00
Elf M. Sternberg dd61f8c0c2 Working on the API that translates the simple vector into a
tree-like structure suitable to RESTification.
2020-10-28 18:22:43 -07:00
Elf M. Sternberg 8c8352259a Hey, all the (current) tests are passing. That's... kinda nifty. 2020-10-26 19:49:38 -07:00
Elf M. Sternberg 72fb3b11ee FEAT Delete & Update note is now complete.
Well, as complete as it could be without proper automated testing.
I think there'll be some more testing soon, as it doesn't make sense
for it to hang out so blatantly like this.

Both a fmt and clippy pass have shaken all the lint off, and right
now it builds without warnings or lintings.  Wheee!
2020-10-26 18:54:56 -07:00
Elf M. Sternberg 4e04bb47d5 FEAT: Reference parser is now working.
It's probably not the fastest thing in the world, but
it's going to be enough for now.
2020-10-13 17:23:24 -07:00
Elf M. Sternberg 1c0f3abd6c FEAT: Move note now works. 2020-10-12 20:43:49 -07:00
Elf M. Sternberg fd4f39b5b8 It compiles. Whether it works is still ¯\_(ツ)_/¯ 2020-10-09 09:57:43 -07:00
Elf M. Sternberg 1b8e1c067d derive_builder pattern is applied successfully.
This is mostly an exercise to understand the derive_builder pattern.
It required a few tips to get it working, but in the end, it's
actually what I want.

I also learned a lot about how the Executor pattern, the Results<> object,
error mapping, and futures interact in this code.  This is going to be
incredibly useful long-term, as long as I still keep this project "live"
in my head.
2020-10-08 12:18:08 -07:00
Elf M. Sternberg e0c463f9fc Not working. 2020-10-06 08:01:25 -07:00
Elf M. Sternberg 0f5d15ad14 FEAT Can update a raw note. 2020-09-30 09:17:37 -07:00
Elf M. Sternberg 1565fef001 REFACTOR: Dry'ing out the insert_new_note feature.
Since both `insert_page` and `insert_note` need to insert a note,
having that code twice in the same block was annoying, especially
since discovering that my oh-so-clever use of `include_str!`
precludes me from using the `query!` macros, which want the strings
included *before* doing analysis.

All that wrestling with the Transaction type turned out to be much
simpler when I was able to just devolve it into an Executor.
2020-09-30 08:53:45 -07:00
Elf M. Sternberg 75809d821d FEAT: Can save a new page. Automagically includes its root note. 2020-09-30 07:37:18 -07:00
Elf M. Sternberg 6bc8b0e911 FEAT Can now retrieve and individual date by public ID. 2020-09-29 18:24:34 -07:00
Elf M. Sternberg 2e08b02def FEAT Enabled chrono datetimes in the database. 2020-09-29 14:27:11 -07:00
Elf M. Sternberg 884822a230 DOC Rustfmt works.
TEST Added test to reassure myself that Arc copies of the storage pool
     are working as planned.
2020-09-29 08:08:30 -07:00
Elf M. Sternberg 71dfc479d8 FEAT Can get a raw note.
TEST Asserts a non-existent raw note is non-existent.
2020-09-29 07:44:43 -07:00
Elf M. Sternberg 8ee71c76a3 FEAT Can initialize the database and fail to retrieve a page.
In the great tradition of TPP, this is a win.  We've gone through
the test driven development, and there is so much *learning* here:

- tokio::test NEEDS the threaded_schedular feature to report errors correctly
- thiserror can't do enum variants the way I expected
- Different error types for different returns is not kosher
- Serde's configuration NEEDS a type, such as JSON, to work,
- Rust has include_str!(), to embed text in a Rust program from an external source
- SQLX is still a pain, but it's managable.
2020-09-28 17:33:43 -07:00
Elf M. Sternberg 2bd7c0aaad DOC Phase one committed to the project, the basic layout of the backstore.
Just describing my vague TPP-level commitments to the project.
2020-09-27 05:35:37 -07:00