Commit Graph
100 Commits
Author SHA1 Message Date
shockrah 776ceb83c9 send_message was expecting the wrong parameters 2020-08-08 21:31:07 -07:00
shockrah 47cc48575d added missing keys in json params to queries 2020-08-08 21:30:10 -07:00
shockrah 1d5224242e new sample key using the new encryption to get past the auth barrier 2020-08-08 00:33:31 -07:00
shockrah 0d7e4e15b9 removed dead code
insert_new_member returns the raw secret ont whats stored in the db
2020-08-08 00:32:46 -07:00
shockrah b4ec7005c7 removed more dead code 2020-08-08 00:31:12 -07:00
shockrah 537ba957e4 removed dead code 2020-08-08 00:30:45 -07:00
shockrah b3d603eecc verification of secrets now has clearer fallback 2020-08-08 00:30:35 -07:00
shockrah 90e6496786 Auth wall now uses id for lookups
Secret is now checked against bcrypt, default cost now 13

New AuthReason::BadKey
	Meant to give us more specific auth responses but main isn't dealing w/ it yet
2020-08-07 21:23:38 -07:00
shockrah 016d81b82b oops forgot to change mains path 2020-08-06 20:28:05 -07:00
shockrah 500744be05 missed cd into the tests directory oops 2020-08-06 20:17:19 -07:00
shockrah 2677390b58 First pass of cli-opts testing 2020-08-06 20:06:30 -07:00
shockrah e94668955e Merging new cli options into testing to ensure cli opts are working in
pipelines
2020-08-06 20:02:48 -07:00
shockrah fd7a56403b fixed start server command as its value is always None but true 2020-08-06 20:02:29 -07:00
shockrah c8ee118904 use serde_json to dump out owner accounts when theyre built by hand 2020-08-06 19:59:31 -07:00
shockrah 19ee2c2577 switching to serde_json for some heavy lifting of json conversions 2020-08-06 19:56:14 -07:00
shockrah bb426897d2 adding more serde dependancies 2020-08-06 19:55:42 -07:00
shockrah 626f16afb8 guarding so that _a_ flag is required for us to do anything 2020-08-06 19:32:31 -07:00
shockrah 1b8e52e3e0 Moved new member for admins logic to members module
More generally members now has a proper looking insert new member function

Added new combinational permision for basic users

