karrio-server-core 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.
- karrio/server/conf.py +54 -0
- karrio/server/core/__init__.py +3 -0
- karrio/server/core/admin.py +1 -0
- karrio/server/core/apps.py +10 -0
- karrio/server/core/authentication.py +347 -0
- karrio/server/core/config.py +31 -0
- karrio/server/core/context_processors.py +12 -0
- karrio/server/core/datatypes.py +394 -0
- karrio/server/core/dataunits.py +187 -0
- karrio/server/core/exceptions.py +404 -0
- karrio/server/core/fields.py +12 -0
- karrio/server/core/filters.py +837 -0
- karrio/server/core/gateway.py +1011 -0
- karrio/server/core/logging.py +403 -0
- karrio/server/core/management/commands/cli.py +19 -0
- karrio/server/core/management/commands/create_oauth_client.py +41 -0
- karrio/server/core/management/commands/runserver.py +5 -0
- karrio/server/core/middleware.py +197 -0
- karrio/server/core/migrations/0001_initial.py +28 -0
- karrio/server/core/migrations/0002_apilogindex.py +69 -0
- karrio/server/core/migrations/0003_apilogindex_test_mode.py +62 -0
- karrio/server/core/migrations/0004_metafield.py +74 -0
- karrio/server/core/migrations/0005_alter_metafield_type_alter_metafield_value.py +23 -0
- karrio/server/core/migrations/0006_add_api_log_requested_at_index.py +22 -0
- karrio/server/core/migrations/__init__.py +0 -0
- karrio/server/core/models/__init__.py +48 -0
- karrio/server/core/models/base.py +103 -0
- karrio/server/core/models/entity.py +24 -0
- karrio/server/core/models/metafield.py +144 -0
- karrio/server/core/models/third_party.py +21 -0
- karrio/server/core/oauth_validators.py +170 -0
- karrio/server/core/permissions.py +36 -0
- karrio/server/core/renderers.py +11 -0
- karrio/server/core/router.py +3 -0
- karrio/server/core/serializers.py +1971 -0
- karrio/server/core/signals.py +55 -0
- karrio/server/core/telemetry.py +573 -0
- karrio/server/core/tests.py +99 -0
- karrio/server/core/tests_resource_token.py +411 -0
- karrio/server/core/urls.py +12 -0
- karrio/server/core/utils.py +1025 -0
- karrio/server/core/validators.py +264 -0
- karrio/server/core/views/__init__.py +2 -0
- karrio/server/core/views/api.py +133 -0
- karrio/server/core/views/metadata.py +44 -0
- karrio/server/core/views/oauth.py +75 -0
- karrio/server/core/views/references.py +82 -0
- karrio/server/core/views/schema.py +310 -0
- karrio/server/filters/__init__.py +2 -0
- karrio/server/filters/abstract.py +26 -0
- karrio/server/iam/__init__.py +0 -0
- karrio/server/iam/admin.py +3 -0
- karrio/server/iam/apps.py +21 -0
- karrio/server/iam/migrations/0001_initial.py +33 -0
- karrio/server/iam/migrations/__init__.py +0 -0
- karrio/server/iam/models.py +48 -0
- karrio/server/iam/permissions.py +155 -0
- karrio/server/iam/serializers.py +54 -0
- karrio/server/iam/signals.py +18 -0
- karrio/server/iam/tests.py +3 -0
- karrio/server/iam/views.py +3 -0
- karrio/server/openapi.py +75 -0
- karrio/server/providers/__init__.py +1 -0
- karrio/server/providers/admin.py +364 -0
- karrio/server/providers/apps.py +10 -0
- karrio/server/providers/management/commands/migrate_rate_sheets.py +101 -0
- karrio/server/providers/migrations/0001_initial.py +140 -0
- karrio/server/providers/migrations/0002_carrier_active.py +18 -0
- karrio/server/providers/migrations/0003_auto_20201230_0820.py +24 -0
- karrio/server/providers/migrations/0004_auto_20210212_0554.py +178 -0
- karrio/server/providers/migrations/0005_auto_20210212_0555.py +18 -0
- karrio/server/providers/migrations/0006_australiapostsettings.py +29 -0
- karrio/server/providers/migrations/0007_auto_20210213_0206.py +21 -0
- karrio/server/providers/migrations/0008_auto_20210214_0409.py +30 -0
- karrio/server/providers/migrations/0009_auto_20210308_0302.py +18 -0
- karrio/server/providers/migrations/0010_auto_20210409_0852.py +32 -0
- karrio/server/providers/migrations/0011_auto_20210409_0853.py +21 -0
- karrio/server/providers/migrations/0012_alter_carrier_options.py +17 -0
- karrio/server/providers/migrations/0013_tntsettings.py +30 -0
- karrio/server/providers/migrations/0014_auto_20210612_1608.py +46 -0
- karrio/server/providers/migrations/0015_auto_20210615_1601.py +28 -0
- karrio/server/providers/migrations/0016_alter_purolatorsettings_user_token.py +18 -0
- karrio/server/providers/migrations/0017_auto_20210805_0359.py +1293 -0
- karrio/server/providers/migrations/0018_alter_fedexsettings_user_key.py +18 -0
- karrio/server/providers/migrations/0019_dhlpolandsettings_servicelevel.py +65 -0
- karrio/server/providers/migrations/0020_genericsettings_labeltemplate.py +52 -0
- karrio/server/providers/migrations/0021_auto_20211231_2353.py +40 -0
- karrio/server/providers/migrations/0022_carrier_metadata.py +18 -0
- karrio/server/providers/migrations/0023_auto_20220124_1916.py +27 -0
- karrio/server/providers/migrations/0024_alter_genericsettings_custom_carrier_name.py +19 -0
- karrio/server/providers/migrations/0025_alter_servicelevel_service_code.py +19 -0
- karrio/server/providers/migrations/0026_auto_20220208_0132.py +59 -0
- karrio/server/providers/migrations/0027_auto_20220304_1340.py +29 -0
- karrio/server/providers/migrations/0028_auto_20220323_1500.py +33 -0
- karrio/server/providers/migrations/0029_easypostsettings.py +27 -0
- karrio/server/providers/migrations/0030_amazonmwssettings.py +29 -0
- karrio/server/providers/migrations/0031_delete_amazonmwssettings.py +18 -0
- karrio/server/providers/migrations/0032_alter_carrier_test.py +18 -0
- karrio/server/providers/migrations/0033_auto_20220708_1350.py +22 -0
- karrio/server/providers/migrations/0034_amazonmwssettings_dpdhlsettings.py +47 -0
- karrio/server/providers/migrations/0035_alter_carrier_capabilities.py +43 -0
- karrio/server/providers/migrations/0036_upsfreightsettings.py +31 -0
- karrio/server/providers/migrations/0037_chronopostsettings.py +29 -0
- karrio/server/providers/migrations/0038_alter_genericsettings_label_template.py +19 -0
- karrio/server/providers/migrations/0039_auto_20220906_0612.py +23 -0
- karrio/server/providers/migrations/0040_dpdhlsettings_services.py +18 -0
- karrio/server/providers/migrations/0041_auto_20221105_0705.py +38 -0
- karrio/server/providers/migrations/0042_auto_20221215_1642.py +23 -0
- karrio/server/providers/migrations/0043_alter_genericsettings_account_number_and_more.py +39 -0
- karrio/server/providers/migrations/0044_carrier_carrier_capabilities.py +64 -0
- karrio/server/providers/migrations/0045_alter_carrier_active_alter_carrier_carrier_id.py +31 -0
- karrio/server/providers/migrations/0046_remove_dpdhlsettings_signature_and_more.py +41 -0
- karrio/server/providers/migrations/0047_dpdsettings.py +286 -0
- karrio/server/providers/migrations/0048_servicelevel_min_weight_servicelevel_transit_days_and_more.py +64 -0
- karrio/server/providers/migrations/0049_boxknightsettings_geodissettings_lapostesettings_and_more.py +156 -0
- karrio/server/providers/migrations/0050_carrier_is_system_alter_carrier_metadata_and_more.py +106 -0
- karrio/server/providers/migrations/0051_rename_username_upssettings_client_id_and_more.py +31 -0
- karrio/server/providers/migrations/0052_alter_upssettings_account_number_and_more.py +20 -0
- karrio/server/providers/migrations/0053_locate2usettings.py +281 -0
- karrio/server/providers/migrations/0054_zoom2usettings.py +280 -0
- karrio/server/providers/migrations/0055_rename_amazonmwssettings_amazonshippingsettings_and_more.py +44 -0
- karrio/server/providers/migrations/0056_asendiaussettings_geodissettings_code_client_and_more.py +75 -0
- karrio/server/providers/migrations/0057_alter_servicelevel_weight_unit_belgianpostsettings.py +51 -0
- karrio/server/providers/migrations/0058_alliedexpresssettings.py +38 -0
- karrio/server/providers/migrations/0059_ratesheet.py +81 -0
- karrio/server/providers/migrations/0060_belgianpostsettings_rate_sheet_and_more.py +73 -0
- karrio/server/providers/migrations/0061_alliedexpresssettings_service_type.py +17 -0
- karrio/server/providers/migrations/0062_sendlesettings_account_country_code.py +257 -0
- karrio/server/providers/migrations/0063_servicelevel_metadata.py +25 -0
- karrio/server/providers/migrations/0064_alliedexpresslocalsettings.py +43 -0
- karrio/server/providers/migrations/0065_servicelevel_carrier_service_code_and_more.py +66 -0
- karrio/server/providers/migrations/0066_rename_fedexsettings_fedexwssettings_and_more.py +28 -0
- karrio/server/providers/migrations/0067_fedexsettings.py +283 -0
- karrio/server/providers/migrations/0068_fedexsettings_track_api_key_and_more.py +38 -0
- karrio/server/providers/migrations/0069_alter_canadapostsettings_contract_id_and_more.py +23 -0
- karrio/server/providers/migrations/0070_tgesettings_alter_carrier_capabilities.py +65 -0
- karrio/server/providers/migrations/0071_alter_tgesettings_my_toll_token.py +18 -0
- karrio/server/providers/migrations/0072_rename_eshippersettings_eshipperxmlsettings_and_more.py +28 -0
- karrio/server/providers/migrations/0073_delete_eshipperxmlsettings.py +41 -0
- karrio/server/providers/migrations/0074_eshippersettings.py +38 -0
- karrio/server/providers/migrations/0075_haypostsettings.py +40 -0
- karrio/server/providers/migrations/0076_rename_customer_registration_id_uspsinternationalsettings_account_number_and_more.py +125 -0
- karrio/server/providers/migrations/0077_uspswtinternationalsettings_uspswtsettings_and_more.py +165 -0
- karrio/server/providers/migrations/0078_auto_20240813_1552.py +120 -0
- karrio/server/providers/migrations/0079_alter_carrier_options_alter_ratesheet_created_by.py +31 -0
- karrio/server/providers/migrations/0080_alter_aramexsettings_account_country_code_and_more.py +3025 -0
- karrio/server/providers/migrations/0081_remove_alliedexpresssettings_carrier_ptr_and_more.py +338 -0
- karrio/server/providers/migrations/0082_add_zone_identifiers.py +50 -0
- karrio/server/providers/migrations/0083_add_optimized_rate_sheet_structure.py +33 -0
- karrio/server/providers/migrations/0084_alter_servicelevel_currency.py +168 -0
- karrio/server/providers/migrations/0085_populate_dhl_parcel_de_oauth_credentials.py +82 -0
- karrio/server/providers/migrations/0086_rename_dhl_parcel_de_customer_number_to_billing_number.py +71 -0
- karrio/server/providers/migrations/__init__.py +0 -0
- karrio/server/providers/models/__init__.py +16 -0
- karrio/server/providers/models/carrier.py +387 -0
- karrio/server/providers/models/config.py +30 -0
- karrio/server/providers/models/service.py +192 -0
- karrio/server/providers/models/sheet.py +287 -0
- karrio/server/providers/models/template.py +39 -0
- karrio/server/providers/models/utils.py +58 -0
- karrio/server/providers/router.py +3 -0
- karrio/server/providers/serializers/__init__.py +3 -0
- karrio/server/providers/serializers/base.py +538 -0
- karrio/server/providers/signals.py +25 -0
- karrio/server/providers/templates/providers/oauth_callback.html +105 -0
- karrio/server/providers/tests/__init__.py +5 -0
- karrio/server/providers/tests/test_connections.py +895 -0
- karrio/server/providers/urls.py +11 -0
- karrio/server/providers/views/__init__.py +0 -0
- karrio/server/providers/views/carriers.py +267 -0
- karrio/server/providers/views/connections.py +496 -0
- karrio/server/samples.py +352 -0
- karrio/server/serializers/__init__.py +2 -0
- karrio/server/serializers/abstract.py +602 -0
- karrio/server/tracing/__init__.py +0 -0
- karrio/server/tracing/admin.py +63 -0
- karrio/server/tracing/apps.py +8 -0
- karrio/server/tracing/migrations/0001_initial.py +41 -0
- karrio/server/tracing/migrations/0002_auto_20220710_1307.py +22 -0
- karrio/server/tracing/migrations/0003_auto_20221105_0317.py +43 -0
- karrio/server/tracing/migrations/0004_tracingrecord_carrier_account_idx.py +24 -0
- karrio/server/tracing/migrations/0005_optimise_tracingrecord_request_log_idx.py +25 -0
- karrio/server/tracing/migrations/0006_alter_tracingrecord_options_and_more.py +49 -0
- karrio/server/tracing/migrations/0007_tracingrecord_tracing_created_at_idx.py +19 -0
- karrio/server/tracing/migrations/__init__.py +0 -0
- karrio/server/tracing/models.py +82 -0
- karrio/server/tracing/tests.py +3 -0
- karrio/server/tracing/utils.py +109 -0
- karrio/server/user/__init__.py +0 -0
- karrio/server/user/admin.py +96 -0
- karrio/server/user/apps.py +7 -0
- karrio/server/user/forms.py +35 -0
- karrio/server/user/migrations/0001_initial.py +41 -0
- karrio/server/user/migrations/0002_token.py +29 -0
- karrio/server/user/migrations/0003_token_test_mode.py +20 -0
- karrio/server/user/migrations/0004_group.py +26 -0
- karrio/server/user/migrations/0005_token_label.py +21 -0
- karrio/server/user/migrations/0006_workspaceconfig.py +63 -0
- karrio/server/user/migrations/0007_user_metadata.py +25 -0
- karrio/server/user/migrations/__init__.py +0 -0
- karrio/server/user/models.py +218 -0
- karrio/server/user/serializers.py +47 -0
- karrio/server/user/templates/registration/login.html +108 -0
- karrio/server/user/templates/registration/registration_confirm_email.html +10 -0
- karrio/server/user/templates/registration/registration_confirm_email.txt +3 -0
- karrio/server/user/tests.py +3 -0
- karrio/server/user/urls.py +10 -0
- karrio/server/user/utils.py +60 -0
- karrio/server/user/views.py +9 -0
- karrio_server_core-2025.5.dist-info/METADATA +32 -0
- karrio_server_core-2025.5.dist-info/RECORD +213 -0
- karrio_server_core-2025.5.dist-info/WHEEL +5 -0
- karrio_server_core-2025.5.dist-info/top_level.txt +2 -0
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
# Generated by Django 5.1.9 on 2025-05-09 06:49
|
|
2
|
+
|
|
3
|
+
from django.db import migrations
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("providers", "0080_alter_aramexsettings_account_country_code_and_more"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
# 1. Remove all 'services' and other dependent fields first
|
|
14
|
+
migrations.RemoveField(
|
|
15
|
+
model_name="belgianpostsettings",
|
|
16
|
+
name="services",
|
|
17
|
+
),
|
|
18
|
+
migrations.RemoveField(
|
|
19
|
+
model_name="colissimosettings",
|
|
20
|
+
name="services",
|
|
21
|
+
),
|
|
22
|
+
migrations.RemoveField(
|
|
23
|
+
model_name="dhlparceldesettings",
|
|
24
|
+
name="services",
|
|
25
|
+
),
|
|
26
|
+
migrations.RemoveField(
|
|
27
|
+
model_name="dhlpolandsettings",
|
|
28
|
+
name="services",
|
|
29
|
+
),
|
|
30
|
+
migrations.RemoveField(
|
|
31
|
+
model_name="dpdhlsettings",
|
|
32
|
+
name="services",
|
|
33
|
+
),
|
|
34
|
+
migrations.RemoveField(
|
|
35
|
+
model_name="dpdsettings",
|
|
36
|
+
name="services",
|
|
37
|
+
),
|
|
38
|
+
migrations.RemoveField(
|
|
39
|
+
model_name="genericsettings",
|
|
40
|
+
name="services",
|
|
41
|
+
),
|
|
42
|
+
migrations.RemoveField(
|
|
43
|
+
model_name="genericsettings",
|
|
44
|
+
name="label_template",
|
|
45
|
+
),
|
|
46
|
+
# 2. Remove all 'carrier_ptr' fields
|
|
47
|
+
migrations.RemoveField(
|
|
48
|
+
model_name="alliedexpresssettings",
|
|
49
|
+
name="carrier_ptr",
|
|
50
|
+
),
|
|
51
|
+
migrations.RemoveField(
|
|
52
|
+
model_name="amazonshippingsettings",
|
|
53
|
+
name="carrier_ptr",
|
|
54
|
+
),
|
|
55
|
+
migrations.RemoveField(
|
|
56
|
+
model_name="aramexsettings",
|
|
57
|
+
name="carrier_ptr",
|
|
58
|
+
),
|
|
59
|
+
migrations.RemoveField(
|
|
60
|
+
model_name="asendiaussettings",
|
|
61
|
+
name="carrier_ptr",
|
|
62
|
+
),
|
|
63
|
+
migrations.RemoveField(
|
|
64
|
+
model_name="australiapostsettings",
|
|
65
|
+
name="carrier_ptr",
|
|
66
|
+
),
|
|
67
|
+
migrations.RemoveField(
|
|
68
|
+
model_name="belgianpostsettings",
|
|
69
|
+
name="carrier_ptr",
|
|
70
|
+
),
|
|
71
|
+
migrations.RemoveField(
|
|
72
|
+
model_name="boxknightsettings",
|
|
73
|
+
name="carrier_ptr",
|
|
74
|
+
),
|
|
75
|
+
migrations.RemoveField(
|
|
76
|
+
model_name="canadapostsettings",
|
|
77
|
+
name="carrier_ptr",
|
|
78
|
+
),
|
|
79
|
+
migrations.RemoveField(
|
|
80
|
+
model_name="canparsettings",
|
|
81
|
+
name="carrier_ptr",
|
|
82
|
+
),
|
|
83
|
+
migrations.RemoveField(
|
|
84
|
+
model_name="chronopostsettings",
|
|
85
|
+
name="carrier_ptr",
|
|
86
|
+
),
|
|
87
|
+
migrations.RemoveField(
|
|
88
|
+
model_name="colissimosettings",
|
|
89
|
+
name="carrier_ptr",
|
|
90
|
+
),
|
|
91
|
+
migrations.RemoveField(
|
|
92
|
+
model_name="dhlexpresssettings",
|
|
93
|
+
name="carrier_ptr",
|
|
94
|
+
),
|
|
95
|
+
migrations.RemoveField(
|
|
96
|
+
model_name="dhlparceldesettings",
|
|
97
|
+
name="carrier_ptr",
|
|
98
|
+
),
|
|
99
|
+
migrations.RemoveField(
|
|
100
|
+
model_name="dhlpolandsettings",
|
|
101
|
+
name="carrier_ptr",
|
|
102
|
+
),
|
|
103
|
+
migrations.RemoveField(
|
|
104
|
+
model_name="dhluniversalsettings",
|
|
105
|
+
name="carrier_ptr",
|
|
106
|
+
),
|
|
107
|
+
migrations.RemoveField(
|
|
108
|
+
model_name="dicomsettings",
|
|
109
|
+
name="carrier_ptr",
|
|
110
|
+
),
|
|
111
|
+
migrations.RemoveField(
|
|
112
|
+
model_name="dpdhlsettings",
|
|
113
|
+
name="carrier_ptr",
|
|
114
|
+
),
|
|
115
|
+
migrations.RemoveField(
|
|
116
|
+
model_name="dpdsettings",
|
|
117
|
+
name="carrier_ptr",
|
|
118
|
+
),
|
|
119
|
+
migrations.RemoveField(
|
|
120
|
+
model_name="easypostsettings",
|
|
121
|
+
name="carrier_ptr",
|
|
122
|
+
),
|
|
123
|
+
migrations.RemoveField(
|
|
124
|
+
model_name="eshippersettings",
|
|
125
|
+
name="carrier_ptr",
|
|
126
|
+
),
|
|
127
|
+
migrations.RemoveField(
|
|
128
|
+
model_name="fedexsettings",
|
|
129
|
+
name="carrier_ptr",
|
|
130
|
+
),
|
|
131
|
+
migrations.RemoveField(
|
|
132
|
+
model_name="fedexwssettings",
|
|
133
|
+
name="carrier_ptr",
|
|
134
|
+
),
|
|
135
|
+
migrations.RemoveField(
|
|
136
|
+
model_name="freightcomsettings",
|
|
137
|
+
name="carrier_ptr",
|
|
138
|
+
),
|
|
139
|
+
migrations.RemoveField(
|
|
140
|
+
model_name="genericsettings",
|
|
141
|
+
name="carrier_ptr",
|
|
142
|
+
),
|
|
143
|
+
migrations.RemoveField(
|
|
144
|
+
model_name="geodissettings",
|
|
145
|
+
name="carrier_ptr",
|
|
146
|
+
),
|
|
147
|
+
migrations.RemoveField(
|
|
148
|
+
model_name="haypostsettings",
|
|
149
|
+
name="carrier_ptr",
|
|
150
|
+
),
|
|
151
|
+
migrations.RemoveField(
|
|
152
|
+
model_name="lapostesettings",
|
|
153
|
+
name="carrier_ptr",
|
|
154
|
+
),
|
|
155
|
+
migrations.RemoveField(
|
|
156
|
+
model_name="locate2usettings",
|
|
157
|
+
name="carrier_ptr",
|
|
158
|
+
),
|
|
159
|
+
migrations.RemoveField(
|
|
160
|
+
model_name="nationexsettings",
|
|
161
|
+
name="carrier_ptr",
|
|
162
|
+
),
|
|
163
|
+
migrations.RemoveField(
|
|
164
|
+
model_name="purolatorsettings",
|
|
165
|
+
name="carrier_ptr",
|
|
166
|
+
),
|
|
167
|
+
migrations.RemoveField(
|
|
168
|
+
model_name="roadiesettings",
|
|
169
|
+
name="carrier_ptr",
|
|
170
|
+
),
|
|
171
|
+
migrations.RemoveField(
|
|
172
|
+
model_name="royalmailsettings",
|
|
173
|
+
name="carrier_ptr",
|
|
174
|
+
),
|
|
175
|
+
migrations.RemoveField(
|
|
176
|
+
model_name="sendlesettings",
|
|
177
|
+
name="carrier_ptr",
|
|
178
|
+
),
|
|
179
|
+
migrations.RemoveField(
|
|
180
|
+
model_name="tgesettings",
|
|
181
|
+
name="carrier_ptr",
|
|
182
|
+
),
|
|
183
|
+
migrations.RemoveField(
|
|
184
|
+
model_name="tntsettings",
|
|
185
|
+
name="carrier_ptr",
|
|
186
|
+
),
|
|
187
|
+
migrations.RemoveField(
|
|
188
|
+
model_name="upssettings",
|
|
189
|
+
name="carrier_ptr",
|
|
190
|
+
),
|
|
191
|
+
migrations.RemoveField(
|
|
192
|
+
model_name="uspsinternationalsettings",
|
|
193
|
+
name="carrier_ptr",
|
|
194
|
+
),
|
|
195
|
+
migrations.RemoveField(
|
|
196
|
+
model_name="uspssettings",
|
|
197
|
+
name="carrier_ptr",
|
|
198
|
+
),
|
|
199
|
+
migrations.RemoveField(
|
|
200
|
+
model_name="uspswtinternationalsettings",
|
|
201
|
+
name="carrier_ptr",
|
|
202
|
+
),
|
|
203
|
+
migrations.RemoveField(
|
|
204
|
+
model_name="uspswtsettings",
|
|
205
|
+
name="carrier_ptr",
|
|
206
|
+
),
|
|
207
|
+
migrations.RemoveField(
|
|
208
|
+
model_name="zoom2usettings",
|
|
209
|
+
name="carrier_ptr",
|
|
210
|
+
),
|
|
211
|
+
# 3. Delete all the models
|
|
212
|
+
migrations.DeleteModel(
|
|
213
|
+
name="AlliedExpressLocalSettings",
|
|
214
|
+
),
|
|
215
|
+
migrations.DeleteModel(
|
|
216
|
+
name="AlliedExpressSettings",
|
|
217
|
+
),
|
|
218
|
+
migrations.DeleteModel(
|
|
219
|
+
name="AmazonShippingSettings",
|
|
220
|
+
),
|
|
221
|
+
migrations.DeleteModel(
|
|
222
|
+
name="AramexSettings",
|
|
223
|
+
),
|
|
224
|
+
migrations.DeleteModel(
|
|
225
|
+
name="AsendiaUSSettings",
|
|
226
|
+
),
|
|
227
|
+
migrations.DeleteModel(
|
|
228
|
+
name="AustraliaPostSettings",
|
|
229
|
+
),
|
|
230
|
+
migrations.DeleteModel(
|
|
231
|
+
name="BelgianPostSettings",
|
|
232
|
+
),
|
|
233
|
+
migrations.DeleteModel(
|
|
234
|
+
name="BoxKnightSettings",
|
|
235
|
+
),
|
|
236
|
+
migrations.DeleteModel(
|
|
237
|
+
name="CanadaPostSettings",
|
|
238
|
+
),
|
|
239
|
+
migrations.DeleteModel(
|
|
240
|
+
name="CanparSettings",
|
|
241
|
+
),
|
|
242
|
+
migrations.DeleteModel(
|
|
243
|
+
name="ChronopostSettings",
|
|
244
|
+
),
|
|
245
|
+
migrations.DeleteModel(
|
|
246
|
+
name="ColissimoSettings",
|
|
247
|
+
),
|
|
248
|
+
migrations.DeleteModel(
|
|
249
|
+
name="DHLExpressSettings",
|
|
250
|
+
),
|
|
251
|
+
migrations.DeleteModel(
|
|
252
|
+
name="DHLParcelDESettings",
|
|
253
|
+
),
|
|
254
|
+
migrations.DeleteModel(
|
|
255
|
+
name="DHLPolandSettings",
|
|
256
|
+
),
|
|
257
|
+
migrations.DeleteModel(
|
|
258
|
+
name="DHLUniversalSettings",
|
|
259
|
+
),
|
|
260
|
+
migrations.DeleteModel(
|
|
261
|
+
name="DicomSettings",
|
|
262
|
+
),
|
|
263
|
+
migrations.DeleteModel(
|
|
264
|
+
name="DPDHLSettings",
|
|
265
|
+
),
|
|
266
|
+
migrations.DeleteModel(
|
|
267
|
+
name="DPDSettings",
|
|
268
|
+
),
|
|
269
|
+
migrations.DeleteModel(
|
|
270
|
+
name="EasyPostSettings",
|
|
271
|
+
),
|
|
272
|
+
migrations.DeleteModel(
|
|
273
|
+
name="EShipperSettings",
|
|
274
|
+
),
|
|
275
|
+
migrations.DeleteModel(
|
|
276
|
+
name="FedexSettings",
|
|
277
|
+
),
|
|
278
|
+
migrations.DeleteModel(
|
|
279
|
+
name="FedexWSSettings",
|
|
280
|
+
),
|
|
281
|
+
migrations.DeleteModel(
|
|
282
|
+
name="FreightcomSettings",
|
|
283
|
+
),
|
|
284
|
+
migrations.DeleteModel(
|
|
285
|
+
name="GenericSettings",
|
|
286
|
+
),
|
|
287
|
+
migrations.DeleteModel(
|
|
288
|
+
name="GEODISSettings",
|
|
289
|
+
),
|
|
290
|
+
migrations.DeleteModel(
|
|
291
|
+
name="HayPostSettings",
|
|
292
|
+
),
|
|
293
|
+
migrations.DeleteModel(
|
|
294
|
+
name="LaPosteSettings",
|
|
295
|
+
),
|
|
296
|
+
migrations.DeleteModel(
|
|
297
|
+
name="Locate2uSettings",
|
|
298
|
+
),
|
|
299
|
+
migrations.DeleteModel(
|
|
300
|
+
name="NationexSettings",
|
|
301
|
+
),
|
|
302
|
+
migrations.DeleteModel(
|
|
303
|
+
name="PurolatorSettings",
|
|
304
|
+
),
|
|
305
|
+
migrations.DeleteModel(
|
|
306
|
+
name="RoadieSettings",
|
|
307
|
+
),
|
|
308
|
+
migrations.DeleteModel(
|
|
309
|
+
name="RoyalMailSettings",
|
|
310
|
+
),
|
|
311
|
+
migrations.DeleteModel(
|
|
312
|
+
name="SendleSettings",
|
|
313
|
+
),
|
|
314
|
+
migrations.DeleteModel(
|
|
315
|
+
name="TGESettings",
|
|
316
|
+
),
|
|
317
|
+
migrations.DeleteModel(
|
|
318
|
+
name="TNTSettings",
|
|
319
|
+
),
|
|
320
|
+
migrations.DeleteModel(
|
|
321
|
+
name="UPSSettings",
|
|
322
|
+
),
|
|
323
|
+
migrations.DeleteModel(
|
|
324
|
+
name="USPSInternationalSettings",
|
|
325
|
+
),
|
|
326
|
+
migrations.DeleteModel(
|
|
327
|
+
name="USPSSettings",
|
|
328
|
+
),
|
|
329
|
+
migrations.DeleteModel(
|
|
330
|
+
name="USPSWTInternationalSettings",
|
|
331
|
+
),
|
|
332
|
+
migrations.DeleteModel(
|
|
333
|
+
name="USPSWTSettings",
|
|
334
|
+
),
|
|
335
|
+
migrations.DeleteModel(
|
|
336
|
+
name="Zoom2uSettings",
|
|
337
|
+
),
|
|
338
|
+
]
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Generated migration to add unique identifiers to ServiceLevel zones
|
|
2
|
+
from django.db import migrations
|
|
3
|
+
import uuid
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def add_zone_identifiers(apps, schema_editor):
|
|
7
|
+
"""Add unique IDs to existing zones in ServiceLevel objects"""
|
|
8
|
+
ServiceLevel = apps.get_model('providers', 'ServiceLevel')
|
|
9
|
+
|
|
10
|
+
for service in ServiceLevel.objects.all():
|
|
11
|
+
if service.zones:
|
|
12
|
+
updated = False
|
|
13
|
+
for i, zone in enumerate(service.zones):
|
|
14
|
+
if 'id' not in zone:
|
|
15
|
+
# Generate unique zone ID
|
|
16
|
+
zone['id'] = f"zone_{uuid.uuid4().hex[:8]}"
|
|
17
|
+
updated = True
|
|
18
|
+
|
|
19
|
+
if updated:
|
|
20
|
+
service.save(update_fields=['zones'])
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def reverse_zone_identifiers(apps, schema_editor):
|
|
24
|
+
"""Remove zone IDs (for rollback)"""
|
|
25
|
+
ServiceLevel = apps.get_model('providers', 'ServiceLevel')
|
|
26
|
+
|
|
27
|
+
for service in ServiceLevel.objects.all():
|
|
28
|
+
if service.zones:
|
|
29
|
+
updated = False
|
|
30
|
+
for zone in service.zones:
|
|
31
|
+
if 'id' in zone:
|
|
32
|
+
del zone['id']
|
|
33
|
+
updated = True
|
|
34
|
+
|
|
35
|
+
if updated:
|
|
36
|
+
service.save(update_fields=['zones'])
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class Migration(migrations.Migration):
|
|
40
|
+
|
|
41
|
+
dependencies = [
|
|
42
|
+
('providers', '0081_remove_alliedexpresssettings_carrier_ptr_and_more'),
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
operations = [
|
|
46
|
+
migrations.RunPython(
|
|
47
|
+
add_zone_identifiers,
|
|
48
|
+
reverse_zone_identifiers
|
|
49
|
+
),
|
|
50
|
+
]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Generated migration to add optimized rate sheet structure
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
import karrio.server.core.models as core
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
dependencies = [
|
|
9
|
+
('providers', '0082_add_zone_identifiers'),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AddField(
|
|
14
|
+
model_name='ratesheet',
|
|
15
|
+
name='zones',
|
|
16
|
+
field=models.JSONField(
|
|
17
|
+
blank=True,
|
|
18
|
+
null=True,
|
|
19
|
+
default=core.field_default([]),
|
|
20
|
+
help_text="Shared zone definitions: [{'id': 'zone_1', 'label': 'Zone 1', 'cities': [...], 'country_codes': [...]}]"
|
|
21
|
+
),
|
|
22
|
+
),
|
|
23
|
+
migrations.AddField(
|
|
24
|
+
model_name='ratesheet',
|
|
25
|
+
name='service_rates',
|
|
26
|
+
field=models.JSONField(
|
|
27
|
+
blank=True,
|
|
28
|
+
null=True,
|
|
29
|
+
default=core.field_default([]),
|
|
30
|
+
help_text="Service-zone rate mapping: [{'service_id': 'svc_1', 'zone_id': 'zone_1', 'rate': 10.50}]"
|
|
31
|
+
),
|
|
32
|
+
),
|
|
33
|
+
]
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# Generated by Django 5.2.5 on 2025-08-19 19:09
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("providers", "0083_add_optimized_rate_sheet_structure"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AlterField(
|
|
14
|
+
model_name="servicelevel",
|
|
15
|
+
name="currency",
|
|
16
|
+
field=models.CharField(
|
|
17
|
+
blank=True,
|
|
18
|
+
choices=[
|
|
19
|
+
("EUR", "EUR"),
|
|
20
|
+
("AED", "AED"),
|
|
21
|
+
("USD", "USD"),
|
|
22
|
+
("XCD", "XCD"),
|
|
23
|
+
("AMD", "AMD"),
|
|
24
|
+
("ANG", "ANG"),
|
|
25
|
+
("AOA", "AOA"),
|
|
26
|
+
("ARS", "ARS"),
|
|
27
|
+
("AUD", "AUD"),
|
|
28
|
+
("AWG", "AWG"),
|
|
29
|
+
("AZN", "AZN"),
|
|
30
|
+
("BAM", "BAM"),
|
|
31
|
+
("BBD", "BBD"),
|
|
32
|
+
("BDT", "BDT"),
|
|
33
|
+
("XOF", "XOF"),
|
|
34
|
+
("BGN", "BGN"),
|
|
35
|
+
("BHD", "BHD"),
|
|
36
|
+
("BIF", "BIF"),
|
|
37
|
+
("BMD", "BMD"),
|
|
38
|
+
("BND", "BND"),
|
|
39
|
+
("BOB", "BOB"),
|
|
40
|
+
("BRL", "BRL"),
|
|
41
|
+
("BSD", "BSD"),
|
|
42
|
+
("BTN", "BTN"),
|
|
43
|
+
("BWP", "BWP"),
|
|
44
|
+
("BYN", "BYN"),
|
|
45
|
+
("BZD", "BZD"),
|
|
46
|
+
("CAD", "CAD"),
|
|
47
|
+
("CDF", "CDF"),
|
|
48
|
+
("XAF", "XAF"),
|
|
49
|
+
("CHF", "CHF"),
|
|
50
|
+
("NZD", "NZD"),
|
|
51
|
+
("CLP", "CLP"),
|
|
52
|
+
("CNY", "CNY"),
|
|
53
|
+
("COP", "COP"),
|
|
54
|
+
("CRC", "CRC"),
|
|
55
|
+
("CUC", "CUC"),
|
|
56
|
+
("CVE", "CVE"),
|
|
57
|
+
("CZK", "CZK"),
|
|
58
|
+
("DJF", "DJF"),
|
|
59
|
+
("DKK", "DKK"),
|
|
60
|
+
("DOP", "DOP"),
|
|
61
|
+
("DZD", "DZD"),
|
|
62
|
+
("EGP", "EGP"),
|
|
63
|
+
("ERN", "ERN"),
|
|
64
|
+
("ETB", "ETB"),
|
|
65
|
+
("FJD", "FJD"),
|
|
66
|
+
("GBP", "GBP"),
|
|
67
|
+
("GEL", "GEL"),
|
|
68
|
+
("GHS", "GHS"),
|
|
69
|
+
("GMD", "GMD"),
|
|
70
|
+
("GNF", "GNF"),
|
|
71
|
+
("GTQ", "GTQ"),
|
|
72
|
+
("GYD", "GYD"),
|
|
73
|
+
("HKD", "HKD"),
|
|
74
|
+
("HNL", "HNL"),
|
|
75
|
+
("HRK", "HRK"),
|
|
76
|
+
("HTG", "HTG"),
|
|
77
|
+
("HUF", "HUF"),
|
|
78
|
+
("IDR", "IDR"),
|
|
79
|
+
("ILS", "ILS"),
|
|
80
|
+
("INR", "INR"),
|
|
81
|
+
("IRR", "IRR"),
|
|
82
|
+
("ISK", "ISK"),
|
|
83
|
+
("JMD", "JMD"),
|
|
84
|
+
("JOD", "JOD"),
|
|
85
|
+
("JPY", "JPY"),
|
|
86
|
+
("KES", "KES"),
|
|
87
|
+
("KGS", "KGS"),
|
|
88
|
+
("KHR", "KHR"),
|
|
89
|
+
("KMF", "KMF"),
|
|
90
|
+
("KPW", "KPW"),
|
|
91
|
+
("KRW", "KRW"),
|
|
92
|
+
("KWD", "KWD"),
|
|
93
|
+
("KYD", "KYD"),
|
|
94
|
+
("KZT", "KZT"),
|
|
95
|
+
("LAK", "LAK"),
|
|
96
|
+
("LKR", "LKR"),
|
|
97
|
+
("LRD", "LRD"),
|
|
98
|
+
("LSL", "LSL"),
|
|
99
|
+
("LYD", "LYD"),
|
|
100
|
+
("MAD", "MAD"),
|
|
101
|
+
("MDL", "MDL"),
|
|
102
|
+
("MGA", "MGA"),
|
|
103
|
+
("MKD", "MKD"),
|
|
104
|
+
("MMK", "MMK"),
|
|
105
|
+
("MNT", "MNT"),
|
|
106
|
+
("MOP", "MOP"),
|
|
107
|
+
("MRO", "MRO"),
|
|
108
|
+
("MUR", "MUR"),
|
|
109
|
+
("MVR", "MVR"),
|
|
110
|
+
("MWK", "MWK"),
|
|
111
|
+
("MXN", "MXN"),
|
|
112
|
+
("MYR", "MYR"),
|
|
113
|
+
("MZN", "MZN"),
|
|
114
|
+
("NAD", "NAD"),
|
|
115
|
+
("XPF", "XPF"),
|
|
116
|
+
("NGN", "NGN"),
|
|
117
|
+
("NIO", "NIO"),
|
|
118
|
+
("NOK", "NOK"),
|
|
119
|
+
("NPR", "NPR"),
|
|
120
|
+
("OMR", "OMR"),
|
|
121
|
+
("PEN", "PEN"),
|
|
122
|
+
("PGK", "PGK"),
|
|
123
|
+
("PHP", "PHP"),
|
|
124
|
+
("PKR", "PKR"),
|
|
125
|
+
("PLN", "PLN"),
|
|
126
|
+
("PYG", "PYG"),
|
|
127
|
+
("QAR", "QAR"),
|
|
128
|
+
("RON", "RON"),
|
|
129
|
+
("RSD", "RSD"),
|
|
130
|
+
("RUB", "RUB"),
|
|
131
|
+
("RWF", "RWF"),
|
|
132
|
+
("SAR", "SAR"),
|
|
133
|
+
("SBD", "SBD"),
|
|
134
|
+
("SCR", "SCR"),
|
|
135
|
+
("SDG", "SDG"),
|
|
136
|
+
("SEK", "SEK"),
|
|
137
|
+
("SGD", "SGD"),
|
|
138
|
+
("SHP", "SHP"),
|
|
139
|
+
("SLL", "SLL"),
|
|
140
|
+
("SOS", "SOS"),
|
|
141
|
+
("SRD", "SRD"),
|
|
142
|
+
("SSP", "SSP"),
|
|
143
|
+
("STD", "STD"),
|
|
144
|
+
("SYP", "SYP"),
|
|
145
|
+
("SZL", "SZL"),
|
|
146
|
+
("THB", "THB"),
|
|
147
|
+
("TJS", "TJS"),
|
|
148
|
+
("TND", "TND"),
|
|
149
|
+
("TOP", "TOP"),
|
|
150
|
+
("TRY", "TRY"),
|
|
151
|
+
("TTD", "TTD"),
|
|
152
|
+
("TWD", "TWD"),
|
|
153
|
+
("TZS", "TZS"),
|
|
154
|
+
("UAH", "UAH"),
|
|
155
|
+
("UYU", "UYU"),
|
|
156
|
+
("UZS", "UZS"),
|
|
157
|
+
("VEF", "VEF"),
|
|
158
|
+
("VND", "VND"),
|
|
159
|
+
("VUV", "VUV"),
|
|
160
|
+
("WST", "WST"),
|
|
161
|
+
("YER", "YER"),
|
|
162
|
+
("ZAR", "ZAR"),
|
|
163
|
+
],
|
|
164
|
+
max_length=4,
|
|
165
|
+
null=True,
|
|
166
|
+
),
|
|
167
|
+
),
|
|
168
|
+
]
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Generated by Django migration to populate missing required credentials for DHL Parcel DE
|
|
2
|
+
# This migration ensures existing dhl_parcel_de connections have all required fields
|
|
3
|
+
# (username, password, client_id, client_secret) to prevent initialization errors
|
|
4
|
+
# after the settings schema was updated.
|
|
5
|
+
|
|
6
|
+
from django.db import migrations
|
|
7
|
+
from django.utils import timezone
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# Required fields for dhl_parcel_de that have no default values
|
|
11
|
+
REQUIRED_FIELDS = ["username", "password", "client_id", "client_secret"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def populate_dhl_parcel_de_required_credentials(apps, schema_editor):
|
|
15
|
+
"""
|
|
16
|
+
Find all dhl_parcel_de carrier connections that are missing required fields
|
|
17
|
+
and populate them with placeholder timestamp values.
|
|
18
|
+
"""
|
|
19
|
+
Carrier = apps.get_model("providers", "Carrier")
|
|
20
|
+
db_alias = schema_editor.connection.alias
|
|
21
|
+
|
|
22
|
+
# Find all dhl_parcel_de carriers
|
|
23
|
+
dhl_parcel_de_carriers = Carrier.objects.using(db_alias).filter(
|
|
24
|
+
carrier_code="dhl_parcel_de"
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
timestamp = timezone.now().strftime("%Y%m%d%H%M%S")
|
|
28
|
+
|
|
29
|
+
for carrier in dhl_parcel_de_carriers:
|
|
30
|
+
credentials = carrier.credentials or {}
|
|
31
|
+
updated = False
|
|
32
|
+
|
|
33
|
+
# Check and populate all missing required fields
|
|
34
|
+
for field in REQUIRED_FIELDS:
|
|
35
|
+
if not credentials.get(field):
|
|
36
|
+
credentials[field] = f"PLACEHOLDER_{timestamp}"
|
|
37
|
+
updated = True
|
|
38
|
+
|
|
39
|
+
if updated:
|
|
40
|
+
carrier.credentials = credentials
|
|
41
|
+
carrier.save(using=db_alias, update_fields=["credentials"])
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def reverse_dhl_parcel_de_required_credentials(apps, schema_editor):
|
|
45
|
+
"""
|
|
46
|
+
Remove placeholder credentials (for rollback).
|
|
47
|
+
Only removes credentials that were set by this migration (contain PLACEHOLDER_).
|
|
48
|
+
"""
|
|
49
|
+
Carrier = apps.get_model("providers", "Carrier")
|
|
50
|
+
db_alias = schema_editor.connection.alias
|
|
51
|
+
|
|
52
|
+
dhl_parcel_de_carriers = Carrier.objects.using(db_alias).filter(
|
|
53
|
+
carrier_code="dhl_parcel_de"
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
for carrier in dhl_parcel_de_carriers:
|
|
57
|
+
credentials = carrier.credentials or {}
|
|
58
|
+
updated = False
|
|
59
|
+
|
|
60
|
+
# Only remove if it's a placeholder value
|
|
61
|
+
for field in REQUIRED_FIELDS:
|
|
62
|
+
if credentials.get(field, "").startswith("PLACEHOLDER_"):
|
|
63
|
+
del credentials[field]
|
|
64
|
+
updated = True
|
|
65
|
+
|
|
66
|
+
if updated:
|
|
67
|
+
carrier.credentials = credentials
|
|
68
|
+
carrier.save(using=db_alias, update_fields=["credentials"])
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class Migration(migrations.Migration):
|
|
72
|
+
|
|
73
|
+
dependencies = [
|
|
74
|
+
("providers", "0084_alter_servicelevel_currency"),
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
operations = [
|
|
78
|
+
migrations.RunPython(
|
|
79
|
+
populate_dhl_parcel_de_required_credentials,
|
|
80
|
+
reverse_dhl_parcel_de_required_credentials,
|
|
81
|
+
),
|
|
82
|
+
]
|