shockrah
c0f5908089
Tiny auth module for literally just redis and jwt things
...
Also we're doing a really budget version of sessions here so we might change things later but this is fine for now
2020-12-22 21:30:35 -08:00
shockrah
02e6c4145e
now hanlding server issues with auth(since those sometimes happen)
...
also renamed some vars to be more clear
2020-12-22 21:29:43 -08:00
shockrah
47b4b7e35f
Script for generating a smiple hmac value
2020-12-22 21:28:57 -08:00
shockrah
9a3833ea49
sample .env now uses redis
...
Also I'm moving the redis deps to db-lib
Lazy static now added for the sake of holding the only static ref we need/want
the hmac secret
2020-12-22 21:28:38 -08:00
shockrah
c3834e0e66
ignoring a dev file/hmac data file
2020-12-22 21:26:59 -08:00
shockrah
5a5ecfad26
Optimizations for buidling memcacache for our tokens
2020-12-20 19:43:27 -08:00
shockrah
88f6e5b532
skeleton code for jwt things
2020-12-18 13:03:30 -08:00
shockrah
97028f8bd2
better note about configs and added support for config comments
2020-12-15 14:22:29 -08:00
shockrah
2efc163f8e
Script now purges the correct data it seems
2020-12-15 14:05:57 -08:00
shockrah
9b64afc27f
removed old doc
2020-12-12 16:39:10 -08:00
shockrah
b8b6fcbb9a
add license
2020-12-12 16:38:07 -08:00
shockrah
ba13de2064
More background information regarding what can use the help or not
...
* Better wording in readme about chat history
2020-12-12 16:36:40 -08:00
shockrah
f7136c0258
contributing guide
2020-12-12 16:19:36 -08:00
shockrah
f375fb74b7
New reflection on goals
2020-12-12 16:14:09 -08:00
shockrah
ce79d33380
Basically a rewrite of previous docs but this one is super terse
2020-12-12 15:45:13 -08:00
shockrah
275869a6f7
showing options passed to routes in tests
2020-12-12 14:46:09 -08:00
shockrah
4ac696820e
Removing dynamic routes altogether
2020-12-12 14:45:43 -08:00
shockrah
201297f4c1
Checking for valid channel.kind on /channels/create
2020-12-12 13:51:43 -08:00
shockrah
8e2b52d1c9
Moving passable tests to their own function for now as we'll need some failing tests soon
2020-12-12 13:33:21 -08:00
shockrah
4e657e2710
skeleton code for loading configs into the client at init time
2020-12-12 13:26:02 -08:00
shockrah
26bd2a3af9
better css for the navbar
...
and addinga a better navbar
2020-12-07 22:18:05 -08:00
shockrah
ed3a185689
adding easy cmd line options parser
2020-12-07 22:17:17 -08:00
shockrah
8d00d0cd66
moving logo into client for the meme
2020-12-07 22:16:42 -08:00
shockrah
4aea1b66ce
updating bootstrap and removing purecss
2020-12-06 19:33:13 -08:00
shockrah
2683d5ef15
Basic window now uses the correct css paths for building
2020-12-06 15:26:22 -08:00
shockrah
455f6ed6b3
simple echo server for sake of testing connection-ability
2020-12-06 14:49:46 -08:00
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
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
1431d62ba5
ignoring diesel's schema.rs since we're straight up not using it
...
Only usign diesel for things like database instantiation in development
Production builds will likely use a different more custom solution
2020-11-02 00:13:13 -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