karrio-server-graph 2025.5__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.
Files changed (39) hide show
  1. karrio/server/graph/__init__.py +1 -0
  2. karrio/server/graph/admin.py +3 -0
  3. karrio/server/graph/apps.py +5 -0
  4. karrio/server/graph/forms.py +57 -0
  5. karrio/server/graph/management/__init__.py +0 -0
  6. karrio/server/graph/management/commands/__init__.py +0 -0
  7. karrio/server/graph/management/commands/export_schema.py +9 -0
  8. karrio/server/graph/migrations/0001_initial.py +37 -0
  9. karrio/server/graph/migrations/0002_auto_20210512_1353.py +22 -0
  10. karrio/server/graph/migrations/__init__.py +0 -0
  11. karrio/server/graph/models.py +44 -0
  12. karrio/server/graph/schema.py +44 -0
  13. karrio/server/graph/schemas/__init__.py +2 -0
  14. karrio/server/graph/schemas/base/__init__.py +385 -0
  15. karrio/server/graph/schemas/base/inputs.py +612 -0
  16. karrio/server/graph/schemas/base/mutations.py +1033 -0
  17. karrio/server/graph/schemas/base/types.py +1406 -0
  18. karrio/server/graph/serializers.py +388 -0
  19. karrio/server/graph/templates/graphql/graphiql.html +142 -0
  20. karrio/server/graph/templates/karrio/email_change_email.html +13 -0
  21. karrio/server/graph/templates/karrio/email_change_email.txt +13 -0
  22. karrio/server/graph/templates/karrio/password_reset_email.html +14 -0
  23. karrio/server/graph/tests/__init__.py +9 -0
  24. karrio/server/graph/tests/base.py +153 -0
  25. karrio/server/graph/tests/test_carrier_connections.py +239 -0
  26. karrio/server/graph/tests/test_metafield.py +404 -0
  27. karrio/server/graph/tests/test_partial_shipments.py +603 -0
  28. karrio/server/graph/tests/test_rate_sheets.py +354 -0
  29. karrio/server/graph/tests/test_registration.py +209 -0
  30. karrio/server/graph/tests/test_templates.py +677 -0
  31. karrio/server/graph/tests/test_user_info.py +71 -0
  32. karrio/server/graph/urls.py +10 -0
  33. karrio/server/graph/utils.py +308 -0
  34. karrio/server/graph/views.py +91 -0
  35. karrio/server/settings/graph.py +7 -0
  36. karrio_server_graph-2025.5.dist-info/METADATA +29 -0
  37. karrio_server_graph-2025.5.dist-info/RECORD +39 -0
  38. karrio_server_graph-2025.5.dist-info/WHEEL +5 -0
  39. karrio_server_graph-2025.5.dist-info/top_level.txt +2 -0
