Commit Graph

18 Commits

Author SHA1 Message Date
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