clear-skies 1.19.1__py3-none-any.whl → 1.19.2__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.

Potentially problematic release.


This version of clear-skies might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: clear-skies
3
- Version: 1.19.1
3
+ Version: 1.19.2
4
4
  Summary: A framework for building backends in the cloud
5
5
  Home-page: https://github.com/cmancone/clearskies
6
6
  License: MIT
@@ -56,7 +56,7 @@ clearskies/backends/secrets_backend.py,sha256=4lzrgdL_O_pgCT5HknV2gotFgp9GzjQ5_2
56
56
  clearskies/binding_config.py,sha256=bF8LBNEgJacwKCqToAtDqN9hv5omzU7zt_4qB9KPtE0,457
57
57
  clearskies/column_types/__init__.py,sha256=QHEFFd3wRXvaOR7uZk-bpVLlLoTiN3D4S8sBU9rFwCE,4330
58
58
  clearskies/column_types/audit.py,sha256=meDFV0s4u9i6UojN5f6EQk_kh-nGP8xPscCRa2Nd-yw,8102
59
- clearskies/column_types/belongs_to.py,sha256=a64yQ1kWRiljOfHToGsyKbAqdgNLvbRKBYEzrp1IWXo,10714
59
+ clearskies/column_types/belongs_to.py,sha256=tH1tbTOfjifSNuVjO-KbMF7GiUIoLfcDItrrS3TGGM8,11044
60
60
  clearskies/column_types/boolean.py,sha256=1yyM1CUfgD84pPE65c1OP1Qjf_J0Z45hjPrDR51AUkQ,1878
61
61
  clearskies/column_types/category_tree.py,sha256=PgNmzZPyqYS5NADH_QTCxLvDXZFxzv5ESKTkvPrrLXo,9140
62
62
  clearskies/column_types/column.py,sha256=PUrFyA2KmSyAZTAiJPfHy5Dlc1YPEb62c7r0BOTkF1s,13541
@@ -153,12 +153,12 @@ clearskies/handlers/simple_search.py,sha256=bSfq8rzdqkBj-dTGUBSZ1EkfjzUWHID7mKD2
153
153
  clearskies/handlers/update.py,sha256=VCZkoID7i5VHq78fkIpjbRdXQ4Z3IuXEE5dfC8z4RZI,4088
154
154
  clearskies/handlers/write.py,sha256=VduGtjnFMQOvo3l0t-tUP4PExPJ9JEpuziHsquF08rE,9344
155
155
  clearskies/input_outputs/__init__.py,sha256=mQWL-u41FRTrPGuHe8FhLmcHjAEaUxjFwUf7RgDcbAs,182
156
- clearskies/input_outputs/cli.py,sha256=snIfLFakIqDXm-AXVN6qes0tZsg2IM7T1riFzDdHlMM,6254
156
+ clearskies/input_outputs/cli.py,sha256=F54wues9cNESE8FhQP3mDWrgrZyFouDIN-ZZ3-KJjks,6258
157
157
  clearskies/input_outputs/exceptions/__init__.py,sha256=bc5Tc1XBZnqA1fKbk7pk5hyx102vqx3sDE19E03xGk4,82
158
158
  clearskies/input_outputs/exceptions/cli_input_error.py,sha256=kOFU8aLTLmeTL_AKDshxMu8_ufildg6p8ndhE1xHfb0,41
159
159
  clearskies/input_outputs/exceptions/cli_not_found.py,sha256=JBBuZA9ZwdkPhd3a0qaGgEPQrxh1fehy4R3ZaV2gWXU,39
160
160
  clearskies/input_outputs/input_output.py,sha256=vYKn9SE5erS4LuOhhAsXqaOEsGXwZ1NJ4v85KN1Xg6A,4501
