contentful-management 1.5.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +14 -0
- data/lib/contentful/management/client.rb +10 -0
- data/lib/contentful/management/client_association_all_published_method_factory.rb +1 -1
- data/lib/contentful/management/client_association_methods_factory.rb +1 -1
- data/lib/contentful/management/client_editor_interface_methods_factory.rb +1 -2
- data/lib/contentful/management/client_snapshot_methods_factory.rb +34 -0
- data/lib/contentful/management/content_type_entry_methods_factory.rb +1 -1
- data/lib/contentful/management/editor_interface.rb +1 -2
- data/lib/contentful/management/entry.rb +17 -1
- data/lib/contentful/management/entry_association_methods_factory.rb +30 -0
- data/lib/contentful/management/entry_snapshot_methods_factory.rb +23 -0
- data/lib/contentful/management/resource.rb +1 -1
- data/lib/contentful/management/resource/all_published.rb +1 -1
- data/lib/contentful/management/resource_builder.rb +3 -1
- data/lib/contentful/management/snapshot.rb +77 -0
- data/lib/contentful/management/support.rb +4 -0
- data/lib/contentful/management/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/snapshot/all.yml +175 -0
- data/spec/fixtures/vcr_cassettes/snapshot/find.yml +166 -0
- data/spec/fixtures/vcr_cassettes/snapshot/find_not_found.yml +92 -0
- data/spec/fixtures/vcr_cassettes/snapshot/properties.yml +301 -0
- data/spec/lib/contentful/management/snapshot_spec.rb +87 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59a0b72970e30e8e4fa850361c2ed6c52603e6b0
|
4
|
+
data.tar.gz: b1f2d446a426a052a8ca164e1f9ca3a9b15f8212
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d245df3cd7ab483f306fd8fb7823cfbe41bb3b93c4fa1798c8833ac6fcfdbbba4eb62b72c0ef5be78bcc963528ac0983436594c79005309262d83340eca1a199
|
7
|
+
data.tar.gz: 03b149bc58082a045ccda45820f07c590616a50c96ce3af8777ada574f6ab7f453b57f8197b754f687ea60f679f7c162020f5973b064ad783b47fa157ca42a3b
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -661,6 +661,20 @@ pass the ids of the levels below it.
|
|
661
661
|
> Hierarchy is as follows:
|
662
662
|
> `No Object -> Space -> ContentType -> EditorInterface`
|
663
663
|
|
664
|
+
### Snapshots
|
665
|
+
|
666
|
+
Retrieving all Snapshot for a given Entry:
|
667
|
+
|
668
|
+
```ruby
|
669
|
+
snapshots = entry.snapshots.all
|
670
|
+
```
|
671
|
+
|
672
|
+
Retrieving a Snapshot for a given Entry:
|
673
|
+
|
674
|
+
```ruby
|
675
|
+
snapshot = entry.snapshots.find('some_snapshot_id')
|
676
|
+
```
|
677
|
+
|
664
678
|
### Pagination
|
665
679
|
|
666
680
|
```ruby
|
@@ -14,6 +14,7 @@ require 'contentful/management/client_locale_methods_factory'
|
|
14
14
|
require 'contentful/management/client_role_methods_factory'
|
15
15
|
require 'contentful/management/client_editor_interface_methods_factory'
|
16
16
|
require 'contentful/management/client_webhook_methods_factory'
|
17
|
+
require 'contentful/management/client_snapshot_methods_factory'
|
17
18
|
|
18
19
|
require_relative 'request'
|
19
20
|
require 'http'
|
@@ -155,6 +156,15 @@ module Contentful
|
|
155
156
|
ClientWebhookMethodsFactory.new(self)
|
156
157
|
end
|
157
158
|
|
159
|
+
# Allows manipulation of snapshots in context of the current client
|
160
|
+
# Allows listing all webhooks for client, creating new and finding one by id.
|
161
|
+
# @see _ README for details.
|
162
|
+
#
|
163
|
+
# @return [Contentful::Management::ClientSnapshotMethodsFactory]
|
164
|
+
def snapshots
|
165
|
+
ClientSnapshotMethodsFactory.new(self)
|
166
|
+
end
|
167
|
+
|
158
168
|
# @private
|
159
169
|
def setup_logger
|
160
170
|
@logger = configuration[:logger]
|
@@ -7,7 +7,7 @@ module Contentful
|
|
7
7
|
#
|
8
8
|
# @param [String] space_id
|
9
9
|
# @param [Hash] params
|
10
|
-
# @see _ For complete option list:
|
10
|
+
# @see _ For complete option list: https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters
|
11
11
|
# @deprecated This call will be soon removed from the API except for Content Types
|
12
12
|
#
|
13
13
|
# @return [Contentful::Management::Array<Contentful::Management::Resource>]
|
@@ -16,7 +16,7 @@ module Contentful
|
|
16
16
|
#
|
17
17
|
# @param [String] space_id
|
18
18
|
# @param [Hash] params
|
19
|
-
# @see _ For complete option list:
|
19
|
+
# @see _ For complete option list: https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters
|
20
20
|
#
|
21
21
|
# @return [Contentful::Management::Array<Contentful::Management::Resource>]
|
22
22
|
def all(space_id, params = {})
|
@@ -17,8 +17,7 @@ module Contentful
|
|
17
17
|
#
|
18
18
|
# @param [String] space_id
|
19
19
|
# @param [String] content_type_id
|
20
|
-
# @
|
21
|
-
# @see _ For complete option list: http://docs.contentfulcda.apiary.io/#reference/search-parameters
|
20
|
+
# @see _ For complete option list: https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters
|
22
21
|
#
|
23
22
|
# @return [Contentful::Management::EditorInterface]
|
24
23
|
def default(space_id, content_type_id)
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require_relative 'client_association_methods_factory'
|
2
|
+
|
3
|
+
module Contentful
|
4
|
+
module Management
|
5
|
+
# Wrapper for Webhook API for usage from within Client
|
6
|
+
# @private
|
7
|
+
class ClientSnapshotMethodsFactory
|
8
|
+
include Contentful::Management::ClientAssociationMethodsFactory
|
9
|
+
|
10
|
+
def create(*)
|
11
|
+
fail 'Not supported'
|
12
|
+
end
|
13
|
+
|
14
|
+
def all(space_id, entry_id, _params = {})
|
15
|
+
@resource_requester.find(
|
16
|
+
space_id: space_id,
|
17
|
+
entry_id: entry_id
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
def find(space_id, entry_id, snapshot_id)
|
22
|
+
@resource_requester.find(
|
23
|
+
space_id: space_id,
|
24
|
+
entry_id: entry_id,
|
25
|
+
snapshot_id: snapshot_id
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
def new(*)
|
30
|
+
fail 'Not supported'
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -15,7 +15,7 @@ module Contentful
|
|
15
15
|
# Gets all entries for a specific ContentType
|
16
16
|
#
|
17
17
|
# @param [Hash] params
|
18
|
-
# @see _ For complete option list:
|
18
|
+
# @see _ For complete option list: https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters
|
19
19
|
# @option params [String] 'sys.id'
|
20
20
|
# @option params [String] :limit
|
21
21
|
# @option params [String] :skip
|
@@ -12,10 +12,9 @@ module Contentful
|
|
12
12
|
|
13
13
|
# Gets the Default Editor Interface
|
14
14
|
#
|
15
|
+
# @param [Contentful::Management::Client] client
|
15
16
|
# @param [String] space_id
|
16
17
|
# @param [String] content_type_id
|
17
|
-
# @param [Hash] params
|
18
|
-
# @see _ For complete option list: http://docs.contentfulcda.apiary.io/#reference/search-parameters
|
19
18
|
#
|
20
19
|
# @return [Contentful::Management::EditorInterface]
|
21
20
|
def self.default(client, space_id, content_type_id)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require_relative 'resource'
|
2
2
|
require_relative 'resource_requester'
|
3
3
|
require_relative 'client_entry_methods_factory'
|
4
|
+
require_relative 'entry_snapshot_methods_factory'
|
4
5
|
require_relative 'resource/entry_fields'
|
5
6
|
require_relative 'resource/fields'
|
6
7
|
require_relative 'resource/field_aware'
|
@@ -139,6 +140,15 @@ module Contentful
|
|
139
140
|
end
|
140
141
|
end
|
141
142
|
|
143
|
+
# Allows manipulation of snapshots in context of the current entry
|
144
|
+
# Allows listing all snapshots belonging to this entry and finding one by id.
|
145
|
+
# @see _ README for details.
|
146
|
+
#
|
147
|
+
# @return [Contentful::Management::EntrySnapshotMethodsFactory]
|
148
|
+
def snapshots
|
149
|
+
EntrySnapshotMethodsFactory.new(self)
|
150
|
+
end
|
151
|
+
|
142
152
|
protected
|
143
153
|
|
144
154
|
def query_attributes(attributes)
|
@@ -188,7 +198,13 @@ module Contentful
|
|
188
198
|
end
|
189
199
|
|
190
200
|
def fetch_content_type
|
191
|
-
|
201
|
+
content_type_id = if sys[:contentType].is_a?(::Contentful::Management::Resource)
|
202
|
+
sys[:contentType].id
|
203
|
+
else
|
204
|
+
sys[:contentType]['sys']['id']
|
205
|
+
end
|
206
|
+
space_id = space.is_a?(::Contentful::Management::Resource) ? space.id : space['sys']['id']
|
207
|
+
@content_type ||= ::Contentful::Management::ContentType.find(client, space_id, content_type_id)
|
192
208
|
end
|
193
209
|
|
194
210
|
def self.hash_with_link_object(type, attribute)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require_relative 'resource_requester'
|
2
|
+
|
3
|
+
module Contentful
|
4
|
+
module Management
|
5
|
+
# Wrapper for Entry Association Methods
|
6
|
+
# @private
|
7
|
+
module EntryAssociationMethodsFactory
|
8
|
+
attr_reader :entry
|
9
|
+
|
10
|
+
def initialize(entry)
|
11
|
+
@entry = entry
|
12
|
+
end
|
13
|
+
|
14
|
+
def all(_params = {})
|
15
|
+
associated_class.all(entry.client, entry.sys[:space].id, entry.id)
|
16
|
+
end
|
17
|
+
|
18
|
+
def find(id)
|
19
|
+
associated_class.find(entry.client, entry.sys[:space].id, entry.id, id)
|
20
|
+
end
|
21
|
+
|
22
|
+
def associated_class
|
23
|
+
class_name = /\A(.+)Entry(.+)MethodsFactory\z/.match(self.class.name).captures.join
|
24
|
+
class_name.split('::').reduce(Object) do |mod, actual_class_name|
|
25
|
+
mod.const_get(actual_class_name)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require_relative 'entry_association_methods_factory'
|
2
|
+
|
3
|
+
module Contentful
|
4
|
+
module Management
|
5
|
+
# Wrapper for Snapshot API for usage from within Space
|
6
|
+
# @private
|
7
|
+
class EntrySnapshotMethodsFactory
|
8
|
+
include Contentful::Management::EntryAssociationMethodsFactory
|
9
|
+
|
10
|
+
def new
|
11
|
+
fail 'Not supported'
|
12
|
+
end
|
13
|
+
|
14
|
+
def create(*)
|
15
|
+
fail 'Not supported'
|
16
|
+
end
|
17
|
+
|
18
|
+
def update(*)
|
19
|
+
fail 'Not supported'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -172,7 +172,7 @@ module Contentful
|
|
172
172
|
# @param [Contentful::Management::Client] client
|
173
173
|
# @param [String] space_id
|
174
174
|
# @param [Hash] parameters Search Options
|
175
|
-
# @see _ For complete option list:
|
175
|
+
# @see _ For complete option list: https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters
|
176
176
|
#
|
177
177
|
# @return [Contentful::Management::Array<Contentful::Management::Resource>]
|
178
178
|
def all(client, space_id, parameters = {})
|
@@ -8,7 +8,7 @@ module Contentful
|
|
8
8
|
# @param [Contentful::Management::Client] client
|
9
9
|
# @param [String] space_id
|
10
10
|
# @param [Hash] parameters
|
11
|
-
# @see _ For complete option list:
|
11
|
+
# @see _ For complete option list: https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters
|
12
12
|
# @option parameters [String] 'sys.id' Entry ID
|
13
13
|
# @option parameters [String] :content_type
|
14
14
|
# @option parameters [Integer] :limit
|
@@ -12,6 +12,7 @@ require_relative 'api_key'
|
|
12
12
|
require_relative 'locale'
|
13
13
|
require_relative 'role'
|
14
14
|
require_relative 'editor_interface'
|
15
|
+
require_relative 'snapshot'
|
15
16
|
|
16
17
|
module Contentful
|
17
18
|
module Management
|
@@ -31,7 +32,8 @@ module Contentful
|
|
31
32
|
'ApiKey' => Contentful::Management::ApiKey,
|
32
33
|
'Locale' => Contentful::Management::Locale,
|
33
34
|
'Role' => Contentful::Management::Role,
|
34
|
-
'EditorInterface' => Contentful::Management::EditorInterface
|
35
|
+
'EditorInterface' => Contentful::Management::EditorInterface,
|
36
|
+
'Snapshot' => Contentful::Management::Snapshot
|
35
37
|
}
|
36
38
|
# Default Entry Mapping
|
37
39
|
# @see _ README for more information on Entry Mapping
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require_relative 'resource'
|
2
|
+
require_relative 'client_snapshot_methods_factory'
|
3
|
+
|
4
|
+
module Contentful
|
5
|
+
module Management
|
6
|
+
# Resource class for Snapshot.
|
7
|
+
# @see _ https://www.contentful.com/developers/docs/references/content-management-api/#/reference/snapshots
|
8
|
+
class Snapshot
|
9
|
+
include Contentful::Management::Resource
|
10
|
+
include Contentful::Management::Resource::SystemProperties
|
11
|
+
include Contentful::Management::Resource::Refresher
|
12
|
+
|
13
|
+
property :snapshot, DynamicEntry
|
14
|
+
|
15
|
+
# Gets all Snapshots for an Entry
|
16
|
+
#
|
17
|
+
# @param [Contentful::Management::Client] client
|
18
|
+
# @param [String] space_id
|
19
|
+
# @param [String] entry_id
|
20
|
+
#
|
21
|
+
# @return [Contentful::Management::Array<Contentful::Management::Snapshot>]
|
22
|
+
def self.all(client, space_id, entry_id)
|
23
|
+
ClientSnapshotMethodsFactory.new(client).all(space_id, entry_id)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Gets a Snapshot by ID
|
27
|
+
#
|
28
|
+
# @param [Contentful::Management::Client] client
|
29
|
+
# @param [String] space_id
|
30
|
+
# @param [String] entry_id
|
31
|
+
# @param [String] snapshot_id
|
32
|
+
#
|
33
|
+
# @return [Contentful::Management::Snapshot]
|
34
|
+
def self.find(client, space_id, entry_id, snapshot_id)
|
35
|
+
ClientSnapshotMethodsFactory.new(client).find(space_id, entry_id, snapshot_id)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Creates a Snapshot
|
39
|
+
#
|
40
|
+
# Not Supported
|
41
|
+
def self.create(*)
|
42
|
+
fail 'Not supported'
|
43
|
+
end
|
44
|
+
|
45
|
+
# @private
|
46
|
+
def self.endpoint
|
47
|
+
'snapshots'
|
48
|
+
end
|
49
|
+
|
50
|
+
# @private
|
51
|
+
def self.build_endpoint(endpoint_options)
|
52
|
+
space_id = endpoint_options.fetch(:space_id)
|
53
|
+
entry_id = endpoint_options.fetch(:entry_id)
|
54
|
+
snapshot_id = endpoint_options.fetch(:snapshot_id, nil)
|
55
|
+
|
56
|
+
endpoint = "/#{space_id}/entries/#{entry_id}/snapshots"
|
57
|
+
endpoint = "#{endpoint}/#{snapshot_id}" unless snapshot_id.nil?
|
58
|
+
|
59
|
+
endpoint
|
60
|
+
end
|
61
|
+
|
62
|
+
# Deletes a Snapshot
|
63
|
+
#
|
64
|
+
# Not Supported
|
65
|
+
def destroy
|
66
|
+
fail 'Not supported'
|
67
|
+
end
|
68
|
+
|
69
|
+
# Updates a Snapshot
|
70
|
+
#
|
71
|
+
# Not Supported
|
72
|
+
def update(*)
|
73
|
+
fail 'Not supported'
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -18,6 +18,10 @@ module Contentful
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
# If the query contains the :select operator, we enforce :sys properties.
|
22
|
+
# The SDK requires sys.type to function properly, but as other of our SDKs
|
23
|
+
# require more parts of the :sys properties, we decided that every SDK should
|
24
|
+
# include the complete :sys block to provide consistency accross our SDKs.
|
21
25
|
def normalize_select!(parameters)
|
22
26
|
return parameters unless parameters.key?(:select)
|
23
27
|
|
@@ -0,0 +1,175 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.contentful.com/spaces/facgnwwgj5fe/entries/5gQdVmPHKwIk2MumquYwOu/snapshots
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- RubyContentfulManagementGem/1.5.0
|
12
|
+
Authorization:
|
13
|
+
- Bearer <ACCESS_TOKEN>
|
14
|
+
Content-Type:
|
15
|
+
- application/vnd.contentful.management.v1+json
|
16
|
+
Content-Length:
|
17
|
+
- '0'
|
18
|
+
Connection:
|
19
|
+
- close
|
20
|
+
Host:
|
21
|
+
- api.contentful.com
|
22
|
+
response:
|
23
|
+
status:
|
24
|
+
code: 200
|
25
|
+
message: OK
|
26
|
+
headers:
|
27
|
+
Access-Control-Allow-Headers:
|
28
|
+
- Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
|
29
|
+
Access-Control-Allow-Methods:
|
30
|
+
- DELETE,GET,HEAD,POST,PUT,OPTIONS
|
31
|
+
Access-Control-Allow-Origin:
|
32
|
+
- "*"
|
33
|
+
Access-Control-Expose-Headers:
|
34
|
+
- Etag
|
35
|
+
Access-Control-Max-Age:
|
36
|
+
- '1728000'
|
37
|
+
Cf-Space-Id:
|
38
|
+
- facgnwwgj5fe
|
39
|
+
Content-Type:
|
40
|
+
- application/vnd.contentful.management.v1+json
|
41
|
+
Date:
|
42
|
+
- Wed, 15 Mar 2017 13:00:48 GMT
|
43
|
+
Etag:
|
44
|
+
- '"ee206ff530734e5e435ba4e4a6f65138"'
|
45
|
+
Server:
|
46
|
+
- Contentful
|
47
|
+
Strict-Transport-Security:
|
48
|
+
- max-age=15768000
|
49
|
+
X-Content-Type-Options:
|
50
|
+
- nosniff
|
51
|
+
X-Contentful-Ratelimit-Hour-Limit:
|
52
|
+
- '36000'
|
53
|
+
X-Contentful-Ratelimit-Hour-Remaining:
|
54
|
+
- '35989'
|
55
|
+
X-Contentful-Ratelimit-Reset:
|
56
|
+
- '0'
|
57
|
+
X-Contentful-Ratelimit-Second-Limit:
|
58
|
+
- '10'
|
59
|
+
X-Contentful-Ratelimit-Second-Remaining:
|
60
|
+
- '9'
|
61
|
+
X-Contentful-Request-Id:
|
62
|
+
- fdd656a48caca3b9ebdb56278bbd97e9
|
63
|
+
Content-Length:
|
64
|
+
- '2230'
|
65
|
+
Connection:
|
66
|
+
- Close
|
67
|
+
Set-Cookie:
|
68
|
+
- incap_ses_455_673446=LdblBCssCV4lrtEEe3xQBv86yVgAAAAA/6vCZQKOGiM1pnwP0ueCPg==;
|
69
|
+
path=/; Domain=.contentful.com
|
70
|
+
- nlbi_673446=XchXGox3MHWSirWi6lKYhQAAAAD11IdruXmlA9lecyNqikh/; path=/; Domain=.contentful.com
|
71
|
+
- visid_incap_673446=nUCpGmO8SuqSEyl+gmJhG/86yVgAAAAAQUIPAAAAAABZ7NG5ziIBQ9ssmjhdUq1L;
|
72
|
+
expires=Thu, 15 Mar 2018 11:35:42 GMT; path=/; Domain=.contentful.com
|
73
|
+
X-Iinfo:
|
74
|
+
- 5-81023772-81023789 NNNN CT(80 84 0) RT(1489582840232 76) q(0 0 1 -1) r(72
|
75
|
+
72) U5
|
76
|
+
X-Cdn:
|
77
|
+
- Incapsula
|
78
|
+
body:
|
79
|
+
encoding: ASCII-8BIT
|
80
|
+
string: |
|
81
|
+
{
|
82
|
+
"sys": {
|
83
|
+
"type": "Array"
|
84
|
+
},
|
85
|
+
"items": [
|
86
|
+
{
|
87
|
+
"sys": {
|
88
|
+
"type": "Snapshot",
|
89
|
+
"snapshotType": "publish",
|
90
|
+
"id": "6DglRQMMHWUnzi2F3RjFFo",
|
91
|
+
"createdAt": "2017-03-10T15:58:05.435Z",
|
92
|
+
"createdBy": {
|
93
|
+
"sys": {
|
94
|
+
"type": "Link",
|
95
|
+
"linkType": "User",
|
96
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
97
|
+
}
|
98
|
+
},
|
99
|
+
"updatedAt": "2017-03-10T15:58:05.435Z",
|
100
|
+
"updatedBy": {
|
101
|
+
"sys": {
|
102
|
+
"type": "Link",
|
103
|
+
"linkType": "User",
|
104
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
105
|
+
}
|
106
|
+
},
|
107
|
+
"space": {
|
108
|
+
"sys": {
|
109
|
+
"type": "Link",
|
110
|
+
"linkType": "Space",
|
111
|
+
"id": "facgnwwgj5fe"
|
112
|
+
}
|
113
|
+
}
|
114
|
+
},
|
115
|
+
"snapshot": {
|
116
|
+
"fields": {
|
117
|
+
"name": {
|
118
|
+
"en-US": "something else"
|
119
|
+
}
|
120
|
+
},
|
121
|
+
"sys": {
|
122
|
+
"id": "5gQdVmPHKwIk2MumquYwOu",
|
123
|
+
"type": "Entry",
|
124
|
+
"createdAt": "2017-03-02T18:47:44.195Z",
|
125
|
+
"createdBy": {
|
126
|
+
"sys": {
|
127
|
+
"type": "Link",
|
128
|
+
"linkType": "User",
|
129
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
130
|
+
}
|
131
|
+
},
|
132
|
+
"space": {
|
133
|
+
"sys": {
|
134
|
+
"type": "Link",
|
135
|
+
"linkType": "Space",
|
136
|
+
"id": "facgnwwgj5fe"
|
137
|
+
}
|
138
|
+
},
|
139
|
+
"contentType": {
|
140
|
+
"sys": {
|
141
|
+
"type": "Link",
|
142
|
+
"linkType": "ContentType",
|
143
|
+
"id": "test"
|
144
|
+
}
|
145
|
+
},
|
146
|
+
"version": 3,
|
147
|
+
"updatedAt": "2017-03-10T15:58:05.418Z",
|
148
|
+
"updatedBy": {
|
149
|
+
"sys": {
|
150
|
+
"type": "Link",
|
151
|
+
"linkType": "User",
|
152
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
153
|
+
}
|
154
|
+
},
|
155
|
+
"firstPublishedAt": "2017-03-10T15:58:05.418Z",
|
156
|
+
"publishedCounter": 1,
|
157
|
+
"publishedAt": "2017-03-10T15:58:05.418Z",
|
158
|
+
"publishedBy": {
|
159
|
+
"sys": {
|
160
|
+
"type": "Link",
|
161
|
+
"linkType": "User",
|
162
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
163
|
+
}
|
164
|
+
},
|
165
|
+
"publishedVersion": 2
|
166
|
+
}
|
167
|
+
}
|
168
|
+
}
|
169
|
+
],
|
170
|
+
"skip": 0,
|
171
|
+
"limit": 100
|
172
|
+
}
|
173
|
+
http_version:
|
174
|
+
recorded_at: Wed, 15 Mar 2017 13:00:48 GMT
|
175
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,166 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.contentful.com/spaces/facgnwwgj5fe/entries/5gQdVmPHKwIk2MumquYwOu/snapshots/6DglRQMMHWUnzi2F3RjFFo
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- RubyContentfulManagementGem/1.5.0
|
12
|
+
Authorization:
|
13
|
+
- Bearer <ACCESS_TOKEN>
|
14
|
+
Content-Type:
|
15
|
+
- application/vnd.contentful.management.v1+json
|
16
|
+
Content-Length:
|
17
|
+
- '0'
|
18
|
+
Connection:
|
19
|
+
- close
|
20
|
+
Host:
|
21
|
+
- api.contentful.com
|
22
|
+
response:
|
23
|
+
status:
|
24
|
+
code: 200
|
25
|
+
message: OK
|
26
|
+
headers:
|
27
|
+
Access-Control-Allow-Headers:
|
28
|
+
- Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
|
29
|
+
Access-Control-Allow-Methods:
|
30
|
+
- DELETE,GET,HEAD,POST,PUT,OPTIONS
|
31
|
+
Access-Control-Allow-Origin:
|
32
|
+
- "*"
|
33
|
+
Access-Control-Expose-Headers:
|
34
|
+
- Etag
|
35
|
+
Access-Control-Max-Age:
|
36
|
+
- '1728000'
|
37
|
+
Cf-Space-Id:
|
38
|
+
- facgnwwgj5fe
|
39
|
+
Content-Type:
|
40
|
+
- application/vnd.contentful.management.v1+json
|
41
|
+
Date:
|
42
|
+
- Wed, 15 Mar 2017 13:00:40 GMT
|
43
|
+
Etag:
|
44
|
+
- '"e7cb4a6a14f463d523a7917c8f8c0798"'
|
45
|
+
Server:
|
46
|
+
- Contentful
|
47
|
+
Strict-Transport-Security:
|
48
|
+
- max-age=15768000
|
49
|
+
X-Content-Type-Options:
|
50
|
+
- nosniff
|
51
|
+
X-Contentful-Ratelimit-Hour-Limit:
|
52
|
+
- '36000'
|
53
|
+
X-Contentful-Ratelimit-Hour-Remaining:
|
54
|
+
- '35990'
|
55
|
+
X-Contentful-Ratelimit-Reset:
|
56
|
+
- '0'
|
57
|
+
X-Contentful-Ratelimit-Second-Limit:
|
58
|
+
- '10'
|
59
|
+
X-Contentful-Ratelimit-Second-Remaining:
|
60
|
+
- '9'
|
61
|
+
X-Contentful-Request-Id:
|
62
|
+
- 22d901abad32cb929af5ff811fa7c576
|
63
|
+
Content-Length:
|
64
|
+
- '1812'
|
65
|
+
Connection:
|
66
|
+
- Close
|
67
|
+
Set-Cookie:
|
68
|
+
- incap_ses_455_673446=GeSLeHIwgDkBptEEe3xQBvg6yVgAAAAA066E7B87Jk5uc41TYOkiVA==;
|
69
|
+
path=/; Domain=.contentful.com
|
70
|
+
- nlbi_673446=Z+7JIgkUJjjGDvGK6lKYhQAAAABvPw9JF3ZUHlxEUbV7CrLL; path=/; Domain=.contentful.com
|
71
|
+
- visid_incap_673446=piS6dEBqQB6IarxgWlDmRPg6yVgAAAAAQUIPAAAAAABgkxLUNytbyjh0ZKnBdnlf;
|
72
|
+
expires=Thu, 15 Mar 2018 11:35:42 GMT; path=/; Domain=.contentful.com
|
73
|
+
X-Iinfo:
|
74
|
+
- 7-48171554-48171566 NNNN CT(76 76 0) RT(1489582836194 75) q(0 0 2 -1) r(38
|
75
|
+
38) U5
|
76
|
+
X-Cdn:
|
77
|
+
- Incapsula
|
78
|
+
body:
|
79
|
+
encoding: ASCII-8BIT
|
80
|
+
string: |
|
81
|
+
{
|
82
|
+
"sys": {
|
83
|
+
"type": "Snapshot",
|
84
|
+
"snapshotType": "publish",
|
85
|
+
"id": "6DglRQMMHWUnzi2F3RjFFo",
|
86
|
+
"createdAt": "2017-03-10T15:58:05.435Z",
|
87
|
+
"createdBy": {
|
88
|
+
"sys": {
|
89
|
+
"type": "Link",
|
90
|
+
"linkType": "User",
|
91
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
92
|
+
}
|
93
|
+
},
|
94
|
+
"updatedAt": "2017-03-10T15:58:05.435Z",
|
95
|
+
"updatedBy": {
|
96
|
+
"sys": {
|
97
|
+
"type": "Link",
|
98
|
+
"linkType": "User",
|
99
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
100
|
+
}
|
101
|
+
},
|
102
|
+
"space": {
|
103
|
+
"sys": {
|
104
|
+
"type": "Link",
|
105
|
+
"linkType": "Space",
|
106
|
+
"id": "facgnwwgj5fe"
|
107
|
+
}
|
108
|
+
}
|
109
|
+
},
|
110
|
+
"snapshot": {
|
111
|
+
"fields": {
|
112
|
+
"name": {
|
113
|
+
"en-US": "something else"
|
114
|
+
}
|
115
|
+
},
|
116
|
+
"sys": {
|
117
|
+
"id": "5gQdVmPHKwIk2MumquYwOu",
|
118
|
+
"type": "Entry",
|
119
|
+
"createdAt": "2017-03-02T18:47:44.195Z",
|
120
|
+
"createdBy": {
|
121
|
+
"sys": {
|
122
|
+
"type": "Link",
|
123
|
+
"linkType": "User",
|
124
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
125
|
+
}
|
126
|
+
},
|
127
|
+
"space": {
|
128
|
+
"sys": {
|
129
|
+
"type": "Link",
|
130
|
+
"linkType": "Space",
|
131
|
+
"id": "facgnwwgj5fe"
|
132
|
+
}
|
133
|
+
},
|
134
|
+
"contentType": {
|
135
|
+
"sys": {
|
136
|
+
"type": "Link",
|
137
|
+
"linkType": "ContentType",
|
138
|
+
"id": "test"
|
139
|
+
}
|
140
|
+
},
|
141
|
+
"version": 3,
|
142
|
+
"updatedAt": "2017-03-10T15:58:05.418Z",
|
143
|
+
"updatedBy": {
|
144
|
+
"sys": {
|
145
|
+
"type": "Link",
|
146
|
+
"linkType": "User",
|
147
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
148
|
+
}
|
149
|
+
},
|
150
|
+
"firstPublishedAt": "2017-03-10T15:58:05.418Z",
|
151
|
+
"publishedCounter": 1,
|
152
|
+
"publishedAt": "2017-03-10T15:58:05.418Z",
|
153
|
+
"publishedBy": {
|
154
|
+
"sys": {
|
155
|
+
"type": "Link",
|
156
|
+
"linkType": "User",
|
157
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
158
|
+
}
|
159
|
+
},
|
160
|
+
"publishedVersion": 2
|
161
|
+
}
|
162
|
+
}
|
163
|
+
}
|
164
|
+
http_version:
|
165
|
+
recorded_at: Wed, 15 Mar 2017 13:00:40 GMT
|
166
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,92 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.contentful.com/spaces/facgnwwgj5fe/entries/5gQdVmPHKwIk2MumquYwOu/snapshots/not_exist
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- RubyContentfulManagementGem/1.5.0
|
12
|
+
Authorization:
|
13
|
+
- Bearer <ACCESS_TOKEN>
|
14
|
+
Content-Type:
|
15
|
+
- application/vnd.contentful.management.v1+json
|
16
|
+
Content-Length:
|
17
|
+
- '0'
|
18
|
+
Connection:
|
19
|
+
- close
|
20
|
+
Host:
|
21
|
+
- api.contentful.com
|
22
|
+
response:
|
23
|
+
status:
|
24
|
+
code: 404
|
25
|
+
message: Not Found
|
26
|
+
headers:
|
27
|
+
Access-Control-Allow-Headers:
|
28
|
+
- Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
|
29
|
+
Access-Control-Allow-Methods:
|
30
|
+
- DELETE,GET,HEAD,POST,PUT,OPTIONS
|
31
|
+
Access-Control-Allow-Origin:
|
32
|
+
- "*"
|
33
|
+
Access-Control-Expose-Headers:
|
34
|
+
- Etag
|
35
|
+
Access-Control-Max-Age:
|
36
|
+
- '1728000'
|
37
|
+
Content-Type:
|
38
|
+
- application/vnd.contentful.management.v1+json
|
39
|
+
Date:
|
40
|
+
- Wed, 15 Mar 2017 13:01:18 GMT
|
41
|
+
Server:
|
42
|
+
- Contentful
|
43
|
+
Strict-Transport-Security:
|
44
|
+
- max-age=15768000
|
45
|
+
X-Content-Type-Options:
|
46
|
+
- nosniff
|
47
|
+
X-Contentful-Ratelimit-Hour-Limit:
|
48
|
+
- '36000'
|
49
|
+
X-Contentful-Ratelimit-Hour-Remaining:
|
50
|
+
- '35988'
|
51
|
+
X-Contentful-Ratelimit-Reset:
|
52
|
+
- '0'
|
53
|
+
X-Contentful-Ratelimit-Second-Limit:
|
54
|
+
- '10'
|
55
|
+
X-Contentful-Ratelimit-Second-Remaining:
|
56
|
+
- '9'
|
57
|
+
X-Contentful-Request-Id:
|
58
|
+
- afd5d6e7bc6aaf08d085fc4c23aaf744
|
59
|
+
Content-Length:
|
60
|
+
- '256'
|
61
|
+
Connection:
|
62
|
+
- Close
|
63
|
+
Set-Cookie:
|
64
|
+
- incap_ses_455_673446=OJ4+BSi+WGBf09EEe3xQBh47yVgAAAAAX+bqWYlGC4oiKmWzaDxmLQ==;
|
65
|
+
path=/; Domain=.contentful.com
|
66
|
+
- nlbi_673446=wwHdJpMe1xiJzwoq6lKYhQAAAADZTOr3iSzc+jzOAjfUX2eF; path=/; Domain=.contentful.com
|
67
|
+
- visid_incap_673446=+KmqM5KzTLSG+5bIDro0aB47yVgAAAAAQUIPAAAAAAAeOn0F7mP/l5RRcC7XvjIt;
|
68
|
+
expires=Thu, 15 Mar 2018 11:35:42 GMT; path=/; Domain=.contentful.com
|
69
|
+
X-Iinfo:
|
70
|
+
- 4-66000696-66000702 NNNN CT(97 97 0) RT(1489582877658 78) q(0 0 2 -1) r(5
|
71
|
+
5) U5
|
72
|
+
X-Cdn:
|
73
|
+
- Incapsula
|
74
|
+
body:
|
75
|
+
encoding: ASCII-8BIT
|
76
|
+
string: |
|
77
|
+
{
|
78
|
+
"sys": {
|
79
|
+
"type": "Error",
|
80
|
+
"id": "NotFound"
|
81
|
+
},
|
82
|
+
"message": "The resource could not be found.",
|
83
|
+
"details": {
|
84
|
+
"space": "facgnwwgj5fe",
|
85
|
+
"id": "not_exist",
|
86
|
+
"type": "Snapshot"
|
87
|
+
},
|
88
|
+
"requestId": "afd5d6e7bc6aaf08d085fc4c23aaf744"
|
89
|
+
}
|
90
|
+
http_version:
|
91
|
+
recorded_at: Wed, 15 Mar 2017 13:01:18 GMT
|
92
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,301 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.contentful.com/spaces/facgnwwgj5fe/entries/5gQdVmPHKwIk2MumquYwOu/snapshots/6DglRQMMHWUnzi2F3RjFFo
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- RubyContentfulManagementGem/1.5.0
|
12
|
+
Authorization:
|
13
|
+
- Bearer <ACCESS_TOKEN>
|
14
|
+
Content-Type:
|
15
|
+
- application/vnd.contentful.management.v1+json
|
16
|
+
Content-Length:
|
17
|
+
- '0'
|
18
|
+
Connection:
|
19
|
+
- close
|
20
|
+
Host:
|
21
|
+
- api.contentful.com
|
22
|
+
response:
|
23
|
+
status:
|
24
|
+
code: 200
|
25
|
+
message: OK
|
26
|
+
headers:
|
27
|
+
Access-Control-Allow-Headers:
|
28
|
+
- Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
|
29
|
+
Access-Control-Allow-Methods:
|
30
|
+
- DELETE,GET,HEAD,POST,PUT,OPTIONS
|
31
|
+
Access-Control-Allow-Origin:
|
32
|
+
- "*"
|
33
|
+
Access-Control-Expose-Headers:
|
34
|
+
- Etag
|
35
|
+
Access-Control-Max-Age:
|
36
|
+
- '1728000'
|
37
|
+
Cf-Space-Id:
|
38
|
+
- facgnwwgj5fe
|
39
|
+
Content-Type:
|
40
|
+
- application/vnd.contentful.management.v1+json
|
41
|
+
Date:
|
42
|
+
- Wed, 15 Mar 2017 14:15:11 GMT
|
43
|
+
Etag:
|
44
|
+
- '"e7cb4a6a14f463d523a7917c8f8c0798"'
|
45
|
+
Server:
|
46
|
+
- Contentful
|
47
|
+
Strict-Transport-Security:
|
48
|
+
- max-age=15768000
|
49
|
+
X-Content-Type-Options:
|
50
|
+
- nosniff
|
51
|
+
X-Contentful-Ratelimit-Hour-Limit:
|
52
|
+
- '36000'
|
53
|
+
X-Contentful-Ratelimit-Hour-Remaining:
|
54
|
+
- '35997'
|
55
|
+
X-Contentful-Ratelimit-Reset:
|
56
|
+
- '0'
|
57
|
+
X-Contentful-Ratelimit-Second-Limit:
|
58
|
+
- '10'
|
59
|
+
X-Contentful-Ratelimit-Second-Remaining:
|
60
|
+
- '9'
|
61
|
+
X-Contentful-Request-Id:
|
62
|
+
- c6415481467edf1db09a8f6af9992f0b
|
63
|
+
Content-Length:
|
64
|
+
- '1812'
|
65
|
+
Connection:
|
66
|
+
- Close
|
67
|
+
Set-Cookie:
|
68
|
+
- incap_ses_455_673446=QOp8Fya4sETH+udOfXxQBm5MyVgAAAAA02XoDJZSZGFtrd9dnzAraQ==;
|
69
|
+
path=/; Domain=.contentful.com
|
70
|
+
- nlbi_673446=VjGyGI/Z/j6QKUO36lKYhQAAAAAL9l+bL1QH0yHsyL13x65q; path=/; Domain=.contentful.com
|
71
|
+
- visid_incap_673446=Gkaf4qLtR+WiJtmNC+2rDG5MyVgAAAAAQUIPAAAAAADB5VOrUuXXOfF40O0pU58Z;
|
72
|
+
expires=Thu, 15 Mar 2018 13:30:20 GMT; path=/; Domain=.contentful.com
|
73
|
+
X-Iinfo:
|
74
|
+
- 6-189905-189906 NNNN CT(75 77 0) RT(1489587310149 82) q(0 0 1 -1) r(3 3) U5
|
75
|
+
X-Cdn:
|
76
|
+
- Incapsula
|
77
|
+
body:
|
78
|
+
encoding: ASCII-8BIT
|
79
|
+
string: |
|
80
|
+
{
|
81
|
+
"sys": {
|
82
|
+
"type": "Snapshot",
|
83
|
+
"snapshotType": "publish",
|
84
|
+
"id": "6DglRQMMHWUnzi2F3RjFFo",
|
85
|
+
"createdAt": "2017-03-10T15:58:05.435Z",
|
86
|
+
"createdBy": {
|
87
|
+
"sys": {
|
88
|
+
"type": "Link",
|
89
|
+
"linkType": "User",
|
90
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
91
|
+
}
|
92
|
+
},
|
93
|
+
"updatedAt": "2017-03-10T15:58:05.435Z",
|
94
|
+
"updatedBy": {
|
95
|
+
"sys": {
|
96
|
+
"type": "Link",
|
97
|
+
"linkType": "User",
|
98
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
99
|
+
}
|
100
|
+
},
|
101
|
+
"space": {
|
102
|
+
"sys": {
|
103
|
+
"type": "Link",
|
104
|
+
"linkType": "Space",
|
105
|
+
"id": "facgnwwgj5fe"
|
106
|
+
}
|
107
|
+
}
|
108
|
+
},
|
109
|
+
"snapshot": {
|
110
|
+
"fields": {
|
111
|
+
"name": {
|
112
|
+
"en-US": "something else"
|
113
|
+
}
|
114
|
+
},
|
115
|
+
"sys": {
|
116
|
+
"id": "5gQdVmPHKwIk2MumquYwOu",
|
117
|
+
"type": "Entry",
|
118
|
+
"createdAt": "2017-03-02T18:47:44.195Z",
|
119
|
+
"createdBy": {
|
120
|
+
"sys": {
|
121
|
+
"type": "Link",
|
122
|
+
"linkType": "User",
|
123
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
124
|
+
}
|
125
|
+
},
|
126
|
+
"space": {
|
127
|
+
"sys": {
|
128
|
+
"type": "Link",
|
129
|
+
"linkType": "Space",
|
130
|
+
"id": "facgnwwgj5fe"
|
131
|
+
}
|
132
|
+
},
|
133
|
+
"contentType": {
|
134
|
+
"sys": {
|
135
|
+
"type": "Link",
|
136
|
+
"linkType": "ContentType",
|
137
|
+
"id": "test"
|
138
|
+
}
|
139
|
+
},
|
140
|
+
"version": 3,
|
141
|
+
"updatedAt": "2017-03-10T15:58:05.418Z",
|
142
|
+
"updatedBy": {
|
143
|
+
"sys": {
|
144
|
+
"type": "Link",
|
145
|
+
"linkType": "User",
|
146
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
147
|
+
}
|
148
|
+
},
|
149
|
+
"firstPublishedAt": "2017-03-10T15:58:05.418Z",
|
150
|
+
"publishedCounter": 1,
|
151
|
+
"publishedAt": "2017-03-10T15:58:05.418Z",
|
152
|
+
"publishedBy": {
|
153
|
+
"sys": {
|
154
|
+
"type": "Link",
|
155
|
+
"linkType": "User",
|
156
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
157
|
+
}
|
158
|
+
},
|
159
|
+
"publishedVersion": 2
|
160
|
+
}
|
161
|
+
}
|
162
|
+
}
|
163
|
+
http_version:
|
164
|
+
recorded_at: Wed, 15 Mar 2017 14:15:11 GMT
|
165
|
+
- request:
|
166
|
+
method: get
|
167
|
+
uri: https://api.contentful.com/spaces/facgnwwgj5fe/content_types/test
|
168
|
+
body:
|
169
|
+
encoding: US-ASCII
|
170
|
+
string: ''
|
171
|
+
headers:
|
172
|
+
User-Agent:
|
173
|
+
- RubyContentfulManagementGem/1.5.0
|
174
|
+
Authorization:
|
175
|
+
- Bearer <ACCESS_TOKEN>
|
176
|
+
Content-Type:
|
177
|
+
- application/vnd.contentful.management.v1+json
|
178
|
+
Content-Length:
|
179
|
+
- '0'
|
180
|
+
Connection:
|
181
|
+
- close
|
182
|
+
Host:
|
183
|
+
- api.contentful.com
|
184
|
+
response:
|
185
|
+
status:
|
186
|
+
code: 200
|
187
|
+
message: OK
|
188
|
+
headers:
|
189
|
+
Access-Control-Allow-Headers:
|
190
|
+
- Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
|
191
|
+
Access-Control-Allow-Methods:
|
192
|
+
- DELETE,GET,HEAD,POST,PUT,OPTIONS
|
193
|
+
Access-Control-Allow-Origin:
|
194
|
+
- "*"
|
195
|
+
Access-Control-Expose-Headers:
|
196
|
+
- Etag
|
197
|
+
Access-Control-Max-Age:
|
198
|
+
- '1728000'
|
199
|
+
Cf-Space-Id:
|
200
|
+
- facgnwwgj5fe
|
201
|
+
Content-Type:
|
202
|
+
- application/vnd.contentful.management.v1+json
|
203
|
+
Date:
|
204
|
+
- Wed, 15 Mar 2017 14:15:15 GMT
|
205
|
+
Etag:
|
206
|
+
- '"c34724c7958eb31fe3ea50969e50f751"'
|
207
|
+
Server:
|
208
|
+
- Contentful
|
209
|
+
Strict-Transport-Security:
|
210
|
+
- max-age=15768000
|
211
|
+
X-Content-Type-Options:
|
212
|
+
- nosniff
|
213
|
+
X-Contentful-Ratelimit-Hour-Limit:
|
214
|
+
- '36000'
|
215
|
+
X-Contentful-Ratelimit-Hour-Remaining:
|
216
|
+
- '35996'
|
217
|
+
X-Contentful-Ratelimit-Reset:
|
218
|
+
- '0'
|
219
|
+
X-Contentful-Ratelimit-Second-Limit:
|
220
|
+
- '10'
|
221
|
+
X-Contentful-Ratelimit-Second-Remaining:
|
222
|
+
- '8'
|
223
|
+
X-Contentful-Request-Id:
|
224
|
+
- b1328a38a8618fede4530cded1786e7c
|
225
|
+
Content-Length:
|
226
|
+
- '1159'
|
227
|
+
Connection:
|
228
|
+
- Close
|
229
|
+
Set-Cookie:
|
230
|
+
- incap_ses_455_673446=2d9VUTNqqQRs/+dOfXxQBnJMyVgAAAAAh4zCgN3NwnL2cQ8hI+ciLA==;
|
231
|
+
path=/; Domain=.contentful.com
|
232
|
+
- nlbi_673446=ZOdzI6lDwmdaxLEl6lKYhQAAAACxCUtusdaevIGW6gJC4DV/; path=/; Domain=.contentful.com
|
233
|
+
- visid_incap_673446=S0SEOYVESMa+CnIHxIO47nJMyVgAAAAAQUIPAAAAAADNV4SQJLTvAQEr6bu7XQSV;
|
234
|
+
expires=Thu, 15 Mar 2018 13:30:10 GMT; path=/; Domain=.contentful.com
|
235
|
+
X-Iinfo:
|
236
|
+
- 4-368281-368307 NNNN CT(78 77 0) RT(1489587310676 76) q(0 0 2 -1) r(39 39)
|
237
|
+
U5
|
238
|
+
X-Cdn:
|
239
|
+
- Incapsula
|
240
|
+
body:
|
241
|
+
encoding: ASCII-8BIT
|
242
|
+
string: |
|
243
|
+
{
|
244
|
+
"name": "Test",
|
245
|
+
"fields": [
|
246
|
+
{
|
247
|
+
"name": "name",
|
248
|
+
"id": "name",
|
249
|
+
"type": "Symbol",
|
250
|
+
"localized": false,
|
251
|
+
"required": false,
|
252
|
+
"disabled": false,
|
253
|
+
"omitted": false,
|
254
|
+
"validations": []
|
255
|
+
}
|
256
|
+
],
|
257
|
+
"displayField": "name",
|
258
|
+
"description": "",
|
259
|
+
"sys": {
|
260
|
+
"id": "test",
|
261
|
+
"type": "ContentType",
|
262
|
+
"createdAt": "2017-03-02T18:32:49.570Z",
|
263
|
+
"createdBy": {
|
264
|
+
"sys": {
|
265
|
+
"type": "Link",
|
266
|
+
"linkType": "User",
|
267
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
268
|
+
}
|
269
|
+
},
|
270
|
+
"space": {
|
271
|
+
"sys": {
|
272
|
+
"type": "Link",
|
273
|
+
"linkType": "Space",
|
274
|
+
"id": "facgnwwgj5fe"
|
275
|
+
}
|
276
|
+
},
|
277
|
+
"firstPublishedAt": "2017-03-02T18:32:50.559Z",
|
278
|
+
"publishedCounter": 1,
|
279
|
+
"publishedAt": "2017-03-02T18:32:50.559Z",
|
280
|
+
"publishedBy": {
|
281
|
+
"sys": {
|
282
|
+
"type": "Link",
|
283
|
+
"linkType": "User",
|
284
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
285
|
+
}
|
286
|
+
},
|
287
|
+
"publishedVersion": 1,
|
288
|
+
"version": 2,
|
289
|
+
"updatedAt": "2017-03-02T18:32:50.586Z",
|
290
|
+
"updatedBy": {
|
291
|
+
"sys": {
|
292
|
+
"type": "Link",
|
293
|
+
"linkType": "User",
|
294
|
+
"id": "4SejVrWT96dvL9IV4Nb7sQ"
|
295
|
+
}
|
296
|
+
}
|
297
|
+
}
|
298
|
+
}
|
299
|
+
http_version:
|
300
|
+
recorded_at: Wed, 15 Mar 2017 14:15:15 GMT
|
301
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'contentful/management/space'
|
3
|
+
require 'contentful/management/client'
|
4
|
+
|
5
|
+
module Contentful
|
6
|
+
module Management
|
7
|
+
describe Snapshot do
|
8
|
+
let(:token) { '<ACCESS_TOKEN>' }
|
9
|
+
let(:space_id) { 'facgnwwgj5fe' }
|
10
|
+
let(:entry_id) { '5gQdVmPHKwIk2MumquYwOu' }
|
11
|
+
let(:snapshot_id) { '6DglRQMMHWUnzi2F3RjFFo' }
|
12
|
+
let!(:client) { Client.new(token) }
|
13
|
+
|
14
|
+
subject { client.snapshots }
|
15
|
+
|
16
|
+
describe '.all' do
|
17
|
+
it 'class method also works' do
|
18
|
+
vcr('snapshot/all') { expect(Contentful::Management::Snapshot.all(client, space_id, entry_id)).to be_kind_of Contentful::Management::Array }
|
19
|
+
end
|
20
|
+
it 'returns a Contentful::Array' do
|
21
|
+
vcr('snapshot/all') { expect(subject.all(space_id, entry_id)).to be_kind_of Contentful::Management::Array }
|
22
|
+
end
|
23
|
+
it 'builds a Contentful::Management::Snapshot object' do
|
24
|
+
vcr('snapshot/all') { expect(subject.all(space_id, entry_id).first).to be_kind_of Contentful::Management::Snapshot }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe '.find' do
|
29
|
+
it 'class method also works' do
|
30
|
+
vcr('snapshot/find') { expect(Contentful::Management::Snapshot.find(client, space_id, entry_id, snapshot_id)).to be_kind_of Contentful::Management::Snapshot }
|
31
|
+
end
|
32
|
+
it 'returns a Contentful::Management::Snapshot' do
|
33
|
+
vcr('snapshot/find') { expect(subject.find(space_id, entry_id, snapshot_id)).to be_kind_of Contentful::Management::Snapshot }
|
34
|
+
end
|
35
|
+
it 'returns snapshot for a given key' do
|
36
|
+
vcr('snapshot/find') do
|
37
|
+
snapshot = subject.find(space_id, entry_id, snapshot_id)
|
38
|
+
expect(snapshot.id).to eql snapshot_id
|
39
|
+
end
|
40
|
+
end
|
41
|
+
it 'returns an error when snapshot does not exist' do
|
42
|
+
vcr('snapshot/find_not_found') do
|
43
|
+
result = subject.find(space_id, entry_id, 'not_exist')
|
44
|
+
expect(result).to be_kind_of Contentful::Management::NotFound
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe '.create' do
|
50
|
+
it 'is not supported' do
|
51
|
+
expect { subject.create }.to raise_error 'Not supported'
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe '#update' do
|
56
|
+
it 'is not supported' do
|
57
|
+
vcr('snapshot/find') do
|
58
|
+
snapshot = subject.find(space_id, entry_id, snapshot_id)
|
59
|
+
|
60
|
+
expect { snapshot.update }.to raise_error 'Not supported'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe '#destroy' do
|
66
|
+
it 'is not supported' do
|
67
|
+
vcr('snapshot/find') do
|
68
|
+
snapshot = subject.find(space_id, entry_id, snapshot_id)
|
69
|
+
|
70
|
+
expect { snapshot.destroy }.to raise_error 'Not supported'
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe 'properties' do
|
76
|
+
it '.snapshot' do
|
77
|
+
vcr('snapshot/properties') do
|
78
|
+
snapshot = subject.find(space_id, entry_id, snapshot_id)
|
79
|
+
|
80
|
+
expect(snapshot.snapshot).to be_a Contentful::Management::Entry
|
81
|
+
expect(snapshot.snapshot.name['en-US']).to eq 'something else'
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: contentful-management
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Protas
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2017-04-11 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: http
|
@@ -243,6 +243,7 @@ files:
|
|
243
243
|
- lib/contentful/management/client_entry_methods_factory.rb
|
244
244
|
- lib/contentful/management/client_locale_methods_factory.rb
|
245
245
|
- lib/contentful/management/client_role_methods_factory.rb
|
246
|
+
- lib/contentful/management/client_snapshot_methods_factory.rb
|
246
247
|
- lib/contentful/management/client_space_methods_factory.rb
|
247
248
|
- lib/contentful/management/client_webhook_methods_factory.rb
|
248
249
|
- lib/contentful/management/content_type.rb
|
@@ -251,6 +252,8 @@ files:
|
|
251
252
|
- lib/contentful/management/dynamic_entry.rb
|
252
253
|
- lib/contentful/management/editor_interface.rb
|
253
254
|
- lib/contentful/management/entry.rb
|
255
|
+
- lib/contentful/management/entry_association_methods_factory.rb
|
256
|
+
- lib/contentful/management/entry_snapshot_methods_factory.rb
|
254
257
|
- lib/contentful/management/error.rb
|
255
258
|
- lib/contentful/management/field.rb
|
256
259
|
- lib/contentful/management/file.rb
|
@@ -274,6 +277,7 @@ files:
|
|
274
277
|
- lib/contentful/management/resource_requester.rb
|
275
278
|
- lib/contentful/management/response.rb
|
276
279
|
- lib/contentful/management/role.rb
|
280
|
+
- lib/contentful/management/snapshot.rb
|
277
281
|
- lib/contentful/management/space.rb
|
278
282
|
- lib/contentful/management/space_api_key_methods_factory.rb
|
279
283
|
- lib/contentful/management/space_asset_methods_factory.rb
|
@@ -493,6 +497,10 @@ files:
|
|
493
497
|
- spec/fixtures/vcr_cassettes/roles/find.yml
|
494
498
|
- spec/fixtures/vcr_cassettes/roles/find_for_space_not_found.yml
|
495
499
|
- spec/fixtures/vcr_cassettes/roles/update.yml
|
500
|
+
- spec/fixtures/vcr_cassettes/snapshot/all.yml
|
501
|
+
- spec/fixtures/vcr_cassettes/snapshot/find.yml
|
502
|
+
- spec/fixtures/vcr_cassettes/snapshot/find_not_found.yml
|
503
|
+
- spec/fixtures/vcr_cassettes/snapshot/properties.yml
|
496
504
|
- spec/fixtures/vcr_cassettes/space/all.yml
|
497
505
|
- spec/fixtures/vcr_cassettes/space/api_key/all.yml
|
498
506
|
- spec/fixtures/vcr_cassettes/space/api_key/create.yml
|
@@ -556,6 +564,7 @@ files:
|
|
556
564
|
- spec/lib/contentful/management/entry_spec.rb
|
557
565
|
- spec/lib/contentful/management/locale_spec.rb
|
558
566
|
- spec/lib/contentful/management/role_spec.rb
|
567
|
+
- spec/lib/contentful/management/snapshot_spec.rb
|
559
568
|
- spec/lib/contentful/management/space_spec.rb
|
560
569
|
- spec/lib/contentful/management/webhook_spec.rb
|
561
570
|
- spec/spec_helper.rb
|
@@ -789,6 +798,10 @@ test_files:
|
|
789
798
|
- spec/fixtures/vcr_cassettes/roles/find.yml
|
790
799
|
- spec/fixtures/vcr_cassettes/roles/find_for_space_not_found.yml
|
791
800
|
- spec/fixtures/vcr_cassettes/roles/update.yml
|
801
|
+
- spec/fixtures/vcr_cassettes/snapshot/all.yml
|
802
|
+
- spec/fixtures/vcr_cassettes/snapshot/find.yml
|
803
|
+
- spec/fixtures/vcr_cassettes/snapshot/find_not_found.yml
|
804
|
+
- spec/fixtures/vcr_cassettes/snapshot/properties.yml
|
792
805
|
- spec/fixtures/vcr_cassettes/space/all.yml
|
793
806
|
- spec/fixtures/vcr_cassettes/space/api_key/all.yml
|
794
807
|
- spec/fixtures/vcr_cassettes/space/api_key/create.yml
|
@@ -852,6 +865,7 @@ test_files:
|
|
852
865
|
- spec/lib/contentful/management/entry_spec.rb
|
853
866
|
- spec/lib/contentful/management/locale_spec.rb
|
854
867
|
- spec/lib/contentful/management/role_spec.rb
|
868
|
+
- spec/lib/contentful/management/snapshot_spec.rb
|
855
869
|
- spec/lib/contentful/management/space_spec.rb
|
856
870
|
- spec/lib/contentful/management/webhook_spec.rb
|
857
871
|
- spec/spec_helper.rb
|