karrio-server-graph 2025.5rc33__py3-none-any.whl → 2025.5rc35__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.
@@ -10,6 +10,7 @@ import karrio.server.graph.utils as utils
10
10
 
11
11
  @strawberry.input
12
12
  class LogFilter(utils.Paginated):
13
+ query: typing.Optional[str] = strawberry.UNSET
13
14
  api_endpoint: typing.Optional[str] = strawberry.UNSET
14
15
  remote_addr: typing.Optional[str] = strawberry.UNSET
15
16
  date_after: typing.Optional[datetime.datetime] = strawberry.UNSET
@@ -868,7 +868,7 @@ class CreateCarrierConnectionMutation(utils.BaseMutation):
868
868
  @staticmethod
869
869
  @utils.error_wrapper
870
870
  @utils.authentication_required
871
- @utils.authorization_required(["manage_carriers"])
871
+ @utils.authorization_required(["write_carriers"])
872
872
  def mutate(info: Info, **input) -> "CreateCarrierConnectionMutation":
873
873
  data = input.copy()
874
874
 
@@ -893,7 +893,7 @@ class UpdateCarrierConnectionMutation(utils.BaseMutation):
893
893
  @staticmethod
894
894
  @utils.error_wrapper
895
895
  @utils.authentication_required
896
- @utils.authorization_required(["manage_carriers"])
896
+ @utils.authorization_required(["write_carriers"])
897
897
  def mutate(info: Info, **input) -> "UpdateCarrierConnectionMutation":
898
898
  data = input.copy()
899
899
  id = data.get("id")
@@ -1067,7 +1067,6 @@ class PaymentType:
1067
1067
  paid_by: typing.Optional[utils.PaidByEnum] = None
1068
1068
  currency: typing.Optional[utils.CurrencyCodeEnum] = None
1069
1069
 
1070
-
1071
1070
  @strawberry.type
1072
1071
  class ShipmentType:
1073
1072
  id: str
@@ -1316,7 +1315,9 @@ class SystemConnectionType:
1316
1315
  _filter = filter if not utils.is_unset(filter) else inputs.CarrierFilter()
