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
1e6a9ac844
+Setting proper callbacks on
...
* Prefering server domains for get's in build_server_list
* Fixing jsdoc for new_node to not be garbage
2021-01-28 18:01:38 -08:00
shockrah
ac9668557b
Testing out a new module for channels api hits
2021-01-28 17:56:40 -08:00
shockrah
91a4e06cb7
moving jwt and login related things to new auth module
2021-01-28 17:55:26 -08:00
shockrah
1b7092fd34
Simple request/response api to wrap 'got' calls away
2021-01-28 17:54:49 -08:00
shockrah
e2360834f1
jsonwebtoken library added
2021-01-28 16:20:08 -08:00
shockrah
051e5e73e3
Modularized modal styling's
...
* Also fixed white on white text that I missed in join-form's text field
2021-01-28 12:40:31 -08:00
shockrah
f548449f8c
dev things
2021-01-27 19:20:53 -08:00
shockrah
fa62d3adfe
Not caching apk fetches and now providing a sample .env file for at /opt/freechat/.env
2021-01-27 17:03:16 -08:00
shockrah
1b3d7da744
Docker image now built correctly and is only missing some kind of tempalte for .env files but thats basically it
2021-01-25 20:56:14 -08:00
shockrah
ea17628827
* Fixed issue with spacing in help param processing
...
+ Not caching cargo builds in default docker container
2021-01-25 20:42:11 -08:00
shockrah
462fe463f7
moving dockerfile to empty dir to avoid pulling in pointless context
2021-01-25 20:33:06 -08:00
shockrah
2a4da34c99
temporary buid files
2021-01-25 20:23:43 -08:00
shockrah
751e24b867
Help script in docker-auto-build.sh
...
adding openssl-dev requirements for buliding json-api to Dockerfile
2021-01-25 20:23:13 -08:00
shockrah
aae59e7d68
removing usage of pushd/popd for alpine docker builds
2021-01-25 20:01:31 -08:00
shockrah
55efbfd85c
new build scripts for server owners, requires testing before calling it done
2021-01-25 19:56:05 -08:00
shockrah
cdbb3e79d8
remnant from the api rename
2021-01-25 18:55:09 -08:00
shockrah
1292e5ab3f
Moving some initialization logic to its own module
2021-01-25 18:21:35 -08:00
shockrah
b67bb6105f
Renaming project to json-api for clarity sake
2021-01-24 13:34:17 -08:00
shockrah
84c865e194
moving the create_onwer code to its own function to clean up main a bit
2021-01-23 18:18:01 -08:00
shockrah
49c675b97a
No more messing with hyper Reponse<Body> manually.
...
All that is handled to the http module
2021-01-23 17:11:36 -08:00
shockrah
9e505bd2bb
extract_uid for more legibility when we need to pull 'id' from user parameters
2021-01-23 17:10:43 -08:00
shockrah
085bad75fd
Moving http relevant functions to a more proper module
...
New json prepartion helper function http::set_json_body now public and usable.
Code is straight ripped from working code so it should be fine though further testing still required
2021-01-23 16:09:04 -08:00
shockrah
5a27ef07f1
Adding optional limit field to /message/time_range handler
2021-01-23 15:14:57 -08:00
shockrah
feef6104c6
* Changed a local var MAX to a const module level alias MAX_MESSAGES
...
+ Adding limiter to get_time_range
2021-01-23 15:14:15 -08:00
shockrah
d55a8420ac
Testing from_id: good and bad cases here
2021-01-23 14:23:47 -08:00
shockrah
0e93b12cbd
404 returned when message list is 0
2021-01-23 14:23:20 -08:00
shockrah
26fe2e722e
Reformatting message tests and passing more tests like it should be
2021-01-23 13:44:06 -08:00
shockrah
b9573ee09c
* Flattening /message/time_range handler further dfc-chan returns
2021-01-23 13:36:30 -08:00
shockrah
5855387a52
Resetting dev-database with diesel before running tests
2021-01-23 13:33:24 -08:00
shockrah
33916868da
+Adding support for more verbose loggin
...
More tests which currently are failing with /message/time_range
2021-01-23 12:52:06 -08:00
shockrah
cf7c5517bb
Verified /message/send works as intended for now with new testing api
2021-01-23 01:51:22 -08:00
shockrah
64eb2b072f
-Removing some unnecessary loggin
2021-01-23 01:50:40 -08:00
shockrah
f39bf5ab31
removing empty bodies from failure logs
2021-01-23 00:53:20 -08:00
shockrah
915c73b922
removed extra /login hit that caused huge test cascade failure
2021-01-23 00:53:04 -08:00
shockrah
70be391701
using the new logging system for the tests and they look soo good
2021-01-22 22:56:24 -08:00
shockrah
dfd4c18402
Improved the loggin output from response/request tyeps
2021-01-22 22:52:17 -08:00
shockrah
1a7b7f0478
tests working but not yet check for correctness
2021-01-20 22:53:04 -08:00
shockrah
00fccb72e5
Mysterious tuple from string bug here
...
Patching because I have other things to do but basically this diff at line 20 shows that even though self.secret was assigned toa string value, it was still being given the type of tuple with the first/only item being the string value
I have no idea how this was happeneing but its fixed as of now
* also im ignoring the cargo_bin flag in the environment for now as its just causing issues while debugging
2021-01-20 22:50:23 -08:00
shockrah
84ac9883d1
* sending body data as prepared json to
...
- removing pointless asserts
- removed unused param in Request.make
2021-01-20 22:47:12 -08:00
shockrah
aaa1378af8
-Removed old tests altogether now its benchmarking time
2021-01-20 21:56:21 -08:00
shockrah
d44ba36e58
adding virtualenv things
2021-01-20 21:55:32 -08:00
shockrah
c77ce0b7b6
Removing unused log method from previous builds
2021-01-20 21:29:37 -08:00
shockrah
68099af7ba
Building stateless tests for now as a proof of concept that this more spammy testing approach can work
2021-01-20 21:28:33 -08:00
shockrah
e39179da78
Response now has a .json method to pull the body out as a dictionary
2021-01-20 21:26:50 -08:00
shockrah
d589b31180
pythonPath config for debugging in vscode
2021-01-20 20:12:13 -08:00
shockrah
5446d70d84
! First new colorng mechanism is added for better human readability
...
+ Turning _make_requests into a lower level driver which now creates Response types with its own self.url now
+ Request.make is now smarter and uses its own state to dispatch the proper request
Emits a respective Response object as well
2021-01-20 20:11:53 -08:00
shockrah
d31b02089e
Conceptualizing how future tests will be written. IDeally we can specify them even later in json so that we can generate huge amounts of tests in any language and toss them through this pipeline fast as hell
2021-01-20 20:09:29 -08:00
shockrah
2f15e2ef62
Removal/skeltonizing of a shitload of old code
2021-01-20 17:45:22 -08:00
shockrah
fc74a3dbc7
Moving http logic to its own module under a new 'web' module
...
More interfaces for the testing client will be built to better analyze responses in next patches
2021-01-20 16:56:54 -08:00
shockrah
c61c57c1b8
ignoring pycache
2021-01-20 16:50:54 -08:00
shockrah
79d77e0007
Beginning refactor of test client to more cleanly create new tests
...
Body parameters were being polluted so new logic is required to make the worker more stable and ignore its state properly
2021-01-20 13:50:09 -08:00
shockrah
22d2f3eea0
Adding hooks for /message/from_id handler
2021-01-19 22:27:06 -08:00
shockrah
01320899a3
Base implementation of new /message/from_id route
...
! Requires unit testing
! Written with max response length in mind, (still ignores mem limits howevr)
2021-01-19 22:26:53 -08:00
shockrah
3b3fa14496
* Db::Messages::get_time_range now handles case where
...
start_time >= end_time
Which means we won't get weird requests from clients anymore(hopefully)
* Route handler for /message/time_range now handles db::Response::RestrictedInput
Responds with a simple 400 and nothing else
2021-01-19 19:43:21 -08:00
shockrah
5c4bc6f96f
Updated /message/get_time to pass client api testing
2021-01-18 23:28:32 -08:00
shockrah
c89c2a4469
adding more tests for the new message fetch route
2021-01-18 23:25:11 -08:00
shockrah
6ffcb7a73b
+ /messages/get_range base route handler, ready for testing
2021-01-18 22:01:11 -08:00
shockrah
b917483dac
* Upated message struct initialization to shorthand (cosmetic thing
...
* Updated message struct to use channel_id not _name
+ Base implementation f Message::get_time_range, yet to be tested
2021-01-18 22:00:24 -08:00
shockrah
95414e21a3
Better scrollbar style that doesn't look like garbage
2021-01-18 17:43:26 -08:00
shockrah
de46c2ff38
Fixxing calling site for http::fetch_channels
2021-01-18 16:43:05 -08:00
shockrah
a58f8437c0
Adding port field to server config
2021-01-18 16:39:21 -08:00
shockrah
901e0218dd
Fixed url formatting in fetch_channels
2021-01-18 16:38:41 -08:00
shockrah
e57fd498ae
Working collapsing navbar
2021-01-18 16:35:01 -08:00
shockrah
8a4cac65ff
removing unused build file
2021-01-18 15:20:11 -08:00
shockrah
20563f85d6
Added helper in Channel struct to easily parse out ip/name
2021-01-17 21:37:04 -08:00
shockrah
9b4909963d
skeleton code for fetching channel data
...
Ready for open_channel to be implemented
2021-01-17 21:36:44 -08:00
shockrah
c32afc6dab
git things
2021-01-17 21:36:14 -08:00
shockrah
a7495367f8
fully supporting optional themes with -t
2021-01-17 20:10:40 -08:00
shockrah
ca9c10cdf2
Basic themes taken from zeno on reddit
2021-01-17 20:06:51 -08:00
shockrah
9dd05c1518
adding toml capability to load custom themes with -t flag
2021-01-17 20:05:21 -08:00
shockrah
963d29801d
TUI client in progress now, for now its just being wireframed
2021-01-17 02:40:22 -08:00
shockrah
60aee1dc07
Loading configs asynchronously now as well as with better error logging for the user
2021-01-06 15:22:27 -08:00
shockrah
4dd168303b
Sidebar now has scaffolding so we can begin hooking it to things
2021-01-02 00:30:56 -08:00
shockrah
47098dc2fc
Join form ready for js hooks
2021-01-01 22:02:17 -08:00
shockrah
97ac76e4a1
ignoring libs like before
2021-01-01 20:05:17 -08:00