karrio-server-manager 2025.5rc15__py3-none-any.whl → 2025.5rc17__py3-none-any.whl

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.
@@ -0,0 +1,24 @@
1
+ # Generated by Django 5.2.5 on 2025-08-23 00:22
2
+
3
+ from django.conf import settings
4
+ from django.db import migrations, models
5
+
6
+
7
+ class Migration(migrations.Migration):
8
+
9
+ dependencies = [
10
+ ("manager", "0063_alter_commodity_value_currency"),
11
+ ("providers", "0084_alter_servicelevel_currency"),
12
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
13
+ ]
14
+
15
+ operations = [
16
+ migrations.AddIndex(
17
+ model_name="shipment",
18
+ index=models.Index(fields=["created_at"], name="shipment_created_at_idx"),
19
+ ),
20
+ migrations.AddIndex(
21
+ model_name="tracking",
22
+ index=models.Index(fields=["created_at"], name="tracking_created_at_idx"),
23
+ ),
24
+ ]
@@ -19,18 +19,38 @@ import karrio.server.core.serializers as serializers
19
19
 
20
20
  class AddressManager(models.Manager):
21
21
  def get_queryset(self):
22
- return super().get_queryset().defer("validation")
22
+ return (
23
+ super()
24
+ .get_queryset()
25
+ .defer("validation")
26
+ .prefetch_related(
27
+ *(("org",) if conf.settings.MULTI_ORGANIZATIONS else tuple()),
28
+ )
29
+ )
23
30
 
24
31
 
25
32
  class ParcelManager(models.Manager):
26
33
  def get_queryset(self):
27
- return super().get_queryset().prefetch_related("items")
34
+ return (
35
+ super()
36
+ .get_queryset()
37
+ .prefetch_related(
38
+ "items",
39
+ *(("org",) if conf.settings.MULTI_ORGANIZATIONS else tuple()),
40
+ )
41
+ )
28
42
 
29
43
 
30
44
  class CommodityManager(models.Manager):
31
45
  def get_queryset(self):
32
46
  return (
33
- super().get_queryset().select_related("parent").prefetch_related("children")
47
+ super()
48
+ .get_queryset()
49
+ .select_related("parent")
50
+ .prefetch_related(
51
+ "children",
52
+ *(("org",) if conf.settings.MULTI_ORGANIZATIONS else tuple()),
53
+ )
34
54
  )
35
55
 
36
56
 
@@ -40,7 +60,10 @@ class CustomsManager(models.Manager):
40
60
  super()
41
61
  .get_queryset()
42
62
  .select_related("duty_billing_address")
43
- .prefetch_related("commodities")
63
+ .prefetch_related(
64
+ "commodities",
65
+ *(("org",) if conf.settings.MULTI_ORGANIZATIONS else tuple()),
66
+ )
44
67
  )
45
68
 
46
69
 
@@ -50,7 +73,10 @@ class PickupManager(models.Manager):
50
73
  super()
51
74
  .get_queryset()
52
75
  .select_related("pickup_carrier")
53
- .prefetch_related("shipments")
76
+ .prefetch_related(
77
+ "shipments",
78
+ *(("org",) if conf.settings.MULTI_ORGANIZATIONS else tuple()),
79
+ )
54
80
  )
55
81
 
56
82
 
@@ -74,6 +100,7 @@ class ShipmentManager(models.Manager):
74
100
  .prefetch_related(
75
101
  "parcels",
76
102
  "carriers",
103
+ *(("org",) if conf.settings.MULTI_ORGANIZATIONS else tuple()),
77
104
  )
78
105
  )
79
106
 
@@ -83,26 +110,42 @@ class TrackingManager(models.Manager):
83
110
  return (
84
111
  super()
85
112
  .get_queryset()
86
- .defer("shipment")
87
- .prefetch_related(
88
- "tracking_carrier",
89
- )
90
113
  .select_related(
91
114
  "created_by",
115
+ "tracking_carrier",
116
+ "shipment",
117
+ "shipment__recipient",
118
+ "shipment__shipper",
119
+ )
120
+ .prefetch_related(
121
+ *(("org",) if conf.settings.MULTI_ORGANIZATIONS else tuple()),
92
122
  )
93
123
  )
94
124
 
95
125
 
96
126
  class DocumentUploadRecordManager(models.Manager):
97
127
  def get_queryset(self):
98
- return super().get_queryset().select_related("upload_carrier")
128
+ return (
129
+ super()
130
+ .get_queryset()
131
+ .select_related("upload_carrier")
132
+ .prefetch_related(
133
+ *(("org",) if conf.settings.MULTI_ORGANIZATIONS else tuple()),
134
+ )
135
+ )
99
136
 
100
137
 
101
138
  class ManifestManager(models.Manager):
102
139
  def get_queryset(self):
103
140
  # Load manifest details and associated carrier data efficiently
104
141
  return (
105
- super().get_queryset().select_related("manifest_carrier").defer("manifest")
142
+ super()
143
+ .get_queryset()
144
+ .select_related("manifest_carrier")
145
+ .defer("manifest")
146
+ .prefetch_related(
147
+ *(("org",) if conf.settings.MULTI_ORGANIZATIONS else tuple()),
148
+ )
106
149
  )
107
150
 
108
151
 
@@ -536,6 +579,10 @@ class Tracking(core.OwnedEntity):
536
579
  verbose_name = "Tracking Status"
537
580
  verbose_name_plural = "Tracking Statuses"
538
581
  ordering = ["-created_at"]
