Also this is a new pattern but I'm going to start actually using those anchor tags
to self link to other places in the page.
+ /badge/new endpoint docs
+ /badge/delete endpoint docs
+ /badge/update/name endpoint docs
+ /badge/update/color endpoint docs
+ /badge/update/perms endpoint docs
! Small point but apparantly this layout is somewhat printer friendly
:^) Just thought that was kinda neat.
Basically we weren't sending the right data to prompt a 200 response
!!! the /badge/delete test is breaking previous tests idk why
Even though this test comes close to last it still manages to break
the tests that come before it. The problem may lie with the fact that
because its a much faster route by design that its e2e latency btfo's
the routes before it, allowing it to finish before they do.
This likely causes a race condition.
This makes the parameter follow the naming convention of badge_*
* badges.id field now uses BIGINT's as intended
* Typo in sql where 'badges' was incorrectly set to 'perms' -_-
! Test bot is once again a massive disaster but at least it scales well /shrug
Should probably refactor test bot to be moar straight forward or something idk
+ Also adding some spacing eye candy to make sure we can read things easily
It should be noted that /badge/update needs some more planning so 1 more commit
is justified for it as some consideration must be taken for how individual badge
permissions are going to be handled
The badges_id field has proved to bubble up some issues with updating deep structures
Basically this just means that feature branches for deep features like this are a good idea
! Issue: RTC feature flag was working fine but without the feature flag `Row`'s had no pickup
This meant correct responses were slipping into previously unreachable sections of code
With this frontend points now return proper data structures which of course contain
badge_id vectors
Along with defaulting to '[]' strings in mysql configuration serde_json calls
now fallback to .unwrap_or(Vec::new()) for cheapish callbacks.
These fallback calls are cheap because Vec::new doesn't allocate anything on the heap
because they're empty.
+ Adding some default empty list values where applicable
neighbors now has a default value of '[]' to enforce the "empty list" constraint on that field
Issue seemed to be that artifacts were not being preserved properly.
This was causing failures in test stages where it was basicallly impossible to debug
"real" issues
- Removing artifacting (json-api) for now
They'll be re-added when there's a good way of verifying the quality of builds.
For now they're gone because the mock test stage is doing a lot of work already
+ mock-test job now builds json-api
This fixes the first issue this patches intends on fixing however it's kinda
cheesy and should probably be replaced at some point with a better fix
This patch has not yet been tested but will be in the coming patches
Sumamary: we're just doing a regular delete on the neighbor's table based off
the url field
The cases that actually matter should be covered now so I'm confident with this
endpoint's behavior
! A preliminary db::neighbors::get is done to cover the 404 case
Basically if a bad url is used in the request we should 404 the update as there
won't be anything relevant to update
This also "fixes" the /neighbor/update route conveniently enough, which had much
better behavior than expected before.
- Remvoing some fluff from debugging
! This route needs way more testing as its currently failing the prelim test listed right now
! Some more misc changes in testing/mod.rs that aren't imporant at all to anyone
It's just an extra comment