@@ -0,0 +1,612 @@
1
+ import pydoc
2
+ import typing
3
+ import datetime
4
+ import strawberry
5
+
6
+ import karrio.server.providers.models as providers
7
+ import karrio.server.serializers as serializers
8
+ import karrio.server.graph.utils as utils
9
+
10
+
11
+ @strawberry.input
12
+ class LogFilter(utils.Paginated):
13
+ query: typing.Optional[str] = strawberry.UNSET
14
+ api_endpoint: typing.Optional[str] = strawberry.UNSET
15
+ remote_addr: typing.Optional[str] = strawberry.UNSET
16
+ date_after: typing.Optional[datetime.datetime] = strawberry.UNSET
17
+ date_before: typing.Optional[datetime.datetime] = strawberry.UNSET
18
+ entity_id: typing.Optional[str] = strawberry.UNSET
19
+ method: typing.Optional[typing.List[str]] = strawberry.UNSET
20
+ status: typing.Optional[str] = strawberry.UNSET
21
+ status_code: typing.Optional[typing.List[int]] = strawberry.UNSET
22
+
23
+
24
+ @strawberry.input
25
+ class TracingRecordFilter(utils.Paginated):
26
+ key: typing.Optional[str] = strawberry.UNSET
27
+ request_log_id: typing.Optional[int] = strawberry.UNSET
28
+ date_after: typing.Optional[datetime.datetime] = strawberry.UNSET
29
+ date_before: typing.Optional[datetime.datetime] = strawberry.UNSET
30
+
31
+
32
+ @strawberry.input
33
+ class TrackerFilter(utils.Paginated):
34
+ tracking_number: typing.Optional[str] = strawberry.UNSET
35
+ created_after: typing.Optional[str] = strawberry.UNSET
36
+ created_before: typing.Optional[str] = strawberry.UNSET
37
+ carrier_name: typing.Optional[typing.List[str]] = strawberry.UNSET
38
+ status: typing.Optional[typing.List[str]] = strawberry.UNSET
39
+
40
+
41
+ @strawberry.input
42
+ class ShipmentFilter(utils.Paginated):
43
+ keyword: typing.Optional[str] = strawberry.UNSET
44
+ address: typing.Optional[str] = strawberry.UNSET
45
+ id: typing.Optional[typing.List[str]] = strawberry.UNSET
46
+ created_after: typing.Optional[str] = strawberry.UNSET
47
+ created_before: typing.Optional[str] = strawberry.UNSET
48
+ carrier_name: typing.Optional[typing.List[str]] = strawberry.UNSET
49
+ reference: typing.Optional[str] = strawberry.UNSET
50
+ service: typing.Optional[typing.List[str]] = strawberry.UNSET
51
+ status: typing.Optional[typing.List[utils.ShipmentStatusEnum]] = strawberry.UNSET
52
+ option_key: typing.Optional[str] = strawberry.UNSET
53
+ option_value: typing.Optional[utils.JSON] = strawberry.UNSET
54
+ metadata_key: typing.Optional[str] = strawberry.UNSET
55
+ metadata_value: typing.Optional[utils.JSON] = strawberry.UNSET
56
+ meta_key: typing.Optional[str] = strawberry.UNSET
57
+ meta_value: typing.Optional[utils.JSON] = strawberry.UNSET
58
+ has_tracker: typing.Optional[bool] = strawberry.UNSET
59
+ has_manifest: typing.Optional[bool] = strawberry.UNSET
60
+
61
+
62
+ @strawberry.input
63
+ class ManifestFilter(utils.Paginated):
64
+ id: typing.Optional[typing.List[str]] = strawberry.UNSET
65
+ created_after: typing.Optional[datetime.datetime] = strawberry.UNSET
66
+ created_before: typing.Optional[datetime.datetime] = strawberry.UNSET
67
+ carrier_name: typing.Optional[typing.List[str]] = strawberry.UNSET
68
+
69
+
70
+ @strawberry.input
71
+ class TemplateFilter(utils.Paginated):
72
+ label: typing.Optional[str] = strawberry.UNSET
73
+ keyword: typing.Optional[str] = strawberry.UNSET
74
+
75
+
76
+ @strawberry.input
77
+ class AddressFilter(TemplateFilter):
78
+ address: typing.Optional[str] = strawberry.UNSET
79
+
80
+
81
+ @strawberry.input
82
+ class CarrierFilter(utils.Paginated):
83
+ active: typing.Optional[bool] = strawberry.UNSET
84
+ metadata_key: typing.Optional[str] = strawberry.UNSET
85
+ metadata_value: typing.Optional[str] = strawberry.UNSET
86
+ carrier_name: typing.Optional[typing.List[str]] = strawberry.UNSET
87
+
88
+
89
+ @strawberry.input
90
+ class UpdateUserInput(utils.BaseInput):
91
+ full_name: typing.Optional[str] = strawberry.UNSET
92
+ is_active: typing.Optional[bool] = strawberry.UNSET
93
+ metadata: typing.Optional[utils.JSON] = strawberry.UNSET
94
+
95
+
96
+ @strawberry.input
97
+ class WorkspaceConfigMutationInput(utils.BaseInput):
98
+ default_currency: typing.Optional[utils.CurrencyCodeEnum] = strawberry.UNSET
99
+ default_country_code: typing.Optional[utils.CountryCodeEnum] = strawberry.UNSET
100
+ default_label_type: typing.Optional[utils.LabelTypeEnum] = strawberry.UNSET
101
+
102
+ default_weight_unit: typing.Optional[utils.WeightUnitEnum] = strawberry.UNSET
103
+ default_dimension_unit: typing.Optional[utils.DimensionUnitEnum] = strawberry.UNSET
104
+
105
+ state_tax_id: typing.Optional[str] = strawberry.UNSET
106
+ federal_tax_id: typing.Optional[str] = strawberry.UNSET
107
+
108
+ customs_aes: typing.Optional[str] = strawberry.UNSET
109
+ customs_eel_pfc: typing.Optional[str] = strawberry.UNSET
110
+ customs_eori_number: typing.Optional[str] = strawberry.UNSET
111
+ customs_license_number: typing.Optional[str] = strawberry.UNSET
112
+ customs_certificate_number: typing.Optional[str] = strawberry.UNSET
113
+ customs_nip_number: typing.Optional[str] = strawberry.UNSET
114
+ customs_vat_registration_number: typing.Optional[str] = strawberry.UNSET
115
+
116
+ insured_by_default: typing.Optional[bool] = strawberry.UNSET
117
+
118
+ label_message_1: typing.Optional[str] = strawberry.UNSET
119
+ label_message_2: typing.Optional[str] = strawberry.UNSET
120
+ label_message_3: typing.Optional[str] = strawberry.UNSET
121
+ label_logo: typing.Optional[str] = strawberry.UNSET
122
+
123
+
124
+ @strawberry.input
125
+ class TokenMutationInput(utils.BaseInput):
126
+ key: str
127
+ password: typing.Optional[str] = strawberry.UNSET
128
+ refresh: typing.Optional[bool] = strawberry.UNSET
129
+
130
+
131
+ @strawberry.input
132
+ class CreateAPIKeyMutationInput(utils.BaseInput):
133
+ password: str
134
+ label: str
135
+ permissions: typing.Optional[typing.List[str]] = strawberry.UNSET
136
+
137
+
138
+ @strawberry.input
139
+ class DeleteAPIKeyMutationInput(utils.BaseInput):
140
+ password: str
141
+ key: str
142
+
143
+
144
+ @strawberry.input
145
+ class RequestEmailChangeMutationInput(utils.BaseInput):
146
+ email: str
147
+ password: str
148
+ redirect_url: str
149
+
150
+
151
+ @strawberry.input
152
+ class ConfirmEmailChangeMutationInput(utils.BaseInput):
153
+ token: str
154
+
155
+
156
+ @strawberry.input
157
+ class RegisterUserMutationInput(utils.BaseInput):
158
+ email: str
159
+ password1: str
160
+ password2: str
161
+ redirect_url: str
162
+ full_name: typing.Optional[str] = strawberry.UNSET
163
+
164
+
165
+ @strawberry.input
166
+ class ConfirmEmailMutationInput(utils.BaseInput):
167
+ token: str
168
+
169
+
170
+ @strawberry.input
171
+ class ChangePasswordMutationInput(utils.BaseInput):
172
+ old_password: str
173
+ new_password1: str
174
+ new_password2: str
175
+
176
+
177
+ @strawberry.input
178
+ class RequestPasswordResetMutationInput(utils.BaseInput):
179
+ email: str
180
+ redirect_url: str
181
+
182
+
183
+ @strawberry.input
184
+ class ConfirmPasswordResetMutationInput(utils.BaseInput):
185
+ uid: str
186
+ token: str
187
+ new_password1: str
188
+ new_password2: str
189
+
190
+
191
+ @strawberry.input
192
+ class EnableMultiFactorMutationInput(utils.BaseInput):
193
+ password: str
194
+
195
+
196
+ @strawberry.input
197
+ class ConfirmMultiFactorMutationInput(utils.BaseInput):
198
+ token: str
199
+
200
+
201
+ @strawberry.input
202
+ class DisableMultiFactorMutationInput(utils.BaseInput):
203
+ password: str
204
+
205
+
206
+ @strawberry.input
207
+ class MetadataMutationInput(utils.BaseInput):
208
+ id: str
209
+ object_type: utils.MetadataObjectTypeEnum
210
+ added_values: utils.JSON
211
+ discarded_keys: typing.Optional[typing.List[str]]
212
+
213
+
214
+ @strawberry.input
215
+ class CommodityInput:
216
+ weight: float
217
+ weight_unit: utils.WeightUnitEnum
218
+ quantity: typing.Optional[int] = 1
219
+ sku: typing.Optional[str] = strawberry.UNSET
220
+ title: typing.Optional[str] = strawberry.UNSET
221
+ hs_code: typing.Optional[str] = strawberry.UNSET
222
+ description: typing.Optional[str] = strawberry.UNSET
223
+ value_amount: typing.Optional[float] = strawberry.UNSET
224
+ origin_country: typing.Optional[utils.CountryCodeEnum] = strawberry.UNSET
225
+ value_currency: typing.Optional[utils.CurrencyCodeEnum] = strawberry.UNSET
226
+ metadata: typing.Optional[utils.JSON] = strawberry.UNSET
227
+ parent_id: typing.Optional[str] = strawberry.UNSET
228
+
229
+
230
+ @strawberry.input
231
+ class UpdateCommodityInput(CommodityInput):
232
+ id: typing.Optional[str] = strawberry.UNSET
233
+ quantity: typing.Optional[int] = strawberry.UNSET
234
+ weight: typing.Optional[float] = strawberry.UNSET
235
+ weight_unit: typing.Optional[utils.WeightUnitEnum] = strawberry.UNSET
236
+
237
+
238
+ @strawberry.input
239
+ class AddressInput:
240
+ country_code: typing.Optional[utils.CountryCodeEnum]
241
+ postal_code: typing.Optional[str] = strawberry.UNSET
242
+ city: typing.Optional[str] = strawberry.UNSET
243
+ federal_tax_id: typing.Optional[str] = strawberry.UNSET
244
+ state_tax_id: typing.Optional[str] = strawberry.UNSET
245
+ person_name: typing.Optional[str] = strawberry.UNSET
246
+ company_name: typing.Optional[str] = strawberry.UNSET
247
+ email: typing.Optional[str] = strawberry.UNSET
248
+ phone_number: typing.Optional[str] = strawberry.UNSET
249
+ state_code: typing.Optional[str] = strawberry.UNSET
250
+ residential: typing.Optional[bool] = strawberry.UNSET
251
+ street_number: typing.Optional[str] = strawberry.UNSET
252
+ address_line1: typing.Optional[str] = strawberry.UNSET
253
+ address_line2: typing.Optional[str] = strawberry.UNSET
254
+ validate_location: typing.Optional[bool] = strawberry.UNSET
255
+
256
+
257
+ @strawberry.input
258
+ class UpdateAddressInput(AddressInput):
259
+ id: typing.Optional[str] = strawberry.UNSET
260
+ country_code: typing.Optional[utils.CountryCodeEnum] = strawberry.UNSET
261
+
262
+
263
+ @strawberry.input
264
+ class ParcelInput:
265
+ weight: float
266
+ weight_unit: utils.WeightUnitEnum
267
+ width: typing.Optional[float] = strawberry.UNSET
268
+ height: typing.Optional[float] = strawberry.UNSET
269
+ length: typing.Optional[float] = strawberry.UNSET
270
+ packaging_type: typing.Optional[str] = strawberry.UNSET
271
+ package_preset: typing.Optional[str] = strawberry.UNSET
272
+ description: typing.Optional[str] = strawberry.UNSET
273
+ content: typing.Optional[str] = strawberry.UNSET
274
+ is_document: typing.Optional[bool] = strawberry.UNSET
275
+ dimension_unit: typing.Optional[utils.DimensionUnitEnum] = strawberry.UNSET
276
+ reference_number: typing.Optional[str] = strawberry.UNSET
277
+ freight_class: typing.Optional[str] = strawberry.UNSET
278
+ items: typing.Optional[typing.List[CommodityInput]] = strawberry.UNSET
279
+
280
+
281
+ @strawberry.input
282
+ class UpdateParcelInput(ParcelInput):
283
+ id: typing.Optional[str] = strawberry.UNSET
284
+ weight: typing.Optional[float] = strawberry.UNSET
285
+ weight_unit: typing.Optional[utils.WeightUnitEnum] = strawberry.UNSET
286
+ items: typing.Optional[typing.List[UpdateCommodityInput]] = strawberry.UNSET # type: ignore
287
+
288
+
289
+ @strawberry.input
290
+ class DutyInput:
291
+ paid_by: utils.PaidByEnum
292
+ currency: typing.Optional[utils.CurrencyCodeEnum] = strawberry.UNSET
293
+ account_number: typing.Optional[str] = strawberry.UNSET
294
+ declared_value: typing.Optional[float] = strawberry.UNSET
295
+ bill_to: typing.Optional[AddressInput] = strawberry.UNSET
296
+
297
+
298
+ @strawberry.input
299
+ class UpdateDutyInput(DutyInput):
300
+ paid_by: typing.Optional[utils.PaidByEnum] = strawberry.UNSET
301
+
302
+
303
+ @strawberry.input
304
+ class CustomsInput:
305
+ commodities: typing.List[CommodityInput]
306
+ certify: typing.Optional[bool] = strawberry.UNSET
307
+ commercial_invoice: typing.Optional[bool] = strawberry.UNSET
308
+ content_type: typing.Optional[utils.CustomsContentTypeEnum] = strawberry.UNSET
309
+ content_description: typing.Optional[str] = strawberry.UNSET
310
+ incoterm: typing.Optional[utils.IncotermCodeEnum] = strawberry.UNSET
311
+ invoice: typing.Optional[str] = strawberry.UNSET
312
+ invoice_date: typing.Optional[str] = strawberry.UNSET
313
+ signer: typing.Optional[str] = strawberry.UNSET
314
+ duty: typing.Optional[DutyInput] = strawberry.UNSET
315
+ duty_billing_address: typing.Optional[UpdateAddressInput] = strawberry.UNSET
316
+ options: typing.Optional[utils.JSON] = strawberry.UNSET
317
+
318
+
319
+ @strawberry.input
320
+ class UpdateCustomsInput(CustomsInput):
321
+ id: typing.Optional[str] = strawberry.UNSET
322
+ duty: typing.Optional[UpdateDutyInput] = strawberry.UNSET
323
+ duty_billing_address: typing.Optional[UpdateAddressInput] = strawberry.UNSET
324
+ commodities: typing.Optional[typing.List[UpdateCommodityInput]] = strawberry.UNSET # type: ignore
325
+
326
+
327
+ @strawberry.input
328
+ class PaymentInput:
329
+ account_number: typing.Optional[str] = strawberry.UNSET
330
+ paid_by: typing.Optional[utils.PaidByEnum] = strawberry.UNSET
331
+ currency: typing.Optional[utils.CurrencyCodeEnum] = strawberry.UNSET
332
+
333
+
334
+ @strawberry.input
335
+ class PartialShipmentMutationInput(utils.BaseInput):
336
+ id: str
337
+ recipient: typing.Optional[UpdateAddressInput] = strawberry.UNSET
338
+ shipper: typing.Optional[UpdateAddressInput] = strawberry.UNSET
339
+ return_address: typing.Optional[UpdateAddressInput] = strawberry.UNSET
340
+ billing_address: typing.Optional[UpdateAddressInput] = strawberry.UNSET
341
+ customs: typing.Optional[UpdateCustomsInput] = strawberry.UNSET
342
+ parcels: typing.Optional[typing.List[UpdateParcelInput]] = strawberry.UNSET
343
+ payment: typing.Optional[PaymentInput] = strawberry.UNSET
344
+ label_type: typing.Optional[utils.LabelTypeEnum] = strawberry.UNSET
345
+ metadata: typing.Optional[utils.JSON] = strawberry.UNSET
346
+ options: typing.Optional[utils.JSON] = strawberry.UNSET
347
+ reference: typing.Optional[str] = strawberry.UNSET
348
+
349
+
350
+ @strawberry.input
351
+ class ChangeShipmentStatusMutationInput(utils.BaseInput):
352
+ id: str
353
+ status: typing.Optional[utils.ManualShipmentStatusEnum]
354
+
355
+
356
+ @strawberry.input
357
+ class CreateAddressTemplateInput(utils.BaseInput):
358
+ label: str
359
+ address: AddressInput
360
+ is_default: typing.Optional[bool] = strawberry.UNSET
361
+
362
+
363
+ @strawberry.input
364
+ class UpdateAddressTemplateInput(CreateAddressTemplateInput):
365
+ id: str # type: ignore
366
+ label: typing.Optional[str]
367
+ address: typing.Optional[UpdateAddressInput] = strawberry.UNSET
368
+
369
+
370
+ @strawberry.input
371
+ class CreateCustomsTemplateInput(utils.BaseInput):
372
+ label: str
373
+ customs: CustomsInput
374
+ is_default: typing.Optional[bool] = strawberry.UNSET
375
+
376
+
377
+ @strawberry.input
378
+ class UpdateCustomsTemplateInput(CreateCustomsTemplateInput):
379
+ id: str # type: ignore
380
+ label: typing.Optional[str] = strawberry.UNSET
381
+ is_default: typing.Optional[bool] = strawberry.UNSET
382
+ customs: typing.Optional[UpdateCustomsInput] = strawberry.UNSET # type: ignore
383
+
384
+
385
+ @strawberry.input
386
+ class CreateParcelTemplateInput(utils.BaseInput):
387
+ label: str
388
+ parcel: ParcelInput
389
+ is_default: typing.Optional[bool] = strawberry.UNSET
390
+
391
+
392
+ @strawberry.input
393
+ class UpdateParcelTemplateInput(CreateParcelTemplateInput):
394
+ id: str # type: ignore
395
+ label: typing.Optional[str] = strawberry.UNSET
396
+ is_default: typing.Optional[bool] = strawberry.UNSET
397
+ parcel: typing.Optional[UpdateParcelInput] = strawberry.UNSET
398
+
399
+
400
+ @strawberry.input
401
+ class DeleteMutationInput(utils.BaseInput):
402
+ id: str
403
+
404
+
405
+ @strawberry.input
406
+ class LabelTemplateInput(utils.BaseInput):
407
+ slug: str
408
+ template: str
409
+ template_type: utils.LabelTemplateTypeEnum
410
+ width: typing.Optional[int] = strawberry.UNSET
411
+ height: typing.Optional[int] = strawberry.UNSET
412
+ shipment_sample: typing.Optional[utils.JSON] = strawberry.UNSET
413
+ id: typing.Optional[str] = strawberry.UNSET
414
+
415
+
416
+ @strawberry.input
417
+ class ServiceZoneInput(utils.BaseInput):
418
+ rate: float
419
+ label: typing.Optional[str] = strawberry.UNSET
420
+
421
+ min_weight: typing.Optional[float] = strawberry.UNSET
422
+ max_weight: typing.Optional[float] = strawberry.UNSET
423
+
424
+ transit_days: typing.Optional[int] = strawberry.UNSET
425
+ transit_time: typing.Optional[float] = strawberry.UNSET
426
+
427
+ radius: typing.Optional[float] = strawberry.UNSET
428
+ latitude: typing.Optional[float] = strawberry.UNSET
429
+ longitude: typing.Optional[float] = strawberry.UNSET
430
+
431
+ cities: typing.Optional[typing.List[str]] = strawberry.UNSET
432
+ postal_codes: typing.Optional[typing.List[str]] = strawberry.UNSET
433
+ country_codes: typing.Optional[typing.List[str]] = strawberry.UNSET
434
+
435
+
436
+ @strawberry.input
437
+ class UpdateServiceZoneInput(utils.BaseInput):
438
+ rate: typing.Optional[float] = strawberry.UNSET
439
+ label: typing.Optional[str] = strawberry.UNSET
440
+
441
+ min_weight: typing.Optional[float] = strawberry.UNSET
442
+ max_weight: typing.Optional[float] = strawberry.UNSET
443
+
444
+ transit_days: typing.Optional[int] = strawberry.UNSET
445
+ transit_time: typing.Optional[float] = strawberry.UNSET
446
+
447
+ radius: typing.Optional[float] = strawberry.UNSET
448
+ latitude: typing.Optional[float] = strawberry.UNSET
449
+ longitude: typing.Optional[float] = strawberry.UNSET
450
+
451
+ cities: typing.Optional[typing.List[str]] = strawberry.UNSET
452
+ postal_codes: typing.Optional[typing.List[str]] = strawberry.UNSET
453
+ country_codes: typing.Optional[typing.List[str]] = strawberry.UNSET
454
+
455
+
456
+ @strawberry.input
457
+ class UpdateServiceZoneMutationInput(utils.BaseInput):
458
+ id: str
459
+ service_id: str
460
+ zone_index: int
461
+ zone: UpdateServiceZoneInput
462
+
463
+
464
+ @strawberry.input
465
+ class CreateServiceLevelInput(utils.BaseInput):
466
+ service_name: str
467
+ service_code: str
468
+ currency: utils.CurrencyCodeEnum
469
+ zones: typing.List[ServiceZoneInput]
470
+
471
+ carrier_service_code: typing.Optional[str] = strawberry.UNSET
472
+ description: typing.Optional[str] = strawberry.UNSET
473
+ active: typing.Optional[bool] = strawberry.UNSET
474
+
475
+ transit_days: typing.Optional[int] = strawberry.UNSET
476
+ transit_time: typing.Optional[float] = strawberry.UNSET
477
+
478
+ max_width: typing.Optional[float] = strawberry.UNSET
479
+ max_height: typing.Optional[float] = strawberry.UNSET
480
+ max_length: typing.Optional[float] = strawberry.UNSET
481
+ dimension_unit: typing.Optional[utils.DimensionUnitEnum] = strawberry.UNSET
482
+
483
+ min_weight: typing.Optional[float] = strawberry.UNSET
484
+ max_weight: typing.Optional[float] = strawberry.UNSET
485
+ weight_unit: typing.Optional[utils.WeightUnitEnum] = strawberry.UNSET
486
+
487
+ domicile: typing.Optional[bool] = strawberry.UNSET
488
+ international: typing.Optional[bool] = strawberry.UNSET
489
+
490
+ metadata: typing.Optional[utils.JSON] = strawberry.UNSET
491
+
492
+
493
+ @strawberry.input
494
+ class UpdateServiceLevelInput(CreateServiceLevelInput):
495
+ id: typing.Optional[str] = strawberry.UNSET
496
+ service_name: typing.Optional[str] = strawberry.UNSET
497
+ service_code: typing.Optional[str] = strawberry.UNSET
498
+ currency: typing.Optional[utils.CurrencyCodeEnum] = strawberry.UNSET
499
+ zones: typing.Optional[typing.List[UpdateServiceZoneInput]] = strawberry.UNSET
500
+
501
+
502
+ @strawberry.input
503
+ class CreateRateSheetMutationInput(utils.BaseInput):
504
+ name: str
505
+ carrier_name: utils.CarrierNameEnum
506
+ services: typing.Optional[typing.List[CreateServiceLevelInput]] = strawberry.UNSET
507
+ carriers: typing.Optional[typing.List[str]] = strawberry.UNSET
508
+ metadata: typing.Optional[utils.JSON] = strawberry.UNSET
509
+
510
+
511
+ @strawberry.input
512
+ class UpdateRateSheetMutationInput(utils.BaseInput):
513
+ id: str
514
+ name: typing.Optional[str] = strawberry.UNSET
515
+ services: typing.Optional[typing.List[UpdateServiceLevelInput]] = strawberry.UNSET
516
+ carriers: typing.Optional[typing.List[str]] = strawberry.UNSET
517
+ remove_missing_services: typing.Optional[bool] = strawberry.UNSET
518
+ metadata: typing.Optional[utils.JSON] = strawberry.UNSET
519
+
520
+
521
+ @strawberry.input
522
+ class UpdateRateSheetZoneCellMutationInput(utils.BaseInput):
523
+ id: str # Rate sheet ID
524
+ service_id: str # Service level ID
525
+ zone_id: str # Zone ID
526
+ field: str # Field name to update
527
+ value: utils.JSON # New value
528
+
529
+
530
+ @strawberry.input
531
+ class CellUpdate(utils.BaseInput):
532
+ service_id: str
533
+ zone_id: str
534
+ field: str
535
+ value: utils.JSON
536
+
537
+
538
+ @strawberry.input
539
+ class BatchUpdateRateSheetCellsMutationInput(utils.BaseInput):
540
+ id: str # Rate sheet ID
541
+ updates: typing.List[CellUpdate]
542
+
543
+
544
+ @strawberry.input
545
+ class DeleteRateSheetServiceMutationInput(utils.BaseInput):
546
+ rate_sheet_id: str
547
+ service_id: str
548
+
549
+
550
+ @strawberry.input
551
+ class RateSheetFilter(utils.Paginated):
552
+ keyword: typing.Optional[str] = strawberry.UNSET
553
+
554
+
555
+ @strawberry.input
556
+ class CreateCarrierConnectionMutationInput(utils.BaseInput):
557
+ carrier_name: utils.CarrierNameEnum
558
+ carrier_id: str
559
+ credentials: utils.JSON
560
+ active: typing.Optional[bool] = True
561
+ config: typing.Optional[utils.JSON] = strawberry.UNSET
562
+ metadata: typing.Optional[utils.JSON] = strawberry.UNSET
563
+ capabilities: typing.Optional[typing.List[str]] = strawberry.UNSET
564
+
565
+
566
+ @strawberry.input
567
+ class UpdateCarrierConnectionMutationInput(utils.BaseInput):
568
+ id: str
569
+ active: typing.Optional[bool] = True
570
+ carrier_id: typing.Optional[str] = strawberry.UNSET
571
+ credentials: typing.Optional[utils.JSON] = strawberry.UNSET
572
+ config: typing.Optional[utils.JSON] = strawberry.UNSET
573
+ metadata: typing.Optional[utils.JSON] = strawberry.UNSET
574
+ capabilities: typing.Optional[typing.List[str]] = strawberry.UNSET
575
+
576
+
577
+ @strawberry.input
578
+ class SystemCarrierMutationInput(utils.BaseInput):
579
+ id: str
580
+ enable: typing.Optional[bool] = strawberry.UNSET
581
+ config: typing.Optional[utils.JSON] = strawberry.UNSET
582
+
583
+
584
+ @strawberry.input
585
+ class CreateMetafieldInput(utils.BaseInput):
586
+ key: str
587
+ type: utils.MetafieldTypeEnum
588
+ value: typing.Optional[utils.JSON] = strawberry.UNSET
589
+ is_required: typing.Optional[bool] = strawberry.UNSET
590
+
591
+
592
+ @strawberry.input
593
+ class UpdateMetafieldInput(CreateMetafieldInput):
594
+ id: str
595
+ key: typing.Optional[str] = strawberry.UNSET
596
+ type: typing.Optional[utils.MetafieldTypeEnum] = strawberry.UNSET
597
+
598
+
599
+ @strawberry.input
600
+ class MetafieldInput(utils.BaseInput):
601
+ key: str
602
+ type: utils.MetafieldTypeEnum
603
+ value: typing.Optional[utils.JSON] = strawberry.UNSET
604
+ is_required: typing.Optional[bool] = strawberry.UNSET
605
+ id: typing.Optional[str] = strawberry.UNSET
606
+
607
+
608
+ @strawberry.input
609
+ class MetafieldFilter(utils.Paginated):
610
+ key: typing.Optional[str] = strawberry.UNSET
611
+ type: typing.Optional[utils.MetafieldTypeEnum] = strawberry.UNSET
612
+ is_required: typing.Optional[bool] = strawberry.UNSET