Commit Graph
32 Commits
Author SHA1 Message Date
shockrah 2330f47558 Merging in for the newly updated channels user module
Points of interest in this changelog are below:

* Finally using the db library with full integrations in userland channels
* Removed db_types altogether, now using db-lib's version of it
* Auth now also does queries using db-lib, which of course reduces eye strain when looking through that mess
* Userland channels is midly tested so I'm somewhat comfortable for now
* Userland invites still works but should now be trivial to changeover
* db-lib also includes tons more documentation which should make it easier to reason why it does certain things

New testing suite with python also makes writing unit tests stupid easy and is now qol update territory

Here's a contemporary list of things that at this point are simply nice to have:

* Better output from the python testing suite, green/red text and whatnot to more easily skim results
* Better logging overall on the test suite
* More robust error handling in db-lib however ALL the information regarding errors IS getting through to userland and IS handleable
    This concern is more about code expressiveness and not really required at all (yet I hope)

Depdendancies:
* Using serde whereever possible since the old serialization methods were super sketchy
* No more .common module
* No more .db_types module

SQL:

Made it easier to purge channels and also fixed some _edgy_ features
like `unique` being inlined and not use at the end of a create table clause

Auth:

* Much cleaner managemetn of `if let` expressions and `matches`
They used to be all over the place but reduction of checks has fixed this mostly

* Now also uses the new db-lib which reduces a ridiculous amount of code
2020-11-07 21:44:38 -08:00
shockrah 4668ce7d0f Channel add behavior now also returns the same new channel that was just added
! We do this because in order to `get` the channel later we need its id.
Some clients will be updating channel data periodically so this helps to make smaller queries possible
2020-11-07 18:26:19 -08:00
shockrah ec30e80ac1 Invites::filter 1st pass implementation
! untested
2020-11-04 00:33:35 -08:00
shockrah 960abac7d9 DbInvites .filter method
! untested
2020-11-04 00:19:35 -08:00
shockrah 562377d6e2 1st pass implementation of the new .filter implementation
! Totally untested so far and WILL have to go through a battery of tests before I'm confident with this
2020-11-03 23:37:14 -08:00
shockrah 8ce88faa78 new filtertype parameter is being given for our .filter method 2020-11-03 23:36:13 -08:00
shockrah f9bc6b3dc9 channels modules have newly updated list endpoints
/channels/create requires a rework however
2020-11-03 23:16:24 -08:00
shockrah 188184460f Adding serde to db libraries list of deps 2020-11-03 21:44:23 -08:00
shockrah 06c81ce2f2 Removal of unused code or things that were trivial to switch to the library like db types 2020-11-02 00:11:15 -08:00
shockrah 543feef330 Foreign keys in messages now delete when parent key is deleted 2020-11-01 22:33:25 -08:00
shockrah 4cb8f578ed new test for deleting channels
-x- this test will fail but the patch is required for testing self hosting our code base
2020-10-28 22:31:52 -07:00
shockrah b008a0d3e1 * Removed 'unused import' warning
+ Added library crate level docs to channels module
Should hopefully make things easier
2020-10-21 22:39:16 -07:00
shockrah 75eac74f3f forgot to expose modules for use as external crate 2020-10-10 19:53:33 -07:00
shockrah 65532def98 added delete method for messages 2020-09-17 21:54:54 -07:00
shockrah 2642fdb8b3 adding wrapper for messages 2020-09-17 21:51:23 -07:00
shockrah 51ca960dbb made private members public 2020-09-17 21:03:30 -07:00
shockrah 5950f3b505 added ded simple delete interface for channels 2020-09-17 20:10:14 -07:00
shockrah e616a160fa proper query for invites::update hehexd 2020-09-17 20:06:34 -07:00
shockrah b673fc6ca1 better formatted error messages
also reworked error messages so they create Strings and dont use `&'static str`'s anymore
2020-09-17 20:05:33 -07:00
shockrah 5e48fa1ab9 update method now written should build fine 2020-09-17 19:40:54 -07:00
shockrah d08ae63f50 new macro to make error reporting a bit clearer 2020-09-17 19:35:22 -07:00
shockrah 471639a635 file for channels db api 2020-09-17 18:55:27 -07:00
shockrah d6571b17ca exposing invites struct as public 2020-09-17 15:04:23 -07:00
shockrah 0b42675739 general code for invites db wrapper 2020-09-16 23:14:07 -07:00
shockrah d5f2b569cb removed some harmless warnings 2020-09-15 22:56:45 -07:00
shockrah fb0df20715 added delete method for members 2020-09-06 20:05:34 -07:00
shockrah 49344b5aae implemented FromDB<T> trait for public Member type 2020-09-02 20:15:43 -07:00
shockrah 4e591d8318 main lib interface for userland code in main project 2020-09-02 20:15:21 -07:00
shockrah d91666658b Added trait to interact with database
something which any database related type should implement soon
2020-09-02 20:13:36 -07:00
shockrah 31e011ac49 async_trait crate added 2020-09-02 19:12:20 -07:00
shockrah 89b042ba9e Using async_trait crate to let us create asynchronous trait functions
this is only temporary until the rust standard changes
2020-09-02 19:12:05 -07:00
shockrah 2981cbc30b deps for db interface 2020-09-02 17:00:21 -07:00