Commit Graph

73 Commits

Author SHA1 Message Date
projectmoon 3352c2067f Use Cow in favor of take. 2021-01-12 20:44:26 +00:00
projectmoon a36e8069f4 Rename 'or_default' to 'extract'. Better meaning. 2021-01-10 20:54:05 +00:00
projectmoon efca366f3f Implement rest of basic info editing. 2021-01-10 20:45:15 +00:00
projectmoon 6d9cdd0269 Implement updating basic info for character name. 2021-01-10 20:45:15 +00:00
projectmoon fe53a0d531 Create "character identifier" type for use in all API requests.
Will replace the character_username and character_id values in all
relevant requests.
2021-01-10 20:45:15 +00:00
projectmoon 6848e4213e Add API endpoint for updating basic character info. 2021-01-10 13:56:44 +00:00
projectmoon 6030827464 Remove unused REST semantics from cofd API. 2021-01-09 20:02:24 +00:00
projectmoon 7fe28ef82e Fix webpack publicPath to match server route. 2021-01-09 19:41:57 +00:00
projectmoon 78036394b1 Move cofd api endpoints into their own file 2021-01-09 19:39:35 +00:00
projectmoon ed79007c29 Update license in package.json to AGPL 2021-01-09 19:29:47 +00:00
projectmoon ee892a3f34 Adjust webpack config slightly for better generation. 2021-01-09 13:32:08 +00:00
projectmoon a34e8d24c6 Rename static directory to generated 2021-01-09 13:03:07 +00:00
projectmoon 55dff277ef Remove old comments in edit character script. 2021-01-09 12:59:11 +00:00
projectmoon ba7fc8268f Move typescript into source tree. 2021-01-09 12:57:13 +00:00
projectmoon 3ba7917455 Implement a bit more of the view character template. 2021-01-05 21:42:38 +00:00
projectmoon 0a128a7067 Remove more unneeded things 2021-01-05 21:33:21 +00:00
projectmoon b3253922df Clean up files and remove things that no longer need to exist. 2021-01-05 21:25:26 +00:00
projectmoon a729ccb4a2 Return semi-proper values from the protobuf HTTP API 2021-01-05 21:19:47 +00:00
projectmoon 8f1ddf89dd Reimplement attribute updtaes 2021-01-05 19:32:03 +00:00
projectmoon 63571d9711 WIP on reimplementing edit character script with typescript 2021-01-04 22:36:52 +00:00
projectmoon b4981dfc78 Compiles, assuming the user id will be in grpc metadata from auth interceptor. 2021-01-03 23:18:36 +00:00
projectmoon a867fdd831 WIP - at a crossroads where we need some kind of auth mechanism 2021-01-03 22:05:28 +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 912c949844 Run npm commands for building in build.rs 2021-01-03 14:07:11 +00:00
projectmoon f9ceea17cf Move typescript stuff to static/scripts 2021-01-03 13:46:40 +00:00
projectmoon 616cbe5730 Move templates into src 2021-01-03 13:37:55 +00:00
projectmoon a16ffd0495 Serve templated templates with webpack-compiled JS injected. 2021-01-03 13:36:53 +00:00
projectmoon aa5fa59aab Add some working typescript code that imports manually compiled protos. 2021-01-02 23:11:09 +00:00
projectmoon 3a250230df Experimenting with tonic 2021-01-02 22:32:17 +00:00
projectmoon 8bee670778 Remove un-needed 'resources' functions. 2021-01-02 22:12:43 +00:00
projectmoon b042a32f82 RPC-ify update attribute API. 2021-01-02 22:11:58 +00:00
projectmoon f2edd91a72 Update skill value as rpc API (though not grpc) 2021-01-02 22:11:58 +00:00
projectmoon ee8f7e58e8 Implement updating skills. 2021-01-02 22:11:58 +00:00
projectmoon 0ca23b46c6 Switch to oneof field for game-specific information and values.
Having specific protobuf types for different game systems using the
same rule set (e.g. all the Chronicles of Darkness games) is untenable
because protobuf does not have inheritance or mixins.

Instead, we have one generic character sheet type, with a oneof field
for the game specifics. This will be used in conjunction with the
character's game system (stored in db) to render different stuff on
the character templates.

Without this, we'd wind up having duplicate templates, a lot more code
for handling specifics of each game system, and so on.
2021-01-01 23:34:50 +00:00
projectmoon 149b843927 Remove versioning from data type enum members 2021-01-01 22:56:41 +00:00
projectmoon 7a71d5ad0a Implement updating skills on the backend. 2021-01-01 00:40:48 +00:00
projectmoon 0b899293ca Update cargo dependencies. 2020-12-31 22:32:32 +00:00
projectmoon c35ac19060 Add ability to edit changeling characters. 2020-12-31 22:28:00 +00:00
projectmoon 255b55c8de Add skills to the character editor. 2020-12-31 22:21:05 +00:00
projectmoon 6156bba34d Skip loading owner of character for API. 2020-12-31 20:19:45 +00:00
projectmoon 2e2cf30755 Update readme for SQLx. 2020-12-31 14:11:28 +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 e148b45edd Convert load user queries to compile-checked 2020-12-31 14:11:28 +00:00
projectmoon fb1c21d710 Clear out unused imports in db.rs 2020-12-31 14:11:28 +00:00
projectmoon 6f9d1e00bc Use sqlx result in db.rs 2020-12-31 14:11:28 +00:00
projectmoon 53501c3747 Convert character db methods to compile-checked queries 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 bf2f49f68a Load character in API as common function. Fix attribute editing. 2020-12-29 14:01:07 +00:00