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
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
cc22a56538
Removed used Generic error response
2020-05-27 19:59:01 -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
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
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
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
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
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 use
able 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
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
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
f343f6d252
new field for online status of users
...
new short structure describing online users
2020-03-17 21:34:32 -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
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
shockrah
e4f03b951e
invites:
...
handling result from diesel
generally:
fixed pub/private issue in modles module
renamed rand_utils functions to be snake case
2020-03-08 20:07:26 -07:00
shockrah
89836449a1
createNewUser now returns a User(not payload::NewUser)
2020-03-08 19:50:47 -07:00
shockrah
d9e892b1e0
Updated blanknewUser macro
...
use_invite now returns a Json<User>
2020-03-08 19:50:17 -07:00
shockrah
d7c70afd68
rust code to go along with lack of optional fields
2020-03-08 19:49:36 -07:00
shockrah
b39a95f3a3
rand utils no longer using payload User struct
2020-03-08 19:49:10 -07:00
shockrah
8cbfa9520e
new users no longer contain optional fields
...
only using completely necessary information
2020-03-08 19:20:08 -07:00
shockrah
e9a880f6a9
user generation added
...
randomness is generated via /dev/urandom thru getrandom crate
2020-03-08 19:13:24 -07:00
shockrah
ec88a08391
new simplified users schema
2020-03-07 22:06:03 -08:00
shockrah
316c409796
new models for users table interface
2020-03-07 22:05:46 -08:00
shockrah
54f5b1bbe1
new route to create users
...
still requires some kind of auth however
2020-03-07 21:51:54 -08:00
shockrah
8220f1f745
depracation of website module
2020-03-07 20:52:41 -08:00
shockrah
8abb8ca29c
depracating the website module
2020-03-07 20:50:58 -08:00
shockrah
62fd63d3b5
invite generation cleaned and working
...
added a basic test for the fixed invite generation
2020-03-07 18:54:46 -08:00
shockrah
3a995fa469
removing users module for now because invites are getting reworked
...
a lot of structural changes are coming to how users are dealt with
2020-03-07 16:51:22 -08:00
shockrah
64f20f01ec
structures for authentication payloads
...
added new temporary goal
slowly integrating payload module into invites and users modules
2020-02-13 17:13:41 -08:00
shockrah
6c10c2160b
newuser structure for those that use an invite link
2020-02-08 16:49:18 -08:00
shockrah
57db968568
new_users fields are more explicit
...
also easier to work with given current goals
2020-02-07 15:43:46 -08:00
shockrah
dd3acb5abe
Basic new user route with a sample test
...
Creating a payloads module as well
2020-02-07 14:57:44 -08:00
shockrah
b52de76a66
removed old migratiions from unsed internal library
2020-02-05 17:48:57 -08:00
shockrah
d2c45761dd
invites usage route '/invite/<hash>' now usable
2020-02-05 17:45:12 -08:00
shockrah
da0af22ee5
removed pointless function
2020-02-05 16:31:35 -08:00
shockrah
1e1b9d4f72
changed model fields to pub
...
struct Invite now insertable
2020-02-05 16:31:26 -08:00
shockrah
c5461f16ad
main now matches against dotenv return val
...
main also returns a Result<(), i32>
2020-02-05 16:30:50 -08:00
shockrah
03b111c4dd
working route for generating invite links
...
return value may need to change slightly however
2020-02-05 16:30:09 -08:00
shockrah
8978b92efd
models module
2020-02-05 15:11:56 -08:00
shockrah
12b666518c
schema(rust) first pass
2020-02-05 14:17:07 -08:00
shockrah
f3e0570182
removing sub library and moving this code into our master codebase
2020-02-04 00:30:58 -08:00
shockrah
b2ef7fd6d1
simple sql connection script: just to reduce typing
2020-02-04 00:26:44 -08:00
shockrah
d54913a26a
registering routes for generating/usig invites
2020-02-04 00:25:59 -08:00
shockrah
6634641937
commiting old but nearly done work before goal shifting
2020-02-04 00:25:27 -08:00
shockrah
4c1820f910
reset scripts now in place
2020-02-04 00:21:58 -08:00
shockrah
abf573812f
new struct for invites
2020-01-31 00:16:22 -08:00
shockrah
6584b50d49
dev files for this lib
2020-01-31 00:00:39 -08:00
shockrah
4309f9890e
poc api code for generating invites
2020-01-30 23:54:53 -08:00
shockrah
ecc08cc3f1
invites added to schemas rust code
2020-01-30 23:54:18 -08:00
shockrah
b0ab68c134
basic invites migrations ready
2020-01-30 23:52:06 -08:00
shockrah
a1e6d6131d
print flag now lets us control println output in test code
2020-01-30 17:30:27 -08:00
shockrah
b3bd800455
new deps
2020-01-30 17:30:00 -08:00
shockrah
0518a896d6
first steps into an invite system
2020-01-30 00:04:03 -08:00
shockrah
113aff4955
removed fluff modules
2020-01-30 00:03:51 -08:00
shockrah
a3519e32a6
config issues are being ignored for now there are bigger things to deal with
2020-01-29 23:25:37 -08:00
shockrah
857885789f
removed old fluff
2020-01-29 22:40:57 -08:00
shockrah
5dcc6b2096
its ugly but way more safe and uses the config properly
2020-01-29 20:16:50 -08:00
shockrah
42090cd6b1
removed unwanted/needed stuff
2020-01-29 20:15:36 -08:00
shockrah
10e4986ef2
beginning of change to new config for website
2020-01-29 16:41:46 -08:00
shockrah
5f281e587b
support for configs now there but requries docs
2020-01-04 18:15:37 -08:00
shockrah
a142ea435b
ready to ready toml in ./configs/ for website at least
2020-01-04 16:25:18 -08:00
shockrah
6c88b04d6a
removed unsed struct which was moved to website.rs anyway
2020-01-04 01:35:56 -08:00
shockrah
c9ce8618cd
new tables included with passing build
2019-12-08 23:34:37 -08:00
shockrah
5803fc4c53
passing all tests ready for wrapper implementation
2019-12-08 23:34:21 -08:00
shockrah
9b035f07a2
sample env file nothing exciting yet
2019-12-08 23:33:49 -08:00
shockrah
a05cc2b53a
switching deps to mysql
2019-12-08 23:28:41 -08:00
shockrah
a6a597cc0c
channels alongside users table
2019-12-08 23:28:20 -08:00
shockrah
e588d81383
building smarter
2019-12-08 23:27:59 -08:00
shockrah
a40321962f
Merge branch 'master' of gitlab.com:shockrah/freechat
2019-12-08 21:28:45 -08:00
shockrah
3d8d8f93b9
lulw just setting up database schemas via diesel
2019-12-08 21:28:31 -08:00
shockrahwow
69633203f6
Merge branch 'master' of gitlab.com:shockrah/freechat
2019-12-05 11:15:53 -08:00
shockrahwow
a4f9a82477
more tests for jjs and more robust macro
2019-12-05 11:15:42 -08:00
shockrah
6e5088354c
removing fluff idea work
2019-12-02 13:47:36 -08:00
shockrahwow
ba0673540d
boilerplate for database functionality
2019-12-01 22:10:34 -08:00
shockrahwow
5a3899ffe2
all webroutes passing tests(yay!)
2019-11-27 23:46:06 -08:00
shockrahwow
ba166cf281
tests are more specific at this point yes i think so
2019-11-27 23:43:55 -08:00
shockrahwow
b6eaada2bf
favicon now usesour own
2019-11-27 23:41:28 -08:00
shockrahwow
4a1be90cdf
better test coverage for static resources
2019-11-27 23:41:16 -08:00
shockrahwow
9bdeedb3d8
added routes for js and random media
...
removed login logic from website as the app is needed for that
2019-11-27 23:13:07 -08:00
shockrahwow
780e8b26bb
fixed typo and adding about page route in server
2019-11-27 21:28:04 -08:00
shockrahwow
96e6cbb5be
passing tests for basic pages and css routes
2019-11-27 20:05:39 -08:00
shockrahwow
42038106cd
removing fn routes for static files
2019-11-13 19:49:06 -08:00
shockrahwow
07390f1469
moved website routes to they're own module:
...
Rationale - these routes are completely seperate from everything else after this point
2019-11-13 19:22:06 -08:00
shockrahwow
5aac2a0c10
uniironically testing tests
2019-11-13 18:47:36 -08:00
shockrahwow
d3fd575b32
moved goalposts LULW
2019-11-12 11:19:44 -08:00
shockrahwow
adb4697a17
part of the base for the payload structures
2019-11-04 12:18:14 -08:00
shockrahwow
8c9d9e3379
moved server code up one directory for now
2019-10-31 10:45:34 -07:00