dato 0.3.20 → 0.3.21
Sign up to get free protection for your applications and to get access to all the features.
- 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
|