sfrest 0.0.36 → 0.0.39

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 22fe3070d6203957aa5361a2583ec43dc1f63f29c5bd8a08335e07c176d082d6
4
- data.tar.gz: 4e0c7a0f06eaa5b72a215fcc1028f90eb9faf6a92394ad2b79a26728a1043af0
3
+ metadata.gz: 1e2e8fc07cf9577be1a4a1ccca84a3049b992e27e318a8b1d6d7fcd575f82fee
4
+ data.tar.gz: 4c234cc4ce912626b82c1899a139026c02c214176a83018118e57d0714ef2dc1
5
5
  SHA512:
6
- metadata.gz: d9e8de406c5b8439f21974b2975f07898eed6789c33c1d8643f8a0d955a8eadb8b9b3768d59eb21834b3f247df4a4ba5dad2c5621737c6c16499a486c6d7a1cc
7
- data.tar.gz: 91afd11ef8f8bb8cf8c219aeca3082542d5f66cf1e51a332e6dd8aa63661feafcc9b4f8e437d74d4468dab250d12fd7189fb6e95ea58db7f3a05fae520d494ad
6
+ metadata.gz: 60dc925219e31dce103270055b1dbf73285f4b6ee4a08d18f697603a4d85c17eeb04aeaf7c82c0155ceed9514867cb2a7830955632f7d08217070d4db2c0878b
7
+ data.tar.gz: 65076385c8d487c6adc87d1981bf8a39005f9208056b0733ec2a322d80949d2f46808833bd762309e0280f3b760c45c8898bf93d40e50c1fcca4b3b51eac896c
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SFRest
4
+ # We need to keep this naming due to the way connection.rb autoloads things.
5
+ # rubocop: disable Naming/ClassAndModuleCamelCase
6
+ # Manage the centralized role management feature.
7
+ class Centralized_role_management
8
+ # rubocop: enable Naming/ClassAndModuleCamelCase
9
+
10
+ # @param [SFRest::Connection] conn
11
+ def initialize(conn)
12
+ @conn = conn
13
+ end
14
+
15
+ # Get current centralized role management settings
16
+ #
17
+ # @return [Array] an array of roles with their associated settings.
18
+ def centralized_role_mapping
19
+ @conn.get('/api/v1/centralized-role-management')
20
+ end
21
+
22
+ # Enable the centralized role management settings for a given role.
23
+ # @param [String] factory_role the site factory role.
24
+ # @param [String] site_role the corresponding role on the site.
25
+ #
26
+ # @return [Array] an array of roles with their associated settings.
27
+ def enable_role_mapping(factory_role, site_role = '')
28
+ payload = {
29
+ 'site_role' => site_role
30
+ }.to_json
31
+ @conn.put("/api/v1/centralized-role-management/#{factory_role}", payload)
32
+ end
33
+
34
+ # Disable the centralized role management settings for a given role.
35
+ # @param [String] factory_role the site factory role.
36
+ #
37
+ # @return [Array] an array of roles with their associated settings.
38
+ def disable_role_mapping(factory_role)
39
+ @conn.delete("/api/v1/centralized-role-management/#{factory_role}")
40
+ end
41
+ end
42
+ end
@@ -164,14 +164,18 @@ module SFRest
164
164
  # NOTE: accessor == Class_name.to_lower
