apexdevkit 1.22.1__tar.gz → 1.22.2__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.22.1 → apexdevkit-1.22.2}/PKG-INFO +1 -1
  2. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/mssql.py +21 -1
  3. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/sql.py +13 -2
  4. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/pyproject.toml +1 -1
  5. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/LICENSE +0 -0
  6. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/README.md +0 -0
  7. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/__init__.py +0 -0
  8. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/annotation/__init__.py +0 -0
  9. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/annotation/deprecate.py +0 -0
  10. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/environment.py +0 -0
  11. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/error.py +0 -0
  12. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/__init__.py +0 -0
  13. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/builder.py +0 -0
  14. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/dependable.py +0 -0
  15. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/docs.py +0 -0
  16. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/name.py +0 -0
  17. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/request.py +0 -0
  18. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/resource.py +0 -0
  19. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/response.py +0 -0
  20. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/router.py +0 -0
  21. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/schema.py +0 -0
  22. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fastapi/service.py +0 -0
  23. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/fluent.py +0 -0
  24. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/formatter.py +0 -0
  25. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/http/__init__.py +0 -0
  26. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/http/fake.py +0 -0
  27. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/http/fluent.py +0 -0
  28. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/http/httpx/__init__.py +0 -0
  29. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/http/httpx/client.py +0 -0
  30. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/http/httpx/hooks.py +0 -0
  31. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/http/json.py +0 -0
  32. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/http/url.py +0 -0
  33. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/id.py +0 -0
  34. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/key_fn.py +0 -0
  35. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/py.typed +0 -0
  36. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/query/__init__.py +0 -0
  37. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/query/generator.py +0 -0
  38. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/query/query.py +0 -0
  39. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/__init__.py +0 -0
  40. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/base.py +0 -0
  41. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/connector.py +0 -0
  42. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/database.py +0 -0
  43. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/decorator.py +0 -0
  44. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/in_memory.py +0 -0
  45. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/interface.py +0 -0
  46. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/repository.py +0 -0
  47. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/repository/sqlite.py +0 -0
  48. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/server.py +0 -0
  49. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/synchronization.py +0 -0
  50. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/testing/__init__.py +0 -0
  51. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/testing/database.py +0 -0
  52. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/testing/fake.py +0 -0
  53. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/testing/rest.py +0 -0
  54. {apexdevkit-1.22.1 → apexdevkit-1.22.2}/apexdevkit/value.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: apexdevkit
3
- Version: 1.22.1
3
+ Version: 1.22.2
4
4
  Summary: Apex Development Tools for python.
5
5
  Author: Apex Dev
6
6
  Author-email: dev@apex.ge
@@ -151,6 +151,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
151
151
  table: str | None = None
152
152
  formatter: Formatter[Mapping[str, Any], ItemT] | None = None
153
153
  fields: list[_SqlField] | None = None
154
+ custom_filters: list[str] | None = None
154
155
 
155
156
  def with_username(self, value: str) -> MsSqlTableBuilder[ItemT]:
156
157
  return MsSqlTableBuilder[ItemT](
@@ -159,6 +160,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
159
160
  self.table,
160
161
  self.formatter,
161
162
  self.fields,
163
+ self.custom_filters,
162
164
  )
163
165
 
164
166
  def with_schema(self, value: str) -> MsSqlTableBuilder[ItemT]:
@@ -168,6 +170,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
168
170
  self.table,
169
171
  self.formatter,
170
172
  self.fields,
173
+ self.custom_filters,
171
174
  )
172
175
 
173
176
  def with_table(self, value: str) -> MsSqlTableBuilder[ItemT]:
@@ -177,6 +180,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
177
180
  value,
178
181
  self.formatter,
179
182
  self.fields,
183
+ self.custom_filters,
180
184
  )
181
185
 
182
186
  def with_formatter(
@@ -188,6 +192,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
188
192
  self.table,
189
193
  value,
190
194
  self.fields,
195
+ self.custom_filters,
191
196
  )
192
197
 
193
198
  def with_fields(self, value: Iterable[_SqlField]) -> MsSqlTableBuilder[ItemT]:
@@ -213,17 +218,32 @@ class MsSqlTableBuilder(Generic[ItemT]):
213
218
  self.table,
214
219
  self.formatter,
215
220
  key_list,
221
+ self.custom_filters,
222
+ )
223
+
224
+ def with_custom_filters(self, filters: Iterable[str]) -> MsSqlTableBuilder[ItemT]:
225
+ return MsSqlTableBuilder[ItemT](
226
+ self.username,
227
+ self.schema,
228
+ self.table,
229
+ self.formatter,
230
+ self.fields,
231
+ list(filters),
216
232
  )
217
233
 
218
234
  def build(self) -> SqlTable[ItemT]:
219
235
  if not self.schema or not self.table or not self.formatter or not self.fields:
220
236
  raise ValueError("Cannot build sql table.")
221
237
 
238
+ field_manager = SqlFieldManager.Builder().with_fields(self.fields)
239
+ if self.custom_filters and len(self.custom_filters) > 0:
240
+ field_manager = field_manager.with_custom_filters(self.custom_filters)
241
+
222
242
  return DefaultSqlTable(
223
243
  self.schema,
224
244
  self.table,
225
245
  self.formatter,
226
- SqlFieldManager.Builder().with_fields(self.fields).for_mssql().build(),
246
+ field_manager.for_mssql().build(),
227
247
  self.username,
228
248
  )
229
249
 
@@ -120,6 +120,7 @@ class SqlFieldBuilder:
120
120
  @dataclass
121
121
  class SqlFieldManager:
122
122
  fields: list[_SqlField]
123
+ custom_filters: list[str]
123
124
  key_formatter: str
124
125
  value_formatter: str
125
126
 
@@ -209,7 +210,7 @@ class SqlFieldManager:
209
210
  )
210
211
 
211
212
  def _general_filters(self) -> str:
212
- statements: list[str] = []
213
+ statements: list[str] = [] + self.custom_filters
213
214
  for key in self.fields:
214
215
  if key.is_filter:
215
216
  inner_statements: list[str] = []
@@ -237,6 +238,8 @@ class SqlFieldManager:
237
238
 
238
239
  @dataclass
239
240
  class Builder:
241
+ custom_filters: list[str] = field(default_factory=list)
242
+
240
243
  fields: list[_SqlField] = field(init=False)
241
244
  key_formatter: str = field(init=False)
242
245
  value_formatter: str = field(init=False)
@@ -246,6 +249,11 @@ class SqlFieldManager:
246
249
 
247
250
  return self
248
251
 
252
+ def with_custom_filters(self, fields: list[str]) -> SqlFieldManager.Builder:
253
+ self.custom_filters = fields
254
+
255
+ return self
256
+
249
257
  def for_sqlite(self) -> SqlFieldManager.Builder:
250
258
  self.key_formatter = "x"
251
259
  self.value_formatter = ":x"
@@ -260,5 +268,8 @@ class SqlFieldManager:
260
268
 
261
269
  def build(self) -> SqlFieldManager:
262
270
  return SqlFieldManager(
263
- self.fields, self.key_formatter, self.value_formatter
271
+ self.fields,
272
+ self.custom_filters,
273
+ self.key_formatter,
274
+ self.value_formatter,
264
275
  )
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "apexdevkit"
3
- version = "1.22.1"
3
+ version = "1.22.2"
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