diff --git a/doc/LowLevel/UserManagement/UserManagementDeleteUser.png b/doc/LowLevel/UserManagement/UserManagementDeleteUser.png index 0e56e86..65a0ff1 100644 Binary files a/doc/LowLevel/UserManagement/UserManagementDeleteUser.png and b/doc/LowLevel/UserManagement/UserManagementDeleteUser.png differ diff --git a/doc/LowLevel/UserManagement/UserManagementDeleteUser.txt b/doc/LowLevel/UserManagement/UserManagementDeleteUser.txt index 72dccef..4d57538 100644 --- a/doc/LowLevel/UserManagement/UserManagementDeleteUser.txt +++ b/doc/LowLevel/UserManagement/UserManagementDeleteUser.txt @@ -119,7 +119,7 @@ AccountService->SqlDAO:++SqlDAO\n.DeleteUserRecord(user:NewUser,\nUpdateType: us activate SqlDAO #D3D3D3 SqlDAO->SqlServer(MariaDB):++isUser(user:NewUser)++ activate SqlServer(MariaDB) #00FFFF -SqlServer(MariaDB)->SqlServer(MariaDB):++ Select *\nFrom Users\nwhere Username\n= @UserName OR\nemail = @Email++ +SqlServer(MariaDB)->SqlServer(MariaDB):++Select *\nFrom Users\nwhere Username\n= @UserName and\nRole = @UserRole group #red data store timed out #white SqlDAO<--SqlServer(MariaDB):++SqlException++ deactivate SqlServer(MariaDB) diff --git a/doc/LowLevel/UserManagement/UserManagementDisableUser.png b/doc/LowLevel/UserManagement/UserManagementDisableUser.png index a3e5a04..cea8883 100644 Binary files a/doc/LowLevel/UserManagement/UserManagementDisableUser.png and b/doc/LowLevel/UserManagement/UserManagementDisableUser.png differ diff --git a/doc/LowLevel/UserManagement/UserManagementDisableUser.txt b/doc/LowLevel/UserManagement/UserManagementDisableUser.txt index 718df99..a9cd10e 100644 --- a/doc/LowLevel/UserManagement/UserManagementDisableUser.txt +++ b/doc/LowLevel/UserManagement/UserManagementDisableUser.txt @@ -116,7 +116,7 @@ AccountService->SqlDAO:++SqlDAO\n.DisableUser(user:NewUser,\nUpdateType:userDisa activate SqlDAO #D3D3D3 SqlDAO->SqlServer(MariaDB):++isUser(user:NewUser)++ activate SqlServer(MariaDB) #00FFFF -SqlServer(MariaDB)->SqlServer(MariaDB):++ Select *\nFrom Users\nwhere Username\n= @UserName OR\nemail = @Email++ +SqlServer(MariaDB)->SqlServer(MariaDB):++ Select *\nFrom Users\nwhere Username\n= @UserName and\nRole = @UserRole\n group #red data store timed out #white SqlDAO<--SqlServer(MariaDB):++SqlException++ deactivate SqlServer(MariaDB) diff --git a/doc/LowLevel/UserManagement/UserManagementEditUserRecords.png b/doc/LowLevel/UserManagement/UserManagementEditUserRecords.png index f2af930..4be1359 100644 Binary files a/doc/LowLevel/UserManagement/UserManagementEditUserRecords.png and b/doc/LowLevel/UserManagement/UserManagementEditUserRecords.png differ diff --git a/doc/LowLevel/UserManagement/UserManagementEditUserRecords.txt b/doc/LowLevel/UserManagement/UserManagementEditUserRecords.txt index 97a9bff..d35b4e9 100644 --- a/doc/LowLevel/UserManagement/UserManagementEditUserRecords.txt +++ b/doc/LowLevel/UserManagement/UserManagementEditUserRecords.txt @@ -124,7 +124,7 @@ AccountService->SqlDAO:++SqlDAO\n.UpdateUserRecord(user:NewUser,\nUpdateType: us activate SqlDAO #D3D3D3 SqlDAO->SqlServer(MariaDB):++isUser(user:NewUser)++ activate SqlServer(MariaDB) #00FFFF -SqlServer(MariaDB)->SqlServer(MariaDB):++Update *\nFrom Users\nwhere Username\n= @UserName OR\nemail = @Email++ +SqlServer(MariaDB)->SqlServer(MariaDB):++Update *\nFrom Users\nwhere Username\n= @UserName and\nRole = @UserRole group #red data store timed out #white SqlDAO<--SqlServer(MariaDB):++SqlException++ deactivate SqlServer(MariaDB) diff --git a/doc/LowLevel/UserManagement/UserManagementEnableUser.png b/doc/LowLevel/UserManagement/UserManagementEnableUser.png new file mode 100644 index 0000000..7c1a653 Binary files /dev/null and b/doc/LowLevel/UserManagement/UserManagementEnableUser.png differ diff --git a/doc/LowLevel/UserManagement/UserManagementEnableUser.txt b/doc/LowLevel/UserManagement/UserManagementEnableUser.txt new file mode 100644 index 0000000..943fe04 --- /dev/null +++ b/doc/LowLevel/UserManagement/UserManagementEnableUser.txt @@ -0,0 +1,161 @@ +title Disable Specfied User +actor User +participant Controller.cs #90EE90 +participant RDSFactory #26abff +participant UserAccount #CBC3E3 +participant SystemAccountManager #ffffe0 +participant AccountService #ff8b3d +participant SqlDAO #D3D3D3 +//SqlDAO +database SqlServer(MariaDB) #00FFFF + +//activate User +activate Controller.cs #90EE90 +User->Controller.cs: ++Request to enable user\n by a different user++ + +//RelatDSFactory +Controller.cs->RDSFactory:++factory = new RDSFactory()++ +activate RDSFactory #26abff +RDSFactory->RDSFactory:++Constructor()++ +Controller.cs<--RDSFactory:++return RDSFactory++ +deactivate RDSFactory +Controller.cs->SqlDAO:++IDataSource factory.GetDataSource(string DbName, string connInfo)++ +activate SqlDAO #D3D3D3 +SqlDAO->SqlDAO:++Constructor(string connInfo)++ +group #red Data Store Timed Out #white +SqlDAO->SqlDAO: ++Catch SqlException++ +Controller.cs<--SqlDAO:++return "Data Source Timed Out"++ +end +group #blue Data Store Online #white +Controller.cs<--SqlDAO: ++return SqlDAO++ +deactivate SqlDAO + +// Create new Admin +Controller.cs->SystemAccountManager:++ manager = new SystemAccountManager(IDataSource conn)++ +activate SystemAccountManager #ffffe0 +SystemAccountManager->SystemAccountManager:++Constructor(IDataSource conn)++ +Controller.cs<--SystemAccountManager:++ New SystemAccountManager++ +deactivate SystemAccountManager + +// GetUserName +Controller.cs->Controller.cs:++string GetUserName()++ + +// GetPassword +Controller.cs->Controller.cs:++string GetPassword()++ + +// Pass object +Controller.cs->UserAccount:++ new UserAccount(string username,\n string password\n DateTime RegistrationTimeStamp)++ +activate UserAccount #CBC3E3 +UserAccount->UserAccount: ++Constructor(string username,\n string password,\n DateTime RegistrationTimeStamp)++ +Controller.cs<--UserAccount:++New UserAccount++ +deactivate UserAccount + +activate SystemAccountManager #ffffe0 +SystemAccountManager->SystemAccountManager:++isInputValid(user: UserAccount)++ +group #red Invalid Information #white +Controller.cs<--SystemAccountManager:++return "Invalid input"++ +User<--Controller.cs:++ return "Invalid input"++ +end +Controller.cs<--SystemAccountManager:++return true++ +deactivate SystemAccountManager + +// +Controller.cs->SystemAccountManager:++manager.EnableUserRecord(user:UserAccount)++ + +//check if there is an admin user +activate SystemAccountManager #ffffe0 +SystemAccountManager->SqlDAO:++isAdmin(user:UserAccount)++ +activate SqlDAO #D3D3D3 +SqlDAO->SqlServer(MariaDB):++SqlRead confirmAdmin()++ +activate SqlServer(MariaDB)#00FFFF +SqlServer(MariaDB)->SqlServer(MariaDB):++Select * from Admins\n where Username = @UserName \nand Password = @Pwd++ +//Unauthorized role section +group #red Unauthorized User #white +SqlDAO<--SqlServer(MariaDB):++SqlException++ +SqlDAO->SqlDAO: ++Catch\nSqlException++ +SystemAccountManager<--SqlDAO:++return false++ +Controller.cs<--SystemAccountManager:++ return "Access Denied: \nUnauthorized"++ +User<--Controller.cs:++return "Access Denied: \nUnauthorized"++ +//Unauthorized role section +end +group #red Unauthorized User #white +SqlDAO<--SqlServer(MariaDB):++return false++ +SystemAccountManager<--SqlDAO:++return false++ +Controller.cs<--SystemAccountManager:++ return "Access Denied: \nUnauthorized"++ +User<--Controller.cs:++return "Access Denied: \nUnauthorized"++ +end + + +//Authorized role section +group #blue Authorized User #white +SqlDAO<--SqlServer(MariaDB):++return true++ +deactivate SqlServer(MariaDB) +SystemAccountManager<--SqlDAO:++return true++ +deactivate SqlDAO +deactivate SystemAccountManager + +group #green Valid Information #white +activate SystemAccountManager #ffffe0 +// GetUserName +SystemAccountManager->SystemAccountManager:++string NewUserName()++ +// Enter UserName +User->SystemAccountManager:++string NewUserName++ +// GetRole +SystemAccountManager->SystemAccountManager:++string NewRole()++ +// Enter Role +User->SystemAccountManager:++string NewRole++ +// Create NewUser object +UserAccount<-SystemAccountManager:++new NewUser(\nstring NewUserName,\nstring role,\nDateTime TimeStamp)++ +activate UserAccount #CBC3E3 +UserAccount->UserAccount:++Constructor(\nstring NewUserName,\nstring role,\nDateTime TimeStamp)++ +UserAccount-->SystemAccountManager:++return NewUser++ +deactivate UserAccount +SystemAccountManager->AccountService:++AccountService\n.EnableUserRecord(user:NewUser,\nUpdateType:userEnable)++ +activate AccountService #ff8b3d +AccountService->SqlDAO:++SqlDAO\n.EnableUser(user:NewUser,\nUpdateType:userEnable)++ +activate SqlDAO #D3D3D3 +SqlDAO->SqlServer(MariaDB):++isUser(user:NewUser)++ +activate SqlServer(MariaDB) #00FFFF +SqlServer(MariaDB)->SqlServer(MariaDB):++ Select *\nFrom Users\nwhere Username\n= @UserName and\nRole = @UserRole +group #red data store timed out #white +SqlDAO<--SqlServer(MariaDB):++SqlException++ +deactivate SqlServer(MariaDB) +SqlDAO->SqlDAO: ++Catch\nSqlException++ +AccountService<--SqlDAO:++return "Database timed out"++ + +SystemAccountManager<--AccountService:++ return "Database timed out"++ +Controller.cs<--SystemAccountManager:++ return "Database timed out"++ +User<--Controller.cs:++ return "Database timed out"++ +end +group #blue data store is online #white +// User exists +group #green User does exist #white +activate SqlServer(MariaDB) #00FFFF +SqlDAO<--SqlServer(MariaDB):++ return True++ +SqlDAO->SqlServer(MariaDB):++Update users Set isActive = 1\nwhere UserName = @UserName++ +SqlDAO<--SqlServer(MariaDB):++ return 1++ +deactivate SqlServer(MariaDB) +AccountService<--SqlDAO:++return "User is now enabled"++ +SystemAccountManager<--AccountService:++return "User is now enabled"++ +Controller.cs<--SystemAccountManager:++return "User is now enabled"++ +User<--Controller.cs:++ return \n"User is now enabled"++ +end +// User doesn't exist +group #red User does not exist #white +activate SqlServer(MariaDB) #00FFFF +SqlDAO<--SqlServer(MariaDB):++ return False++ +deactivate SqlServer(MariaDB) +AccountService<--SqlDAO:++return "User does not exist"++ +deactivate SqlDAO +SystemAccountManager<--AccountService:++return "User does not exist"++ +deactivate AccountService +Controller.cs<--SystemAccountManager:++return "User does not exist"++ +deactivate SystemAccountManager +User<--Controller.cs:++ return \n"User does not exist"++ +deactivate Controller.cs +end +//deactivate User +end +end +end +end \ No newline at end of file