165
165
  REST_METHODS = %w[audit
166
166
  backup
167
+ centralized_role_management
167
168
  codebase
168
169
  collection
170
+ cron
169
171
  domains
172
+ factory_standard_domain
170
173
  group
171
174
  info
172
175
  profile
173
176
  role
174
177
  site
178
+ site_ownership
175
179
  stage
176
180
  task
177
181
  theme
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SFRest
4
+ # Manipulates SF cron jobs.
5
+ class Cron
6
+ # @param [SFRest::Connection] conn
7
+ def initialize(conn)
8
+ @conn = conn
9
+ end
10
+
11
+ # Gets a list of cron jobs
12
+ # @param [Integer] page
13
+ # @param [Integer] items per page
14
+ def get_cron_jobs(page = nil, limit = nil)
15
+ args = {}
16
+ args['page'] = page unless page.nil?
17
+ args['limit'] = limit unless limit.nil?
18
+ url = "/api/v1/cronjobs?#{args.map { |k, v| "#{k}=#{v}" }.join('&')}"
19
+ @conn.get(url)
20
+ end
21
+
22
+ # Gets a cron job by its node id
23
+ # @param [Integer] cron job nid
24
+ def get_cron_job(nid)
25
+ @conn.get("/api/v1/cronjobs/#{nid}")
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SFRest
4
+ # We need to keep this naming due to the way connection.rb autoloads things.
5
+ # rubocop: disable Naming/ClassAndModuleCamelCase
6
+ # Manage the factory standard domain feature.
7
+ class Factory_standard_domain
8
+ # rubocop: enable Naming/ClassAndModuleCamelCase
9
+
10
+ # @param [SFRest::Connection] conn
11
+ def initialize(conn)
12
+ @conn = conn
13
+ end
14
+
15
+ # Get current factory standard domains settings
16
+ #
17
+ # @return [Array] an array of factory standard domains with their associated settings.
18
+ def factory_standard_domain_mapping
19
+ @conn.get('/api/v1/factory-standard-domains')
20
+ end
21
+
22
+ # Enable the factory standard domains settings for a given template name.
23
+ # @param [String] domain_template_name the domain template name.
24
+ # @param [Array] new_template the templates to be used.
25
+ #
26
+ # @return [Array] an array of factory standard domains with their associated settings.
27
+ def enable_factory_standard_domain_template(domain_template_name, new_template = [])
28
+ payload = {
29
+ 'new_template' => new_template
30
+ }.to_json
31
+ @conn.put("/api/v1/factory-standard-domains/#{domain_template_name}", payload)
32
+ end
33
+
34
+ # Disable the centralized role management settings for a given role.
35
+ # @param [String] domain_template_name the domain template name.
36
+ #
37
+ # @return [Array] an array of factory standard domains with their associated settings.
38
+ def disable_factory_standard_domain_template(domain_template_name)
39
+ @conn.delete("/api/v1/factory-standard-domains/#{domain_template_name}")
40
+ end
41
+
42
+ # Backfills the factory standard domains using the templates defined.
43
+ #
44
+ # @return [Array] an array containing the message and task_id for that operation.
45
+ def backfill_domains
46
+ @conn.post('/api/v1/factory-standard-domains', {}.to_json)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SFRest
4
+ # We need to keep this naming due to the way connection.rb autoloads things.
5
+ # rubocop: disable Naming/ClassAndModuleCamelCase
6
+ # Manage the site default ownership feature.
7
+ class Site_ownership
8
+ # rubocop: enable Naming/ClassAndModuleCamelCase
9
+
10
+ # @param [SFRest::Connection] conn
11
+ def initialize(conn)
12
+ @conn = conn
13
+ end
14
+
15
+ # Get current site ownership settings.
16
+ #
17
+ # @return [Array] an array containing current settings.
18
+ def default_ownership
19
+ @conn.get('/api/v1/site-ownership')
20
+ end
21
+
22
+ # Set the site ownership settings.
23
+ # @param [String] The default owner username. The user has to have the "Platform admin" role.
24
+ #
25
+ # @return [Array] an array containing the message given by the server.
26
+ def make_default_owner(username)
27
+ payload = {
28
+ 'username' => username
29
+ }
30
+
31
+ @conn.put('/api/v1/site-ownership', payload.to_json)
32
+ end
33
+
34
+ # Removes the default site owner.
35
+ #
36
+ # @return [Array] an array containing the message given by the server.
37
+ def remove_default_owner
38
+ @conn.delete('/api/v1/site-ownership')
39
+ end
40
+ end
41
+ end
data/lib/sfrest/stage.rb CHANGED
@@ -34,6 +34,7 @@ module SFRest
34
34
  # @param [synchronize_all_users] only stage the user accounts required for the related collections and groups
35
35
  # @param [Array] Stacks Array of stack ids to wipe
36
36
  # @param [Boolean] skip_site_files site skip file transfer during staging
37
+ # @param [Array] skip_site_files_overwrite list of files to skip during staging
37
38
  #
38
39
  # @return [Integer] Id of the staging task created.
39
40
  # rubocop:disable Metrics/ParameterLists
@@ -43,7 +44,8 @@ module SFRest
43
44
  wipe_target_environment: false,
44
45
  synchronize_all_users: true,
45
46
  wipe_stacks: [],
46
- skip_site_files: false)
47
+ skip_site_files: false,
48
+ skip_site_files_overwrite: [])
47
49
  raise InvalidApiVersion, staging_versions unless staging_versions.include? 2
