shockrah
7125fc954d
➕ SERVER_PROTOCOL is now an official env variable for the json-api to read
2021-03-07 23:55:38 -08:00
shockrah
5fc3e2a553
❗ /channels/create refactored to use the new db-lib api
...
❗ Reduced branching a shit ton
Testing was ass but it should pass client tests now, back to normal
2021-03-07 17:47:24 -08:00
shockrah
7c3537e4f6
➕ Updated target for debugger
...
✨ Tests now use the new flags required for /channels/create
❗ Doubled size for channel descriptions
2021-03-07 17:46:17 -08:00
shockrah
fadc7d6dc1
➖ Removing more unused trait methods in db-lib's channel module
...
➕ /channels/list now takes a "type" parameter which defaults to TEXT_CHANNEL(1)
✨ Refactoring db::Channel::filter to use a more latency friendly approach
✨ db::Channel::Filter now returns Result<Response<Self>, SqlError>
2021-03-07 14:26:50 -08:00
shockrah
12936d5b1a
➖ Removing double log issue with client-tester
...
➕ Moving Messages struct in db-lib to root for less namespacing uglyness
➖ Removing an whole unused trait
✨ Message::get_time_range now returns a special 'UserMessage' struct that includes the name of the author
❗ More code must be removed from db-lib since a ton of the trait methods aren't used anymore
2021-03-07 13:29:10 -08:00
shockrah
a6e3f22eae
Reverting package upgrades
2021-03-07 12:43:25 -08:00
shockrah
2fa77fecb1
❗ Updating hyper and tokio to newest versions for better http2 support
2021-03-05 22:59:27 -08:00
shockrah
898a7a8ca2
➕ New /members/single route
...
➕ Simple test for /members/single handler
❗ Should probably add some more tests to verify failure cases
2021-03-05 19:23:50 -08:00
shockrah
b999907540
* channels are now nested in "channels" key
2021-03-03 16:30:39 -08:00
shockrah
05acbfa94e
Passing tests for invite routes
2021-02-25 16:05:46 -08:00
shockrah
212173f543
Fixing /join route, time check was backwards oops and it was set to GET not post
2021-02-25 15:31:45 -08:00
shockrah
ab1c9e40f7
Ower creation now gives back prettier output + server meta vars as well
2021-02-25 14:03:34 -08:00
shockrah
64125a7874
dumy test stats for no reason
2021-02-21 20:10:14 -08:00
shockrah
93fd8c2cd6
+Adding new tests for /members/me/nickname
...
* Fixed incorrect param key in endpoint handler
+Adding a ycm conf for easier writing
2021-02-21 18:52:35 -08:00
shockrah
5db976b9de
+ New route for /members/me/nickname
...
! No testing yet that comes in next patch, with any required fixes
+ db now has specific method for Member::update_nickk
2021-02-21 17:21:17 -08:00
shockrah
7263df8928
Adding new routes for /members/get_online & /members/me
...
Passing the previous tests as well
2021-02-20 20:15:43 -08:00
shockrah
34736bef3f
updating tests for members routes
2021-02-20 20:14:10 -08:00
shockrah
c896870397
Reformatting of wiki:
...
* Adding endpoint docs and correcting some typesetting mistakes
* Change qs params to match documentation
* Splitting up articles to geneate the sidebar links properly'
* Bad baseurl issue fixed in previous patch
2021-02-18 16:29:29 -08:00
shockrah
71ebefce51
Dummy commit
2021-02-13 19:08:21 -08:00
shockrah
da1b4c3253
Trivial change to test out new filtered pipeline
2021-02-13 19:00:22 -08:00
shockrah
4323156242
Building and testing against proper nginx setup now
...
! No longer pipeline ready because the docker image is out of date with this change
2021-02-11 22:28:20 -08:00
shockrah
9e70e7272b
removing busted conf
2021-02-11 20:21:30 -08:00
shockrah
6bc8dd0d7d
tests are now ran with https as we now use https with nginx as a frontend however:
...
The client tester is super scuffed and no longer in a pipeline ready state as a new docker image has to be created(again)
2021-02-11 20:06:56 -08:00
shockrah
fb36f70d95
Response logs now optionally show the query string when logging, defaulting to always show the logs for now however
2021-02-11 15:04:41 -08:00
shockrah
ab6b8e460b
VSCodium python interpreter directory change
2021-02-10 23:21:11 -08:00
shockrah
25755bf394
Percent decoder func found on crates.io
...
Link: https://docs.rs/urldecode/0.1.1/src/urldecode/lib.rs.html#1-21
Why rob? Well its slightly modified(very smol change) in that it now takes a &str and allocates a string from it
Later patches will change this so that we don't _always_ allocate frivolously
2021-02-10 23:20:51 -08:00
shockrah
16276c97e0
Moving option parameters to the query string
...
Large payloads will remain the body as those are typically required for post endpoints such as /message/send
2021-02-10 23:18:24 -08:00
shockrah
286a77d9ac
Using virtualenv python interpreter from now on
2021-02-10 23:16:41 -08:00
shockrah
f585cf122c
* switching to building options in query string
...
* payloads for things like /message/send are now send through the request body
* no longer sending body data in gets
This whole patch is basically so we can allow js clients to exist btw -_-
2021-02-10 23:16:19 -08:00
shockrah
21b184b324
Client tester now uses channel_id where applicable for api parameters
...
as well as being less explicit about what it passes to the query string
2021-02-10 23:15:05 -08:00
shockrah
2d6739438a
removing unused redis dependancy
2021-02-10 18:20:28 -08:00
shockrah
eb338e03a0
+ Test for qs_param behavior
...
Pretty simple and contains a special note about qs_param usage
2021-02-05 16:57:31 -08:00
shockrah
769aa72cdf
Opting for qs_param to reduce on visual cancer
2021-02-05 16:39:24 -08:00
shockrah
ab9fef2ccc
route_dispatcher now reflects new hashmap usage over serde_json::Value's
...
HashMap of query string parameters is generated in main_responder before passed on
2021-02-05 16:32:03 -08:00
shockrah
33ae768ae4
*+ More qs_param! usage
2021-02-05 16:29:32 -08:00
shockrah
3369b4ec48
- Removing unused code 'process_expires_parameter' function
...
* Switching to qs_param in only a few cases for now
2021-02-05 16:28:47 -08:00
shockrah
2cb2d2b29e
+ Adding serialize to db::Invite type
...
* Invite initialization using shorthand notation now
2021-02-05 16:26:43 -08:00
shockrah
ba5db17706
* Replacing extract_uid with qs_param!(...) usage
2021-02-05 16:25:35 -08:00
shockrah
4c92b20e74
* replacing extract_uid usage with qs_param!(....).unwrap() usage
2021-02-05 16:25:12 -08:00
shockrah
8e98df1d37
- Removed parse_json_params as its no longer used
...
+ Adding qs_param macro to remove boilerplate in pulling out Option<T> data from hashmaps
2021-02-05 16:24:39 -08:00
shockrah
c2e384a13a
*/message/send
...
Now polls content from the request body
* flattened a bunch of checks with data fetches to the db
Outright reduction of branches yey
2021-02-04 01:58:57 -08:00
shockrah
20aca8a069
+Parsing channel_id param correctly
...
+ Checking for proper permissions in user
moar if let bindings!!!1
2021-02-03 23:29:53 -08:00
shockrah
42e783ccf1
Clarification on failure return value in delete trait method
2021-02-03 23:28:14 -08:00
shockrah
7334bb287d
renamed add to 'new' to show its _real_ intentions
2021-02-03 21:56:34 -08:00
shockrah
44b51133d2
* /channels/create handler uses hashmaps
...
* cleaned up wall of parameter parsing to be less cancerous(read diff to die instantly)
- Removed repeated db::Response in response mutator match
Simplified how parameters are parsed by making them actually readable
2021-02-03 21:56:09 -08:00
shockrah
c1ef4c6336
-Removed _most_ direct sql manipulation for invite creation
...
- Removed unused/irrelevant unit tests, which now have to be rebuilt for the new codebase
2021-02-03 21:26:26 -08:00
shockrah
39a4d2a247
+New .add method for db::Invites
...
+New new() method to reduce on eye clutter
2021-02-03 21:25:27 -08:00
shockrah
9fac3aa117
* /join route handler now uses hashmaps among and returns more sensible http codes
2021-02-03 21:09:12 -08:00
shockrah
98803eec26
First pass of using hashmaps in /invite/create handler
...
+ Adding allowed_perm_invite, a helper function pulling permissions form the database to check if the user can make invites
2021-02-03 20:50:06 -08:00
shockrah
45af62ceb3
Inlining helper func for permission checking
2021-02-03 19:31:38 -08:00
shockrah
e36d0e5823
* using hashmap instead serde::ValueMap for extract_uid
2021-02-03 19:30:46 -08:00
shockrah
5737f9824d
Setting payload for jwt with http:set_json_body
...
- Removed visual clutter extracting uid from user params
2021-02-03 19:30:12 -08:00
shockrah
e21c5c7624
auth module now parses from the query string hashmap, not serde_values
2021-02-03 13:55:25 -08:00
shockrah
9ceeabea3b
Moving query parameters to the query string
...
This should allow js developers to write their own apps now as js doesn't allow for bodies in GET requests
From now the body is used for raw payloads
2021-02-03 13:54:29 -08:00
shockrah
154086e740
removing random empty file
2021-02-01 16:48:10 -08:00
shockrah
2ed07a519e
Port now defaults to 4536 and is configurable with -p
2021-02-01 16:47:43 -08:00
shockrah
cdbb3e79d8
remnant from the api rename
2021-01-25 18:55:09 -08:00
shockrah
b67bb6105f
Renaming project to json-api for clarity sake
2021-01-24 13:34:17 -08:00