avmtrf1-tools 0.41.0 → 0.41.1
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 +4 -4
- data/lib/avmtrf1/tools/msgraph/api/entity.rb +22 -0
- data/lib/avmtrf1/tools/msgraph/api/member.rb +2 -2
- data/lib/avmtrf1/tools/msgraph/api/root.rb +3 -3
- data/lib/avmtrf1/tools/msgraph/api/team.rb +3 -4
- data/lib/avmtrf1/tools/msgraph/api.rb +11 -2
- data/lib/avmtrf1/tools/msgraph/invalid_token_error.rb +13 -0
- data/lib/avmtrf1/tools/msgraph/request_mixin.rb +18 -0
- data/lib/avmtrf1/tools/msgraph/response_mixin.rb +51 -0
- data/lib/avmtrf1/tools/version.rb +1 -1
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c004c200bbd53b895d1ab4b9df5d5e2f01f7d0b3c77605fb6f1049e96c01d66
|
4
|
+
data.tar.gz: 100127b8522690406d21d3f352e97546ddbd9b066127955d227b9bd57f6fa07a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 '
|
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 < ::
|
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 < ::
|
11
|
+
class Root < ::Avmtrf1::Tools::Msgraph::Api::Entity
|
12
12
|
# @return [Array<Avmtrf1::Tools::Msgraph::Api::Group>]
|
13
13
|
def joined_teams
|
14
|
-
|
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 '
|
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 < ::
|
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
|
-
|
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
|
-
|
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,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
|
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.
|
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-
|
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.
|
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.
|
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
|