48
50
 
49
51
  payload = { 'to_env' => env, 'sites' => sites,
@@ -51,7 +53,8 @@ module SFRest
51
53
  'wipe_target_environment' => wipe_target_environment,
52
54
  'synchronize_all_users' => synchronize_all_users,
53
55
  'wipe_stacks' => wipe_stacks,
54
- 'skip_site_files' => skip_site_files }.to_json
56
+ 'skip_site_files' => skip_site_files,
57
+ 'skip_site_files_overwrite' => skip_site_files_overwrite }.to_json
55
58
  @conn.post('/api/v2/stage', payload)
56
59
  end
57
60
  # rubocop:enable Metrics/ParameterLists
@@ -2,5 +2,5 @@
2
2
 
3
3
  module SFRest
4
4
  # Just tracks the version of sfrest.
5
- VERSION = '0.0.36'
5
+ VERSION = '0.0.39'
6
6
  end
data/lib/sfrest.rb CHANGED
@@ -10,17 +10,21 @@ require 'json'
10
10
 
11
11
  require 'sfrest/audit'
12
12
  require 'sfrest/backup'
13
+ require 'sfrest/centralized_role_management'
13
14
  require 'sfrest/codebase'
14
15
  require 'sfrest/collection'
15
16
  require 'sfrest/connection'
17
+ require 'sfrest/cron'
16
18
  require 'sfrest/domains'
17
19
  require 'sfrest/error'
20
+ require 'sfrest/factory_standard_domain'
18
21
  require 'sfrest/group'
19
22
  require 'sfrest/info'
20
23
  require 'sfrest/profile'
21
24
  require 'sfrest/pathbuilder'
22
25
  require 'sfrest/role'
23
26
  require 'sfrest/site'
27
+ require 'sfrest/site_ownership'
24
28
  require 'sfrest/stage'
25
29
  require 'sfrest/task'
26
30
  require 'sfrest/theme'
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.36
4
+ version: 0.0.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - ACSF Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-14 00:00:00.000000000 Z
11
+ date: 2022-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: excon
@@ -103,17 +103,21 @@ files:
103
103
  - lib/sfrest.rb
104
104
  - lib/sfrest/audit.rb
105
105
  - lib/sfrest/backup.rb
106
+ - lib/sfrest/centralized_role_management.rb
106
107
  - lib/sfrest/codebase.rb
107
108
  - lib/sfrest/collection.rb
108
109
  - lib/sfrest/connection.rb
110
+ - lib/sfrest/cron.rb
109
111
  - lib/sfrest/domains.rb
110
112
  - lib/sfrest/error.rb
113
+ - lib/sfrest/factory_standard_domain.rb
111
114
  - lib/sfrest/group.rb
112
115
  - lib/sfrest/info.rb
113
116
  - lib/sfrest/pathbuilder.rb
114
117
  - lib/sfrest/profile.rb
115
118
  - lib/sfrest/role.rb
116
119
  - lib/sfrest/site.rb
120
+ - lib/sfrest/site_ownership.rb
117
121
  - lib/sfrest/stage.rb
118
122
  - lib/sfrest/task.rb
119
123
  - lib/sfrest/theme.rb