1317
1316
  connections = filters.CarrierFilters(
1318
1317
  _filter.to_dict(),
1319
- providers.Carrier.system_carriers.filter(
1318
+ providers.Carrier.system_carriers.resolve_config_for(
1319
+ info.context.request
1320
+ ).filter(
1320
1321
  active=True,
1321
1322
  test_mode=getattr(info.context.request, "test_mode", False),
1322
1323
  ),
@@ -1368,7 +1369,7 @@ class CarrierConnectionType:
1368
1369
  @staticmethod
1369
1370
  @utils.utils.error_wrapper
1370
1371
  @utils.authentication_required
1371
- @utils.authorization_required(["manage_carriers"])
1372
+ @utils.authorization_required(["read_carriers"])
1372
1373
  def resolve(
1373
1374
  info,
1374
1375
  id: str,
@@ -1381,7 +1382,7 @@ class CarrierConnectionType:
1381
1382
  @staticmethod
1382
1383
  @utils.utils.error_wrapper
1383
1384
  @utils.authentication_required
1384
- @utils.authorization_required(["manage_carriers"])
1385
+ @utils.authorization_required(["read_carriers"])
1385
1386
  def resolve_list(
1386
1387
  info,
1387
1388
  filter: typing.Optional[inputs.CarrierFilter] = strawberry.UNSET,
@@ -25,8 +25,28 @@ class GraphTestCase(BaseAPITestCase):
25
25
  self.user = get_user_model().objects.create_superuser(
26
26
  "admin@example.com", "test"
27
27
  )
28
+
28
29
  self.token = Token.objects.create(user=self.user, test_mode=False)
29
30
 
31
+ # Create organization for multi-org support (if enabled)
32
+ from django.conf import settings
33
+ if settings.MULTI_ORGANIZATIONS:
34
+ from karrio.server.orgs.models import Organization, TokenLink
35
+ self.organization = Organization.objects.create(
36
+ name="Test Organization",
37
+ slug="test-org"
38
+ )
39
+ # Add user as owner (triggers permission sync via signals)
40
+ owner = self.organization.add_user(self.user, is_admin=True)
41
+ self.organization.change_owner(owner)
42
+ self.organization.save()
43
+
44
+ # Link token to organization
45
+ TokenLink.objects.create(
46
+ item=self.token,
47
+ org=self.organization
48
+ )
49
+
30
50
  # Setup API client.
31
51
  self.client = APIClient()
32
52
  self.client.credentials(HTTP_AUTHORIZATION="Token " + self.token.key)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: karrio_server_graph
3
- Version: 2025.5rc33
3
+ Version: 2025.5rc35
4
4
  Summary: Multi-carrier shipping API Graph module
5
5
  Author-email: karrio <hello@karrio.io>
6
6
  License-Expression: Apache-2.0
@@ -16,15 +16,15 @@ karrio/server/graph/migrations/0002_auto_20210512_1353.py,sha256=TnUwR9EP0qp3gJ3
16
16
  karrio/server/graph/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  karrio/server/graph/schemas/__init__.py,sha256=Kn-I1j3HP3jwZccpz6FL9r1k6b3UEAMVh2kFPCKNS0w,80
18
18
  karrio/server/graph/schemas/base/__init__.py,sha256=nnOfynQW842qOA0qD6bYz8GSHQCQeBW36vbq0sqRkJs,15121
19
- karrio/server/graph/schemas/base/inputs.py,sha256=QTnNwj8wmaeZrlE1sgIDFl_p2lwHG79j-GN1cJK9WQU,21368
20
- karrio/server/graph/schemas/base/mutations.py,sha256=Cc8xpix8LT5RmIhikNFf5RutQ2DTiOmKxqlQSRPgOiY,35045
21
- karrio/server/graph/schemas/base/types.py,sha256=G9oaksnqF6K1ml155AoRokuGpyvfg_33YUu_KUzLH-M,47547
19
+ karrio/server/graph/schemas/base/inputs.py,sha256=p6_u4sG1cbd18CpPjkyG3CD4cbvf4gBa3De4RDgCZ80,21419
20
+ karrio/server/graph/schemas/base/mutations.py,sha256=6ljP3_2UpUHpYIl06I7n-owQjUp2TT5jDgZ_fEzvB6o,35043
21
+ karrio/server/graph/schemas/base/types.py,sha256=FBayGYWlqcHK0tm43xFA6ZkUFlr1htM7-TutRKPmTkc,47613
22
22
  karrio/server/graph/templates/graphql/graphiql.html,sha256=MQjQbBqoRE0QLsOUck8SaXo6B2oJO8dT6YZzUqbDan0,3786
23
23
  karrio/server/graph/templates/karrio/email_change_email.html,sha256=gr55F97GYzY27TVKGl49037yd60eSYD0b0GXRlyoco4,552
24
24
  karrio/server/graph/templates/karrio/email_change_email.txt,sha256=NXXuzLR63hn2F1fVAjzmuguptuuTvujwqI7YLSrQoio,431
25
25
  karrio/server/graph/templates/karrio/password_reset_email.html,sha256=dttqYVL73cQNuTFsVdn2GV4Ckee8PTY8oEF53GbDRcg,553
26
26
  karrio/server/graph/tests/__init__.py,sha256=dPzsYY5hoO5gmY6fhL8tiz7Bfst8RB3JzsBVHZazHRE,338
27
- karrio/server/graph/tests/base.py,sha256=AlHWX5rRv7Ylz4OL7qcGTcSBQqalj6zDmagktkFavSg,4354
27
+ karrio/server/graph/tests/base.py,sha256=dzLiva3eTAsbBM5Ga8SI2fxSanBQgAqswS0YVdtTfEg,5122
28
28
  karrio/server/graph/tests/test_carrier_connections.py,sha256=qZ1OL8CgZrHuluKJd7cjFXaRZ0VpogN5Srjk2EApLWU,6892
29
29
  karrio/server/graph/tests/test_metafield.py,sha256=K7Oon0CLEm_MUMbmcu0t2iAZvFN8Wl7Kp4QAWeUXo_Y,12783
30
30
  karrio/server/graph/tests/test_partial_shipments.py,sha256=dPIdIq4wiyovOaIIzbIX69eZnBqCA4ZvBSiGKYADM2g,19031
@@ -33,7 +33,7 @@ karrio/server/graph/tests/test_registration.py,sha256=jK8ZCmhtvKZ9L3yqSIK1-JXzYT
33
33
  karrio/server/graph/tests/test_templates.py,sha256=WVU6vcfr6tEk917uSn1dECU8bkQtgD7FNuE-GJuFido,21626
34
34
  karrio/server/graph/tests/test_user_info.py,sha256=K91BL7SgxLWflCZriSVI8Vt5M5RIqmSCHKrgN2w8GmM,1928
35
35
  karrio/server/settings/graph.py,sha256=cz2yQHbp3xCfyFKuUkPEFfkI2fFVggExIY49wGz7mt0,106
36
- karrio_server_graph-2025.5rc33.dist-info/METADATA,sha256=LLG9jzrW_BkEEEb3RcPrknSHuZyd4cZjMlxR7AIjObA,744
37
- karrio_server_graph-2025.5rc33.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
- karrio_server_graph-2025.5rc33.dist-info/top_level.txt,sha256=D1D7x8R3cTfjF_15mfiO7wCQ5QMtuM4x8GaPr7z5i78,12
39
- karrio_server_graph-2025.5rc33.dist-info/RECORD,,
36
+ karrio_server_graph-2025.5rc35.dist-info/METADATA,sha256=timr9FlvkVabar0Ikyqudro8nQFQwQMI6p88QuKLPW4,744
37
+ karrio_server_graph-2025.5rc35.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
+ karrio_server_graph-2025.5rc35.dist-info/top_level.txt,sha256=D1D7x8R3cTfjF_15mfiO7wCQ5QMtuM4x8GaPr7z5i78,12
39
+ karrio_server_graph-2025.5rc35.dist-info/RECORD,,