avmtrf1-tools 0.40.0 → 0.41.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 409b614dd9df105476d7d7ce456efbaf3166b6c7eacf0d51bf507e84b0814423
4
- data.tar.gz: ce1872a84c657132015e826bb8bbc59fc939b031f5cb7c9d90ea706877618eda
3
+ metadata.gz: 32ccec06864f6a302202ebb37a37c7bad52f3c9ee3d336cbd775069eb699ef9f
4
+ data.tar.gz: 79845abb8223ddca954e98f2144de63756e07b1b1e3551071bed763eddc6c413
5
5
  SHA512:
6
- metadata.gz: 786b256eb94d24cad76a280e6621c5b37b8042b38bf0a95d0c7df81592e917b3698abb774d27569087146a78c782bc62c0fae488235bdc888464db610699ced0
7
- data.tar.gz: c53d815127b4e1da902e3ac1e239c55aa40b2c4817e6c4d911b50507c94c6052c3e05b2d9bc1778dfed303bb0052ab019be9e72af0ec7c060d671b439b62d156
6
+ metadata.gz: b83e3b6b85b4047ee4e37aa83e73dee02846c454a4b7ca7704e94d0fe614fd0c95a2e0ac47700f107abb8dc897d4c7100c37f7bc1d23068daedfc252b0e3ed94
7
+ data.tar.gz: 47dd7a59ec8f390e5ab61c4fbc5fcddc08da6b1889db15ef0bbcd90038f9b3816255c93e21d14d15aec7354ebb4da9c577e415729270db471e2c7f605a92775d
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_rest/entity'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Tools
8
+ module Msgraph
9
+ class Api < ::EacRest::Api
10
+ class Member < ::EacRest::Entity
11
+ %w[displayName email roles tenantId userId visibleHistoryStartDateTime]
12
+ .each do |key|
13
+ define_method key.underscore do
14
+ data.fetch(key)
15
+ end
16
+ end
17
+
18
+ # @return [String]
19
+ def id_from_data
20
+ data.fetch('id')
21
+ end
22
+
23
+ # @return [String]
24
+ def type
25
+ data.fetch('@odata.type')
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -16,9 +16,9 @@ module Avmtrf1
16
16
  end
17
17
  end
18
18
 
19
- # @return [Avmtrf1::Tools::Msgraph::Api::Group]
20
- def group(group_id)
21
- child_entity(::Avmtrf1::Tools::Msgraph::Api::Group, group_id)
19
+ # @return [Avmtrf1::Tools::Msgraph::Api::Team]
20
+ def team(team_id)
21
+ child_entity(::Avmtrf1::Tools::Msgraph::Api::Team, team_id)
22
22
  end
23
23
  end
24
24
  end
@@ -19,6 +19,13 @@ module Avmtrf1
19
19
  def id_from_data
20
20
  data.fetch('id')
21
21
  end
22
+
23
+ def members
24
+ api.request("/teams/#{id}/members").response.body_data.fetch('value')
25
+ .map do |member_data|
26
+ child_entity(::Avmtrf1::Tools::Msgraph::Api::Member, member_data)
27
+ end
28
+ end
22
29
  end
23
30
  end
24
31
  end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/tools/core_ext'