161
- clearskies/input_outputs/wsgi.py,sha256=bqRzzJLifAVXgXw1Lsg0lQ0uwZ8SLSn-NSbD5dKrSw4,3138
161
+ clearskies/input_outputs/wsgi.py,sha256=9p82eJP5FUAI6jbIojvydG3_9gncX7vcUACQMyRN9x4,3142
162
162
  clearskies/input_requirements/__init__.py,sha256=MpR-oEn1aLHdWHI60Y0QN2q6FyqqySCxcEaHR51aKpk,602
163
163
  clearskies/input_requirements/maximum_length.py,sha256=7hdGVq914BtZQwiGOLOU-t5QTDNQtCPT4TOnYTUo3Wo,689
164
164
  clearskies/input_requirements/minimum_length.py,sha256=qSpLjNBu6AKRoBZi3jvCMYKsHwsknbkUk86C8CMIOEU,987
@@ -192,7 +192,7 @@ clearskies/tests/simple_api/models/__init__.py,sha256=nUA0W6fgXw_Bxa9CudkaDkC80t
192
192
  clearskies/tests/simple_api/models/status.py,sha256=PEhPbaQh5qdUNHp8O0gz91LOLENAEBtqSaHxUPXchaM,699
193
193
  clearskies/tests/simple_api/models/user.py,sha256=5_P4Tp1tTdX7PkMJ__epPM5MA7JAeVYGas69vcWloLc,819
194
194
  clearskies/tests/simple_api/users_api.py,sha256=KYXCgEofDxHeRdQK67txN5oYUPvxxmB8JTku7L-apk4,2344
195
- clear_skies-1.19.1.dist-info/LICENSE,sha256=3Ehd0g3YOpCj8sqj0Xjq5qbOtjjgk9qzhhD9YjRQgOA,1053
196
- clear_skies-1.19.1.dist-info/METADATA,sha256=DX_73NV_YKj9ZGgLCWUMttObuA9R60kC4_EQXfTVgqs,1366
197
- clear_skies-1.19.1.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
198
- clear_skies-1.19.1.dist-info/RECORD,,
195
+ clear_skies-1.19.2.dist-info/LICENSE,sha256=3Ehd0g3YOpCj8sqj0Xjq5qbOtjjgk9qzhhD9YjRQgOA,1053
196
+ clear_skies-1.19.2.dist-info/METADATA,sha256=oViYadXM8eLgTlXMKz7jhbRDUbWB2gBwxtztzicv9ZA,1366
197
+ clear_skies-1.19.2.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
198
+ clear_skies-1.19.2.dist-info/RECORD,,
@@ -98,7 +98,15 @@ class BelongsTo(String):
98
98
  return integer_check
99
99
  parent_models = self.parent_models
100
100
  id_column_name = parent_models.get_id_column_name()
101
- if not len(parent_models.where(f"{id_column_name}={value}")):
101
+ matching_parents = parent_models.where(f"{id_column_name}={value}")
102
+ input_output = self.di.build("input_output", cache=True)
103
+ matching_parents = matching_parents.where_for_request(
104
+ matching_parents,
105
+ input_output.routing_data(),
106
+ input_output.get_authorization_data(),
107
+ input_output,
108
+ )
109
+ if not len(matching_parents):
102
110
  return f"Invalid selection for {self.name}: record does not exist"
103
111
  return ""
104
112
 
@@ -21,7 +21,7 @@ class CLI:
21
21
  self._request_method = None
22
22
  self._parse_args(self._sys.argv)
23
23
 
24
- def respond(self, response, status_code):
24
+ def respond(self, response, status_code=200):
25
25
  if status_code == 404:
26
26
  raise exceptions.CLINotFound()
27
27
  if status_code != 200:
@@ -21,7 +21,7 @@ class WSGI(InputOutput):
21
21
  def _from_environment(self, key):
22
22
  return self._environment[key] if key in self._environment else ""
23
23
 
24
- def respond(self, body, status_code):
24
+ def respond(self, body, status_code=200):
25
25
  if not self.has_header("content-type"):
26
26
  self.set_header("content-type", "application/json; charset=UTF-8")
27
27