contentful-management 1.5.0 → 1.6.0
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/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
|