4
+
5
+ module Avmtrf1
6
+ module Tools
7
+ class Runner
8
+ class Msgraph
9
+ class Request
10
+ runner_with :help do
11
+ pos_arg :url_suffix
12
+ end
13
+
14
+ def run
15
+ request_banner
16
+ fetch_response
17
+ end
18
+
19
+ private
20
+
21
+ def request_banner
22
+ api_banner
23
+ infov 'URL', request.url
24
+ end
25
+
26
+ def fetch_response
27
+ infom 'Requesting...'
28
+ infov 'Response status', response.status
29
+ infov 'Response body class', response.body_data.class
30
+ infov 'Response body', '*'
31
+ out response.body_data.to_yaml + "\n"
32
+ end
33
+
34
+ def request_uncached
35
+ api.request_json(parsed.url_suffix)
36
+ end
37
+
38
+ def response_uncached
39
+ request.response
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/tools/core_ext'
4
+
5
+ module Avmtrf1
6
+ module Tools
7
+ class Runner
8
+ class Msgraph
9
+ class Team
10
+ class Members
11
+ runner_with :help, :output
12
+
13
+ def run
14
+ infov 'Found', members.count
15
+ run_output
16
+ end
17
+
18
+ private
19
+
20
+ def members_uncached
21
+ team.members.sort_by { |m| [m.email, m.id] }
22
+ end
23
+
24
+ def format_member(member)
25
+ %w[email display_name].map { |k| member.send(k) }.join('|')
26
+ end
27
+
28
+ def output_content
29
+ members.map { |member| "#{format_member(member)}\n" }.join
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/tools/core_ext'
4
+
5
+ module Avmtrf1
6
+ module Tools
7
+ class Runner
8
+ class Msgraph
9
+ class Team
10
+ runner_with :help, :subcommands do
11
+ pos_arg :team_id
12
+ subcommands
13
+ end
14
+ for_context :team
15
+
16
+ private
17
+
18
+ def team_uncached
19
+ api.root_entity.team(parsed.team_id)
20
+ end
21
+
22
+ require_sub __FILE__
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -12,7 +12,12 @@ module Avmtrf1
12
12
  arg_opt '-i', '--client-id', 'ID de aplicação cliente alternativo.'
13
13
  subcommands
14
14
  end
15
- for_context :api
15
+ for_context :api, :api_banner
16
+
17
+ def api_banner
18
+ infov 'Client ID', api.client_id
19
+ infov 'Root URL', api.root_url
20
+ end
16
21
 
17
22
  def client_id
18
23
  client_id_by_argument || client_id_by_config
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avmtrf1
4
4
  module Tools
5
- VERSION = '0.40.0'
5
+ VERSION = '0.41.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avmtrf1-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.40.0
4
+ version: 0.41.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-30 00:00:00.000000000 Z
11
+ date: 2023-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-selenium
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.153'
53
+ version: '0.154'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0.153'
60
+ version: '0.154'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: eac_rest
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -101,7 +101,7 @@ dependencies:
101
101
  version: '1.15'
102
102
  - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: 1.15.2
104
+ version: 1.15.3
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
@@ -111,7 +111,7 @@ dependencies:
111
111
  version: '1.15'
112
112
  - - ">="
113
113
  - !ruby/object:Gem::Version
114
- version: 1.15.2
114
+ version: 1.15.3
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: recursive-open-struct
117
117
  requirement: !ruby/object:Gem::Requirement
@@ -318,6 +318,7 @@ files:
318
318
  - lib/avmtrf1/tools/core_ext.rb
319
319
  - lib/avmtrf1/tools/msgraph.rb
320
320
  - lib/avmtrf1/tools/msgraph/api.rb
321
+ - lib/avmtrf1/tools/msgraph/api/member.rb
321
322
  - lib/avmtrf1/tools/msgraph/api/root.rb
322
323
  - lib/avmtrf1/tools/msgraph/api/team.rb
323
324
  - lib/avmtrf1/tools/msgraph/token_retrieve.rb
@@ -341,6 +342,9 @@ files:
341
342
  - lib/avmtrf1/tools/runner/inventario_sistemas.rb
342
343
  - lib/avmtrf1/tools/runner/msgraph.rb
343
344
  - lib/avmtrf1/tools/runner/msgraph/joined_teams.rb
345
+ - lib/avmtrf1/tools/runner/msgraph/request.rb
346
+ - lib/avmtrf1/tools/runner/msgraph/team.rb
347
+ - lib/avmtrf1/tools/runner/msgraph/team/members.rb
344
348
  - lib/avmtrf1/tools/runner/msgraph/token.rb
345
349
  - lib/avmtrf1/tools/runner/node_js.rb
346
350
  - lib/avmtrf1/tools/runner/node_js/docker.rb