json2sql 1.0.17 → 1.0.18
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.
- checksums.yaml +4 -4
- data/lib/json2sql/query_policy.rb +3 -18
- data/lib/json2sql/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 618340f3aa421355f5cc948d54c1f974470511f8c3aa437329616a03b206b5e0
|
|
4
|
+
data.tar.gz: 392631d8f2da7a660697f01ec7a13021d4ea5a87417cf58180be2dd15caf74f5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7188db0f32412eb1f66d7d459252ecd747b7227c76d2523b1bba45ecc10737055750346a655c83f1239a0b4f131f4cf67166ebc72ea3f6e21480e5adabbfd3db
|
|
7
|
+
data.tar.gz: 1596d94d6774787a273fb7d554b06469f0e5efc1b1ed07829d853eb097a0c6b08c31f55e35f5dae894ab6613bb08aaf0dac28542b55ed971422cc43fd6eea3e2
|
|
@@ -14,8 +14,7 @@ module Json2sql
|
|
|
14
14
|
# children: { child_table => { columns: [...], ... } },
|
|
15
15
|
# parents: { parent_table => { columns: [...], ... } },
|
|
16
16
|
# where: { "and" => { col => val } } } }
|
|
17
|
-
|
|
18
|
-
# nil or absent = no column restriction for that table.
|
|
17
|
+
# columns: Array — filtered by `mode` (allowed or denied).
|
|
19
18
|
# children: nested hash of allowed/denied child tables with their own config.
|
|
20
19
|
# nil or absent = no restriction on children.
|
|
21
20
|
# In :deny mode: a child relation is removed only when all its
|
|
@@ -134,26 +133,12 @@ module Json2sql
|
|
|
134
133
|
# Filters "columns" using mode (:allow or :deny).
|
|
135
134
|
# Handles Array (SELECT) and Hash (INSERT/UPDATE) column formats.
|
|
136
135
|
# Hash entries (function columns) always pass through in :allow mode.
|
|
137
|
-
# If no column list is defined: in :allow mode all columns are blocked;
|
|
138
|
-
# in :deny mode columns are untouched.
|
|
139
136
|
|
|
140
137
|
def filter_columns(params, config)
|
|
141
138
|
|
|
142
|
-
param_columns = params["columns"]
|
|
139
|
+
param_columns = params["columns"] || []
|
|
143
140
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
config_columns = config["columns"]
|
|
147
|
-
|
|
148
|
-
unless config_columns.is_a?(Array)
|
|
149
|
-
|
|
150
|
-
if @mode == :allow
|
|
151
|
-
|
|
152
|
-
params["columns"] = param_columns.is_a?(Array) ? [] : {}
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
return
|
|
156
|
-
end
|
|
141
|
+
config_columns = config["columns"] || []
|
|
157
142
|
|
|
158
143
|
if @mode == :deny
|
|
159
144
|
|
data/lib/json2sql/version.rb
CHANGED