avmtrf1-tools 0.41.0 → 0.41.1

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: 32ccec06864f6a302202ebb37a37c7bad52f3c9ee3d336cbd775069eb699ef9f
4
- data.tar.gz: 79845abb8223ddca954e98f2144de63756e07b1b1e3551071bed763eddc6c413
3
+ metadata.gz: 7c004c200bbd53b895d1ab4b9df5d5e2f01f7d0b3c77605fb6f1049e96c01d66
4
+ data.tar.gz: 100127b8522690406d21d3f352e97546ddbd9b066127955d227b9bd57f6fa07a
5
5
  SHA512:
6
- metadata.gz: b83e3b6b85b4047ee4e37aa83e73dee02846c454a4b7ca7704e94d0fe614fd0c95a2e0ac47700f107abb8dc897d4c7100c37f7bc1d23068daedfc252b0e3ed94
7
- data.tar.gz: 47dd7a59ec8f390e5ab61c4fbc5fcddc08da6b1889db15ef0bbcd90038f9b3816255c93e21d14d15aec7354ebb4da9c577e415729270db471e2c7f605a92775d
6
+ metadata.gz: b46dc0766ba4a2f5b3c6515608192f79ad8fc301b23b2b57a8a892b1307dc5bd35a95e2daf7435c4b575211d039456b28ee6eb2721e4995dd8386fc55f25c357
7
+ data.tar.gz: a3eb77e607af031c654dd26e5fef97dc7cfc195d140073dd3343b1087e6e073a6757b7a38084e6dc83cf741736df47cb27acdcdc16e1057a3a2ca6dfabfbaa4e
@@ -0,0 +1,22 @@
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 Entity < ::EacRest::Entity
11
+ def request_data(url_suffix)
12
+ req = api.request(url_suffix)
13
+ req.response.body_data_or_raise
14
+ rescue ::Avmtrf1::Tools::Msgraph::InvalidTokenError
15
+ api.clear_token_info
16
+ req.response.body_data_or_raise
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_rest/entity'
3
+ require 'avmtrf1/tools/msgraph/api/entity'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  module Avmtrf1
7
7
  module Tools
8
8
  module Msgraph
9
9
  class Api < ::EacRest::Api
10
- class Member < ::EacRest::Entity
10
+ class Member < ::Avmtrf1::Tools::Msgraph::Api::Entity
11
11
  %w[displayName email roles tenantId userId visibleHistoryStartDateTime]
12
12
  .each do |key|
13
13
  define_method key.underscore do
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avmtrf1/tools/msgraph/api/entity'
3
4
  require 'avmtrf1/tools/msgraph/api/team'
4
- require 'eac_rest/entity'
5
5
  require 'eac_ruby_utils/core_ext'
6
6
 
7
7
  module Avmtrf1
8
8
  module Tools
9
9
  module Msgraph
10
10
  class Api < ::EacRest::Api
11
- class Root < ::EacRest::Entity
11
+ class Root < ::Avmtrf1::Tools::Msgraph::Api::Entity
12
12
  # @return [Array<Avmtrf1::Tools::Msgraph::Api::Group>]
13
13
  def joined_teams
14
- api.request('/me/joinedTeams').response.body_data.fetch('value').map do |team_data|
14
+ request_data('/me/joinedTeams').map do |team_data|
15
15
  child_entity(::Avmtrf1::Tools::Msgraph::Api::Team, team_data)
16
16
  end
17
17
  end
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_rest/entity'
3
+ require 'avmtrf1/tools/msgraph/api/entity'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  module Avmtrf1
7
7
  module Tools
8
8
  module Msgraph
9
9
  class Api < ::EacRest::Api
10
- class Team < ::EacRest::Entity
10
+ class Team < ::Avmtrf1::Tools::Msgraph::Api::Entity
11
11
  %w[classification createdDateTime description discoverySettings displayName funSettings
12
12
  guestSettings internalId isArchived isMembershipLimitedToOwners memberSettings
13
13
  messagingSettings specialization summary tenantId visibility webUrl].each do |key|
@@ -21,8 +21,7 @@ module Avmtrf1
21
21
  end
22
22
 
23
23
  def members
24
- api.request("/teams/#{id}/members").response.body_data.fetch('value')
25
- .map do |member_data|
24
+ request_data("/teams/#{id}/members").map do |member_data|
26
25
  child_entity(::Avmtrf1::Tools::Msgraph::Api::Member, member_data)
