Commit Graph

129 Commits

Author SHA1 Message Date
shockrah
f0f0272c32 Removal of unused uses or random code that was dead anyway 2020-11-16 22:58:58 -08:00
shockrah
cfc060b645 Member::add now supported however its up to the user of db-lib to create the secret(ideally one that doesn't suck)
Literally pasted from the old version which proved to be working to I'm calling this one half way done
2020-11-16 22:57:46 -08:00
shockrah
a9fafa8fdc casting to avoid calamity with signedness memes 2020-11-16 22:56:56 -08:00
shockrah
aa9c515b95 invites::valid_invite now uses proper db-lib function calls 2020-11-16 22:18:37 -08:00
shockrah
2448e1b200 get_online_members now uses db-lib for its back end
This means we've removed a ton of old raw sql code
2020-11-16 20:20:37 -08:00
shockrah
b966c61c20 Finally the change over to db::messages::Messages::send in userland code
- removed old helper function which is no longer needed
* cleaned up responses for empty,other, and _ in /channels/create endpoint handler
2020-11-12 13:18:43 -08:00
shockrah
d615a41c0c Messages schema now contains foreign references to channel_id; not channel_name 2020-11-12 13:17:19 -08:00
shockrah
c78c8a5502 First pass build of messages::send functionality 2020-11-12 13:16:50 -08:00
shockrah
3925e2c57f adding chrono to cargo.toml in db-lib 2020-11-12 13:15:24 -08:00
shockrah
a9c55bac90 New dependancy for db-lib chrono
! Used in messages module
2020-11-12 13:11:00 -08:00
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
5f8863e9df updated /channel/delete test to pass in correct params, was always workign correctly however 2020-11-07 21:33:03 -08:00
shockrah
06a76b26df Fixed content-type in channels::create + list response header 2020-11-07 21:01:09 -08:00
shockrah
c8a6aa204d User API changes to now use the new behavior for adding channels 2020-11-07 18:27:14 -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
700da3695f Removing whats left of db_types references
Finally relying on db library crate for database types
2020-11-07 18:20:34 -08:00
shockrah
cb69d8b945 moving away from db_types in the members api module 2020-11-07 13:26:37 -08:00
shockrah
ec30e80ac1 Invites::filter 1st pass implementation
! untested
2020-11-04 00:33:35 -08:00
shockrah
84f04c20cd integrating special response object to make pull 2020-11-04 00:25:55 -08:00
shockrah
4d85c094cc removing errors for the sake of testing 2020-11-04 00:19:50 -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
e71f960ee1 For now the test flag just dumps _everything_ to stdout instead of for the sake of usability 2020-11-03 21:42:40 -08:00
shockrah
7a093c1fbc new delete_channel endpoint handler
* to be tested
2020-11-02 00:12:16 -08:00
shockrah
3824546bba removing unique restriction from channel name (for now i hope) 2020-11-02 00:11:43 -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
7023ce2b7a new passing test of sending a message 2020-10-21 23:00:56 -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
35dac99d88 new helper method to build json body in requests 2020-10-21 22:32:59 -07:00
shockrah
33234f8e18 build.sh now shows server output in stdout 2020-10-21 22:32:43 -07:00
shockrah
ec732dfd34 changed auth calls to use the new db api 2020-10-21 21:40:55 -07:00
shockrah
28dbbc4132 vim somtimes gets prompts stuck in the code somehow yea idk either 2020-10-21 20:24:02 -07:00
shockrah
c5db9bae51 tfw build script failed before because of random spaces 2020-10-21 20:22:33 -07:00
shockrah
75a9bbe316 new build + test scripst for ci/cd pipelines 2020-10-21 19:36:47 -07:00
shockrah
90b131c60a channels delete is now based on http deletes 2020-10-10 23:08:00 -07:00
shockrah
75eac74f3f forgot to expose modules for use as external crate 2020-10-10 19:53:33 -07:00
shockrah
dfc9f88e66 first sampling of what the lib migration interactions will look like 2020-10-10 19:53:13 -07:00
shockrah
41c28cc845 dummy commit before mass library migration 2020-10-10 14:44:00 -07:00
shockrah
9f3e734b0b moar warning removals 2020-10-02 13:24:45 -07:00
shockrah
b897e07273 removing frivolous sql select(why was this even here tho) 2020-10-02 13:24:23 -07:00
shockrah
f8ef9ef6eb nothing of substance in this readme if ill be honest 2020-10-02 08:59:13 -07:00
shockrah
e58d4abb28 removed some more warnings until these vars are used 2020-10-01 20:14:56 -07:00
shockrah
04dca141b5 base for querying online users 2020-10-01 19:50:57 -07:00
shockrah
fa04d2d722 removed dead code 2020-09-30 22:42:28 -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
shockrah
f05f3160d6 updated cargo deps to include the soon coming db interface 2020-08-29 22:09:33 -07:00
shockrah
eae2677765 temporary sketch patch for the following routse
*SET_PERMS_BY_ADMIN
*NEW_ADMIN
NOTE: this patch blows since its coming right before another large redesign
that redesign is the integration of a proper databse interface
2020-08-29 21:02:57 -07:00
shockrah
d40eb24072 removing unused route SERVER_META 2020-08-28 18:34:36 -07:00
shockrah
7607d067a2 new admin module handling the first of many new admin only routes 2020-08-28 18:34:20 -07:00
shockrah
5365e583e5 removing unused sessions table 2020-08-28 16:25:40 -07:00
shockrah
73f050be62 +helper function to process the expires flag in params
+can now verify if a user is allowed to use perma invites
- still need to generatre appropos 400 for those with no permisions at all
2020-08-26 20:35:44 -07:00
shockrah
9eff4284a9 + checkin mod::auth for valid permissions
+ helper function for getting a permission mask from permissions module
2020-08-25 23:27:41 -07:00
shockrah
ef5b7a13f9 flattening code 2020-08-23 21:41:18 -07:00
shockrah
12ce5a2c5a new set of permissions to be used 2020-08-23 21:39:46 -07:00
shockrah
797042b97a Merge branch 'testing' into master 2020-08-22 15:58:13 -07:00
shockrah
0822be3d20 renamed server/ to api/ since this is really only the api portion of the typical fc server 2020-08-22 15:52:37 -07:00