Reworked DATBASE_URL initialization for the API's environment variable
Nearly there to conditionally running the server, only need to add one more guard
2020-08-06 19:09:59 -07:00
shockrah c1b50bd36a adding helper function to aid in creation of members as opt create owner requires 2020-08-06 16:31:18 -07:00
shockrah ba433c5abe fixing mysql::params issue and ignoring usused Result from library 2020-08-06 16:00:42 -07:00
shockrah e0989a888e exposed fields of struct Member as public 2020-08-05 23:14:35 -07:00
shockrah 99ccb14bf2 added code for creating new owner accounts, and for dealing with some commandline arguments 2020-08-05 23:14:00 -07:00
shockrah 34ac3709f7 reverting use of salt field as its pre-concatenated in our secret field 2020-08-05 22:52:45 -07:00
shockrah 45120330db Adding required deps for creating proper users 2020-08-05 22:49:11 -07:00
shockrah 4679179abf docker image should hopefully have pkg-config installed now 2020-08-02 21:57:39 -07:00
shockrah 59d84ae618 updated docker version to use 2020-08-02 21:25:37 -07:00
shockrah 38fe8859ea updated logo 2020-08-02 21:20:49 -07:00
shockrah 5a14df643a kawaii logo and updated pipeline job to use custom docker image 2020-08-02 20:45:46 -07:00
shockrah 5ab40f2b50 basic send_message test 2020-08-02 18:38:36 -07:00
shockrah 6416370e95 Message changenotes
* send_message fails when a non-existant channel is specified
* send_message now works with existant channel
* send_message: notifies client of bad channel parameters
* send_message: sends a generic 500 on every other error
2020-08-02 18:38:07 -07:00
shockrah d588128b9e Channel changenotes:
* create channel now responds correctly given various parameters
* insert channel now errors out properly with ? syntax
* new uses added to align with sql types
2020-08-02 18:32:02 -07:00
shockrah df395e3b50 updated foreign key name in messages schema 2020-08-02 16:38:50 -07:00
shockrah 014b6a06c8 oops 2020-08-01 18:57:49 -07:00
shockrah a00dd2b442 Merge branch 'testing' into messaging 2020-07-31 22:10:31 -07:00
shockrah a24126034b removed unused type 2020-07-31 22:10:27 -07:00
shockrah 26eeb4fa2c using official nightly build of rust docker image 2020-07-31 21:51:51 -07:00
shockrah c8055e07cc main is now setup to handle pipeline environments and regular .env filled environments 2020-07-31 21:49:07 -07:00
shockrah ab981f68d0 updated syntax 2020-07-31 00:15:04 -07:00
shockrah 9342f5a2ea adding missing key 2020-07-31 00:10:50 -07:00
shockrah fb2181aa39 moving pipeline script to root 2020-07-31 00:10:15 -07:00
shockrah de4493c7ab setting ci, thisi commit will fail for now 2020-07-31 00:08:49 -07:00
shockrah 000a75c81f user name+id now added to params and channels table now accepts channel_name 2020-07-30 23:50:03 -07:00
shockrah b8c4cee57f send message now build properly w/ no warns 2020-07-30 23:31:20 -07:00
shockrah 40ade4ebcc current build passing all tests for channel creation/deletion 2020-07-29 19:54:29 -07:00
shockrah 34a04f7887 channel deletion seems to pass basic unit tests 2020-07-29 19:46:44 -07:00
shockrah 362eb53650 tabs before some messages for clearer reasoning on what happen on each request 2020-07-29 19:44:52 -07:00
shockrah 7ea3aef1cb removing more legacy code 2020-07-29 00:38:30 -07:00
shockrah de6c8af19d localhost was literall mispelled 2020-07-29 00:35:34 -07:00
shockrah 8d520117d4 new channel create/delete routes added 2020-07-29 00:28:09 -07:00
shockrah 677d0a3b36 removing legacy code 2020-07-29 00:26:37 -07:00
shockrah 351a9ba30c list channels and create channels behaving properly based on inputs, delete_channel not working just yet 2020-07-29 00:26:19 -07:00
shockrah c7922d4249 channel names must now be unique 2020-07-29 00:21:33 -07:00
shockrah b6db34f28f option to always show body of response added 2020-07-28 22:45:52 -07:00
shockrah b5041a4f8d fresh cargo lock 2020-07-28 22:15:04 -07:00
shockrah 3612f5835c testing around channel deletion confirmed working 2020-07-27 21:04:13 -07:00
shockrah f0c7c9c69b list channels now nearly completely tested
pattern for testing getting fleshed out for real now
2020-07-27 16:26:40 -07:00
shockrah e1b0e013b2 curl macro to remove code noise elsewhere 2020-07-27 16:16:52 -07:00
shockrah cb8b4cece1 better error logging 2020-07-27 16:16:37 -07:00
shockrah c490343442 list_all_channels now serves as a good template to use for other funcs to follow suit 2020-07-27 15:43:41 -07:00
shockrah fb63007a85 moved common common func off to main 2020-07-27 15:43:00 -07:00
shockrah f536674e73 more stuff for the sample env file 2020-07-21 21:33:12 -07:00
shockrah 1eed2f4027 basic invites manager chronjob thing 2020-07-21 18:13:33 -07:00
shockrah 6a9f91429e helpful setup script for creating the dev sql user in testing 2020-07-21 15:00:06 -07:00
shockrah 84d3464f6c base dependancies for invites manager 2020-07-21 14:47:03 -07:00
shockrah d9a6ea30a7 invites now has a max_uses column and less strict column requirements 2020-07-21 14:30:23 -07:00
shockrah 99507302f9 Removing api tests form members mod as those are done with curl in tests/
Base member creation being added in this commit notes to follow

struct Member has had its field types changed to db_types::* types
Member::to_json was added to support simple json serialization into responses
struct InsertableMember added because `id` is generated by SQL for us
- this means we have to do two queries 1 to insert and 2 to fetch
- mysql_async does not provide an inlined way of fetching a recently added row

