sfrest 0.0.25 → 0.0.30
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sfrest.rb +2 -0
- data/lib/sfrest/audit.rb +2 -0
- data/lib/sfrest/backup.rb +2 -0
- data/lib/sfrest/codebase.rb +2 -0
- data/lib/sfrest/collection.rb +6 -4
- data/lib/sfrest/connection.rb +6 -4
- data/lib/sfrest/domains.rb +2 -0
- data/lib/sfrest/error.rb +2 -0
- data/lib/sfrest/group.rb +36 -11
- data/lib/sfrest/info.rb +2 -0
- data/lib/sfrest/pathbuilder.rb +2 -0
- data/lib/sfrest/role.rb +6 -4
- data/lib/sfrest/site.rb +9 -5
- data/lib/sfrest/stage.rb +15 -8
- data/lib/sfrest/task.rb +12 -10
- data/lib/sfrest/theme.rb +2 -0
- data/lib/sfrest/update.rb +5 -3
- data/lib/sfrest/usage.rb +2 -0
- data/lib/sfrest/user.rb +6 -4
- data/lib/sfrest/variable.rb +3 -1
- data/lib/sfrest/version.rb +3 -1
- metadata +15 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5d935fa06aa4609da0f2a5216400ebc8b88ca7e5d973962f5834b83390ff516
|
4
|
+
data.tar.gz: 2d532f771e96c443e41c0184ff03d2af957a1759ce8207eb99c75fa90cf9e99c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ced957ae4b74d3e968794cc4f7aebd061f278fe30f240fb04dc0fd2c4d3c90d23591972433c17005e923dddbaa2e9e690bf2c164225c60e203718c4b2f47a83
|
7
|
+
data.tar.gz: 3bc8c3d799abbae1467c404b4cab407e7e23fec78fdc4d4651e91e73bedafd335cedc8c9b6a052e4bdf5daf2905f490e274b963bfb67e130d464abccb0a1449f
|
data/lib/sfrest.rb
CHANGED
data/lib/sfrest/audit.rb
CHANGED
data/lib/sfrest/backup.rb
CHANGED
data/lib/sfrest/codebase.rb
CHANGED
data/lib/sfrest/collection.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SFRest
|
2
4
|
# Find colletions, return their data.
|
3
5
|
class Collection
|
@@ -12,14 +14,14 @@ module SFRest
|
|
12
14
|
# @return [Integer] the id of sitename
|
13
15
|
def get_collection_id(name)
|
14
16
|
pglimit = 100
|
15
|
-
res = @conn.get(
|
17
|
+
res = @conn.get("/api/v1/collections&limit=#{pglimit}")
|
16
18
|
count = res['count'].to_i
|
17
19
|
id = collection_data_from_results(res, name, 'id')
|
18
20
|
return id if id
|
19
21
|
|
20
22
|
pages = (count / pglimit) + 1
|
21
23
|
2.upto(pages) do |i|
|
22
|
-
res = @conn.get(
|
24
|
+
res = @conn.get("/api/v1/collections&limit=#{pglimit}?page=#{i}")
|
23
25
|
id = collection_data_from_results(res, name, 'id')
|
24
26
|
return id if id
|
25
27
|
end
|
@@ -43,7 +45,7 @@ module SFRest
|
|
43
45
|
# @param [Integer] id the site id
|
44
46
|
# @return [Hash]
|
45
47
|
def get_collection_data(id)
|
46
|
-
@conn.get(
|
48
|
+
@conn.get("/api/v1/collections/#{id}")
|
47
49
|
end
|
48
50
|
|
49
51
|
# gets the site id of the 1st one found using the api
|
@@ -61,7 +63,7 @@ module SFRest
|
|
61
63
|
not_done = true
|
62
64
|
count = 0
|
63
65
|
while not_done
|
64
|
-
current_path = '/api/v1/collections?page=' << page.to_s
|
66
|
+
current_path = '/api/v1/collections?page='.dup << page.to_s
|
65
67
|
res = @conn.get(current_path)
|
66
68
|
if res['collections'] == []
|
67
69
|
not_done = false
|
data/lib/sfrest/connection.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SFRest
|
2
4
|
# Generic http methods
|
3
5
|
# accessors for all the sub classes.
|
@@ -40,7 +42,7 @@ module SFRest
|
|
40
42
|
user: username,
|
41
43
|
password: password,
|
42
44
|
ssl_verify_peer: false)
|
43
|
-
api_response res, true
|
45
|
+
api_response res, return_status: true
|
44
46
|
end
|
45
47
|
|
46
48
|
# http request via post
|
@@ -98,7 +100,7 @@ module SFRest
|
|
98
100
|
# with the reponse
|
99
101
|
# @return [Array|Object] if return_status then [int, Object]
|
100
102
|
# else Object
|
101
|
-
def api_response(res, return_status
|
103
|
+
def api_response(res, return_status: false)
|
102
104
|
data = access_check JSON(res.body), res.status
|
103
105
|
return_status ? [res.status, data] : data
|
104
106
|
rescue JSON::ParserError
|
@@ -179,8 +181,8 @@ module SFRest
|
|
179
181
|
|
180
182
|
REST_METHODS.each do |m|
|
181
183
|
define_method(m) do
|
182
|
-
m.capitalize!
|
183
|
-
sfrest_klass = "SFRest::#{
|
184
|
+
klazz = m.dup.capitalize!
|
185
|
+
sfrest_klass = "SFRest::#{klazz}"
|
184
186
|
Object.const_get(sfrest_klass).new(self)
|
185
187
|
end
|
186
188
|
end
|
data/lib/sfrest/domains.rb
CHANGED
data/lib/sfrest/error.rb
CHANGED
data/lib/sfrest/group.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SFRest
|
2
4
|
# SF Group management
|
3
5
|
class Group
|
@@ -18,7 +20,7 @@ module SFRest
|
|
18
20
|
# Deletes the group with the specified id
|
19
21
|
# @param [Integer] group_id Id of the group to fetch
|
20
22
|
def delete_group(group_id)
|
21
|
-
current_path =
|
23
|
+
current_path = "/api/v1/groups/#{group_id}"
|
22
24
|
@conn.delete(current_path)
|
23
25
|
end
|
24
26
|
|
@@ -26,7 +28,7 @@ module SFRest
|
|
26
28
|
# @param [Integer] group_id Id of the group to rename.
|
27
29
|
# @param [String] groupname New name for the group.
|
28
30
|
def rename_group(group_id, groupname)
|
29
|
-
current_path =
|
31
|
+
current_path = "/api/v1/groups/#{group_id}/update"
|
30
32
|
payload = { 'group_name' => groupname }.to_json
|
31
33
|
@conn.put(current_path, payload)
|
32
34
|
end
|
@@ -35,7 +37,7 @@ module SFRest
|
|
35
37
|
# @param [Integer] group_id Id of the group to fetch
|
36
38
|
# @return [Hash] group object from the SF Api
|
37
39
|
def get_group(group_id = 0)
|
38
|
-
current_path =
|
40
|
+
current_path = "/api/v1/groups/#{group_id}"
|
39
41
|
@conn.get(current_path)
|
40
42
|
end
|
41
43
|
|
@@ -43,7 +45,7 @@ module SFRest
|
|
43
45
|
# @param [Integer] group_id Id of the group to fetch
|
44
46
|
# @return [Hash] {'count' => count, 'members' => Hash }
|
45
47
|
def get_members(group_id = 0)
|
46
|
-
current_path =
|
48
|
+
current_path = "/api/v1/groups/#{group_id}/members"
|
47
49
|
@conn.get(current_path)
|
48
50
|
end
|
49
51
|
|
@@ -52,7 +54,7 @@ module SFRest
|
|
52
54
|
# @param [Array] uids of the users that need to be added
|
53
55
|
# @return [Hash] {'count' => count, 'uids_added' => Hash }
|
54
56
|
def add_members(group_id, uids)
|
55
|
-
current_path =
|
57
|
+
current_path = "/api/v1/groups/#{group_id}/members"
|
56
58
|
payload = { 'uids' => uids.map(&:to_i) }.to_json
|
57
59
|
@conn.post(current_path, payload)
|
58
60
|
end
|
@@ -62,7 +64,7 @@ module SFRest
|
|
62
64
|
# @param [Array] uids of the users that need to be removed
|
63
65
|
# @return [Hash] {'group_id' => 123, 'uids_removed' => [1, 2, ...]}
|
64
66
|
def remove_members(group_id, uids)
|
65
|
-
current_path =
|
67
|
+
current_path = "/api/v1/groups/#{group_id}/members"
|
66
68
|
payload = { 'uids' => uids.map(&:to_i) }.to_json
|
67
69
|
@conn.delete(current_path, payload)
|
68
70
|
end
|
@@ -72,7 +74,7 @@ module SFRest
|
|
72
74
|
# @param [Array] uids of the users that need to be promoted
|
73
75
|
# @return [Hash] {'count' => count, 'uids_promoted' => [1, 2, ...] }
|
74
76
|
def promote_to_admins(group_id, uids)
|
75
|
-
current_path =
|
77
|
+
current_path = "/api/v1/groups/#{group_id}/admins"
|
76
78
|
payload = { 'uids' => uids.map(&:to_i) }.to_json
|
77
79
|
@conn.post(current_path, payload)
|
78
80
|
end
|
@@ -82,7 +84,7 @@ module SFRest
|
|
82
84
|
# @param [Array] uids of the users that need to be demoted
|
83
85
|
# @return [Hash] {'count' => count, 'uids_demoted' => Hash }
|
84
86
|
def demote_from_admins(group_id, uids)
|
85
|
-
current_path =
|
87
|
+
current_path = "/api/v1/groups/#{group_id}/admins"
|
86
88
|
payload = { 'uids' => uids.map(&:to_i) }.to_json
|
87
89
|
@conn.delete(current_path, payload)
|
88
90
|
end
|
@@ -92,7 +94,7 @@ module SFRest
|
|
92
94
|
# @param [Array] site_ids Ids of the sites that need to be added
|
93
95
|
# @return [Hash] {'group_id' => 123, 'site_ids_added' => [1, 2, ...]}
|
94
96
|
def add_sites(group_id, site_ids)
|
95
|
-
current_path =
|
97
|
+
current_path = "/api/v1/groups/#{group_id}/sites"
|
96
98
|
payload = { 'site_ids' => site_ids }.to_json
|
97
99
|
@conn.post(current_path, payload)
|
98
100
|
end
|
@@ -102,7 +104,7 @@ module SFRest
|
|
102
104
|
# @param [Array] site_ids Ids of the sites that need to be removed.
|
103
105
|
# @return [Hash] {'group_id' => 123, 'site_ids_removed' => [1, 2, ...], 'site_ids_failed' => [3, 4, ...]}
|
104
106
|
def remove_sites(group_id, site_ids)
|
105
|
-
current_path =
|
107
|
+
current_path = "/api/v1/groups/#{group_id}/sites"
|
106
108
|
payload = { 'site_ids' => site_ids }.to_json
|
107
109
|
@conn.delete(current_path, payload)
|
108
110
|
end
|
@@ -116,7 +118,7 @@ module SFRest
|
|
116
118
|
not_done = true
|
117
119
|
count = 0
|
118
120
|
while not_done
|
119
|
-
current_path = '/api/v1/groups?page=' << page.to_s
|
121
|
+
current_path = '/api/v1/groups?page='.dup << page.to_s
|
120
122
|
res = @conn.get(current_path)
|
121
123
|
if res['groups'] == []
|
122
124
|
not_done = false
|
@@ -134,5 +136,28 @@ module SFRest
|
|
134
136
|
end
|
135
137
|
{ 'count' => count, 'groups' => groups }
|
136
138
|
end
|
139
|
+
|
140
|
+
# gets the group ID for the group named groupname
|
141
|
+
# will page through all the groups available searching for the group
|
142
|
+
# @param [String] group the name of the group
|
143
|
+
# @return [Integer] the id of groupname
|
144
|
+
def get_group_id(groupname)
|
145
|
+
res = group_list
|
146
|
+
id = group_data_from_results(res, groupname, 'group_id')
|
147
|
+
return id if id
|
148
|
+
end
|
149
|
+
|
150
|
+
# Extract the group data for 'key' based on the site result object
|
151
|
+
# @param [Hash] res result from a request to /sites
|
152
|
+
# @param [String] groupname
|
153
|
+
# @param [String] key one of the user data returned (id, site, domain...)
|
154
|
+
# @return [Object] Integer, String, Array, Hash depending on the site data
|
155
|
+
def group_data_from_results(res, groupname, key)
|
156
|
+
groups = res['groups']
|
157
|
+
groups.each do |group|
|
158
|
+
return group[key] if group['group_name'] == groupname
|
159
|
+
end
|
160
|
+
nil
|
161
|
+
end
|
137
162
|
end
|
138
163
|
end
|
data/lib/sfrest/info.rb
CHANGED
data/lib/sfrest/pathbuilder.rb
CHANGED
data/lib/sfrest/role.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SFRest
|
2
4
|
# create, delete, update, roles
|
3
5
|
class Role
|
@@ -16,7 +18,7 @@ module SFRest
|
|
16
18
|
not_done = true
|
17
19
|
count = 0
|
18
20
|
while not_done
|
19
|
-
current_path = '/api/v1/roles?page=' << page.to_s
|
21
|
+
current_path = '/api/v1/roles?page='.dup << page.to_s
|
20
22
|
res = @conn.get(current_path)
|
21
23
|
if res['roles'] == []
|
22
24
|
not_done = false
|
@@ -42,14 +44,14 @@ module SFRest
|
|
42
44
|
# this will iterate through the roles pages
|
43
45
|
def get_role_id(rolename)
|
44
46
|
pglimit = 100
|
45
|
-
res = @conn.get(
|
47
|
+
res = @conn.get("/api/v1/roles&limit=#{pglimit}")
|
46
48
|
rolecount = res['count'].to_i
|
47
49
|
id = role_data_from_results(res, rolename)
|
48
50
|
return id if id
|
49
51
|
|
50
52
|
pages = (rolecount / pglimit) + 1
|
51
53
|
2.upto(pages) do |i|
|
52
|
-
res = @conn.get(
|
54
|
+
res = @conn.get("/api/v1/roles&limit=#{pglimit}?page=#{i}")
|
53
55
|
id = role_data_from_results(res, rolename)
|
54
56
|
return id if id
|
55
57
|
end
|
@@ -72,7 +74,7 @@ module SFRest
|
|
72
74
|
# @param [Integer] id the role id
|
73
75
|
# @return [Hash] the role
|
74
76
|
def role_data(id)
|
75
|
-
@conn.get(
|
77
|
+
@conn.get("/api/v1/roles/#{id}")
|
76
78
|
end
|
77
79
|
|
78
80
|
# Creates a role.
|
data/lib/sfrest/site.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SFRest
|
2
4
|
# Find sites, create a site,
|
3
5
|
class Site
|
@@ -12,14 +14,14 @@ module SFRest
|
|
12
14
|
# @return [Integer] the id of sitename
|
13
15
|
def get_site_id(sitename)
|
14
16
|
pglimit = 100
|
15
|
-
res = @conn.get(
|
17
|
+
res = @conn.get("/api/v1/sites&limit=#{pglimit}")
|
16
18
|
sitecount = res['count'].to_i
|
17
19
|
id = site_data_from_results(res, sitename, 'id')
|
18
20
|
return id if id
|
19
21
|
|
20
22
|
pages = (sitecount / pglimit) + 1
|
21
23
|
2.upto(pages) do |i|
|
22
|
-
res = @conn.get(
|
24
|
+
res = @conn.get("/api/v1/sites&limit=#{pglimit}?page=#{i}")
|
23
25
|
id = site_data_from_results(res, sitename, 'id')
|
24
26
|
return id if id
|
25
27
|
end
|
@@ -43,7 +45,7 @@ module SFRest
|
|
43
45
|
# @param [Integer] site_id the site id
|
44
46
|
# @return [Hash]
|
45
47
|
def get_site_data(site_id)
|
46
|
-
@conn.get(
|
48
|
+
@conn.get("/api/v1/sites/#{site_id}")
|
47
49
|
end
|
48
50
|
|
49
51
|
# gets the site id of the 1st one found using the api
|
@@ -58,13 +60,14 @@ module SFRest
|
|
58
60
|
# @param [Boolean] show_incomplete whether to include incomplete sites in
|
59
61
|
# the list. The default differs from UI/SF to maintain backward compatibility.
|
60
62
|
# @return [Hash{'count' => Integer, 'sites' => Hash}]
|
63
|
+
# rubocop: disable Style/OptionalBooleanParameter
|
61
64
|
def site_list(show_incomplete = true)
|
62
65
|
page = 1
|
63
66
|
not_done = true
|
64
67
|
count = 0
|
65
68
|
sites = []
|
66
69
|
while not_done
|
67
|
-
current_path = '/api/v1/sites?page=' << page.to_s
|
70
|
+
current_path = '/api/v1/sites?page='.dup << page.to_s
|
68
71
|
current_path <<= '&show_incomplete=true' if show_incomplete
|
69
72
|
res = @conn.get(current_path)
|
70
73
|
if res['sites'] == []
|
@@ -83,6 +86,7 @@ module SFRest
|
|
83
86
|
end
|
84
87
|
{ 'count' => count, 'sites' => sites }
|
85
88
|
end
|
89
|
+
# rubocop: enable Style/OptionalBooleanParameter
|
86
90
|
|
87
91
|
# Creates a site.
|
88
92
|
# @param [String] sitename The name of the site to create.
|
@@ -108,7 +112,7 @@ module SFRest
|
|
108
112
|
# @param [Integer] site_id The id of the stie to be deleted
|
109
113
|
# @return [Hash]
|
110
114
|
def delete(site_id)
|
111
|
-
current_path =
|
115
|
+
current_path = "/api/v1/sites/#{site_id}"
|
112
116
|
@conn.delete current_path
|
113
117
|
end
|
114
118
|
|
data/lib/sfrest/stage.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SFRest
|
2
4
|
# Find Staging envs and stage a set of sites
|
3
5
|
class Stage
|
@@ -13,6 +15,7 @@ module SFRest
|
|
13
15
|
# @param [Boolean] skip_gardener skip staging the gardener and only stage the sites
|
14
16
|
#
|
15
17
|
# @return [Integer] Id of the staging task created.
|
18
|
+
# rubocop: disable Style/OptionalBooleanParameter
|
16
19
|
def stage(to_env = 'test', sites = nil, email_site_status = false, skip_gardener = false)
|
17
20
|
raise InvalidApiVersion, staging_versions unless staging_versions.include? 1
|
18
21
|
|
@@ -21,6 +24,7 @@ module SFRest
|
|
21
24
|
'skip_gardener' => skip_gardener }.to_json
|
22
25
|
@conn.post('/api/v1/stage', payload)
|
23
26
|
end
|
27
|
+
# rubocop: enable Style/OptionalBooleanParameter
|
24
28
|
|
25
29
|
# Stage a site using the new method
|
26
30
|
# @param [String] to_env the name of of target env. defaults to test
|
@@ -28,21 +32,26 @@ module SFRest
|
|
28
32
|
# @param [Boolean] email_site_status send an email about the staging status of each site
|
29
33
|
# @param [Boolean] wipe_target_environment recreate the target stage wiping all data
|
30
34
|
# @param [synchronize_all_users] only stage the user accounts required for the related collections and groups
|
35
|
+
# @param [Array] Stacks Array of stack ids to wipe
|
31
36
|
#
|
32
37
|
# @return [Integer] Id of the staging task created.
|
38
|
+
# rubocop:disable Metrics/ParameterLists
|
33
39
|
def enhanced_stage(env: 'test',
|
34
40
|
sites: nil,
|
35
41
|
email_site_status: false,
|
36
42
|
wipe_target_environment: false,
|
37
|
-
synchronize_all_users: true
|
43
|
+
synchronize_all_users: true,
|
44
|
+
wipe_stacks: nil)
|
38
45
|
raise InvalidApiVersion, staging_versions unless staging_versions.include? 2
|
39
46
|
|
40
47
|
payload = { 'to_env' => env, 'sites' => sites,
|
41
48
|
'detailed_status' => email_site_status,
|
42
49
|
'wipe_target_environment' => wipe_target_environment,
|
43
|
-
'synchronize_all_users' => synchronize_all_users
|
50
|
+
'synchronize_all_users' => synchronize_all_users,
|
51
|
+
'wipe_stacks' => wipe_stacks }.to_json
|
44
52
|
@conn.post('/api/v2/stage', payload)
|
45
53
|
end
|
54
|
+
# rubocop:enable Metrics/ParameterLists
|
46
55
|
|
47
56
|
# Query for available staging environments
|
48
57
|
#
|
@@ -58,12 +67,10 @@ module SFRest
|
|
58
67
|
possible_versions = [1, 2]
|
59
68
|
@versions ||= []
|
60
69
|
possible_versions.each do |version|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
nil
|
66
|
-
end
|
70
|
+
@conn.get "/api/v#{version}/stage"
|
71
|
+
@versions.push version
|
72
|
+
rescue SFRest::InvalidResponse
|
73
|
+
nil
|
67
74
|
end
|
68
75
|
@versions
|
69
76
|
end
|
data/lib/sfrest/task.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SFRest
|
2
4
|
# Deal with tasks, find them, pause them...
|
3
5
|
class Task
|
@@ -23,7 +25,7 @@ module SFRest
|
|
23
25
|
# @param [Integer] status
|
24
26
|
# @return [Boolean]
|
25
27
|
def status_not_started?(status)
|
26
|
-
return true if (status.to_i & STATUS_TO_BE_RUN)
|
28
|
+
return true if (status.to_i & STATUS_TO_BE_RUN).positive?
|
27
29
|
|
28
30
|
false
|
29
31
|
end
|
@@ -42,7 +44,7 @@ module SFRest
|
|
42
44
|
# @param [Integer] status
|
43
45
|
# @return [Boolean]
|
44
46
|
def status_running?(status)
|
45
|
-
return true if (status.to_i & STATUS_RUNNING)
|
47
|
+
return true if (status.to_i & STATUS_RUNNING).positive?
|
46
48
|
|
47
49
|
false
|
48
50
|
end
|
@@ -70,7 +72,7 @@ module SFRest
|
|
70
72
|
# @param [Integer] status
|
71
73
|
# @return [Boolean]
|
72
74
|
def status_done?(status)
|
73
|
-
return true if (status.to_i & STATUS_DONE)
|
75
|
+
return true if (status.to_i & STATUS_DONE).positive?
|
74
76
|
|
75
77
|
false
|
76
78
|
end
|
@@ -207,7 +209,7 @@ module SFRest
|
|
207
209
|
# Get a specific task's logs
|
208
210
|
# @param [Integer] task_id
|
209
211
|
def get_task_logs(task_id)
|
210
|
-
current_path =
|
212
|
+
current_path = "/api/v1/tasks/#{task_id}/logs"
|
211
213
|
@conn.get(current_path)
|
212
214
|
end
|
213
215
|
|
@@ -220,8 +222,8 @@ module SFRest
|
|
220
222
|
begin
|
221
223
|
res = @conn.get(current_path)
|
222
224
|
paused = res['wip_pause_global']
|
223
|
-
rescue SFRest::SFError =>
|
224
|
-
paused = false if
|
225
|
+
rescue SFRest::SFError => e
|
226
|
+
paused = false if e.message =~ /Variable not found/
|
225
227
|
end
|
226
228
|
paused
|
227
229
|
end
|
@@ -231,7 +233,7 @@ module SFRest
|
|
231
233
|
# @param [Integer] task_id
|
232
234
|
# @param [String] level family|task
|
233
235
|
def pause_task(task_id, level = 'family')
|
234
|
-
current_path =
|
236
|
+
current_path = "/api/v1/pause/#{task_id}"
|
235
237
|
payload = { 'paused' => true, 'level' => level }.to_json
|
236
238
|
@conn.post(current_path, payload)
|
237
239
|
end
|
@@ -241,7 +243,7 @@ module SFRest
|
|
241
243
|
# @param [Integer] task_id
|
242
244
|
# @param [String] level family|task
|
243
245
|
def resume_task(task_id, level = 'family')
|
244
|
-
current_path =
|
246
|
+
current_path = "/api/v1/pause/#{task_id}"
|
245
247
|
payload = { 'paused' => false, 'level' => level }.to_json
|
246
248
|
@conn.post(current_path, payload)
|
247
249
|
end
|
@@ -259,7 +261,7 @@ module SFRest
|
|
259
261
|
# This will delete the task and its children
|
260
262
|
# @param [Integer] task_id
|
261
263
|
def delete_task(task_id)
|
262
|
-
current_path =
|
264
|
+
current_path = "/api/v1/tasks/#{task_id}"
|
263
265
|
@conn.delete(current_path)
|
264
266
|
end
|
265
267
|
|
@@ -267,7 +269,7 @@ module SFRest
|
|
267
269
|
# @param [String] type softpaused | softpause-for-update
|
268
270
|
# @return [Array] Array of wip classes
|
269
271
|
def get_task_class_info(type = '')
|
270
|
-
current_path =
|
272
|
+
current_path = "/api/v1/classes/#{type}"
|
271
273
|
@conn.get(current_path)
|
272
274
|
end
|
273
275
|
|
data/lib/sfrest/theme.rb
CHANGED
data/lib/sfrest/update.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SFRest
|
2
4
|
# Drive updates on the Site Factory
|
3
5
|
class Update
|
@@ -24,7 +26,7 @@ module SFRest
|
|
24
26
|
|
25
27
|
# Lists vcs refs.
|
26
28
|
def list_vcs_refs(type = 'sites', stack_id = 1)
|
27
|
-
current_path =
|
29
|
+
current_path = "/api/v1/vcs?type=#{type}&stack_id=#{stack_id}"
|
28
30
|
@conn.get(current_path)
|
29
31
|
end
|
30
32
|
|
@@ -69,7 +71,7 @@ module SFRest
|
|
69
71
|
|
70
72
|
# Gets the progress of an update by id.
|
71
73
|
def update_progress(update_id)
|
72
|
-
current_path =
|
74
|
+
current_path = "/api/v1/update/#{update_id}/status"
|
73
75
|
@conn.get(current_path)
|
74
76
|
end
|
75
77
|
|
@@ -107,7 +109,7 @@ module SFRest
|
|
107
109
|
begin
|
108
110
|
@conn.post '/api/v2/update', '{}'
|
109
111
|
rescue SFRest::BadRequestError
|
110
|
-
|
112
|
+
@has_v2_endpoint = true
|
111
113
|
rescue SFRest::InvalidResponse => e
|
112
114
|
return @has_v2_endpoint = false if e.message =~ /Invalid data, status 404/
|
113
115
|
|
data/lib/sfrest/usage.rb
CHANGED
data/lib/sfrest/user.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SFRest
|
2
4
|
# Do User actions within the Site Factory
|
3
5
|
class User
|
@@ -14,7 +16,7 @@ module SFRest
|
|
14
16
|
not_done = true
|
15
17
|
count = 0
|
16
18
|
while not_done
|
17
|
-
current_path =
|
19
|
+
current_path = "/api/v1/users?page=#{page}"
|
18
20
|
res = @conn.get(current_path)
|
19
21
|
if res['users'] == []
|
20
22
|
not_done = false
|
@@ -39,14 +41,14 @@ module SFRest
|
|
39
41
|
# @return [Integer] the uid of the drupal user
|
40
42
|
def get_user_id(username)
|
41
43
|
pglimit = 100
|
42
|
-
res = @conn.get(
|
44
|
+
res = @conn.get("/api/v1/users&limit=#{pglimit}")
|
43
45
|
usercount = res['count'].to_i
|
44
46
|
id = user_data_from_results(res, username, 'uid')
|
45
47
|
return id if id
|
46
48
|
|
47
49
|
pages = (usercount / pglimit) + 1
|
48
50
|
2.upto(pages) do |i|
|
49
|
-
res = @conn.get(
|
51
|
+
res = @conn.get("/api/v1/users&limit=#{pglimit}?page=#{i}")
|
50
52
|
id = user_data_from_results(res, username, 'uid')
|
51
53
|
return id if id
|
52
54
|
end
|
@@ -70,7 +72,7 @@ module SFRest
|
|
70
72
|
# @param [int] uid site id
|
71
73
|
# @return [Hash]
|
72
74
|
def get_user_data(uid)
|
73
|
-
@conn.get(
|
75
|
+
@conn.get("/api/v1/users/#{uid}")
|
74
76
|
end
|
75
77
|
|
76
78
|
# Creates a user.
|
data/lib/sfrest/variable.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SFRest
|
2
4
|
# Perform actions against variables in the Factory
|
3
5
|
class Variable
|
@@ -14,7 +16,7 @@ module SFRest
|
|
14
16
|
|
15
17
|
# Gets the value of a specific variable.
|
16
18
|
def get_variable(name)
|
17
|
-
current_path =
|
19
|
+
current_path = "/api/v1/variables?name=#{name}"
|
18
20
|
@conn.get(current_path)
|
19
21
|
end
|
20
22
|
|
data/lib/sfrest/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sfrest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.30
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ACSF Engineering
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: excon
|
@@ -70,32 +70,32 @@ dependencies:
|
|
70
70
|
name: simplecov
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0
|
75
|
+
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: webmock
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '0'
|
97
97
|
description: Wrapper methods around the ACSF Rest API.
|
98
|
-
email:
|
98
|
+
email:
|
99
99
|
executables: []
|
100
100
|
extensions: []
|
101
101
|
extra_rdoc_files: []
|
@@ -125,7 +125,7 @@ homepage: http://github.com/acquia/sf-sdk-ruby
|
|
125
125
|
licenses:
|
126
126
|
- APACHE-2.0
|
127
127
|
metadata: {}
|
128
|
-
post_install_message:
|
128
|
+
post_install_message:
|
129
129
|
rdoc_options: []
|
130
130
|
require_paths:
|
131
131
|
- lib
|
@@ -140,8 +140,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
140
|
- !ruby/object:Gem::Version
|
141
141
|
version: '0'
|
142
142
|
requirements: []
|
143
|
-
rubygems_version: 3.0.
|
144
|
-
signing_key:
|
143
|
+
rubygems_version: 3.0.8
|
144
|
+
signing_key:
|
145
145
|
specification_version: 4
|
146
146
|
summary: Acquia Site Factory Rest API.
|
147
147
|
test_files: []
|