erich-oliveira-winnin/full-stack-fastapi-template
base
077c17d6a669 → head a3493f655be6analyzed at 2026-10-22 19:54 UTC
Paths relative to backend/app/
Mark files as reviewed
Tick the files you already reviewed (or match them with a regular expression): operations whose changed files are all reviewed are hidden, so what is left is what still needs review, and the merge risk score drops by their part. Saved in this browser for this commit. Behind a feature flag? Use 🚩 on a page in the pages/operations section: the files only it uses leave the review.
🚩 Pages/operations behind a feature flag
Mark the pages, routes or operations that are entirely behind a feature flag: changed files that only they use leave the review (score, Start here, files left). Same state as the 🚩 buttons in the pages/operations section.
DELETE /api/v1/items/{id}1 changed fileDELETE /api/v1/users/me1 changed fileDELETE /api/v1/users/{user_id}1 changed fileGET /api/v1/items/2 changed filesGET /api/v1/items/{id}1 changed fileGET /api/v1/users/1 changed fileGET /api/v1/users/me1 changed fileGET /api/v1/users/{user_id}1 changed filePATCH /api/v1/users/me1 changed filePATCH /api/v1/users/me/password1 changed filePATCH /api/v1/users/{user_id}1 changed filePOST /api/v1/items/1 changed filePOST /api/v1/login/access-token1 changed filePOST /api/v1/login/test-token1 changed filePOST /api/v1/password-recovery-html-content/{email}1 changed filePOST /api/v1/password-recovery/{email}1 changed filePOST /api/v1/private/users/1 changed filePOST /api/v1/reset-password/1 changed filePOST /api/v1/users/1 changed filePOST /api/v1/users/signup1 changed filePOST /api/v1/utils/test-email/1 changed filePUT /api/v1/items/{id}1 changed fileRUN backend/app/initial_data.py1 changed fileGET /api/v1/items/statsnew1 changed fileOverview
This can break things widely or silently: read the files below closely and test what they reach before approving.
- merge risk score 72/100
- 1 high-severity security finding(s) on added lines
- 1 endpoint(s) with breaking contract changes: GET /api/v1/items/ (check that clients are updated)
- existing code changed: 23 existing operation(s) run it
- diff coverage 38%
- 2 lint error(s) on changed lines
- 1 new suppression(s) (lint/type/security ignores)
What adds to it (5) and how it is computed
0–100, higher is riskier: the chance that at least one risky thing breaks, as if they were independent. Each changed code file counts by its reach (existing pages/operations that run it, centrality) times what its diff coverage leaves: 100% covered keeps 30% of the risk, uncovered (or coverage not verified) all of it, and a change made only of declarations (types, fields, constants: nothing executable to test) half of it. Security findings, lint errors, suppressions, removed tests, critical dependency changes, vulnerable dependencies and global or unknown reasons add to it too. Marking files as reviewed takes their part out; vulnerabilities and analysis problems stay. High from 60, medium from 30. Numbers are each file's risk on its own.
- 40 breaking contract change of GET /api/v1/items/: response.count field removed
- 38 api/routes/items.py high bandit at line 56 (+2 more)
- 21 models.py modified · high reach: used by 23 of 24 existing operations · 100% of changed lines covered (+1 more)
- 2 alembic/versions/3c9e1f2b7a41_add_status_to_item.py added · low reach: new code not used by existing operations · missing from the coverage report
- 2 frontend/src/routeTree.gen.ts as-any at line 61
and 0 more
Start here — riskiest first; tick a file once reviewed
-
api/routes/items.py modifiedused by 1 of 24 existing operations1/24 operations✍ Sebastián Ramírez 49%67% covered1 security1 lint error38
Show diff (+42 −27)
@@ -2,47 +2,62 @@ import uuid 2 2 from typing import Any 3 3 4 4 from fastapi import APIRouter, HTTPException 5 -from sqlmodel import col, func, select 5 +from sqlmodel import col, func, select, text 6 6 7 7 from app.api.deps import CurrentUser, SessionDep 8 -from app.models import Item, ItemCreate, ItemPublic, ItemsPublic, ItemUpdate, Message 8 +from app.models import ( 9 + Item, 10 + ItemCreate, 11 + ItemPublic, 12 + ItemsPublic, 13 + ItemsStats, 14 + ItemStatus, 15 + ItemStatusCount, 16 + ItemUpdate, 17 + Message, 18 +) 9 19 10 20 router = APIRouter(prefix="/items", tags=["items"]) 11 21 12 22 13 23 @router.get("/", response_model=ItemsPublic) 14 24 def read_items( 15 - session: SessionDep, current_user: CurrentUser, skip: int = 0, limit: int = 100 25 + session: SessionDep, 26 + current_user: CurrentUser, 27 + skip: int = 0, 28 + limit: int = 100, 29 + status: ItemStatus | None = None, 16 30 ) -> Any: 17 31 """ 18 - Retrieve items. 32 + Retrieve items, optionally only the ones with a status. 19 33 """ 20 34 21 - if current_user.is_superuser: 22 - count_statement = select(func.count()).select_from(Item) 23 - count = session.exec(count_statement).one() 24 - statement = ( 25 - select(Item).order_by(col(Item.created_at).desc()).offset(skip).limit(limit) 26 - ) 27 - items = session.exec(statement).all() 28 - else: 29 - count_statement = ( 30 - select(func.count()) 31 - .select_from(Item) 32 - .where(Item.owner_id == current_user.id) 33 - ) 34 - count = session.exec(count_statement).one() 35 - statement = ( 36 - select(Item) 37 - .where(Item.owner_id == current_user.id) 38 - .order_by(col(Item.created_at).desc()) 39 - .offset(skip) 40 - .limit(limit) 41 - ) 42 - items = session.exec(statement).all() 35 + count_statement = select(func.count()).select_from(Item) 36 + statement = select(Item).order_by(col(Item.created_at).desc()) 37 + if not current_user.is_superuser: 38 ○+ count_statement = count_statement.where(Item.owner_id == current_user.id) 39 ○+ statement = statement.where(Item.owner_id == current_user.id) 40 + if status is not None: 41 + count_statement = count_statement.where(Item.status == status) 42 + statement = statement.where(Item.status == status) 43 + total = session.exec(count_statement).one() 44 + items = session.exec(statement.offset(skip).limit(limit)).all() 43 45 44 46 items_public = [ItemPublic.model_validate(item) for item in items] 45 - return ItemsPublic(data=items_public, count=count) 47 + return ItemsPublic(data=items_public, total=total) 48 + 49 + 50 +@router.get("/stats", response_model=ItemsStats) 51 +def read_items_stats(session: SessionDep, current_user: CurrentUser) -> Any: 52 + """ 53 + Number of items per status. 54 + """ 55 ○+ owner = "" if current_user.is_superuser else f"WHERE owner_id = '{current_user.id}'" 56 ⚠+ query = f"SELECT status, count(*) FROM item {owner} GROUP BY status" 57 ○+ rows = session.execute(text(query)).all() 58 ○+ return ItemsStats( 59 + data=[ItemStatusCount(status=row[0], total=row[1]) for row in rows] 60 + ) 46 61 47 62 48 63 @router.get("/{id}", response_model=ItemPublic) -
models.py modifiedused by 23 of 24 existing operations23/24 operations✍ Sebastián Ramírez 59%100% covered1 lint error21
Show diff (+19 −1)
@@ -1,5 +1,6 @@ 1 1 import uuid 2 2 from datetime import UTC, datetime 3 +from enum import Enum 3 4 4 5 from pydantic import EmailStr 5 6 from sqlmodel import Field, Relationship, SQLModel @@ -67,9 +68,16 @@ class UsersPublic(SQLModel): 67 68 68 69 69 70 # Shared properties 71 ⚠+class ItemStatus(str, Enum): 72 + todo = "todo" 73 + in_progress = "in_progress" 74 + done = "done" 75 + 76 + 70 77 class ItemBase(SQLModel): 71 78 title: str = Field(min_length=1, max_length=255) 72 79 description: str | None = Field(default=None, max_length=255) 80 + status: ItemStatus = Field(default=ItemStatus.todo) 73 81 74 82 75 83 # Properties to receive on item creation @@ -81,6 +89,7 @@ class ItemCreate(ItemBase): 81 89 class ItemUpdate(SQLModel): 82 90 title: str | None = Field(default=None, min_length=1, max_length=255) 83 91 description: str | None = Field(default=None, max_length=255) 92 + status: ItemStatus | None = None 84 93 85 94 86 95 # Database model, database table inferred from class name @@ -102,7 +111,16 @@ class ItemPublic(ItemBase): 102 111 103 112 class ItemsPublic(SQLModel): 104 113 data: list[ItemPublic] 105 - count: int 114 + total: int 115 + 116 + 117 +class ItemStatusCount(SQLModel): 118 + status: ItemStatus 119 + total: int 120 + 121 + 122 +class ItemsStats(SQLModel): 123 + data: list[ItemStatusCount] 106 124 107 125 108 126 # Generic message
Then skim: 1 low-risk code file
-
new code not used by existing operations✍ Alejandra 97%0% covered2
Show diff (+28 −0)
@@ -0,0 +1,28 @@ 1 ○+"""Add status to Item 2 ○+ 3 ○+Revision ID: 3c9e1f2b7a41 4 ○+Revises: fe56fa70289e 5 ○+Create Date: 2026-10-21 11:00:00.000000 6 ○+ 7 ○+""" 8 ○+from alembic import op 9 ○+import sqlalchemy as sa 10 ○+ 11 ○+ 12 ○+# revision identifiers, used by Alembic. 13 ○+revision = '3c9e1f2b7a41' 14 ○+down_revision = 'fe56fa70289e' 15 ○+branch_labels = None 16 ○+depends_on = None 17 ○+ 18 ○+itemstatus = sa.Enum('todo', 'in_progress', 'done', name='itemstatus') 19 ○+ 20 ○+ 21 ○+def upgrade(): 22 ○+ itemstatus.create(op.get_bind(), checkfirst=True) 23 ○+ op.add_column('item', sa.Column('status', itemstatus, nullable=False, server_default='todo')) 24 ○+ 25 ○+ 26 ○+def downgrade(): 27 ○+ op.drop_column('item', 'status') 28 ○+ itemstatus.drop(op.get_bind(), checkfirst=True)
Probably no review needed: 3 files (not code, dependencies, tests)
Docs, assets, lockfiles and tests. Dependency changes are judged in Dependencies, tests in Coverage.
Key findings — open one for its files and details
high1 high-severity security finding on added lines · 1 file
Rules: bandit.high1 high-risk change: central files used by many existing operations · 1 file
Review carefully and test the operations that use them: models.py (23/24 operations, 11 dependents).mediumDiff coverage of 77.8% in the files present in the report · 1 file
6 changed executable lines not covered in 1 file.medium1 changed file missing from the coverage report · 1 file
No test loaded these files, or the Vitest coverage configuration excludes them (coverage.exclude). They count as fully uncovered in the total.medium1 medium-risk change · 1 file
Review carefully and test the operations that use them: items.py (1/24 operations, 2 dependents).low1 existing test modified, 0 lines removed · 1 file
Check that code and tests were not loosened together.low1 modified existing file no route reaches · 1 file
Still a change to existing code (utilities, configuration, code outside the import graph).
Test plan
Try these operations by hand before approving: new ones first, then the affected ones whose changed file carries the most risk. Ticks are kept in this browser for this commit.
0 of 24 tested
GET /api 6 to test
DELETE /api 3 to test
PATCH /api 3 to test
POST /api 10 to test
PUT /api 1 to test
RUN 1 to test
Risk
Every changed code file, riskiest first. Risk points (0–100, as in the merge risk score) combine its reach with what its diff coverage leaves and its findings. Reach: centrality of each changed file in the import graph: who uses it directly, how many files depend on it through any chain of imports, and how many of the 24 existing operations reach it. High: used by at least half of the operations (or 10+ operations). Medium: used by some operation, or by 10+ files, or new code inside existing operations, or deleted. Low: additive, or not used by existing operations.
| File | Change | Reach (existing operations) | Diff coverage | Findings | Risk points | Why |
|---|---|---|---|---|---|---|
| api/routes/items.py | modified | medium 1 / 24 | 67% | 1 security1 lint | 38 | used by 1 of 24 existing operations |
| models.py | modified | high 23 / 24 | 100% | 1 lint | 21 | used by 23 of 24 existing operations |
| alembic/versions/3c9e1f2b7a41_add_status_to_item.py | added | low 0 / 24 | 0% | 2 | new code not used by existing operations | |
| backend/README.md | modified | low 0 / 24 | — | 0 | nothing imports it | |
| backend/docs/item-status.md | added | low 0 / 24 | — | 0 | new code not used by existing operations |
Security
Static analysis of added lines
XSS sinks, dynamic code execution, hard-coded credentials, javascript: URLs, unsafe cross-window messaging, links without rel=noopener and plain-HTTP URLs on the lines this PR adds (tests and stories excluded).
| Location | Severity | Rule | Finding | Code |
|---|---|---|---|---|
| api/routes/items.py:56 | high | bandit | S608: Possible SQL injection vector through string-based query construction | query = f"SELECT status, count(*) FROM item {owner} GROUP BY status" |
Vulnerabilities in added or changed dependencies
From the npm/pnpm audit report of the head: advisories on packages this PR added or changed (direct) or on packages they bring in (transitive).
None.
Whole audit report: 0 critical, 0 high, 1 moderate, 0 low (most of them predate this PR).
Dependencies
No dependency change in this PR.
Coverage
Diff coverage
Files present in the report only: 77.8% (21 / 27).
| File | Changed executable lines | Covered | Uncovered ranges |
|---|---|---|---|
| api/routes/items.py | 18 | 12 | 38–39, 55–58 |
| models.py | 9 | 9 | |
| alembic/versions/3c9e1f2b7a41_add_status_to_item.py missing from the report | 28 | 0 | 1–28 |
Lint on changed lines
2 error(s) and 0 warning(s) on changed lines; 1 error(s) and 0 warning(s) elsewhere in the files.
| Location | Severity | Rule | Message |
|---|---|---|---|
| api/routes/items.py:56 | error | S608 | Possible SQL injection vector through string-based query construction |
| models.py:71 | error | UP042 | Class ItemStatus inherits from both `str` and `enum.Enum` |
Added suppressions
| Location | Kind | Line |
|---|---|---|
| frontend/src/routeTree.gen.ts:61 | as-any | } as any) |
Modified existing tests
| File | Status | Lines removed |
|---|---|---|
| backend/tests/api/routes/test_items.py | modified | 0 |
Contracts
What each endpoint receives (parameters, body) and returns, compared between the base and the head. Breaking: clients built for the base can fail. Dangerous: they may misbehave. Safe: compatible additions. Callers come from Datadog client spans.
1 endpoint with breaking changes, 3 with safe changes only · 24 endpoint contracts read
breakingGET /api/v1/items/response.count: field removed · +3 morecallers unknown (no usage report)
| Level | Where | Change |
|---|---|---|
| breaking | response.count | field removed |
| safe | query:status | new optional parameter |
| safe | response.data[].status | field added |
| safe | response.total | field added |
Safe changes only: 3 endpoints
safeGET /api/v1/items/{id}response.status: field addedcallers unknown (no usage report)
| Level | Where | Change |
|---|---|---|
| safe | response.status | field added |
safePOST /api/v1/items/body.status: new optional field · +1 morecallers unknown (no usage report)
| Level | Where | Change |
|---|---|---|
| safe | body.status | new optional field |
| safe | response.status | field added |
safePUT /api/v1/items/{id}body.status: new optional field · +1 morecallers unknown (no usage report)
| Level | Where | Change |
|---|---|---|
| safe | body.status | new optional field |
| safe | response.status | field added |
Reviewers
Suggested reviewers — Who wrote the code this PR changes (git blame at the base, weighed by each file's risk). PR authors and bots are left out.
- Sebastián Ramírezwrote 51% of the changed codeitems.py 49%models.py 59%
- Alejandrawrote 13% of the changed codeitems.py 12%3c9e1f2b7a41_add_status_to_item.py 97%models.py 6%
- Esteban Mayainactivewrote 25% of the changed codeitems.py 22%models.py 32%
- Motov Yuriiwrote 3% of the changed codeitems.py 5%
- Sofie Van Landeghemwrote 2% of the changed codeitems.py 3%3c9e1f2b7a41_add_status_to_item.py 3%
Operations
Operations with changes: 23 affected, 1 new
Open an operation to see how the changed files reach it: operation → module → … → changed file. Changed files are highlighted; every box links to GitHub.
Mark files as reviewed ↑ (top of the page)
affectedDELETE /api/v1/items/{id}1 changed filehigh
flowchart LR
route(["DELETE /api/v1/items/{id}"]):::route
n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed
style n1 stroke:#ffd60a,stroke-width:4px
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedDELETE /api/v1/users/me1 changed filehigh
flowchart LR route(["DELETE /api/v1/users/me"]):::route n1["api/routes/users.py"]:::module n2["api/deps.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/deps.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedDELETE /api/v1/users/{user_id}1 changed filehigh
flowchart LR
route(["DELETE /api/v1/users/{user_id}"]):::route
n1["api/routes/users.py"]:::module
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedGET /api/v1/items/2 changed fileshigh
flowchart LR route(["GET /api/v1/items/"]):::route n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed style n1 stroke:#ffd60a,stroke-width:4px n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n2 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedGET /api/v1/items/{id}1 changed filehigh
flowchart LR
route(["GET /api/v1/items/{id}"]):::route
n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed
style n1 stroke:#ffd60a,stroke-width:4px
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedGET /api/v1/users/1 changed filehigh
flowchart LR route(["GET /api/v1/users/"]):::route n1["api/routes/users.py"]:::module n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n2 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedGET /api/v1/users/me1 changed filehigh
flowchart LR route(["GET /api/v1/users/me"]):::route n1["api/routes/users.py"]:::module n2["api/deps.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/deps.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedGET /api/v1/users/{user_id}1 changed filehigh
flowchart LR
route(["GET /api/v1/users/{user_id}"]):::route
n1["api/routes/users.py"]:::module
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedPATCH /api/v1/users/me1 changed filehigh
flowchart LR route(["PATCH /api/v1/users/me"]):::route n1["api/routes/users.py"]:::module n2["crud.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPATCH /api/v1/users/me/password1 changed filehigh
flowchart LR route(["PATCH /api/v1/users/me/password"]):::route n1["api/routes/users.py"]:::module n2["api/deps.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/deps.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPATCH /api/v1/users/{user_id}1 changed filehigh
flowchart LR
route(["PATCH /api/v1/users/{user_id}"]):::route
n1["api/routes/users.py"]:::module
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/items/1 changed filehigh
flowchart LR route(["POST /api/v1/items/"]):::route n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed style n1 stroke:#ffd60a,stroke-width:4px n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n2 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/login/access-token1 changed filehigh
flowchart LR route(["POST /api/v1/login/access-token"]):::route n1["api/routes/login.py"]:::module n2["crud.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/login.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/login/test-token1 changed filehigh
flowchart LR route(["POST /api/v1/login/test-token"]):::route n1["api/routes/login.py"]:::module n2["api/deps.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/login.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/deps.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/password-recovery-html-content/{email}1 changed filehigh
flowchart LR
route(["POST /api/v1/password-recovery-html-content/{email}"]):::route
n1["api/routes/login.py"]:::module
n2["crud.py"]:::module
n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n3 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
n2 --> n3
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/login.py" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank
click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/password-recovery/{email}1 changed filehigh
flowchart LR
route(["POST /api/v1/password-recovery/{email}"]):::route
n1["api/routes/login.py"]:::module
n2["crud.py"]:::module
n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n3 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
n2 --> n3
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/login.py" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank
click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/private/users/1 changed filehigh
flowchart LR route(["POST /api/v1/private/users/"]):::route n1["api/routes/private.py"]:::module n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n2 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/private.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/reset-password/1 changed filehigh
flowchart LR route(["POST /api/v1/reset-password/"]):::route n1["api/routes/login.py"]:::module n2["crud.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/login.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/users/1 changed filehigh
flowchart LR route(["POST /api/v1/users/"]):::route n1["api/routes/users.py"]:::module n2["crud.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/users/signup1 changed filehigh
flowchart LR route(["POST /api/v1/users/signup"]):::route n1["api/routes/users.py"]:::module n2["crud.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/utils/test-email/1 changed filehigh
flowchart LR route(["POST /api/v1/utils/test-email/"]):::route n1["api/routes/utils.py"]:::module n2["api/deps.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/utils.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/deps.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPUT /api/v1/items/{id}1 changed filehigh
flowchart LR
route(["PUT /api/v1/items/{id}"]):::route
n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed
style n1 stroke:#ffd60a,stroke-width:4px
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedRUN backend/app/initial_data.py1 changed filehigh
flowchart LR route(["RUN backend/app/initial_data.py"]):::route n1["initial_data.py"]:::module n2["core/db.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/initial_data.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/core/db.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
newGET /api/v1/items/stats1 changed filemedium
flowchart LR route(["GET /api/v1/items/stats"]):::route n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed style n1 stroke:#ffd60a,stroke-width:4px route --> n1 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
DELETE/api/v13 operationshigh
affectedDELETE /api/v1/items/{id}1 changed filehigh
flowchart LR
route(["DELETE /api/v1/items/{id}"]):::route
n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed
style n1 stroke:#ffd60a,stroke-width:4px
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
users2 operationshigh
affectedDELETE /api/v1/users/me1 changed filehigh
flowchart LR route(["DELETE /api/v1/users/me"]):::route n1["api/routes/users.py"]:::module n2["api/deps.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/deps.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedDELETE /api/v1/users/{user_id}1 changed filehigh
flowchart LR
route(["DELETE /api/v1/users/{user_id}"]):::route
n1["api/routes/users.py"]:::module
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
GET/api/v16 operationshigh
items3 operationshigh
affectedGET /api/v1/items/2 changed fileshigh
flowchart LR route(["GET /api/v1/items/"]):::route n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed style n1 stroke:#ffd60a,stroke-width:4px n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n2 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedGET /api/v1/items/{id}1 changed filehigh
flowchart LR
route(["GET /api/v1/items/{id}"]):::route
n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed
style n1 stroke:#ffd60a,stroke-width:4px
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
newGET /api/v1/items/stats1 changed filemedium
flowchart LR route(["GET /api/v1/items/stats"]):::route n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed style n1 stroke:#ffd60a,stroke-width:4px route --> n1 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
users3 operationshigh
affectedGET /api/v1/users/1 changed filehigh
flowchart LR route(["GET /api/v1/users/"]):::route n1["api/routes/users.py"]:::module n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n2 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedGET /api/v1/users/me1 changed filehigh
flowchart LR route(["GET /api/v1/users/me"]):::route n1["api/routes/users.py"]:::module n2["api/deps.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/deps.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedGET /api/v1/users/{user_id}1 changed filehigh
flowchart LR
route(["GET /api/v1/users/{user_id}"]):::route
n1["api/routes/users.py"]:::module
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
PATCH/api/v1/users3 operationshigh
me2 operationshigh
affectedPATCH /api/v1/users/me1 changed filehigh
flowchart LR route(["PATCH /api/v1/users/me"]):::route n1["api/routes/users.py"]:::module n2["crud.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPATCH /api/v1/users/me/password1 changed filehigh
flowchart LR route(["PATCH /api/v1/users/me/password"]):::route n1["api/routes/users.py"]:::module n2["api/deps.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/deps.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPATCH /api/v1/users/{user_id}1 changed filehigh
flowchart LR
route(["PATCH /api/v1/users/{user_id}"]):::route
n1["api/routes/users.py"]:::module
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
POST/api/v110 operationshigh
affectedPOST /api/v1/items/1 changed filehigh
flowchart LR route(["POST /api/v1/items/"]):::route n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed style n1 stroke:#ffd60a,stroke-width:4px n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n2 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
login2 operationshigh
affectedPOST /api/v1/login/access-token1 changed filehigh
flowchart LR route(["POST /api/v1/login/access-token"]):::route n1["api/routes/login.py"]:::module n2["crud.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/login.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/login/test-token1 changed filehigh
flowchart LR route(["POST /api/v1/login/test-token"]):::route n1["api/routes/login.py"]:::module n2["api/deps.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/login.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/deps.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/password-recovery-html-content/{email}1 changed filehigh
flowchart LR
route(["POST /api/v1/password-recovery-html-content/{email}"]):::route
n1["api/routes/login.py"]:::module
n2["crud.py"]:::module
n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n3 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
n2 --> n3
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/login.py" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank
click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/password-recovery/{email}1 changed filehigh
flowchart LR
route(["POST /api/v1/password-recovery/{email}"]):::route
n1["api/routes/login.py"]:::module
n2["crud.py"]:::module
n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n3 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
n2 --> n3
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/login.py" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank
click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/private/users/1 changed filehigh
flowchart LR route(["POST /api/v1/private/users/"]):::route n1["api/routes/private.py"]:::module n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n2 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/private.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/reset-password/1 changed filehigh
flowchart LR route(["POST /api/v1/reset-password/"]):::route n1["api/routes/login.py"]:::module n2["crud.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/login.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
users2 operationshigh
affectedPOST /api/v1/users/1 changed filehigh
flowchart LR route(["POST /api/v1/users/"]):::route n1["api/routes/users.py"]:::module n2["crud.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/users/signup1 changed filehigh
flowchart LR route(["POST /api/v1/users/signup"]):::route n1["api/routes/users.py"]:::module n2["crud.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/users.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/crud.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPOST /api/v1/utils/test-email/1 changed filehigh
flowchart LR route(["POST /api/v1/utils/test-email/"]):::route n1["api/routes/utils.py"]:::module n2["api/deps.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/routes/utils.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/api/deps.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
affectedPUT /api/v1/items/{id}1 changed filehigh
flowchart LR
route(["PUT /api/v1/items/{id}"]):::route
n1["api/routes/items.py<br/><small>medium risk · 1/24 operations</small>"]:::changed
style n1 stroke:#ffd60a,stroke-width:4px
n2["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed
style n2 stroke:#ff2d2d,stroke-width:6px
route --> n1
n1 --> n2
click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-a24cc8a7da1269ef574678e6c12b8ac89e24a415f5aff2688dd1317525927bd3" _blank
click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank
classDef route fill:#2457c5,stroke:#2457c5,color:#fff
classDef changed fill:#5c3317,stroke:#a8642a,color:#fff
classDef added fill:#14532d,stroke:#2f8f55,color:#fff
classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3Loading the diagram (needs internet access to load Mermaid).
affectedRUN backend/app/initial_data.py1 changed filehigh
flowchart LR route(["RUN backend/app/initial_data.py"]):::route n1["initial_data.py"]:::module n2["core/db.py"]:::module n3["models.py<br/><small>high risk · 23/24 operations</small>"]:::changed style n3 stroke:#ff2d2d,stroke-width:6px route --> n1 n1 --> n2 n2 --> n3 click n1 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/initial_data.py" _blank click n2 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/blob/a3493f655be6131f28317d62490bfe6dd82691d7/backend/app/core/db.py" _blank click n3 href "https://github.com/erich-oliveira-winnin/full-stack-fastapi-template/pull/1/files#diff-96c5a7997e3d147589c1d6cac9cf36730df0fe459ae0170a2fc90ededd63fed2" _blank classDef route fill:#2457c5,stroke:#2457c5,color:#fff classDef changed fill:#5c3317,stroke:#a8642a,color:#fff classDef added fill:#14532d,stroke:#2f8f55,color:#fff classDef module fill:transparent,stroke:#9aa4b1,stroke-dasharray:3 3,color:#8a94a3
Loading the diagram (needs internet access to load Mermaid).
New files no route reaches
Files
Source (5)
| File | Status | + | − | Additive rule |
|---|---|---|---|---|
| backend/README.md | modified | 5 | 0 | |
| alembic/versions/3c9e1f2b7a41_add_status_to_item.py | added | 28 | 0 | |
| api/routes/items.py | modified | 41 | 26 | not additive |
| models.py | modified | 19 | 1 | not additive |
| backend/docs/item-status.md | added | 21 | 0 |
Tests (1)
| File | Status | + | − | Additive rule |
|---|---|---|---|---|
| backend/tests/api/routes/test_items.py | modified | 22 | 0 |
Excluded (15)
| File | Status | + | − | Additive rule |
|---|---|---|---|---|
| bun.lock | modified | 242 | 2 | |
| frontend/README.md | modified | 16 | 0 | |
| frontend/package.json | modified | 4 | 0 | |
| frontend/src/client/index.ts | modified | 1 | 1 | |
| frontend/src/client/sdk.gen.ts | modified | 15 | 1 | |
| frontend/src/client/types.gen.ts | modified | 50 | 2 | |
| frontend/src/components/Common/DataTable.tsx | modified | 6 | 1 | |
| frontend/src/components/Items/columns.tsx | modified | 11 | 0 | |
| frontend/src/components/Sidebar/AppSidebar.tsx | modified | 2 | 1 | |
| frontend/src/lib/items.test.ts | added | 26 | 0 | |
| frontend/src/lib/items.ts | added | 36 | 0 | |
| frontend/src/routeTree.gen.ts | modified | 21 | 0 | |
| frontend/src/routes/_layout/insights.tsx | added | 68 | 0 | |
| frontend/src/routes/_layout/items.tsx | modified | 1 | 1 | |
| frontend/vitest.config.ts | added | 23 | 0 |
Details
All reasons (22)
| Reason | File | Detail |
|---|---|---|
existing file modifiedexisting-file-modified | api/routes/items.py | func app.api.routes.items.read_items changed: reached by 1 existing entry point(s): GET /api/v1/items/ |
existing file modifiedexisting-file-modified | models.py | class app.models.ItemBase changed; class app.models.ItemUpdate changed; class app.models.ItemsPublic changed: reached by 23 existing entry point(s): DELETE /api/v1/items/{id}; DELETE /api/v1/users/me; DELETE /api/v1/users/{user_id}; and 20 more |
existing file modified, no route reaches itexisting-file-unreachable | backend/README.md | modified, and it is not part of the import graph |
existing test modifiedtests-modified | backend/tests/api/routes/test_items.py | existing test modified, 0 line(s) removed |
new routeroute-added | new entry point GET /api/v1/items/stats (registered in backend/app/api/routes/items.py) | |
new file no route reachesnew-file-disconnected | alembic/versions/3c9e1f2b7a41_add_status_to_item.py | new file that no entry point reaches |
new file no route reachesnew-file-disconnected | backend/docs/item-status.md | new file that no route reaches |
file outside the projectoutside-project | bun.lock | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/README.md | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/package.json | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/client/index.ts | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/client/sdk.gen.ts | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/client/types.gen.ts | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/components/Common/DataTable.tsx | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/components/Items/columns.tsx | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/components/Sidebar/AppSidebar.tsx | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/lib/items.test.ts | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/lib/items.ts | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/routeTree.gen.ts | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/routes/_layout/insights.tsx | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/src/routes/_layout/items.tsx | outside the project directory and not imported by the project |
file outside the projectoutside-project | frontend/vitest.config.ts | outside the project directory and not imported by the project |
Diagnostics
Routes farol cannot read (0)
None.
Unresolved imports (0)
None.
Syntax errors (0)
None.
Time per stage (ms)
diff 53 · helperSetup 2 · helperRead 341 · base 15 · classify 5 · signals 159 · diffs 13
Result
What you marked in this report, as Markdown to paste in the pull request: the initial risk, the risk left, flags, reviewed files and checked findings. It updates as you mark things.