Commit Graph

15 Commits

Author SHA1 Message Date
projectmoon a34e8d24c6 Rename static directory to generated 2021-01-09 13:03:07 +00:00
projectmoon a729ccb4a2 Return semi-proper values from the protobuf HTTP API 2021-01-05 21:19:47 +00:00
projectmoon 81c1ace175 Add readme instructions, run proxy command. 2021-01-03 21:24:52 +00:00
projectmoon 924712f583 Successful (but very manual) grpc-web requests. 2021-01-03 20:42:54 +00:00
projectmoon a16ffd0495 Serve templated templates with webpack-compiled JS injected. 2021-01-03 13:36:53 +00:00
projectmoon 3a250230df Experimenting with tonic 2021-01-02 22:32:17 +00:00
projectmoon ce4e02594d Add ability to pass in custom database path. 2020-12-31 14:11:28 +00:00
projectmoon 62f05060c0 Move migrations to refinery + barrel, enable 'offline' sqlx query checking 2020-12-31 14:11:28 +00:00
projectmoon 5ea07b8953 Rip out Diesel in favor of SQLx.
The primary benefit of this is to avoid Rocket's database integration,
which has become problematic in this codebase with the update to the
new async style. Because the async database API is actually
synchronous under the hood, this introduces some annoying lifetime
requirements that basically force us to use owned data everywhere.

The original pattern was to have a separate data layer that could
invoke queries from `self` (the db connection). By using a true async
database driver, we can get this back, because the lifetimes are once
again flexible instead of the ones forced by Rocket.
2020-12-31 14:11:28 +00:00
projectmoon 4023bdc08a Start of adding protobuf-based editable character sheet. 2020-12-27 21:03:10 +00:00
projectmoon 8c8ed4f6ef Migrate to Rocket 0.5.
Rocket 0.5 is a major uprade, rewriting most of Rocket to be async.
Required many changes through the code, especially the database layer.
The new Rocket async database calls require Futures with 'static
lifetimes.

General:
 - Move to stable rust.
 - Most of codebase is now async.
 - Rocket migrations (e.g. Cookies to CookieJar).

Database:
 - Switched to owned data (&str -> String) for inserts because of the
   'static lifetime requirement on Rocket's DB future.
 - All database methods now asynchronous.

Pages:
 - Changed various routes to async.
 - Needed to add clone calls to some places because we need to use
   owned data multiple times (registration).
2020-12-13 21:58:39 +00:00
projectmoon 4024f32621 Serve protobuf files statically. 2020-12-09 22:21:52 +00:00
projectmoon 0c09a3fdef Add serde serialization suppor to proto types. 2020-12-08 08:47:34 +00:00
projectmoon 42ff4c0b31 Better name for main login route. Remove unused feature from main. 2020-12-03 19:35:45 +00:00
projectmoon 092da7490f First commit; prototype state. 2020-12-03 19:21:09 +00:00