apexdevkit 1.21.2__tar.gz → 1.21.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 (53) hide show
  1. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/PKG-INFO +1 -1
  2. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/repository/mssql.py +29 -2
  3. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/pyproject.toml +1 -1
  4. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/LICENSE +0 -0
  5. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/README.md +0 -0
  6. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/__init__.py +0 -0
  7. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/annotation/__init__.py +0 -0
  8. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/annotation/deprecate.py +0 -0
  9. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/environment.py +0 -0
  10. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/error.py +0 -0
  11. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/__init__.py +0 -0
  12. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/builder.py +0 -0
  13. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/dependable.py +0 -0
  14. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/docs.py +0 -0
  15. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/name.py +0 -0
  16. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/request.py +0 -0
  17. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/resource.py +0 -0
  18. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/response.py +0 -0
  19. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/router.py +0 -0
  20. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/schema.py +0 -0
  21. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fastapi/service.py +0 -0
  22. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/fluent.py +0 -0
  23. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/formatter.py +0 -0
  24. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/http/__init__.py +0 -0
  25. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/http/fake.py +0 -0
  26. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/http/fluent.py +0 -0
  27. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/http/httpx/__init__.py +0 -0
  28. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/http/httpx/client.py +0 -0
  29. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/http/httpx/hooks.py +0 -0
  30. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/http/json.py +0 -0
  31. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/http/url.py +0 -0
  32. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/id.py +0 -0
  33. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/key_fn.py +0 -0
  34. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/py.typed +0 -0
  35. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/query/__init__.py +0 -0
  36. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/query/generator.py +0 -0
  37. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/query/query.py +0 -0
  38. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/repository/__init__.py +0 -0
  39. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/repository/base.py +0 -0
  40. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/repository/connector.py +0 -0
  41. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/repository/database.py +0 -0
  42. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/repository/decorator.py +0 -0
  43. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/repository/in_memory.py +0 -0
  44. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/repository/interface.py +0 -0
  45. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/repository/sql.py +0 -0
  46. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/repository/sqlite.py +0 -0
  47. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/server.py +0 -0
  48. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/synchronization.py +0 -0
  49. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/testing/__init__.py +0 -0
  50. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/testing/database.py +0 -0
  51. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/testing/fake.py +0 -0
  52. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/testing/rest.py +0 -0
  53. {apexdevkit-1.21.2 → apexdevkit-1.21.3}/apexdevkit/value.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: apexdevkit
3
- Version: 1.21.2
3
+ Version: 1.21.3
4
4
  Summary: Apex Development Tools for python.
5
5
  Author: Apex Dev
6
6
  Author-email: dev@apex.ge
@@ -147,6 +147,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
147
147
  fields: list[_SqlField] | None = None
148
148
  table_mapper: Callable[[ItemT], str] | None = None
149
149
  table_id_mapper: Callable[[str], str] | None = None
150
+ id_transformer: Callable[[str], str] = lambda identifier: identifier
150
151
 
151
152
  def with_username(self, value: str) -> MsSqlTableBuilder[ItemT]:
152
153
  return MsSqlTableBuilder[ItemT](
@@ -157,6 +158,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
157
158
  self.fields,
158
159
  self.table_mapper,
159
160
  self.table_id_mapper,
161
+ self.id_transformer,
160
162
  )
161
163
 
162
164
  def with_schema(self, value: str) -> MsSqlTableBuilder[ItemT]:
@@ -168,6 +170,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
168
170
  self.fields,
169
171
  self.table_mapper,
170
172
  self.table_id_mapper,
173
+ self.id_transformer,
171
174
  )
172
175
 
173
176
  def with_table(self, value: str) -> MsSqlTableBuilder[ItemT]:
@@ -179,6 +182,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
179
182
  self.fields,
180
183
  self.table_mapper,
181
184
  self.table_id_mapper,
185
+ self.id_transformer,
182
186
  )
183
187
 
184
188
  def and_table(self, value: str) -> MsSqlTableBuilder[ItemT]:
@@ -195,6 +199,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
195
199
  self.fields,
196
200
  value,
197
201
  self.table_id_mapper,
