158 lines
6.1 KiB
Plaintext
158 lines
6.1 KiB
Plaintext
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
|
|
Controller.cs->SystemAccountManager:++manager.EnableUserRecord(user: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
|
|
|
|
//
|
|
|
|
group #green Information Valid #white
|
|
//check if there is an admin user
|
|
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
|
|
end |