infopark_fiona7 1.6.1.1.0 → 1.6.1.1.1
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/fiona7/controllers/rest_api/blob_controller.rb +29 -0
- data/lib/fiona7/routers/rest_api.rb +6 -2
- data/lib/fiona7/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8619bcb34e8b06c4499cce99ce0cad5609cc5691
|
4
|
+
data.tar.gz: 2d10b5a8e74cfc9139ff9d10f27e7a478da66645
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2da3e5d4a375674f33e7f8003eb5bdf85e6a1a48c83c74abcd92fcacbbe7d152ba8f4b2b49d76d80bfa8e60d5f59e30861992f3afcd7d6a4288e5ea56fd987b2
|
7
|
+
data.tar.gz: 81be495b06b82580e67a75c229d0eca2d8162813068b900b78e19b8119a1db931530fb51be78ee6701445869045de8e8d85bdf3086da9eb36d0bb3a16899d578
|
@@ -75,6 +75,35 @@ module Fiona7
|
|
75
75
|
|
76
76
|
return binary_spec
|
77
77
|
end
|
78
|
+
|
79
|
+
def parse_blob_id_from_url( url )
|
80
|
+
return unless url.present?
|
81
|
+
match_result = url.match(/\/_b\/([a-zA-Z0-9_-]+)(\Z|\/)/)
|
82
|
+
return match_result[1] if match_result
|
83
|
+
end
|
84
|
+
|
85
|
+
def obj_id_from_blob_id(blob_id)
|
86
|
+
return unless blob_id.present?
|
87
|
+
binary = BinaryHandling::MetaBinary.new(blob_id)
|
88
|
+
return binary.implementation.obj.id if binary.implementation.obj.present?
|
89
|
+
end
|
90
|
+
|
91
|
+
def resolve_urls(params)
|
92
|
+
if urls = params[:urls]
|
93
|
+
if Array === urls
|
94
|
+
{
|
95
|
+
results: urls.map do |url|
|
96
|
+
obj_id = obj_id_from_blob_id( parse_blob_id_from_url( url ) )
|
97
|
+
{obj_id: obj_id} if obj_id.present?
|
98
|
+
end
|
99
|
+
}
|
100
|
+
else
|
101
|
+
"The value for “urls” is not an array."
|
102
|
+
end
|
103
|
+
else
|
104
|
+
"Missing value for the key “urls”."
|
105
|
+
end
|
106
|
+
end
|
78
107
|
end
|
79
108
|
end
|
80
109
|
end
|
@@ -17,7 +17,7 @@ class Scrivito::CmsRestApi
|
|
17
17
|
def get(resource_path, payload = nil, options = nil)
|
18
18
|
@number_of_requests += 1 if resource_path == @count_requests
|
19
19
|
|
20
|
-
|
20
|
+
|
21
21
|
action = :get
|
22
22
|
ActiveSupport::Notifications.instrumenter.instrument(
|
23
23
|
"backend_request.scrivito",
|
@@ -57,12 +57,16 @@ class Scrivito::CmsRestApi
|
|
57
57
|
when /\A\/?workspaces\/[a-zA-Z0-9_-]+\/changes\Z/
|
58
58
|
_, _, workspace_id,_ = *resource_path.split("/")
|
59
59
|
Fiona7::Controllers::RestAPI::WorkspaceController.new.changes(workspace_id)
|
60
|
-
when /\A\/?workspaces\/[a-zA-Z0-9_-]+\/objs\/mget
|
60
|
+
when /\A\/?workspaces\/[a-zA-Z0-9_-]+\/objs\/mget\Z/
|
61
61
|
_, _, workspace_id, _, _ = *resource_path.split("/")
|
62
62
|
Fiona7::Controllers::RestAPI::ObjController.new.fetch_multiple2(workspace_id, payload)
|
63
|
+
when /\A\/?workspaces\/[a-zA-Z0-9_-]+\/base_objs\/mget\Z/
|
64
|
+
Fiona7::Controllers::RestAPI::ObjController.new.fetch_multiple2('published', payload)
|
63
65
|
when /\A\/?workspaces\/[a-zA-Z0-9_-]+\/objs\/[a-zA-Z0-9_-]+\Z/
|
64
66
|
_, _, workspace_id, _, obj_id = *resource_path.split("/")
|
65
67
|
Fiona7::Controllers::RestAPI::ObjController.new.fetch_by_id(workspace_id, obj_id)
|
68
|
+
when /\A\/?blobs\/resolve_urls\Z/
|
69
|
+
Fiona7::Controllers::RestAPI::BlobController.new.resolve_urls(payload)
|
66
70
|
when /\A\/?blobs\/[a-zA-Z0-9_-]+\Z/
|
67
71
|
_, _, blob_id = *resource_path.split("/")
|
68
72
|
Fiona7::Controllers::RestAPI::BlobController.new.fetch(blob_id)
|
data/lib/fiona7/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: infopark_fiona7
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.1.1.
|
4
|
+
version: 1.6.1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomasz Przedmojski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-04-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -365,7 +365,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
365
365
|
version: '0'
|
366
366
|
requirements: []
|
367
367
|
rubyforge_project:
|
368
|
-
rubygems_version: 2.
|
368
|
+
rubygems_version: 2.5.2
|
369
369
|
signing_key:
|
370
370
|
specification_version: 4
|
371
371
|
summary: scrivito-compatible interface for classic Fiona
|