Commit Graph
100 Commits
Author SHA1 Message Date
shockrah 9033c80369 Exhaustive response to various authentication failures
response route_dispatcher now guaranteed to fire on proper authentication only
2020-06-02 00:47:28 -07:00
shockrah e2abc49087 added counter to keys table
this lets us increment uses when a key is going to be used
2020-06-02 00:44:53 -07:00
shockrah 8360efced5 auth::wall_entry now verifies keys upon request
We can now decide what kind of authorization result triggers what kind of responses to the users
Further more error handling has to happen closer to application logic which is the main trade-off of our architecture
2020-06-02 00:32:15 -07:00
shockrah 5ad23eed8c adding mysql_async to dependancy list 2020-06-01 23:05:06 -07:00
shockrah 125a728674 new keys table to let auth::wall_entry check for api access 2020-06-01 23:02:53 -07:00
shockrah 83576f1126 basic query string parser function used to generate hashmaps of parameters
This hashmap is then borrowed by child functions down to the route handlers themselves if they need it
2020-06-01 22:50:58 -07:00
shockrah e48720d6ac removing basically everything since almost nothing is going to translate over very easily from the auth module
for now we're only going to use two methods to
auth::wall_entry is what allows to impose rate on a per user basic, not per route, although this feature can be configured later
2020-06-01 22:28:06 -07:00
shockrah c1f8ebee1d slight typo in parameters fixed 2020-06-01 22:25:21 -07:00
shockrah b3289ca9bd Basic router skeleton for freechat's new auth/dispatch model 2020-06-01 22:25:01 -07:00
shockrah c98d6dc503 Dependancies moving to full asynchronous libraries 2020-06-01 22:19:06 -07:00
shockrah 5a2a87fff7 /channels/list/voice + text now implemted and ready for testing 2020-05-27 21:29:57 -07:00
shockrah e99e30b45c Moved VOICE_CHANNEL & TEXT_CHANNEL const's to channels module 2020-05-27 21:29:27 -07:00
shockrah 4e61ddbe11 New smol note regarding state of API server 2020-05-27 20:59:17 -07:00
shockrah cc22a56538 Removed used Generic error response 2020-05-27 19:59:01 -07:00
shockrah ea2cccb024 note regarding badges ready for actual badges notes 2020-05-26 02:40:29 -07:00
shockrah d3bcb5a623 more formatting fixes 2020-05-25 14:00:15 -07:00
shockrah bcff4f02a7 updated bullet point formatting as gitlab clobbered newlines 2020-05-25 13:51:47 -07:00
shockrah 1cb95cb59e Merging updated docs with updated get_<type>_channels uris 2020-05-25 13:48:23 -07:00
shockrah db901010b0 prefixed route uri for get_voice_channels and get_text_channels with /list to be more specific to their behavior 2020-05-25 13:48:16 -07:00
shockrah d9ac6c08a2 experimental generic error handler 2020-05-25 13:46:57 -07:00
shockrahwow edca7b3a4a new docs builder script to be used by the docker container later 2020-05-25 13:41:03 -07:00
shockrahwow 0cddfc3289 structures section now in its own page 2020-05-25 13:40:19 -07:00
shockrahwow e945897ac1 removed old outdated docs 2020-05-25 13:39:49 -07:00
shockrahwow ec25992578 moved structures secction to its own .md + sub sectioned everything to fit into a greater sub context in the full docs 2020-05-25 13:38:24 -07:00
shockrah b29f9d6934 api::auth route parameters have updated notes regarding types 2020-05-25 13:16:58 -07:00
shockrah a14b7dd677 removed old web files which are no longer used 2020-05-22 16:26:22 -07:00
shockrah 13ab387a93 new test for encode params 2020-05-20 02:05:43 -07:00
shockrah 97e6b026cc utils::new_key now has a larger entropy pool + is generally smaller/quicker
encode params takes a &[u8] as parameter now instead of &str
utils::decode_params removed for now as it has not real use atm
2020-05-20 02:05:06 -07:00
shockrah 4f64fc3a13 utils::decode_params now uses the same config as utils::encode_params 2020-05-20 01:21:01 -07:00
shockrah 40d4720977 Helper function in test::auth to quickly build fake users
New test to verify correct behavior of '/auth/login' route
2020-05-20 00:50:46 -07:00
shockrah ab4fe70081 test::auth::mysql_conn helper function for mysql connections
test::auth::feed_n_leave added form header and cleaned up post parameters
test::auth::dummy_leave standalone test for route => /auth/leave
2020-05-19 21:48:13 -07:00
shockrah f12048b49b utils::encode_param now encodes data without padding 2020-05-19 21:46:17 -07:00
shockrah 84ccfff2aa auth::login now emites a url safe api session key
models::_USER_ONLINE updated to suppress unused var warnings
2020-05-19 20:15:53 -07:00
shockrah 895d7246f0 auth::create_new_session_key => impl not tested
auth::login now generates a 500 on db insertion failure
auth::login returning single json value instead of full struct
2020-05-19 20:13:56 -07:00
shockrah 87fc6700a4 models::InsertableSession added for session creation 2020-05-19 20:10:39 -07:00
shockrah ec4f9b5302 using secret as primary key 2020-05-19 20:08:26 -07:00
shockrah b007f57dfe priv auth::blind_remove_session => impl not tested
pub auth::login => impl not tested
2020-05-19 19:36:29 -07:00
shockrah dcb9e9641e Skeleton code for login route handler
Helper functions to be written in next commits
2020-05-17 16:15:53 -07:00
shockrah 2b9635a2b1 removed auto_increment from session key id
Keys are to be generated by rust safely
2020-05-17 16:15:27 -07:00
shockrah 9e59d8200d added generated code from diesel migration run for sessions 2020-05-17 16:05:45 -07:00
shockrah 883a007371 mod::rand_utils no longer exists 2020-05-17 16:05:21 -07:00
shockrah f30a8abfc5 Removed old irrelevant comment 2020-05-17 16:05:01 -07:00
shockrah 9c03207489 Basic sessions schema which is used as a api key cache 2020-05-17 16:04:43 -07:00
shockrah 0340204141 moved rand_utils::new_key to utils crate 2020-05-10 13:06:54 -07:00
shockrah bd45508584 base64 encode/decode functions added for sake of usage simplicity
URL_SAFE encoding is used
Both functions seem to pass the tests as well
2020-05-10 13:02:59 -07:00
shockrah 11669840b2 Adding base64 2020-05-10 12:56:55 -07:00
shockrah 68d864710a Finished a test for using an invite via the /invite/join/<code> route 2020-05-10 12:56:38 -07:00
shockrah 52119d3ea7 Adding base64 to send/receive api_keys
Keys can contain special chars so we're preserving our entropy pool by encoding to url_safe chars before sending
2020-05-10 12:55:42 -07:00
shockrah 4703116e32 Verified that the join function is working as intended 2020-05-07 22:14:44 -07:00
shockrah cd41dc64c3 create_new_user no longer checks id column when comparing against unix timestamps 2020-05-07 22:14:26 -07:00
shockrah 383fd59eba Removed dead new_user_id() function 2020-05-07 22:13:44 -07:00
shockrah 55a09b5e98 Removed static files route handlers as they'll never be used
added auth route
2020-05-06 22:22:40 -07:00
shockrah 281b734073 calls to create_new_user no longer require a connection to be copied 2020-05-06 22:19:42 -07:00
shockrah 040d58a7ad Cleaned up some verbosity 2020-05-06 22:19:12 -07:00
shockrah 22a1fd1730 Fixed issue with User database responses:
Added insertable to ensure compilation even though we dont use that trait
2020-05-06 22:18:51 -07:00
shockrah 81e6fd0a13 Invite are now consumed via a path with two dynamic params
/invite/join/<hash>/<name> is the real path to be used now but the app ui should this behavior in some clever way
2020-05-06 02:51:26 -07:00
shockrah 2f40da6c82 FromForm issue still there with /join route
Otherwise ready to integrate tests with auth module
2020-05-06 02:21:20 -07:00
shockrah 220bc11ef0 Fixed all 35 compile time issues with new auth module
Ready for testing
2020-05-06 02:20:32 -07:00
shockrah 306156407d auth module useable now 2020-05-06 01:46:06 -07:00
shockrah b729537088 updated queries to use the new user schema columns
removed old tests which have to be rebuilt from scratch
2020-05-06 01:45:49 -07:00
shockrah 811c6902ac new users schema
changed column names to be more concise
2020-05-06 00:35:01 -07:00
shockrah 57dad692ae poc for a leave route for those that no longer want to be a part of a given server 2020-05-05 23:46:29 -07:00
shockrah 5652388f4c /join 'ing for new users code steramlined a bit
*mostly a coding qol change
2020-05-05 23:20:47 -07:00
shockrah 04ca53dc79 new docs for the updated api requirements 2020-05-05 21:56:39 -07:00
shockrah 62204e52ca dumy commit as work will continue on new async branch 2020-05-05 17:09:18 -07:00
shockrah 83aafa9ff5 new user structs for interacting with end users/db 2020-04-26 18:08:01 -07:00
shockrah 1cab9b8bb8 note in api regarding purpose of doc 2020-04-25 18:33:16 -07:00
shockrahwow 6d0bfc1798 changing initial screen to be a welcome page/nav page to other servers 2020-04-17 22:59:54 -07:00
shockrahwow 1c10cd5174 renamed libraries directory to libs/ 2020-04-17 18:49:02 -07:00
shockrahwow cc0699f095 new directory structure and starting settings pages 2020-04-17 18:46:05 -07:00
shockrahwow 0b607a7e64 removed python/kivy things 2020-04-17 18:45:39 -07:00
shockrahwow 6e9c485d69 notes about what the client should expect from the api for now 2020-04-17 17:13:42 -07:00
shockrahwow 6918475be5 ignoring node modules 2020-04-17 16:59:25 -07:00
shockrah a217c64666 Essential data now passable from server to client regarding channels 2020-03-31 17:15:01 -07:00
shockrah 972d79d44b more custom message support for error type responses 2020-03-31 17:13:07 -07:00
shockrah 5c20d30502 changed responder code to use the new error responder in crate::err 2020-03-31 17:09:45 -07:00
shockrah fe7eb7e392 new error responder 2020-03-31 17:04:01 -07:00
shockrah 960233b7bc testing user list endpoint
new macro to shorten test code
2020-03-17 23:23:52 -07:00
shockrah 3b3059e6d2 new get_user_list endpoint to well, get the list of online users 2020-03-17 22:27:10 -07:00
shockrah eb76c070bd clarified goals 2020-03-17 21:34:43 -07:00
shockrah f343f6d252 new field for online status of users
new short structure describing online users
2020-03-17 21:34:32 -07:00
shockrah a3af490dc9 ignoring virtualenv share 2020-03-16 19:37:24 -07:00
shockrah 77198f6214 bad commit 2020-03-16 19:36:51 -07:00
shockrah 40ca9a9674 commiting in case the kivy trial fails 2020-03-16 19:36:10 -07:00
shockrah 71e9d8adad used whenever we need vscode for stuff 2020-03-16 16:44:47 -07:00
shockrah 66600702b4 configs regarding new app setup 2020-03-16 16:44:27 -07:00
shockrah 11ed11658c ignoring build files from virtualenv" 2020-03-16 03:22:53 -07:00
shockrah 9f586c2569 removing old depracated routes/features 2020-03-11 00:43:31 -07:00
shockrah a1402e79bb router registration for get_voice_channels 2020-03-11 00:40:04 -07:00
shockrah ce4ef515bd sample function to grab all the voice channels 2020-03-11 00:39:23 -07:00
shockrah 7c2e1abbc3 new channel schema which is meant to encompass both text and voice channels 2020-03-11 00:39:10 -07:00
shockrah 558a40523e net payloads for channels and online users 2020-03-10 18:06:33 -07:00
shockrah 7e04e6010a new schema to contain basic channel information 2020-03-10 17:59:27 -07:00
shockrah 8ae877f3f9 updated the response when creating new users 2020-03-10 16:48:21 -07:00
shockrah 924c15a436 No more nullable uses field(it was signed) so option was redundant 2020-03-09 00:52:09 -07:00
shockrah 2eb2a83c76 testing user generation on invite usage 2020-03-09 00:26:29 -07:00
shockrah ae751a2d2b removed unused schema 2020-03-09 00:26:04 -07:00
shockrah 50cd718e8a more robust test to deal with invite generation 2020-03-08 23:01:41 -07:00
shockrah 12dd244f9c serde json used for testing purposes mainly 2020-03-08 22:53:43 -07:00
shockrah e38f8a0a2b silly test 2020-03-08 20:20:57 -07:00