model_driven_api 3.1.4 → 3.1.6
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/app/controllers/api/v2/info_controller.rb +9 -7
- data/lib/model_driven_api/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: 2a72bb6cfea6d9f8e0fd4fff0643ee5f73c4c4434532092bd428c7b048c5f9b0
|
4
|
+
data.tar.gz: 51c3691214427e0aaa6111cf00a9b476fdb4c91861ba1819a227ea859f924a2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af0ddbc93b40f315b170630facacb7357022880e560502c83f4e2f2e5ac4342ffb5eaece4be1e1e591d5f0fa6b0a447b1e49ecbd6f9bf2975ee15c2a4b5c8743
|
7
|
+
data.tar.gz: f6318805dc382e2ce28494a74174d01bd53fb12749151a6ea5b21d4ea610dd23a9a4ac8c3dce09ff241c21202f8c3291694056917024781df012f39ac8e25460
|
@@ -84,12 +84,14 @@ class Api::V2::InfoController < Api::V2::ApplicationController
|
|
84
84
|
method_key.type.to_s
|
85
85
|
end
|
86
86
|
|
87
|
-
def create_properties_from_model(model, dsl)
|
87
|
+
def create_properties_from_model(model, dsl, remove_reserved = false)
|
88
88
|
JSON.parse(model.new.to_json(dsl)).keys.map do |k|
|
89
|
-
# Rails.logger.debug "###################### Model #{model.model_name.human rescue ""} Key #{k}"
|
90
89
|
type = compute_type(model, k)
|
91
|
-
|
92
|
-
|
90
|
+
|
91
|
+
# Remove fields that cannot be created or updated
|
92
|
+
if remove_reserved && %w( id created_at updated_at lock_version).include?(k.to_s)
|
93
|
+
nil
|
94
|
+
elsif type == "method"
|
93
95
|
[k, { "type": "object", "additionalProperties": true }]
|
94
96
|
elsif type == "date"
|
95
97
|
[k, { "type": "string", "format": "date" }]
|
@@ -468,7 +470,7 @@ class Api::V2::InfoController < Api::V2::ApplicationController
|
|
468
470
|
"properties": {
|
469
471
|
"#{model.singularize}": {
|
470
472
|
"type": "object",
|
471
|
-
"properties": create_properties_from_model(d,
|
473
|
+
"properties": create_properties_from_model(d, {}, true)
|
472
474
|
}
|
473
475
|
}
|
474
476
|
}
|
@@ -611,7 +613,7 @@ class Api::V2::InfoController < Api::V2::ApplicationController
|
|
611
613
|
"properties": {
|
612
614
|
"#{model.singularize}": {
|
613
615
|
"type": "object",
|
614
|
-
"properties": create_properties_from_model(d, {})
|
616
|
+
"properties": create_properties_from_model(d, {}, true)
|
615
617
|
}
|
616
618
|
}
|
617
619
|
}
|
@@ -660,7 +662,7 @@ class Api::V2::InfoController < Api::V2::ApplicationController
|
|
660
662
|
"properties": {
|
661
663
|
"#{model.singularize}": {
|
662
664
|
"type": "object",
|
663
|
-
"properties": create_properties_from_model(d, {})
|
665
|
+
"properties": create_properties_from_model(d, {}, true)
|
664
666
|
}
|
665
667
|
}
|
666
668
|
}
|