Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT]: Admin - User Organizations: Implement API Endpoint for user's organization listing for admin #142

Open
3 tasks
dmendie opened this issue Jul 27, 2024 · 0 comments
Assignees

Comments

@dmendie
Copy link
Contributor

dmendie commented Jul 27, 2024

Description

Create an API endpoint to retrieve the registered user's organizations for the admin user. This endpoint will be part of the administration user management. Admin users can see organizations the user belongs to using this endpoint

Acceptance Criteria

  • The endpoint should be accessible at GET /api/v1/admin/users/{id}/organizations.
  • The endpoint should accept HTTP GET requests.
  • The endpoint should retrieve a registered user's organizations from the database using the provided user's ID.
  • The endpoint should return a 200 OK status code with the user's organization they belong in the response body
  • The endpoint returns should improve performance by using pagination
  • This endpoint should be secured and only accessible to an admin user

GET /api/v1/admin/users/3454/organizations
Response:
On a successful retrieval of the user organizations, the API should return a 200 OK status code. The response body should contain the organizations:

{
  "status_code": 200,
  "meta": {
    "totalPages": 0,
    "currentPage": 0,
    "pageSize": 0,
    "totalCount": 0,
    "hasPrevious": true,
    "hasNext": true
  },
  "organizations": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string",
      "description": "string",
      "industry": "string"
    }
  ]
}

Validation:

If the user's ID is missing or invalid, the API should return a 400 Bad Request status code with appropriate validation error messages:

{
  "status": "unsuccessful",
 "status_code": 400,
  "message": "Valid user ID must be provided"
}

If the user does not exist, the API should return a 404 Not Found status code with an appropriate message:

{
  "status": "unsuccessful",
 "status_code": 404,
  "message": "User not found"
}

Purpose

To provide admin users with information about a registered user's organizations

Requirements

  • Develop server-side logic to retrieve user's organizations by user ID.
  • Securely handle the retrieval process and comply with security standards.
  • Ensure the user's ID is validated and handled correctly.

Expected Outcome

API endpoint allows admin users to retrieve user organizations by user ID with appropriate validation and security measures.

Tasks:

  • Define the GET /api/v1/admin/users/{id}/organizations route in the server-side application.
  • Validate that the user's ID is provided and is in a valid format.
  • Implement logic to retrieve the user organizations from the database using the provided user ID.
  • Return the user's organizations in the response body if the user ID is valid and the user exists.
  • Handle cases where the user's ID is invalid or the user does not exist, providing appropriate error messages.

Testing

  • Write unit tests to validate input validation and the user's organization retrieval logic.
  • Write integration tests to ensure end-to-end functionality.
  • Perform security testing to ensure data protection and compliance.
@dmendie dmendie changed the title [FEAT]; Admin - User Organizations: Implement API Endpoint for user's organization listing for admin [FEAT]: Admin - User Organizations: Implement API Endpoint for user's organization listing for admin Jul 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant