statezero 0.1.0b14__tar.gz → 0.1.0b16__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 (54) hide show
  1. {statezero-0.1.0b14 → statezero-0.1.0b16}/PKG-INFO +1 -1
  2. {statezero-0.1.0b14 → statezero-0.1.0b16}/pyproject.toml +1 -1
  3. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/schemas.py +14 -0
  4. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/classes.py +1 -0
  5. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero.egg-info/PKG-INFO +1 -1
  6. {statezero-0.1.0b14 → statezero-0.1.0b16}/README.md +0 -0
  7. {statezero-0.1.0b14 → statezero-0.1.0b16}/license.md +0 -0
  8. {statezero-0.1.0b14 → statezero-0.1.0b16}/requirements.txt +0 -0
  9. {statezero-0.1.0b14 → statezero-0.1.0b16}/setup.cfg +0 -0
  10. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/__init__.py +0 -0
  11. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/__init__.py +0 -0
  12. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/__init__.py +0 -0
  13. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/actions.py +0 -0
  14. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/apps.py +0 -0
  15. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/config.py +0 -0
  16. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/context_manager.py +0 -0
  17. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/event_emitters.py +0 -0
  18. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/exception_handler.py +0 -0
  19. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/extensions/__init__.py +0 -0
  20. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/extensions/custom_field_serializers/__init__.py +0 -0
  21. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/extensions/custom_field_serializers/file_fields.py +0 -0
  22. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/extensions/custom_field_serializers/money_field.py +0 -0
  23. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/f_handler.py +0 -0
  24. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/helpers.py +0 -0
  25. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/middleware.py +0 -0
  26. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/migrations/0001_initial.py +0 -0
  27. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/migrations/0002_delete_modelviewsubscription.py +0 -0
  28. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/migrations/__init__.py +0 -0
  29. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/orm.py +0 -0
  30. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/permissions.py +0 -0
  31. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/query_optimizer.py +0 -0
  32. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/search_providers/__init__.py +0 -0
  33. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/search_providers/basic_search.py +0 -0
  34. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/search_providers/postgres_search.py +0 -0
  35. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/serializers.py +0 -0
  36. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/urls.py +0 -0
  37. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/adaptors/django/views.py +0 -0
  38. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/__init__.py +0 -0
  39. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/actions.py +0 -0
  40. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/ast_parser.py +0 -0
  41. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/ast_validator.py +0 -0
  42. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/config.py +0 -0
  43. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/context_storage.py +0 -0
  44. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/event_bus.py +0 -0
  45. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/event_emitters.py +0 -0
  46. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/exceptions.py +0 -0
  47. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/hook_checks.py +0 -0
  48. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/interfaces.py +0 -0
  49. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/process_request.py +0 -0
  50. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero/core/types.py +0 -0
  51. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero.egg-info/SOURCES.txt +0 -0
  52. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero.egg-info/dependency_links.txt +0 -0
  53. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero.egg-info/requires.txt +0 -0
  54. {statezero-0.1.0b14 → statezero-0.1.0b16}/statezero.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: statezero
3
- Version: 0.1.0b14
3
+ Version: 0.1.0b16
4
4
  Summary: Connect your Python backend to a modern JavaScript SPA frontend with 90% less complexity.
5
5
  Author-email: Robert <robert.herring@statezero.dev>
6
6
  Project-URL: homepage, https://www.statezero.dev
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "statezero"
7
- version = "0.1.0b14"
7
+ version = "0.1.0b16"
8
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" }
@@ -178,6 +178,7 @@ class DjangoSchemaGenerator(AbstractSchemaGenerator):
178
178
  nullable=False,
179
179
  format=FieldFormat.ID,
180
180
  description=description,
181
+ read_only=True,
181
182
  )
182
183
  elif isinstance(field, models.UUIDField):
183
184
  return SchemaFieldMetadata(
@@ -187,6 +188,7 @@ class DjangoSchemaGenerator(AbstractSchemaGenerator):
187
188
  nullable=False,
188
189
  format=FieldFormat.UUID,
189
190
  description=description,
191
+ read_only=True,
190
192
  )
191
193
  elif isinstance(field, models.CharField):
192
194
  return SchemaFieldMetadata(
@@ -197,6 +199,7 @@ class DjangoSchemaGenerator(AbstractSchemaGenerator):
197
199
  format=FieldFormat.ID,
198
200
  max_length=field.max_length,
199
201
  description=description,
202
+ read_only=True,
200
203
  )
201
204
  else:
202
205
  return SchemaFieldMetadata(
@@ -206,6 +209,7 @@ class DjangoSchemaGenerator(AbstractSchemaGenerator):
206
209
  nullable=False,
207
210
  format=FieldFormat.ID,
208
211
  description=description,
212
+ read_only=True,
209
213
  )
210
214
 
211
215
  def get_field_metadata(
@@ -256,6 +260,9 @@ class DjangoSchemaGenerator(AbstractSchemaGenerator):
256
260
  elif isinstance(field, models.DateField):
257
261
  field_type = FieldType.STRING
258
262
  field_format = FieldFormat.DATE
263
+ elif isinstance(field, models.TimeField):
264
+ field_type = FieldType.STRING
265
+ field_format = FieldFormat.TIME
259
266
  elif isinstance(field, (models.ForeignKey, models.OneToOneField)):
260
267
  field_type = self.get_pk_type(field)
261
268
  field_format = self.get_relation_type(field)
@@ -286,6 +293,12 @@ class DjangoSchemaGenerator(AbstractSchemaGenerator):
286
293
  elif callable(default):
287
294
  default = default()
288
295
 
296
+ # Check if field should be read-only (auto_now or auto_now_add)
297
+ read_only = False
298
+ if isinstance(field, (models.DateTimeField, models.DateField, models.TimeField)):
299
+ if getattr(field, "auto_now", False) or getattr(field, "auto_now_add", False):
300
+ read_only = True
301
+
289
302
  return SchemaFieldMetadata(
290
303
  type=field_type,
291
304
  title=title,
@@ -299,6 +312,7 @@ class DjangoSchemaGenerator(AbstractSchemaGenerator):
299
312
  max_digits=max_digits,
300
313
  decimal_places=decimal_places,
301
314
  description=description,
315
+ read_only=read_only,
302
316
  )
303
317
 
304
318
  def get_field_title(self, field: models.Field) -> str:
@@ -71,6 +71,7 @@ class FieldFormat(str, Enum):
71
71
  TEXT = "text"
72
72
  DATE = "date"
73
73
  DATETIME = "date-time"
74
+ TIME = "time"
74
75
  FOREIGN_KEY = "foreign-key"
75
76
  ONE_TO_ONE = "one-to-one"
76
77
  MANY_TO_MANY = "many-to-many"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: statezero
3
- Version: 0.1.0b14
3
+ Version: 0.1.0b16
4
4
  Summary: Connect your Python backend to a modern JavaScript SPA frontend with 90% less complexity.
5
5
  Author-email: Robert <robert.herring@statezero.dev>
6
6
  Project-URL: homepage, https://www.statezero.dev
File without changes
File without changes
File without changes