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
shockrah
bdecf73000
More notes on jwt authentication
2020-12-22 21:52:30 -08:00
shockrah
11251fe6d3
1. adding hmac_secret as a private lazy_static variable
...
This is only initialized once and is read only after the fact so it should be fine
2. Adding a Claim struct that all JWT's will use for their structure. A helpful .new() function is provided
3. AuthReason::ServerIssue(String) is a now a thing
Should help the auth module be more clear in what's going on
4. fn get_jwt_json -> renamed from get_jwt to indicate we're getting something from json payload. Nothing more
5. async fn valid_jwt: Attempts to decode the given token, if successful it then looks if that user has given us an active jwt budget-session-key if (returns boolean)
6. wall_entry now returns an AuthReason without the sql wrapping, since thats db-lib's problem anyway
Also we're collecting all data upfront then verifying it as we go.
7. async fn login_get_jwt::ROUTE
On login_auth here we simply create a JWT for the user, store it in cache, then give it back to the user to use.
Tokens take a week to expire
8. Removed busted tests that weren't doing anything useful for the time being
2020-12-22 21:51:23 -08:00
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