Commit Graph

14 Commits

Author SHA1 Message Date
shockrah
0b34c25477 * Fixing broken /channels/create due to updated channel structure
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
2021-05-26 12:14:43 -07:00
shockrah
a2f8cfb09d + Adding badge_ids to db-lib backend
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.
2021-05-20 16:44:08 -07:00
shockrah
9ab9cdb176 + db-lib::Channel::get added and Returns a Result<Option<Channel>> for simplicity
This is really only for check if a particular channel exists for /messages/recent's backend

* Flattening db-lib::Message::last_n
SHould make code more readable as it now has a more linear flow

* api::Messages::recent_messages now 404's when a channel that doesn't exist is request
2021-04-21 21:33:30 -07:00
shockrah
ef73b39f4f + Adding db-lib::common::try_error_passthrough
This is more heavily used in Message::send as a way of discerning "real" server errors
from those that are caused  by user input. The name itself might not be super fitting either

* Moving code for inserting textual messages into its own function
This splits up the logic a bit for Message::send but this segment of logic is also
much simpler than that of file upload

* Flattening Message::send overall
Keeping this function as flat as can be is crucial as it is one of the heavier+most
important funcs in the whole JSON API codebase

Files are now also generated correctly and asynchronously
2021-04-21 16:08:23 -07:00
shockrah
afdeef0a49 More warning removals and more db-lib result wrapping
This should be everything now
2021-03-30 23:00:50 -07:00
shockrah
54f4dd53be - Removing non-result returns
+ Updating further for newest version of mysql_async
2021-03-30 22:42:34 -07:00
shockrah
a1f86fdf6e * Moving away from auto_increment
! Initial id size will stay as u64 but u128 are easily the next major change
This change shouldn't break clients written in high level languages since most already use 128's under the hood anyway
- This commit also removes the auto_increment flag from basically everything that uses RNG id's
2021-03-24 01:14:37 -07:00
shockrah
ae675d000b content_type now a supported column in db-lib
 API layer now behaves as expected, returning 'content_type' flag with each message
2021-03-09 00:02:20 -08:00
shockrah
7c3537e4f6 Updated target for debugger
 Tests now use the new flags required for /channels/create
 Doubled size for channel descriptions
2021-03-07 17:46:17 -08:00
shockrah
fadc7d6dc1 Removing more unused trait methods in db-lib's channel module
 /channels/list now takes a "type" parameter which defaults to TEXT_CHANNEL(1)
 Refactoring db::Channel::filter to use a more latency friendly approach
 db::Channel::Filter now returns Result<Response<Self>, SqlError>
2021-03-07 14:26:50 -08:00
shockrah
da1b4c3253 Trivial change to test out new filtered pipeline 2021-02-13 19:00:22 -08:00
shockrah
42e783ccf1 Clarification on failure return value in delete trait method 2021-02-03 23:28:14 -08:00
shockrah
7334bb287d renamed add to 'new' to show its _real_ intentions 2021-02-03 21:56:34 -08:00
shockrah
b67bb6105f Renaming project to json-api for clarity sake 2021-01-24 13:34:17 -08:00