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
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