dato 0.3.20 → 0.3.21
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/dato/dump/dsl/directory.rb +1 -1
- data/lib/dato/site/client.rb +9 -3
- data/lib/dato/site/repo/access_token.rb +47 -0
- data/lib/dato/site/repo/item_type.rb +8 -2
- data/lib/dato/site/repo/role.rb +42 -0
- data/lib/dato/site/repo/search_result.rb +14 -0
- data/lib/dato/site/repo/site.rb +1 -1
- data/lib/dato/site/repo/upload.rb +41 -0
- data/lib/dato/site/repo/user.rb +3 -1
- data/lib/dato/utils/locale_value.rb +2 -1
- data/lib/dato/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6442907627626e3ac92bb9ab10a6f7396b4920c
|
4
|
+
data.tar.gz: 7c069002318c781de67b21e4a1c28996bb98d2c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0de9d98069fb65dbbb999a3ed133abd9faa86511a6b28226eebc0e4702c64f8871342dfd41c8ccb50d25c7b0c5ad26f14333f8db4cd9b273def0b6238e19c7d
|
7
|
+
data.tar.gz: 859d1630d957ab13bd73af80dc98d137f305e1d481491dc89f4c4a6f15311320ed2f4ea38559e3a609f2ed737d094e3a7c72e49fae473ef18073adf645330e13
|
data/lib/dato/site/client.rb
CHANGED
@@ -13,6 +13,9 @@ require 'dato/site/repo/site'
|
|
13
13
|
require 'dato/site/repo/upload_request'
|
14
14
|
require 'dato/site/repo/user'
|
15
15
|
require 'dato/site/repo/item'
|
16
|
+
require 'dato/site/repo/role'
|
17
|
+
require 'dato/site/repo/access_token'
|
18
|
+
require 'dato/site/repo/upload'
|
16
19
|
|
17
20
|
require 'dato/upload/file'
|
18
21
|
require 'dato/upload/image'
|
@@ -30,7 +33,10 @@ module Dato
|
|
30
33
|
site: Repo::Site,
|
31
34
|
upload_requests: Repo::UploadRequest,
|
32
35
|
users: Repo::User,
|
33
|
-
items: Repo::Item
|
36
|
+
items: Repo::Item,
|
37
|
+
roles: Repo::Role,
|
38
|
+
access_tokens: Repo::AccessToken,
|
39
|
+
uploads: Repo::Upload
|
34
40
|
}.freeze
|
35
41
|
|
36
42
|
attr_reader :token, :base_url, :schema, :extra_headers
|
@@ -73,9 +79,9 @@ module Dato
|
|
73
79
|
raise e
|
74
80
|
rescue Faraday::ClientError => e
|
75
81
|
error = ApiError.new(e)
|
76
|
-
puts
|
82
|
+
puts '===='
|
77
83
|
puts error.message
|
78
|
-
puts
|
84
|
+
puts '===='
|
79
85
|
raise error
|
80
86
|
end
|
81
87
|
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'dato/site/repo/base'
|
3
|
+
|
4
|
+
module Dato
|
5
|
+
module Site
|
6
|
+
module Repo
|
7
|
+
class AccessToken < Base
|
8
|
+
def create(resource_attributes)
|
9
|
+
body = JsonApiSerializer.new(
|
10
|
+
type: :access_token,
|
11
|
+
attributes: %i(name),
|
12
|
+
relationships: { role: { collection: false, type: :role } },
|
13
|
+
required_attributes: %i(name)
|
14
|
+
).serialize(resource_attributes)
|
15
|
+
|
16
|
+
post_request '/access_tokens', body
|
17
|
+
end
|
18
|
+
|
19
|
+
def update(user_id, resource_attributes)
|
20
|
+
body = JsonApiSerializer.new(
|
21
|
+
type: :access_token,
|
22
|
+
attributes: %i(name),
|
23
|
+
relationships: { role: { collection: false, type: :role } }
|
24
|
+
).serialize(resource_attributes, user_id)
|
25
|
+
|
26
|
+
put_request "/access_tokens/#{user_id}", body
|
27
|
+
end
|
28
|
+
|
29
|
+
def all
|
30
|
+
get_request '/access_tokens'
|
31
|
+
end
|
32
|
+
|
33
|
+
def find(user_id)
|
34
|
+
get_request "/access_tokens/#{user_id}"
|
35
|
+
end
|
36
|
+
|
37
|
+
def regenerate_token(user_id)
|
38
|
+
post_request "/access_tokens/#{user_id}/regenerate_token"
|
39
|
+
end
|
40
|
+
|
41
|
+
def destroy(user_id)
|
42
|
+
delete_request "/access_tokens/#{user_id}"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -10,7 +10,8 @@ module Dato
|
|
10
10
|
type: :item_type,
|
11
11
|
attributes: %i(api_key name ordering_direction singleton sortable),
|
12
12
|
relationships: { ordering_field: { collection: false, type: :field } },
|
13
|
-
required_attributes: %i(api_key name ordering_direction singleton sortable)
|
13
|
+
required_attributes: %i(api_key name ordering_direction singleton sortable),
|
14
|
+
required_relationships: %i(ordering_field)
|
14
15
|
).serialize(resource_attributes)
|
15
16
|
|
16
17
|
post_request '/item-types', body
|
@@ -21,7 +22,8 @@ module Dato
|
|
21
22
|
type: :item_type,
|
22
23
|
attributes: %i(api_key name ordering_direction singleton sortable),
|
23
24
|
relationships: { ordering_field: { collection: false, type: :field } },
|
24
|
-
required_attributes: %i(api_key name ordering_direction singleton sortable)
|
25
|
+
required_attributes: %i(api_key name ordering_direction singleton sortable),
|
26
|
+
required_relationships: %i(ordering_field)
|
25
27
|
).serialize(resource_attributes, item_type_id)
|
26
28
|
|
27
29
|
put_request "/item-types/#{item_type_id}", body
|
@@ -35,6 +37,10 @@ module Dato
|
|
35
37
|
get_request "/item-types/#{item_type_id}"
|
36
38
|
end
|
37
39
|
|
40
|
+
def duplicate(item_type_id)
|
41
|
+
post_request "/item-types/#{item_type_id}/duplicate"
|
42
|
+
end
|
43
|
+
|
38
44
|
def destroy(item_type_id)
|
39
45
|
delete_request "/item-types/#{item_type_id}"
|
40
46
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'dato/site/repo/base'
|
3
|
+
|
4
|
+
module Dato
|
5
|
+
module Site
|
6
|
+
module Repo
|
7
|
+
class Role < Base
|
8
|
+
def create(resource_attributes)
|
9
|
+
body = JsonApiSerializer.new(
|
10
|
+
type: :role,
|
11
|
+
attributes: %i(can_edit_favicon can_edit_schema can_edit_site can_manage_access_tokens can_manage_users can_perform_site_search can_publish_to_production can_publish_to_staging name negative_item_type_permissions positive_item_type_permissions),
|
12
|
+
required_attributes: %i(can_edit_favicon can_edit_schema can_edit_site can_manage_access_tokens can_manage_users can_perform_site_search can_publish_to_production can_publish_to_staging name negative_item_type_permissions positive_item_type_permissions)
|
13
|
+
).serialize(resource_attributes)
|
14
|
+
|
15
|
+
post_request '/roles', body
|
16
|
+
end
|
17
|
+
|
18
|
+
def update(role_id, resource_attributes)
|
19
|
+
body = JsonApiSerializer.new(
|
20
|
+
type: :role,
|
21
|
+
attributes: %i(can_edit_favicon can_edit_schema can_edit_site can_manage_access_tokens can_manage_users can_perform_site_search can_publish_to_production can_publish_to_staging name negative_item_type_permissions positive_item_type_permissions),
|
22
|
+
required_attributes: %i(can_edit_favicon can_edit_schema can_edit_site can_manage_access_tokens can_manage_users can_perform_site_search can_publish_to_production can_publish_to_staging name negative_item_type_permissions positive_item_type_permissions)
|
23
|
+
).serialize(resource_attributes, role_id)
|
24
|
+
|
25
|
+
put_request "/roles/#{role_id}", body
|
26
|
+
end
|
27
|
+
|
28
|
+
def all
|
29
|
+
get_request '/roles'
|
30
|
+
end
|
31
|
+
|
32
|
+
def find(role_id)
|
33
|
+
get_request "/roles/#{role_id}"
|
34
|
+
end
|
35
|
+
|
36
|
+
def destroy(role_id)
|
37
|
+
delete_request "/roles/#{role_id}"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/lib/dato/site/repo/site.rb
CHANGED
@@ -12,7 +12,7 @@ module Dato
|
|
12
12
|
def update(resource_attributes)
|
13
13
|
body = JsonApiSerializer.new(
|
14
14
|
type: :site,
|
15
|
-
attributes: %i(
|
15
|
+
attributes: %i(favicon global_seo locales name no_index production_deploy_adapter production_deploy_settings production_frontend_url production_spider_enabled require_2fa ssg staging_deploy_adapter staging_deploy_settings staging_frontend_url staging_spider_enabled theme timezone)
|
16
16
|
).serialize(resource_attributes)
|
17
17
|
|
18
18
|
put_request '/site', body
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'dato/site/repo/base'
|
3
|
+
|
4
|
+
module Dato
|
5
|
+
module Site
|
6
|
+
module Repo
|
7
|
+
class Upload < Base
|
8
|
+
def create(resource_attributes)
|
9
|
+
body = JsonApiSerializer.new(
|
10
|
+
type: :upload,
|
11
|
+
attributes: %i(alt format height path size title width),
|
12
|
+
required_attributes: %i(format path size)
|
13
|
+
).serialize(resource_attributes)
|
14
|
+
|
15
|
+
post_request '/uploads', body
|
16
|
+
end
|
17
|
+
|
18
|
+
def all(query)
|
19
|
+
get_request '/uploads', query
|
20
|
+
end
|
21
|
+
|
22
|
+
def find(upload_id)
|
23
|
+
get_request "/uploads/#{upload_id}"
|
24
|
+
end
|
25
|
+
|
26
|
+
def destroy(upload_id)
|
27
|
+
delete_request "/uploads/#{upload_id}"
|
28
|
+
end
|
29
|
+
|
30
|
+
def update(upload_id, resource_attributes)
|
31
|
+
body = JsonApiSerializer.new(
|
32
|
+
type: :upload,
|
33
|
+
attributes: %i(alt title)
|
34
|
+
).serialize(resource_attributes, upload_id)
|
35
|
+
|
36
|
+
put_request "/uploads/#{upload_id}", body
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/dato/site/repo/user.rb
CHANGED
@@ -9,7 +9,9 @@ module Dato
|
|
9
9
|
body = JsonApiSerializer.new(
|
10
10
|
type: :user,
|
11
11
|
attributes: %i(email first_name last_name),
|
12
|
-
|
12
|
+
relationships: { role: { collection: false, type: :role } },
|
13
|
+
required_attributes: %i(email first_name last_name),
|
14
|
+
required_relationships: %i(role)
|
13
15
|
).serialize(resource_attributes)
|
14
16
|
|
15
17
|
post_request '/users', body
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'i18n/backend/fallbacks'
|
2
3
|
|
3
4
|
module Dato
|
@@ -5,7 +6,7 @@ module Dato
|
|
5
6
|
module LocaleValue
|
6
7
|
def self.find(obj)
|
7
8
|
locale_with_value = I18n.fallbacks[I18n.locale]
|
8
|
-
|
9
|
+
.find { |locale| obj[locale] }
|
9
10
|
|
10
11
|
obj[locale_with_value || I18n.locale]
|
11
12
|
end
|
data/lib/dato/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dato
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefano Verna
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -421,13 +421,17 @@ files:
|
|
421
421
|
- lib/dato/local/site.rb
|
422
422
|
- lib/dato/migrate_slugs/runner.rb
|
423
423
|
- lib/dato/site/client.rb
|
424
|
+
- lib/dato/site/repo/access_token.rb
|
424
425
|
- lib/dato/site/repo/base.rb
|
425
426
|
- lib/dato/site/repo/deploy_event.rb
|
426
427
|
- lib/dato/site/repo/field.rb
|
427
428
|
- lib/dato/site/repo/item.rb
|
428
429
|
- lib/dato/site/repo/item_type.rb
|
429
430
|
- lib/dato/site/repo/menu_item.rb
|
431
|
+
- lib/dato/site/repo/role.rb
|
432
|
+
- lib/dato/site/repo/search_result.rb
|
430
433
|
- lib/dato/site/repo/site.rb
|
434
|
+
- lib/dato/site/repo/upload.rb
|
431
435
|
- lib/dato/site/repo/upload_request.rb
|
432
436
|
- lib/dato/site/repo/user.rb
|
433
437
|
- lib/dato/upload/file.rb
|