ohmyapi 0.1.10__tar.gz → 0.1.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/PKG-INFO +5 -2
  2. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/README.md +4 -1
  3. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/pyproject.toml +1 -1
  4. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/builtin/auth/permissions.py +1 -0
  5. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/builtin/auth/routes.py +7 -11
  6. ohmyapi-0.1.11/src/ohmyapi/core/templates/app/routes.py.j2 +17 -0
  7. ohmyapi-0.1.10/src/ohmyapi/core/templates/app/routes.py.j2 +0 -13
  8. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/__init__.py +0 -0
  9. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/__main__.py +0 -0
  10. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/builtin/auth/__init__.py +0 -0
  11. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/builtin/auth/models.py +0 -0
  12. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/cli.py +0 -0
  13. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/core/__init__.py +0 -0
  14. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/core/runtime.py +0 -0
  15. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/core/scaffolding.py +0 -0
  16. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/core/templates/app/__init__.py.j2 +0 -0
  17. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/core/templates/app/models.py.j2 +0 -0
  18. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/core/templates/project/README.md.j2 +0 -0
  19. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/core/templates/project/pyproject.toml.j2 +0 -0
  20. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/core/templates/project/settings.py.j2 +0 -0
  21. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/db/__init__.py +0 -0
  22. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/db/exceptions.py +0 -0
  23. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/db/model/__init__.py +0 -0
  24. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/db/model/model.py +0 -0
  25. {ohmyapi-0.1.10 → ohmyapi-0.1.11}/src/ohmyapi/router.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ohmyapi
3
- Version: 0.1.10
3
+ Version: 0.1.11
4
4
  Summary: A Django-like but async web-framework based on FastAPI and TortoiseORM.
5
5
  License-Expression: MIT
6
6
  Keywords: fastapi,tortoise,orm,async,web-framework
@@ -158,7 +158,10 @@ from ohmyapi.db.exceptions import DoesNotExist
158
158
 
159
159
  from .models import Tournament
160
160
 
161
- router = APIRouter(prefix="/tournament")
161
+ # Expose your app's routes via `router = fastapi.APIRouter`.
162
+ # Use prefixes wisely to avoid cross-app namespace-collisions.
163
+ # Tags improve the UX of the OpenAPI docs at /docs.
164
+ router = APIRouter(prefix="/tournament", tags=['Tournament'])
162
165
 
163
166
 
164
167
  @router.get("/")
@@ -126,7 +126,10 @@ from ohmyapi.db.exceptions import DoesNotExist
126
126
 
127
127
  from .models import Tournament
128
128
 
129
- router = APIRouter(prefix="/tournament")
129
+ # Expose your app's routes via `router = fastapi.APIRouter`.
130
+ # Use prefixes wisely to avoid cross-app namespace-collisions.
131
+ # Tags improve the UX of the OpenAPI docs at /docs.
132
+ router = APIRouter(prefix="/tournament", tags=['Tournament'])
130
133
 
131
134
 
132
135
  @router.get("/")
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ohmyapi"
3
- version = "0.1.10"
3
+ version = "0.1.11"
4
4
  description = "A Django-like but async web-framework based on FastAPI and TortoiseORM."
5
5
  license = "MIT"
6
6
  keywords = ["fastapi", "tortoise", "orm", "async", "web-framework"]
@@ -4,4 +4,5 @@ from .routes import (
4
4
  require_authenticated,
5
5
  require_admin,
6
6
  require_staff,
7
+ require_group,
7
8
  )
@@ -95,7 +95,7 @@ async def require_admin(current_user: User = Depends(get_current_user)) -> User:
95
95
 
96
96
  async def require_staff(current_user: User = Depends(get_current_user)) -> User:
97
97
  """Ensure the current user is a staff member."""
98
- if not current_user.is_staff:
98
+ if not current_user.is_admin and not current_user.is_staff:
99
99
  raise HTTPException(403, "Staff privileges required")
100
100
  return current_user
101
101
 
@@ -152,17 +152,13 @@ async def refresh_token(refresh_token: str):
152
152
  return {"access_token": new_access, "token_type": "bearer"}
153
153
 
154
154
 
155
+ @router.get("/introspect")
156
+ async def introspect(token: Dict = Depends(get_token)):
157
+ return token
158
+
159
+
155
160
  @router.get("/me")
156
161
  async def me(user: User = Depends(get_current_user)):
157
162
  """Return the currently authenticated user."""
158
- return {
159
- "email": user.email,
160
- "username": user.username,
161
- "is_admin": user.is_admin,
162
- "is_staff": user.is_staff,
163
- }
164
-
163
+ return user
165
164
 
166
- @router.get("/introspect")
167
- async def introspect(token: Dict = Depends(get_token)):
168
- return token
@@ -0,0 +1,17 @@
1
+ from ohmyapi.router import APIRouter
2
+
3
+ from . import models
4
+
5
+ # Expose your app's routes via `router = fastapi.APIRouter`.
6
+ # Use prefixes wisely to avoid cross-app namespace-collisions.
7
+ # Tags improve the UX of the OpenAPI docs at /docs.
8
+ router = APIRouter(prefix="/{{ app_name }}", tags=[{{ app_name }}])
9
+
10
+
11
+ @router.get("/")
12
+ def hello_world():
13
+ return {
14
+ "project": "{{ project_name }}",
15
+ "app": "{{ app_name }}",
16
+ }
17
+
@@ -1,13 +0,0 @@
1
- from ohmyapi.router import APIRouter
2
- from . import models
3
-
4
- router = APIRouter(prefix="/{{ app_name }}")
5
-
6
-
7
- @router.get("/")
8
- def ping():
9
- return {
10
- "project": "{{ project_name }}",
11
- "app": "{{ app_name }}",
12
- }
13
-
File without changes
File without changes