582
+ indexes = [
583
+ # Index for archiving queries based on creation date
584
+ models.Index(fields=["created_at"], name="tracking_created_at_idx"),
585
+ ]
539
586
 
540
587
  id = models.CharField(
541
588
  max_length=50,
@@ -676,6 +723,8 @@ class Shipment(core.OwnedEntity):
676
723
  condition=models.Q(meta__object_id__isnull=False),
677
724
  name="shipment_service_idx",
678
725
  ),
726
+ # Index for archiving queries based on creation date
727
+ models.Index(fields=["created_at"], name="shipment_created_at_idx"),
679
728
  ]
680
729
 
681
730
  id = models.CharField(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: karrio_server_manager
3
- Version: 2025.5rc15
3
+ Version: 2025.5rc17
4
4
  Summary: Multi-carrier shipping API Shipments manager module
5
5
  Author-email: karrio <hello@karrio.io>
6
6
  License-Expression: Apache-2.0
@@ -1,7 +1,7 @@
1
1
  karrio/server/manager/__init__.py,sha256=lDTMs_O6mQl0DEI2_TniT24TDJbjnkla-5QpnwfYlxs,64
2
2
  karrio/server/manager/admin.py,sha256=QOl5e2m3ekU5aj0yj9Uq4nRQrNMB_FfqNae6RyIxkC0,35
3
3
  karrio/server/manager/apps.py,sha256=WHTQ1t79uDZTbinRzvNg1NjtFwnwEvg0tP_ChrtTRwI,364
4
- karrio/server/manager/models.py,sha256=ks7U_9VANxEKNBW1brzHsIH-_GfvmryBXf5nZnri_ww,29465
4
+ karrio/server/manager/models.py,sha256=jELFMIA1u1KIXGwVFlp55eK-ZLhGDSSBYt2xSZHJJ1g,31058
5
5
  karrio/server/manager/router.py,sha256=IBUR7rfBkdEHQzWxYOPcVSM8NBp3fte9G6Q5BVTUNNw,95
6
6
  karrio/server/manager/signals.py,sha256=5s8oqAaeShetP8LEy-jBU3UsR-Le51vNo-lCbS54x3M,1918
7
7
  karrio/server/manager/urls.py,sha256=oXJlvhHNKxFkc_CmpFoyTSAMJcLp4Wt9dHbViQDkqw4,220
@@ -69,6 +69,7 @@ karrio/server/manager/migrations/0060_pickup_meta_alter_address_country_code_and
69
69
  karrio/server/manager/migrations/0061_alter_customs_incoterm.py,sha256=sMlovgPFEiDKBoU_Moya9PxvAqXsOGy5BG-w3tZyUBY,1030
70
70
  karrio/server/manager/migrations/0062_alter_tracking_status.py,sha256=1m9mUrDakeVIwAwlXufGLAu-bIXnPwggMETEAYqbUh4,1121
71
71
  karrio/server/manager/migrations/0063_alter_commodity_value_currency.py,sha256=87Ag0tTgso9wh-JjO9fh2_fzgG3cnWaCLlAk9t125DY,5714
72
+ karrio/server/manager/migrations/0064_shipment_shipment_created_at_idx_and_more.py,sha256=EzCPxG54nk3PkT7hlS-W3oJxie6OlfMZu6Jh6tCJthQ,728
72
73
  karrio/server/manager/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
74
  karrio/server/manager/serializers/__init__.py,sha256=cbi3PpPA8nw_le56PbGP_Ua1kDyyxOt88_Vn9uESbpI,1411
74
75
  karrio/server/manager/serializers/address.py,sha256=yGKvZiNukeI15LEDdbo1ycqqK8QW77ak_vyLMIKyglI,2779
@@ -97,7 +98,7 @@ karrio/server/manager/views/parcels.py,sha256=hZY45rg6SrTWfQqyJ38MGKSor1yqgPUEVH
97
98
  karrio/server/manager/views/pickups.py,sha256=cBGxLwd1Cg_8v71Crf3Ex6yN2xhvauATnw38aP9Q1HI,5510
98
99
  karrio/server/manager/views/shipments.py,sha256=VuIw2mAi8euARAPqKkgXL3gK8pAGtV86Sby9EAQQCQ4,10273
99
100
  karrio/server/manager/views/trackers.py,sha256=aWwn_sO8WR2gai0cJhib7kEokhpgXPgW2T9x-BdTOX4,12369
100
- karrio_server_manager-2025.5rc15.dist-info/METADATA,sha256=I8oEzmno151o4IApkoeifw3HuWrKTmdN4TTsm7jbOgw,734
101
- karrio_server_manager-2025.5rc15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
102
- karrio_server_manager-2025.5rc15.dist-info/top_level.txt,sha256=D1D7x8R3cTfjF_15mfiO7wCQ5QMtuM4x8GaPr7z5i78,12
103
- karrio_server_manager-2025.5rc15.dist-info/RECORD,,
101
+ karrio_server_manager-2025.5rc17.dist-info/METADATA,sha256=AqhIL_WolMFm199k4ftrkimEyqbpPnzyM_ws3HHauV8,734
102
+ karrio_server_manager-2025.5rc17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
103
+ karrio_server_manager-2025.5rc17.dist-info/top_level.txt,sha256=D1D7x8R3cTfjF_15mfiO7wCQ5QMtuM4x8GaPr7z5i78,12
104
+ karrio_server_manager-2025.5rc17.dist-info/RECORD,,