Commit Graph

759 Commits

Author SHA1 Message Date
shockrah
27c0af5b8d adding required backend deps for rtc connections/data handling 2020-12-06 14:48:47 -08:00
shockrah
09f27dd554 ! More restructuring changes
The client is basically gonna get served from a localhost server via electron. It's a little weird but it has to do for now, also fuck mobile
2020-12-06 14:45:06 -08:00
shockrah
cc1e3e6bc3 Restructuring of previous project files 2020-12-06 14:29:56 -08:00
shockrah
fe96a748ba WebRTC server project folder
This will remain seperate from the client code project folder for now unless there is more reason to merge them together
2020-11-22 12:35:05 -08:00
shockrah
d622236644 Verbose output in build-sass.sh 2020-11-22 12:34:11 -08:00
shockrah
e3c8381cba Setting up skeleton to start implementing webrtc at the client level 2020-11-22 12:33:58 -08:00
shockrah
13eb58ec06 * Owner perms were not being calculated correctly, this is now fixed 2020-11-21 19:18:40 -08:00
shockrah
063f2c7c48 --create-owner flag now correctly gives back the actual secret value instead of the encrypted value 2020-11-21 19:06:23 -08:00
shockrah
8661bcabe7 Removed redudancies and loud error messages 2020-11-21 19:05:44 -08:00
shockrah
f5f3df2ee2 + Created testing func which is now super easily configurable
! This lets me specify between release and debug testing now yey
2020-11-21 19:05:02 -08:00
shockrah
acbbaab68d create_admin flag now behaves correctly 2020-11-21 19:04:06 -08:00
shockrah
1c1bb5f3cd * -c now uses the name parameter given to it
* new branch for failure of secret generation
2020-11-21 13:21:44 -08:00
shockrah
b15277348f Better docs inspired jsdocs in db-lib::Member::add 2020-11-21 13:20:46 -08:00
shockrah
c80a1dab40 * clearer branching and some descriptive comments 2020-11-21 13:20:27 -08:00
shockrah
ea5162d185 + Better secret generation
+ Helper function to clearly encrypt generated secrets
+ New test for auth::valid_secret as a sanity check
! routes::is_open is no longer retarded and behaves as expected
2020-11-21 13:19:52 -08:00
shockrah
812d9a9615 Upgrading bcrypt's version to 0.8 from 0.6 2020-11-21 12:19:44 -08:00
shockrah
5b63f0113b more accurate api docs to meet with what is currently supported 2020-11-18 16:42:45 -08:00
shockrah
25fb3f5bb2 on delete cascade added to messages which hopefully makes channel deletion a bit better 2020-11-18 00:28:46 -08:00
shockrah
571f3a1630 db-lib::Channel::delete now gives back the actual sql error on failure 2020-11-18 00:28:08 -08:00
shockrah
159262a1f6 Merging cargo fixes from db-interface 2020-11-17 23:47:30 -08:00
shockrah
cd9d676a1e Removal of unused test 2020-11-17 23:46:40 -08:00
shockrah
eaec922693 New dependancies
Fixing a bunch of things that cargo complains about but that really has no effect on me as a person
2020-11-17 23:46:03 -08:00
shockrah
e4fdf4feb7 Merging new db-lib code integration
! I should note that there are two things which are incomplete

1. channel deletion with linked messages
2. Invites module has not been refactored BUT behaves beautifully in all tests so far so i cba
2020-11-17 22:51:59 -08:00
shockrah
774e7c679e serde_json added to db-libs depdancies list 2020-11-17 22:42:42 -08:00
shockrah
8b7684c0a7 + Fixed issue with /channels/delete return 200 on db-lib failure 2020-11-17 22:31:33 -08:00
shockrah
5d8ecdfdb7 userland::admin.rs: now uses db-lib to update permissions
Also removed a ton of code in general
$ makes it much easier to read/debug
2020-11-17 22:30:58 -08:00
shockrah
56041c1da5 db-lib::Member::Update no longer does 2 network hits
Also is a lot more straight forward to use as it basically return Response::Success and Other in case of issue

Member::update_perms now a thing which is again pasted from previously working code and uses Result<_, _> return types so we can ? everywhere
$ Using ? is basically a try so latency should be reduced in this method
2020-11-17 22:29:58 -08:00
shockrah
7c41db0648 updated dependancies for db-lib so that serde::Serialize works as intended
Also added a macro arm to sql_err which allows for the passing of SqlError Objects through
2020-11-17 22:27:28 -08:00
shockrah
77f6850c52 l a r g e visual cleanup 2020-11-17 00:09:03 -08:00
shockrah
751b947bef db/src/channels.rs/ : Clerical error fix in Response::Other<String> message
src/channels.rs/ : simple log of sql error to stderr
main.rs : swapped secret and name parameters as they were backwards somehow (tfw cant type)
src/messages.sr : more clerical shit(mispelled parameter name) and logging sql to stderr
2020-11-17 00:08:13 -08:00
shockrah
88a5d63e4f changed dev account because i nuked my db again lmao 2020-11-17 00:06:09 -08:00
shockrah
a33e517078 Messages now has a correct reference type to author_id
Member schema just got a visual change kekw
2020-11-17 00:05:38 -08:00
shockrah
25de3eb240 removing cargo test from actual tests because they by passed way too much logic
also they were super aids to configure
2020-11-17 00:04:08 -08:00
shockrah
474696eb4b Visual cleanup of routes.rs since it was basically just... awful, more cleanup one day 2020-11-16 23:12:32 -08:00
shockrah
75fcd5aef5 -c now uses db-lib as its backend
also updated the error messages to help out server owners a bit
2020-11-16 23:04:09 -08:00
shockrah
c6d8e3d360 userland invites endpoint now uses db::members::add as its intended 2020-11-16 22:59:28 -08:00
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