Commit Graph
100 Commits
Author SHA1 Message Date
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
shockrah e37d51f549 Making the navbar more responsive to screen changes
! Bootstrap doesn't behave so dropdowns are borked but they'r theoretically there

LMAO at this example config update btw its gonna keep changing so I'm not updating its patch notes from here out until its a proper looking example
2021-01-01 20:04:11 -08:00
shockrah 6e0919e32c Adding event handler for config request that only happens once on load 2021-01-01 20:01:37 -08:00
shockrah fa70f9efdd Fixed typo 2021-01-01 20:01:05 -08:00
shockrah 1010f0f2e8 changed path for main source code backend 2021-01-01 19:06:51 -08:00
shockrah 12e9c07d60 New launch scripts, basically at this point package.json it just for building but not for running anything 2021-01-01 17:14:36 -08:00
shockrah 430e10e6b6 Moved config loading to its own proper module 2021-01-01 17:14:00 -08:00
shockrah 2fb24ee45e New server meta endpoint to help out clients remember stuff about that server 2020-12-30 01:47:12 -08:00
shockrah 76fc2f66b3 More tests that are passing <o/ 2020-12-30 01:13:15 -08:00
shockrah dfe53b323e /messages/send now correctyl tells the user they're wrong about sendingmessages to a non-existant channel 2020-12-30 01:00:47 -08:00
shockrah 7c95519402 + Adding option to test everything including cargo and client tests 2020-12-30 00:13:18 -08:00
shockrah c79cf34dfd slightly more coverage for now not fulll
- Old tests won't work anymore due to jwt things
2020-12-29 23:57:40 -08:00
shockrah ab12283507 + Computing encoding key once in a lazy_static
+ unit test verifying is extremely sus.jpg but it looks like it passes
! bs detectors on max rn so i'll keep this under close watch for now
2020-12-29 23:57:11 -08:00
shockrah 477be1fd3f Members now debugable 2020-12-29 23:51:14 -08:00
shockrah 549c69f668 + Added Response::RestrictedInput to db-lib
Should make it more dsecriptive with really weird input and prevent even more confusing 500 responses to the client

+ db-lib::Channels::add now also potentially returns this new RestrictedInput variant
2020-12-29 23:50:57 -08:00
shockrah b7209c000c Changed token in user params to jwt since token was way too vague 2020-12-28 23:05:31 -08:00
shockrah b351f63db5 db-lib now attempts to update tokens from failed update_jwt call 2020-12-28 23:03:13 -08:00
shockrah 7263ae0980 Preventing outsiders from refreshing someone else's token
! Unless their id/secret combo is robbed in which case they're screwed anyway /shrug
2020-12-28 22:16:55 -08:00
shockrah 5366ba9690 * Refactored secret_value generation to be behind an easy to use helper
* Refactored serde facing puller functions to be more clear
- Removing incorrect commentary
* Changed login handler to start using mysql based api
! Further refactoring in the previous to be more readable
2020-12-28 22:00:59 -08:00
shockrah 9d01912670 Adding hook for getting jwt from login
Also missed a lazy_static removal in db-lib
2020-12-28 21:57:47 -08:00
shockrah 2ad0136e69 JWT Table in mysql, querying with user id's and keeping tokens in string format 2020-12-28 21:56:22 -08:00
shockrah 967782be5f Movng back to mysql from redis due to tokio reactor errors
At some point we should try moving to redis for better cache performance but that change is massive and this works at least as a poc
2020-12-28 21:53:57 -08:00
shockrah 55ade005a2 Removing fluff dependancies from db-lib: lazy_static + jsonwebtoken 2020-12-28 21:52:49 -08:00