func general_new_user is only checking for a `name`parameter
- falls back to a basic default name for those that don't set a name on jooin
- handles its  own sub errors so the main dispatcher doesn't care about after move
2020-07-13 21:59:28 -07:00
shockrah 46403913a4 logging bad auth requests 2020-07-13 21:47:00 -07:00
shockrah 1eab32889a more testing for channel list 2020-07-13 21:41:04 -07:00
shockrah 2b70d37370 start of basic api tests, all tests still individually runnable 2020-07-13 21:14:57 -07:00
shockrah 0df6702a9d adding a decent structure for testing the restful api from this point forward 2020-07-13 20:44:06 -07:00
shockrah 73f69cec48 channels list route passing proper input pass 2020-07-13 20:35:04 -07:00
shockrah 0a0967d196 fixed auth module not using str version of the secret key 2020-07-13 20:31:14 -07:00
shockrah ed6c19314a defaults for Dynamic routes in case thigns don't go well 2020-07-13 19:42:59 -07:00
shockrah 1810e5ebc8 removing unused enum members 2020-07-13 19:42:13 -07:00
shockrah d013afe054 removing fluff module and adding sensible database type aliases 2020-07-13 19:40:37 -07:00
shockrah 5c2c4abd76 making auth wall a little bit more lenient for now until testing has some reasonable methodology 2020-07-13 19:40:13 -07:00
shockrah 65ccf70091 adding secret as a primary key in members table 2020-07-13 19:39:35 -07:00
shockrah 3da6c487df adding funcs to differentiate dynamic routes 2020-07-12 22:42:50 -07:00
shockrah a141974904 container module for later permission flags 2020-07-12 22:27:20 -07:00
shockrah 7a64c64e98 aliases for common translational types for sql 2020-07-12 18:57:03 -07:00
shockrah 75f01edac6 moving keys into members table 2020-07-12 18:50:24 -07:00
shockrah dfd1d6186c New testing lib for testing async functionality 2020-07-12 17:33:05 -07:00
shockrah ef7eca3462 poc for insertion of new users 2020-07-12 15:09:03 -07:00
shockrah 898fcf9ba8 removed legacy moudles 2020-07-12 15:08:18 -07:00
shockrah 180553e9d1 removed unused scripts 2020-07-12 15:06:02 -07:00
shockrah 12211b8945 removed ancient sample config file 2020-07-10 20:19:46 -07:00
shockrah 523985ce61 removed unused struct MsgParam 2020-07-10 19:54:41 -07:00
shockrah cdc2f0a13a exposed more funcs as needed 2020-07-05 22:04:30 -07:00
shockrah ffaf602bef Updating messages table now on request for send_message
- has not undergone any testing however and we're not building a response yet
2020-07-05 22:04:10 -07:00
shockrah 1944152252 messages schema now ready to be used 2020-07-05 20:48:15 -07:00
shockrah f827cef9c5 base send_message ready to take and process params into our db 2020-07-05 15:06:33 -07:00
shockrah 112c9f34cd * renamed users schema to members basically and added foreign key ref to keys schema 2020-07-05 15:05:34 -07:00
shockrah 9c4323c0c5 removing used use 2020-07-04 23:06:23 -07:00
shockrah 0d9b945301 *Speccing the rows which wall_entry requests
Generally more explicit behavior is provided
*NOTE: if this call succeeds then we have fully authenticated and subsequent calls should have acccess to "secret" in the serialized params structure, thus unwraps should be fine as they'll be proven via informal  induction
2020-07-04 23:05:58 -07:00
shockrah cdc88b8365 * fixed formating/comments in users schema
* channels schema now uses a bigint unsigned for pid
this is to keep consistent with notion of id's being usize|u64 in rust
* foreign key constraint added to keys table referencing user rows
2020-07-04 22:52:59 -07:00
shockrah a074498f61 - removed dead code
- removed mutability in return object (parse_params)
2020-07-04 21:18:11 -07:00
shockrah a47f4c4c46 ! admin update
removing and ignoring old + new things respectively
2020-07-04 19:39:04 -07:00
shockrah c7d42709c2 adding base for invite manager microservice 2020-07-04 19:38:09 -07:00
shockrah cb3aec0696 + updated parsing funcs to take advantage of serde_json
+removed unused code segmments
+added helper function to pull string from Option<i64> for serde_json
*exposing Channel struct to other modules
2020-07-04 19:37:42 -07:00
shockrah e8e1a13d6d auth::wall_entry now uses &serde_json::Value's as a param 2020-06-18 22:31:15 -07:00