forest_admin_datasource_toolkit 1.12.5 → 1.12.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d0914991ed2cf3e5449363d6eb47405a6ca3903f8fb48b26a6add92c7eeb8a2
4
- data.tar.gz: 642d7a1f7dc91806236de93ecb8a66276070a93db65018b1425fd9238289b7a5
3
+ metadata.gz: 44923207269f5d54e53a81a9cb33c5a67efeec2eb627bc445c8d94e6f4f88544
4
+ data.tar.gz: 6af63f885bc642506cb48d19386bc45c73d7bf9a86b57dc4bdef7405457a6341
5
5
  SHA512:
6
- metadata.gz: 692bacdec05bdf3e0591319945cce1133f762d3956cc7b7adf21e3881af53e101a52d8044b7c4b55234c00f2871cea82e9858e41db9029fddb93fbb1e73cf872
7
- data.tar.gz: 4d480817a3ba453b3aab16c8280e9937cce495a989c47f842cb28cf5f5f5ed67172826435b2c46399305c70f6b3ffc206bce42e0c29624431022dc59733c444a
6
+ metadata.gz: c92a96a249e4376ab96e017988b76fadd69d0104e70fd96de38a4f1dbf8db68eec012c2c39685b2f3e1429feb412c542842443500d00e333ef701217b754b209
7
+ data.tar.gz: 4ba87bf6bf46e0a0e0f2cfdc4bd354dc2a0aaa7c0d42b31d8da463eb7c93f53188d754a851039e016adb63a4c7ff89af5488873eab79f4c54f1e8221fad7bd72
@@ -28,7 +28,15 @@ module ForestAdminDatasourceToolkit
28
28
  end
29
29
  end
30
30
 
31
- match_fields(primary_key_names, ids)
31
+ normalized_ids = ids.map do |id|
32
+ if id.is_a?(Hash)
33
+ primary_key_names.map { |pk_name| id[pk_name] }
34
+ else
35
+ id
36
+ end
37
+ end
38
+
39
+ match_fields(primary_key_names, normalized_ids)
32
40
  end
33
41
 
34
42
  def self.intersect(trees = nil)
@@ -78,18 +78,18 @@ module ForestAdminDatasourceToolkit
78
78
  )
79
79
  end
80
80
 
81
- def self.get_value(collection, caller, id, field)
82
- if id.is_a? Array
81
+ def self.get_value(collection, caller, primary_key_values, field)
82
+ if primary_key_values.is_a? Array
83
83
  index = Schema.primary_keys(collection).index(field)
84
84
 
85
- return id[index] if index
85
+ return primary_key_values[index] if index
86
86
  elsif Schema.primary_keys(collection).include?(field)
87
- return id[field]
87
+ return primary_key_values[field]
88
88
  end
89
89
 
90
90
  records = collection.list(
91
91
  caller,
92
- ForestAdminDatasourceToolkit::Components::Query::Filter.new(condition_tree: ConditionTree::ConditionTreeFactory.match_ids(collection, [id])),
92
+ ForestAdminDatasourceToolkit::Components::Query::Filter.new(condition_tree: ConditionTree::ConditionTreeFactory.match_ids(collection, [primary_key_values])),
93
93
  Projection.new([field])
94
94
  )
95
95
 
@@ -130,7 +130,7 @@ module ForestAdminDatasourceToolkit
130
130
  nil
131
131
  end
132
132
 
133
- def self.list_relation(collection, id, relation_name, caller, foreign_filter, projection)
133
+ def self.list_relation(collection, primary_key_values, relation_name, caller, foreign_filter, projection)
134
134
  relation = collection.schema[:fields][relation_name]
135
135
  foreign_collection = collection.datasource.get_collection(relation.foreign_collection)
136
136
 
@@ -141,7 +141,7 @@ module ForestAdminDatasourceToolkit
141
141
  through_collection = collection.datasource.get_collection(relation.through_collection)
142
142
  records = through_collection.list(
143
143
  caller,
144
- FilterFactory.make_through_filter(collection, id, relation_name, caller, foreign_filter),
144
+ FilterFactory.make_through_filter(collection, primary_key_values, relation_name, caller, foreign_filter),
145
145
  projection.nest(prefix: foreign_relation)
146
146
  )
147
147
 
@@ -151,12 +151,12 @@ module ForestAdminDatasourceToolkit
151
151
 
152
152
  foreign_collection.list(
153
153
  caller,
154
- FilterFactory.make_foreign_filter(collection, id, relation_name, caller, foreign_filter),
154
+ FilterFactory.make_foreign_filter(collection, primary_key_values, relation_name, caller, foreign_filter),
155
155
  projection
156
156
  )
157
157
  end
158
158
 
159
- def self.aggregate_relation(collection, id, relation_name, caller, foreign_filter, aggregation, limit = nil)
159
+ def self.aggregate_relation(collection, primary_key_values, relation_name, caller, foreign_filter, aggregation, limit = nil)
160
160
  relation = collection.schema[:fields][relation_name]
161
161
  foreign_collection = collection.datasource.get_collection(relation.foreign_collection)
162
162
 
@@ -167,7 +167,7 @@ module ForestAdminDatasourceToolkit
167
167
 
168
168
  return through_collection.aggregate(
169
169
  caller,
170
- FilterFactory.make_through_filter(collection, id, relation_name, caller, foreign_filter),
170
+ FilterFactory.make_through_filter(collection, primary_key_values, relation_name, caller, foreign_filter),
171
171
  aggregation,
172
172
  limit
173
173
  )
@@ -176,7 +176,7 @@ module ForestAdminDatasourceToolkit
176
176
 
177
177
  foreign_collection.aggregate(
178
178
  caller,
179
- FilterFactory.make_foreign_filter(collection, id, relation_name, caller, foreign_filter),
179
+ FilterFactory.make_foreign_filter(collection, primary_key_values, relation_name, caller, foreign_filter),
180
180
  aggregation,
181
181
  limit
182
182
  )
@@ -51,6 +51,8 @@ module ForestAdminDatasourceToolkit
51
51
 
52
52
  return PrimitiveTypes::POINT if point?(value, type_context)
53
53
 
54
+ return PrimitiveTypes::NUMBER if type_context == PrimitiveTypes::NUMBER && number?(value)
55
+
54
56
  PrimitiveTypes::STRING
55
57
  end
56
58
 
@@ -1,3 +1,3 @@
1
1
  module ForestAdminDatasourceToolkit
2
- VERSION = "1.12.5"
2
+ VERSION = "1.12.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forest_admin_datasource_toolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.5
4
+ version: 1.12.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthieu
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2025-10-24 00:00:00.000000000 Z
12
+ date: 2025-10-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport