SEMOSS / Semoss_new_hire

Used to onboard new hires. Prevent added noise to the Semoss repo to prevent confusion. This is a way to teach the git remote workflow and check pull requests that aren't intended for Semoss but rather to train new hires. This also, will allow us to not confuse admins of the main Semoss repo with nonsensical pull requests.
Apache License 2.0
0 stars 0 forks source link

Store the user's last logged in location in the Security Database #3

Open EJV20 opened 2 months ago

EJV20 commented 2 months ago

Create a new Branch and do not push

Database: First make a new table in the security DB called USER_TRACKING that contains the following columns: the user's id, their last location, if this is different from their previous last location, if this is is their first time being at that location, and the total amount of times that person has been at that location. Also make sure to update the SMSS_USER table that is also located in the securityDB to be able to map to the new table.

Check to see that your table is created by going to Semoss ->AdminQuery and searching for your table with a SQL query. You should see all the columns of your table. Also find the USER_TRACKING table in the UserTrackingDatabase and familarize yourself with the data it holds. You will use this table in the next steps.

Must do before proceeding: Please check the RDF_MAP.prop, you MUST enable something for this to work. look through the file familarize yourself with the different options. (hint think of the task and remember you are on local host) Once you fix the option, check the USER_TRACKING table in the UserTrackingDatabase and see that you now see the table being populated.

Reactors: When a user logs into semoss, we can look at their IP address to see where they are at. This is stored in the UserTrackingDatabase. Create a PingUserReactor, that can look at the most recent logged in location for a user, and store it in the Security DB. Allow the user to specify the user id to search for.

Now that we have our table and since, we are working locally and don't have real data to use in the user tracking database we need a way for a user to import fake data. Please write a reactor that allows a user to import fake data to the USER_TRACKING table in the UserTrackingDatabase for the following fields: userid, type, and city. Make sure you also fill in the session id and the timestamp fields that the user does not need to specify when calling the reactor in the pixel terminal.

Finally, make a reactor that allows a user to specify a userId. This reactor would take the entered in userId and return the user's name, email, type, id, and username, along with there last logged in location, if this is different from there last location, if this is is there first time logged in from that location, and the total amount of times that person has logged into that location.

NOTE: Admin query is in the settings, please make sure your user is an admin to access Admin query. To access the pixel terminal, navigate to system apps. SecurityOwlCreator is also relavent, look over the file.

dpartika commented 2 months ago

Create a new Branch with your name and task. For example: git checkout -b ejv20-3

Database: First make a new table in the security DB called USER_TRACKING that contains the following columns: the user's id, their last location, if this is different from their previous last location, if this is is their first time being at that location, and the total amount of times that person has been at that location. Also make sure to update the SMSS_USER table that is also located in the securityDB to be able to map to the new table.

Check to see that your table is created by going to Semoss ->AdminQuery and searching for your table with a SQL query. You should see all the columns of your table. Also find the USER_LOCATION table in the UserTrackingDatabase and familarize yourself with the data it holds. You will use this table in the next steps.

Must do before proceeding: Please check the RDF_MAP.prop, you MUST enable something for this to work. look through the file familarize yourself with the different options. (hint think of the task and remember you are on local host) Once you fix the option, check the USER_TRACKING table in the UserTrackingDatabase and see that you now see the table being populated.

Reactors: When a user logs into semoss, we can look at their IP address to see where they are at. This is stored in the UserTrackingDatabase. Create a PingUserReactor, that can look at the most recent logged in location for a user, and store it in the Security DB. Allow the user to specify the user id to search for.

Now that we have our table and since, we are working locally and don't have real data to use in the user tracking database we need a way for a user to import fake data. Please write a reactor that allows a user to import fake data to the USER_LOCATION table in the UserTrackingDatabase for the following fields: userid, type, and city. Make sure you also fill in the session id and the timestamp fields that the user does not need to specify when calling the reactor in the pixel terminal.

Finally, make a reactor that allows a user to specify a userId. This reactor would take the entered in userId and return the user's name, email, type, id, and username, along with there last logged in location, if this is different from there last location, if this is is there first time logged in from that location, and the total amount of times that person has logged into that location.

NOTE: Admin query is in the settings, please make sure your user is an admin to access Admin query. To access the pixel terminal, navigate to system apps. SecurityOwlCreator is also relavent, look over the file.