Repository navigation
Requirements
goddess of the hunt edited this page Oct 19, 2024
·
11 revisions
- As a user, I want to query user accounts in AD so that I can retrieve user details. (See #5, #6, #UC3)
- As a user, I want to create new user accounts in AD through the REST API so that I can automate account management. (See #7, #8, #9, #UC1)
- As a user, I want to update user account information in AD to keep user details current. (See #10, #11, #12, #UC4)
- As a user, I want to delete user accounts in AD through the REST API to remove outdated accounts. (See #14, #15, #12, #UC5)
- As a user, I want to reset user passwords in AD via the REST API to assist with password recovery. (See #13, #16, #UC6)
- As a user, I want to enable or disable user accounts in AD using the REST API to manage user access. (See #17, #18, #UC8)
- As a user, I want to add or remove users from groups in AD via the REST API to manage group memberships. (See #49, #50, #UC9)
- As a user, I want to search for users in AD by attributes to find specific accounts quickly. (See #40, #41)
- As a user, I want to create new groups in AD through the REST API to organize users efficiently. (See #19, #20, #UC7)
- As a user, I want to update group details in AD via the REST API to ensure group information is up-to-date. (See #31, #32)
- As a user, I want to delete groups in AD through the REST API to remove obsolete groups. (See #33, #34, #UC14)
- As a user, I want to list all members of a group in AD using the REST API to audit group composition. (See #35, #36, #UC15)
- As a user, I want to assign roles to users in AD via the REST API to manage their access rights. (See #43, #44, #UC10)
- As a user, I want to remove roles from users in AD using the REST API to revoke permissions as needed. (See #45, #46)
- As a user, I want to query role assignments in AD via the REST API to audit user permissions. (See #47, #48, #UC11)
- As a user, I want to view the status of command execution in AD to monitor task completion. (See #29, #30, #UC12)
- As a user, I want the system to write the results of executed commands back to the database to make them accessible to the REST API. (See #21, #UC21)
- As a user, I want the system to execute commands in the correct order to ensure that dependent operations are handled correctly. (See #22, #UC2)
- As a user, I want the system to validate and execute only correctly formatted commands, preventing errors from disrupting Active Directory operations. (See #37)
- As a user, I want the system to prioritize urgent commands when executing, ensuring critical operations are completed promptly. (See #38, #UC16)
- As a user, I want a system to handle command execution errors and log them to provide feedback on failed operations. (See #23, #UC17)
- As a user, I want a system to validate command inputs before execution to prevent invalid requests from being processed. (See #37)
- As a user, I want the system to update command status in the database after execution, so I know which commands have been completed and their outcomes. (See #24, #UC19)
- As a user, I want the command execution environment to be isolated within Docker containers, ensuring that my Active Directory operations are secure and do not affect other system processes. (See #25, #UC20)
- As a user, I want the system to handle at least 100 API requests per minute without delays so that I can rely on it during peak usage times. (Priority: Could-have)
- As a user, I want all API endpoints to be secured, so only authorized users can access the system, protecting my data. (Priority: Could-have)
- As a user, I want the system to be available 99.9% of the time so that I can rely on it for critical operations without frequent interruptions. (Priority: Must-have)
- As a user, I want a user-friendly Swagger UI to interact with the API easily, making it simple to test and explore available commands. (See #27)
- As a user, I want clear and informative error messages to understand what went wrong and how to fix issues quickly. (Priority: Could-have)
- As a new user, I want detailed documentation for setup, configuration, and usage so that I can deploy and use both applications without confusion. (See #UC23)
- As a user, I want all data transmitted to and from the API to be encrypted using HTTPS, ensuring that my data is secure during access. (See #UC22)
- As a user, I want the API to execute my commands efficiently, with response times of less than 2 seconds for simple queries, ensuring that my interactions with the system are smooth and responsive. (Priority: Must-have)
- As a user, I want my command requests to be queued and prioritized based on importance, ensuring critical commands are processed first during high load periods. (See #22)
- As a user, I want system to use PostgreSQL to store commands and outputs. (See #26)
- As a user, I want system to use Swagger UI for testing and documentation. (See #27)