27
26
  end
28
27
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avmtrf1/tools/msgraph/request_mixin'
3
4
  require 'eac_rest/api'
4
5
  require 'eac_ruby_utils/core_ext'
5
6
 
@@ -17,10 +18,18 @@ module Avmtrf1
17
18
  token_info.fetch(:token).fetch(:accessToken)
18
19
  end
19
20
 
21
+ # @return [void]
22
+ def clear_token_info
23
+ token_info_cache.clear
24
+ reset_cache(:token_info)
25
+ end
26
+
20
27
  # @return [EacRest::Request]
21
28
  def request(service_url_suffix, headers = {}, &body_data_proc)
22
- super(service_url_suffix, headers, &body_data_proc)
23
- .header('Authorization', "Bearer #{access_token}")
29
+ r = super(service_url_suffix, headers, &body_data_proc)
30
+ .header('Authorization', "Bearer #{access_token}")
31
+ r.singleton_class.prepend(::Avmtrf1::Tools::Msgraph::RequestMixin)
32
+ r
24
33
  end
25
34
 
26
35
  def fs_object_id
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_rest/error'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Tools
8
+ module Msgraph
9
+ class InvalidTokenError < ::EacRest::Error
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/tools/msgraph/response_mixin'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Tools
8
+ module Msgraph
9
+ module RequestMixin
10
+ def response
11
+ r = super
12
+ r.singleton_class.prepend(::Avmtrf1::Tools::Msgraph::ResponseMixin)
13
+ r
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/tools/msgraph/invalid_token_error'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Tools
8
+ module Msgraph
9
+ module ResponseMixin
10
+ ERROR_KEY = 'error'
11
+ INVALID_TOKEN_CODE = 'InvalidAuthenticationToken'
12
+ VALUE_KEY = 'value'
13
+
14
+ def body_data_or_raise
15
+ check_invalid_token
16
+ r = super
17
+ return r unless r.is_a?(::Hash)
18
+
19
+ body_hash_or_raise(r)
20
+ end
21
+
22
+ # @return [String, nil]
23
+ def error_code
24
+ return false unless body_data.is_a?(::Hash)
25
+ return false unless body_data.key?(ERROR_KEY)
26
+
27
+ body_data.fetch(ERROR_KEY).fetch('code')
28
+ end
29
+
30
+ protected
31
+
32
+ def body_hash_or_raise(result_data)
33
+ return result_data.fetch(VALUE_KEY) if result_data.key?(VALUE_KEY)
34
+ return raise_error_from_hash(result_data.fetch(ERROR_KEY)) if result_data.key?(ERROR_KEY)
35
+
36
+ nbr
37
+ end
38
+
39
+ def check_invalid_token
40
+ return unless error_code == INVALID_TOKEN_CODE
41
+
42
+ raise ::Avmtrf1::Tools::Msgraph::InvalidTokenError
43
+ end
44
+
45
+ def raise_error_from_hash(error_hash)
46
+ raise ::EacRest::Error, error_hash.pretty_inspect
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avmtrf1
4
4
  module Tools
5
- VERSION = '0.41.0'
5
+ VERSION = '0.41.1'
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.41.0
4
+ version: 0.41.1
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-07-19 00:00:00.000000000 Z
11
+ date: 2023-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-selenium
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '0.18'
34
34
  - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 0.18.1
36
+ version: 0.18.2
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0.18'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 0.18.1
46
+ version: 0.18.2
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: avm-tools
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -318,9 +318,13 @@ 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/entity.rb
321
322
  - lib/avmtrf1/tools/msgraph/api/member.rb
322
323
  - lib/avmtrf1/tools/msgraph/api/root.rb
323
324
  - lib/avmtrf1/tools/msgraph/api/team.rb
325
+ - lib/avmtrf1/tools/msgraph/invalid_token_error.rb
326
+ - lib/avmtrf1/tools/msgraph/request_mixin.rb
327
+ - lib/avmtrf1/tools/msgraph/response_mixin.rb
324
328
  - lib/avmtrf1/tools/msgraph/token_retrieve.rb
325
329
  - lib/avmtrf1/tools/runner.rb
326
330
  - lib/avmtrf1/tools/runner/check_point.rb