Scope: Backend codebase
GET user/users
Description: Get all user data for associates for a specific company/companies to allow for supervisors/admins to search for users on their timesheet page.
Research Needed:
what part of the AWS Cognito API do we need to use to get this API data?
should we get user attributes from cognito user pool or store it ourselves and retrieve from dynamodb?
Schema:
Request Data - optional way to query by company
Response Data - list of Company User Objects {String "companyID": "company1", "users": [User Object User1, User Object User2], String "companyName"}"User": {String "givenName", String "lastName", String "userID", String "userEmail"}
Criteria of Acceptance:
Gets all the user data from a certain company/companies and return a mapping of company IDs {"companyID": "company1", "users": [User1, User2], "companyName"}. If no company ID is given, default to use the companies that the requesting user belongs to as the filter
If the user is an admin, return all users unless a company ID is specified.
Endpoint only allows for supervisor/admin role to access
Should throw some error/return no data for when supervisor/admin searches for company ids they don't belong to or does not exist
dynamodb tables should be set up
Conditions for Testing:
Send requests that test an associate user trying to access this endpoint
Send requests that test an admin user trying to access this endpoint
Send requests that test an supervisor user trying to access this endpoint
Test functionality of the company id query
Make sure to note user tested with & response of API
Scope: Backend codebase
GET user/users
Description: Get all user data for associates for a specific company/companies to allow for supervisors/admins to search for users on their timesheet page.Research Needed:
Schema: Request Data - optional way to query by company Response Data - list of Company User Objects
{String "companyID": "company1", "users": [User Object User1, User Object User2], String "companyName"}
"User": {String "givenName", String "lastName", String "userID", String "userEmail"}
Criteria of Acceptance:
Conditions for Testing: