statezero 0.1.0b1__tar.gz → 0.1.0b3__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.

Potentially problematic release.


This version of statezero might be problematic. Click here for more details.

Files changed (51) hide show
  1. {statezero-0.1.0b1 → statezero-0.1.0b3}/PKG-INFO +11 -9
  2. {statezero-0.1.0b1 → statezero-0.1.0b3}/README.md +9 -7
  3. {statezero-0.1.0b1 → statezero-0.1.0b3}/pyproject.toml +3 -3
  4. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/orm.py +6 -6
  5. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero.egg-info/PKG-INFO +11 -9
  6. {statezero-0.1.0b1 → statezero-0.1.0b3}/license.md +0 -0
  7. {statezero-0.1.0b1 → statezero-0.1.0b3}/requirements.txt +0 -0
  8. {statezero-0.1.0b1 → statezero-0.1.0b3}/setup.cfg +0 -0
  9. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/__init__.py +0 -0
  10. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/__init__.py +0 -0
  11. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/__init__.py +0 -0
  12. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/apps.py +0 -0
  13. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/config.py +0 -0
  14. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/context_manager.py +0 -0
  15. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/event_emitters.py +0 -0
  16. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/exception_handler.py +0 -0
  17. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/extensions/__init__.py +0 -0
  18. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/extensions/custom_field_serializers/__init__.py +0 -0
  19. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/extensions/custom_field_serializers/file_fields.py +0 -0
  20. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/extensions/custom_field_serializers/money_field.py +0 -0
  21. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/f_handler.py +0 -0
  22. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/helpers.py +0 -0
  23. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/middleware.py +0 -0
  24. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/migrations/0001_initial.py +0 -0
  25. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/migrations/0002_delete_modelviewsubscription.py +0 -0
  26. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/migrations/__init__.py +0 -0
  27. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/permissions.py +0 -0
  28. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/query_optimizer.py +0 -0
  29. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/schemas.py +0 -0
  30. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/search_providers/__init__.py +0 -0
  31. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/search_providers/basic_search.py +0 -0
  32. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/search_providers/postgres_search.py +0 -0
  33. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/serializers.py +0 -0
  34. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/urls.py +0 -0
  35. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/adaptors/django/views.py +0 -0
  36. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/__init__.py +0 -0
  37. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/ast_parser.py +0 -0
  38. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/ast_validator.py +0 -0
  39. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/classes.py +0 -0
  40. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/config.py +0 -0
  41. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/context_storage.py +0 -0
  42. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/event_bus.py +0 -0
  43. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/event_emitters.py +0 -0
  44. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/exceptions.py +0 -0
  45. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/interfaces.py +0 -0
  46. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/process_request.py +0 -0
  47. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero/core/types.py +0 -0
  48. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero.egg-info/SOURCES.txt +0 -0
  49. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero.egg-info/dependency_links.txt +0 -0
  50. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero.egg-info/requires.txt +0 -0
  51. {statezero-0.1.0b1 → statezero-0.1.0b3}/statezero.egg-info/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: statezero
3
- Version: 0.1.0b1
4
- Summary: A short description of your package
5
- Author-email: Robert Herring <robert.herring@statezero.dev>
3
+ Version: 0.1.0b3
4
+ Summary: Connect your Python backend to a modern JavaScript SPA frontend with 90% less complexity.
5
+ Author-email: Robert <robert.herring@statezero.dev>
6
6
  Project-URL: homepage, https://www.statezero.dev
7
7
  Project-URL: repository, https://github.com/state-zero/statezero
8
8
  Requires-Python: >=3.10
@@ -209,14 +209,14 @@ const workTodos = Todo.objects.filter({
209
209
  ### Backend
210
210
 
211
211
  ```bash
212
- pip install git+https://github.com/state-zero/statezero
212
+ pip install statezero
213
213
  pip install django-cors-headers pusher
214
214
  ```
215
215
 
216
216
  ### Frontend
217
217
 
218
218
  ```bash
219
- npm install https://github.com/state-zero/statezero-client
219
+ npm i @statezero/core
220
220
  ```
221
221
 
222
222
  ### Generate TypeScript Models
@@ -235,6 +235,12 @@ npx statezero sync-models
235
235
 
236
236
  **🆚 Traditional REST APIs:** Write 90% less boilerplate. Focus on features, not data plumbing.
237
237
 
238
+ ## Get Started
239
+
240
+ Check out the docs at [Statezero Docs](https://statezero.dev)
241
+
242
+ Run `pip install statezero` and `npm i @statezero/core` to begin.
243
+
238
244
  ## Pricing
239
245
 
240
246
  StateZero uses a no-rugpull license model:
@@ -246,7 +252,3 @@ StateZero uses a no-rugpull license model:
246
252
  - **$1,000/month** for companies with revenue above $100M
247
253
 
248
254
  Lock in your rate forever by signing up early. We can't change your fee or cancel your license.
249
-
250
- ## Get Started
251
-
252
- Run `pip install git+https://github.com/state-zero/statezero` and `npm install https://github.com/state-zero/statezero-client` to begin.
@@ -179,14 +179,14 @@ const workTodos = Todo.objects.filter({
179
179
  ### Backend
180
180
 
181
181
  ```bash
182
- pip install git+https://github.com/state-zero/statezero
182
+ pip install statezero
183
183
  pip install django-cors-headers pusher
184
184
  ```
185
185
 
186
186
  ### Frontend
187
187
 
188
188
  ```bash
189
- npm install https://github.com/state-zero/statezero-client
189
+ npm i @statezero/core
190
190
  ```
191
191
 
192
192
  ### Generate TypeScript Models
@@ -205,6 +205,12 @@ npx statezero sync-models
205
205
 
206
206
  **🆚 Traditional REST APIs:** Write 90% less boilerplate. Focus on features, not data plumbing.
207
207
 
208
+ ## Get Started
209
+
210
+ Check out the docs at [Statezero Docs](https://statezero.dev)
211
+
212
+ Run `pip install statezero` and `npm i @statezero/core` to begin.
213
+
208
214
  ## Pricing
209
215
 
210
216
  StateZero uses a no-rugpull license model:
@@ -215,8 +221,4 @@ StateZero uses a no-rugpull license model:
215
221
  - **$500/month** for companies with revenue up to $100M
216
222
  - **$1,000/month** for companies with revenue above $100M
217
223
 
218
- Lock in your rate forever by signing up early. We can't change your fee or cancel your license.
219
-
220
- ## Get Started
221
-
222
- Run `pip install git+https://github.com/state-zero/statezero` and `npm install https://github.com/state-zero/statezero-client` to begin.
224
+ Lock in your rate forever by signing up early. We can't change your fee or cancel your license.
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "statezero"
7
- version = "0.1.0b1"
8
- description = "A short description of your package"
7
+ version = "0.1.0b3"
8
+ description = "Connect your Python backend to a modern JavaScript SPA frontend with 90% less complexity."
9
9
  readme = "README.md"
10
10
  license = { file = "LICENSE" }
11
11
  authors = [
12
- { name = "Robert Herring", email = "robert.herring@statezero.dev" }
12
+ { name = "Robert", email = "robert.herring@statezero.dev" }
13
13
  ]
14
14
  requires-python = ">=3.10"
15
15
  dynamic = ["dependencies"]
@@ -681,17 +681,17 @@ class DjangoORMAdapter(AbstractORMProvider):
681
681
  """
682
682
  offset = offset or 0
683
683
 
684
- # First, get the paginated queryset
684
+ # FIXED: Perform bulk permission checks BEFORE slicing
685
+ if req is not None and permissions:
686
+ # Use the existing bulk permission check function on the unsliced queryset
687
+ check_bulk_permissions(req, self.queryset, ActionType.READ, permissions, self.model)
688
+
689
+ # THEN apply pagination/slicing
685
690
  if limit is None:
686
691
  qs = self.queryset[offset:]
687
692
  else:
688
693
  qs = self.queryset[offset : offset + limit]
689
694
 
690
- # If permissions are provided, perform bulk permission checks
691
- if req is not None and permissions:
692
- # Use the existing bulk permission check function
693
- check_bulk_permissions(req, qs, ActionType.READ, permissions, self.model)
694
-
695
695
  return qs
696
696
 
697
697
  def _build_conditions(self, conditions: dict) -> Q:
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: statezero
3
- Version: 0.1.0b1
4
- Summary: A short description of your package
5
- Author-email: Robert Herring <robert.herring@statezero.dev>
3
+ Version: 0.1.0b3
4
+ Summary: Connect your Python backend to a modern JavaScript SPA frontend with 90% less complexity.
5
+ Author-email: Robert <robert.herring@statezero.dev>
6
6
  Project-URL: homepage, https://www.statezero.dev
7
7
  Project-URL: repository, https://github.com/state-zero/statezero
8
8
  Requires-Python: >=3.10
@@ -209,14 +209,14 @@ const workTodos = Todo.objects.filter({
209
209
  ### Backend
210
210
 
211
211
  ```bash
212
- pip install git+https://github.com/state-zero/statezero
212
+ pip install statezero
213
213
  pip install django-cors-headers pusher
214
214
  ```
215
215
 
216
216
  ### Frontend
217
217
 
218
218
  ```bash
219
- npm install https://github.com/state-zero/statezero-client
219
+ npm i @statezero/core
220
220
  ```
221
221
 
222
222
  ### Generate TypeScript Models
@@ -235,6 +235,12 @@ npx statezero sync-models
235
235
 
236
236
  **🆚 Traditional REST APIs:** Write 90% less boilerplate. Focus on features, not data plumbing.
237
237
 
238
+ ## Get Started
239
+
240
+ Check out the docs at [Statezero Docs](https://statezero.dev)
241
+
242
+ Run `pip install statezero` and `npm i @statezero/core` to begin.
243
+
238
244
  ## Pricing
239
245
 
240
246
  StateZero uses a no-rugpull license model:
@@ -246,7 +252,3 @@ StateZero uses a no-rugpull license model:
246
252
  - **$1,000/month** for companies with revenue above $100M
247
253
 
248
254
  Lock in your rate forever by signing up early. We can't change your fee or cancel your license.
249
-
250
- ## Get Started
251
-
252
- Run `pip install git+https://github.com/state-zero/statezero` and `npm install https://github.com/state-zero/statezero-client` to begin.
File without changes
File without changes