avmtrf1-tools 0.40.0 → 0.41.0

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: 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