apexdevkit 1.19.1__tar.gz → 1.19.3__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 (54) hide show
  1. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/PKG-INFO +1 -1
  2. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/sql.py +29 -19
  3. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/pyproject.toml +1 -1
  4. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/LICENSE +0 -0
  5. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/README.md +0 -0
  6. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/__init__.py +0 -0
  7. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/annotation/__init__.py +0 -0
  8. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/annotation/deprecate.py +0 -0
  9. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/environment.py +0 -0
  10. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/error.py +0 -0
  11. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/__init__.py +0 -0
  12. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/builder.py +0 -0
  13. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/dependable.py +0 -0
  14. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/docs.py +0 -0
  15. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/name.py +0 -0
  16. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/request.py +0 -0
  17. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/resource.py +0 -0
  18. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/response.py +0 -0
  19. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/router.py +0 -0
  20. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/schema.py +0 -0
  21. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fastapi/service.py +0 -0
  22. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/fluent.py +0 -0
  23. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/formatter.py +0 -0
  24. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/http/__init__.py +0 -0
  25. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/http/fake.py +0 -0
  26. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/http/fluent.py +0 -0
  27. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/http/httpx/__init__.py +0 -0
  28. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/http/httpx/client.py +0 -0
  29. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/http/httpx/hooks.py +0 -0
  30. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/http/json.py +0 -0
  31. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/http/url.py +0 -0
  32. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/id.py +0 -0
  33. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/key_fn.py +0 -0
  34. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/py.typed +0 -0
  35. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/query/__init__.py +0 -0
  36. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/query/generator.py +0 -0
  37. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/query/query.py +0 -0
  38. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/__init__.py +0 -0
  39. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/base.py +0 -0
  40. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/connector.py +0 -0
  41. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/database.py +0 -0
  42. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/decorator.py +0 -0
  43. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/in_memory.py +0 -0
  44. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/interface.py +0 -0
  45. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/mongo.py +0 -0
  46. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/mssql.py +0 -0
  47. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/repository/sqlite.py +0 -0
  48. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/server.py +0 -0
  49. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/synchronization.py +0 -0
  50. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/testing/__init__.py +0 -0
  51. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/testing/database.py +0 -0
  52. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/testing/fake.py +0 -0
  53. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/testing/rest.py +0 -0
  54. {apexdevkit-1.19.1 → apexdevkit-1.19.3}/apexdevkit/value.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: apexdevkit
3
- Version: 1.19.1
3
+ Version: 1.19.3
4
4
  Summary: Apex Development Tools for python.
5
5
  Author: Apex Dev
6
6
  Author-email: dev@apex.ge
@@ -22,7 +22,7 @@ class _SqlField:
22
22
  parent_value: Any | None = None
23
23
 
24
24
  is_filter: bool = False
25
- filter_value: Any | None | NotNone = None
25
+ filter_values: list[Any | None | NotNone] = field(default_factory=list)
26
26
 
27
27
  is_fixed: bool = False
28
28
  fixed_value: Any | None = None
@@ -41,7 +41,7 @@ class SqlFieldBuilder:
41
41
  _parent_value: Any | None = None
42
42
 
43
43
  _is_filter: bool = False
44
- _filter_value: Any | None | NotNone = None
44
+ _filter_values: list[Any | None | NotNone] = field(default_factory=list)
45
45
 
46
46
  _is_fixed: bool = False
47
47
  _fixed_value: Any | None = None
@@ -82,9 +82,9 @@ class SqlFieldBuilder:
82
82
 
83
83
  return self
84
84
 
85
- def as_filter(self, value: Any | None | NotNone) -> SqlFieldBuilder:
85
+ def as_filter(self, values: list[Any | None | NotNone]) -> SqlFieldBuilder:
86
86
  self._is_filter = True
87
- self._filter_value = value
87
+ self._filter_values = values
88
88
 
89
89
  return self
90
90
 
@@ -105,7 +105,7 @@ class SqlFieldBuilder:
105
105
  self._is_parent,
106
106
  self._parent_value,
107
107
  self._is_filter,
108
- self._filter_value,
108
+ self._filter_values,
109
109
  self._is_fixed,
110
110
  self._fixed_value,
111
111
  )
@@ -161,6 +161,10 @@ class SqlFieldManager:
161
161
  data[key.name] = key.parent_value
162
162
  if key.is_fixed:
163
163
  data[key.name] = key.fixed_value
164
+ if key.is_filter:
165
+ for index, value in enumerate(key.filter_values):
166
+ if value is not None and not isinstance(value, NotNone):
167
+ data[key.name + "_filter_" + str(index)] = value
164
168
  return data
165
169
 
166
170
  def _parent_filter(self) -> str:
@@ -197,20 +201,26 @@ class SqlFieldManager:
197
201
  statements: list[str] = []
198
202
  for key in self.fields:
199
203
  if key.is_filter:
200
- if key.filter_value is None:
201
- statements.append(
202
- self.key_formatter.replace("x", key.name) + " IS NULL"
203
- )
204
- elif isinstance(key.filter_value, NotNone):
205
- statements.append(
206
- self.key_formatter.replace("x", key.name) + " IS NOT NULL"
207
- )
208
- else:
209
- statements.append(
210
- self.key_formatter.replace("x", key.name)
211
- + " = "
212
- + self.value_formatter.replace("x", key.name)
213
- )
204
+ inner_statements: list[str] = []
205
+ for index, value in enumerate(key.filter_values):
206
+ if value is None:
207
+ inner_statements.append(
208
+ self.key_formatter.replace("x", key.name) + " IS NULL"
209
+ )
210
+ elif isinstance(value, NotNone):
211
+ inner_statements.append(
212
+ self.key_formatter.replace("x", key.name) + " IS NOT NULL"
213
+ )
214
+ else:
215
+ inner_statements.append(
216
+ self.key_formatter.replace("x", key.name)
217
+ + " = "
218
+ + self.value_formatter.replace(
219
+ "x", key.name + "_filter_" + str(index)
220
+ )
221
+ )
222
+ if len(inner_statements) > 0:
223
+ statements.append("(" + " OR ".join(inner_statements) + ")")
214
224
 
215
225
  return " AND ".join(statements)
216
226
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "apexdevkit"
3
- version = "1.19.1"
3
+ version = "1.19.3"
4
4
  description = "Apex Development Tools for python."
5
5
  authors = ["Apex Dev <dev@apex.ge>"]
6
6
  readme = "README.md"
File without changes
File without changes