parent
d852bda091
commit
43cb7e700d
9 changed files with 23 additions and 49 deletions
|
|
@ -1,7 +1,3 @@
|
|||
"""
|
||||
Configurations for user module
|
||||
|
||||
Configurations:
|
||||
- List: Description
|
||||
- Configs: Description
|
||||
Configurations for the user module
|
||||
"""
|
||||
|
|
@ -1,7 +1,3 @@
|
|||
"""
|
||||
Constants and error codes for user module
|
||||
|
||||
Constants:
|
||||
- List: Description
|
||||
- Consts: Description
|
||||
Constants for the user module
|
||||
"""
|
||||
|
|
@ -1,13 +1,10 @@
|
|||
"""
|
||||
Router dependencies for user module
|
||||
Dependencies related to the user module
|
||||
|
||||
Classes:
|
||||
- List: Description
|
||||
- Classes: Description
|
||||
|
||||
Functions:
|
||||
- List: Description
|
||||
- Functions: Description
|
||||
Exports:
|
||||
- user_model_claims_dependency: user_model: Gets user model from db, if it exists. Uses db_id from user claims.
|
||||
- user_model_query_dependency: user_model: Gets user model from db, if it exists. Uses user_id from query param
|
||||
- user_model_body_dependency: user_model: Gets user model from db, if it exists. Uses user_id from request body.
|
||||
"""
|
||||
from typing import Annotated
|
||||
from fastapi import Depends, Query
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
"""
|
||||
Module specific exceptions for user module
|
||||
Exceptions related to the user module
|
||||
|
||||
Exceptions:
|
||||
- List: Description
|
||||
- Exceptions: Description
|
||||
- UserNotFoundException: Takes an optional user_id int
|
||||
"""
|
||||
from typing import Optional
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,12 @@
|
|||
Database models for user module
|
||||
|
||||
Models:
|
||||
- User - id[pk], email, first_name, last_name, oidc_id
|
||||
- User:
|
||||
- id[PK], email, first_name, last_name, oidc_id
|
||||
- organisation_rel: ORM relationship to Organisation via OrgUsers table
|
||||
- group_rel: ORM relationship to Group via UserGroups table
|
||||
- organisations: Calc property list of organisation_rel.name
|
||||
- groups: Calc property dict of {group_rel.org_rel.name: group_rel.name}
|
||||
"""
|
||||
from collections import defaultdict
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,11 @@
|
|||
"""
|
||||
Router endpoints for user module
|
||||
Router endpoints for the user module
|
||||
|
||||
Endpoints:
|
||||
- [get]/self/claims - Retrieves user's OIDC claims
|
||||
- [get]/self/db - Retrieves the user data from the db that corresponds to the current OIDC user
|
||||
- [get]/self/orgs - Retrieves all organisations associated with the current user
|
||||
- [get]/self/orgs/admin - Retrieves only admin organisations for the current user
|
||||
- [get]/{user_id} - Retrieves a specific user by their ID
|
||||
- [get]/{user_id}/orgs - Retrieves all organisations associated with a specific user
|
||||
- [get]/{user_id}/orgs/admin - Retrieves only admin organisations for a specific user
|
||||
- [delete]/{user_id} - Deletes a user from the db by their db ID
|
||||
- [GET](/user/self/claims): [OIDC claims]: Returns all OIDC claims associated with the currently logged-in user.
|
||||
- [GET](/user/self/db): [OIDC claims]: Returns details about the currently logged-in user from the hub db.
|
||||
- [GET](/user/): [super admin]: Returns user(id) details.
|
||||
- [DELETE](/user/): [super admin]: Removes a User(id) from the hub database.
|
||||
"""
|
||||
from fastapi import APIRouter
|
||||
from starlette import status
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
"""
|
||||
Pydantic models for user module
|
||||
|
||||
Models:
|
||||
- List: Description
|
||||
- Models: Description
|
||||
Pydantic models for the user module
|
||||
"""
|
||||
from typing import Optional
|
||||
from src.schemas import CustomBaseModel
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
"""
|
||||
Module specific business logic for user module
|
||||
|
||||
Functions:
|
||||
- add_user_to_db
|
||||
|
||||
Exports:
|
||||
- add_user_to_db
|
||||
- add_user_to_db: Creates a User record from OIDC claims, or updates user details
|
||||
"""
|
||||
from typing import Any
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,3 @@
|
|||
"""
|
||||
Non-business logic reusable functions and classes for user module
|
||||
|
||||
Classes:
|
||||
- List: Description
|
||||
- Classes: Description
|
||||
|
||||
Functions:
|
||||
- List: Description
|
||||
- Functions: Description
|
||||
Non-business logic reusable functions and classes for the user module
|
||||
"""
|
||||
Loading…
Add table
Add a link
Reference in a new issue