202
+ self.id_transformer,
198
203
  )
199
204
 
200
205
  def with_table_id_mapper(
@@ -208,6 +213,21 @@ class MsSqlTableBuilder(Generic[ItemT]):
208
213
  self.fields,
209
214
  self.table_mapper,
210
215
  value,
216
+ self.id_transformer,
217
+ )
218
+
219
+ def with_id_transformer(
220
+ self, value: Callable[[str], str]
221
+ ) -> MsSqlTableBuilder[ItemT]:
222
+ return MsSqlTableBuilder[ItemT](
223
+ self.username,
224
+ self.schema,
225
+ self.tables,
226
+ self.formatter,
227
+ self.fields,
228
+ self.table_mapper,
229
+ self.table_id_mapper,
230
+ value,
211
231
  )
212
232
 
213
233
  def with_formatter(
@@ -221,6 +241,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
221
241
  self.fields,
222
242
  self.table_mapper,
223
243
  self.table_id_mapper,
244
+ self.id_transformer,
224
245
  )
225
246
 
226
247
  def with_fields(self, value: Iterable[_SqlField]) -> MsSqlTableBuilder[ItemT]:
@@ -248,6 +269,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
248
269
  key_list,
249
270
  self.table_mapper,
250
271
  self.table_id_mapper,
272
+ self.id_transformer,
251
273
  )
252
274
 
253
275
  def build(self) -> SqlTable[ItemT]:
@@ -267,6 +289,7 @@ class MsSqlTableBuilder(Generic[ItemT]):
267
289
  self.username,
268
290
  self.table_mapper,
269
291
  self.table_id_mapper,
292
+ self.id_transformer,
270
293
  )
271
294
 
272
295
 
@@ -279,6 +302,7 @@ class DefaultSqlTable(SqlTable[ItemT]):
279
302
  username: str | None = None
280
303
  table_mapper: Callable[[ItemT], str] | None = None
281
304
  table_id_mapper: Callable[[str], str] | None = None
305
+ id_transformer: Callable[[str], str] = lambda identifier: identifier
282
306
 
283
307
  def count_all(self) -> DatabaseCommand:
284
308
  selections = " + ".join(
@@ -340,6 +364,7 @@ class DefaultSqlTable(SqlTable[ItemT]):
340
364
  self._require_id_mapper_if_necessary()
341
365
 
342
366
  columns = ", ".join(["[" + field.name + "]" for field in self.fields])
367
+ table_identifier = self.id_transformer(item_id)
343
368
 
344
369
  return DatabaseCommand(f"""
345
370
  {self._user_check}
@@ -348,7 +373,7 @@ class DefaultSqlTable(SqlTable[ItemT]):
348
373
  FROM [{self.schema}].[{self._determine_table_by_id(item_id)}]
349
374
  {self.fields.where_statement(include_id=True)}
350
375
  REVERT
351
- """).with_data(self.fields.with_fixed({self.fields.id: item_id}))
376
+ """).with_data(self.fields.with_fixed({self.fields.id: table_identifier}))
352
377
 
353
378
  def select_all(self) -> DatabaseCommand:
354
379
  columns = ", ".join(["[" + field.name + "]" for field in self.fields])
@@ -395,13 +420,15 @@ class DefaultSqlTable(SqlTable[ItemT]):
395
420
  def delete(self, item_id: str) -> DatabaseCommand:
396
421
  self._require_mapper_if_necessary()
397
422
 
423
+ table_identifier = self.id_transformer(item_id)
424
+
398
425
  return DatabaseCommand(f"""
399
426
  {self._user_check}
400
427
  DELETE
401
428
  FROM [{self.schema}].[{self._determine_table_by_id(item_id)}]
402
429
  {self.fields.where_statement(include_id=True)}
403
430
  REVERT
404
- """).with_data(self.fields.with_fixed({self.fields.id: item_id}))
431
+ """).with_data(self.fields.with_fixed({self.fields.id: table_identifier}))
405
432
 
406
433
  def delete_all(self) -> DatabaseCommand:
407
434
  if len(self.tables) > 1:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "apexdevkit"
3
- version = "1.21.2"
3
+ version = "1.21.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