pd1_tools 0.43.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 +7 -0
- data/Gemfile +12 -0
- data/exe/pd1 +8 -0
- data/lib/avmtrf1/active_directory/user.rb +28 -0
- data/lib/avmtrf1/active_directory.rb +8 -0
- data/lib/avmtrf1/ad_user.rb +11 -0
- data/lib/avmtrf1/check_point/session/login.rb +57 -0
- data/lib/avmtrf1/check_point/session.rb +60 -0
- data/lib/avmtrf1/check_point.rb +3 -0
- data/lib/avmtrf1/default_esosti.rb +20 -0
- data/lib/avmtrf1/default_jira.rb +18 -0
- data/lib/avmtrf1/default_redmine.rb +16 -0
- data/lib/avmtrf1/docker/image.rb +49 -0
- data/lib/avmtrf1/docker/image_runner.rb +83 -0
- data/lib/avmtrf1/docker.rb +9 -0
- data/lib/avmtrf1/esosti/entities/issue.rb +24 -0
- data/lib/avmtrf1/esosti/entities.rb +9 -0
- data/lib/avmtrf1/esosti/instance/changed.rb +33 -0
- data/lib/avmtrf1/esosti/instance.rb +22 -0
- data/lib/avmtrf1/esosti/raw_data_sanitizer.rb +47 -0
- data/lib/avmtrf1/esosti/session/action_base.rb +34 -0
- data/lib/avmtrf1/esosti/session/atividades.rb +35 -0
- data/lib/avmtrf1/esosti/session/login.rb +47 -0
- data/lib/avmtrf1/esosti/session/solicitacao/main.rb +49 -0
- data/lib/avmtrf1/esosti/session/solicitacao.rb +81 -0
- data/lib/avmtrf1/esosti/session.rb +36 -0
- data/lib/avmtrf1/esosti.rb +8 -0
- data/lib/avmtrf1/executables.rb +23 -0
- data/lib/avmtrf1/forponto/parsers/day_registers.rb +19 -0
- data/lib/avmtrf1/forponto/parsers/espelho/day_node.rb +50 -0
- data/lib/avmtrf1/forponto/parsers/espelho/methods_as_fields.rb +21 -0
- data/lib/avmtrf1/forponto/parsers/espelho/row_node.rb +34 -0
- data/lib/avmtrf1/forponto/parsers/espelho/rows_consumer.rb +71 -0
- data/lib/avmtrf1/forponto/parsers/espelho/sub_node.rb +20 -0
- data/lib/avmtrf1/forponto/parsers/espelho/summary_node.rb +55 -0
- data/lib/avmtrf1/forponto/parsers/espelho/utils.rb +32 -0
- data/lib/avmtrf1/forponto/parsers/espelho.rb +26 -0
- data/lib/avmtrf1/forponto/session/day_registers.rb +39 -0
- data/lib/avmtrf1/forponto/session/interval.rb +27 -0
- data/lib/avmtrf1/forponto/session/login.rb +45 -0
- data/lib/avmtrf1/forponto/session.rb +32 -0
- data/lib/avmtrf1/forponto/user/balance.rb +155 -0
- data/lib/avmtrf1/forponto/user/day_registers.rb +32 -0
- data/lib/avmtrf1/forponto/user/month.rb +141 -0
- data/lib/avmtrf1/forponto/user.rb +22 -0
- data/lib/avmtrf1/git/cached_repository.rb +27 -0
- data/lib/avmtrf1/git/gitlab.rb +11 -0
- data/lib/avmtrf1/git/issue_on_repository.rb +100 -0
- data/lib/avmtrf1/git/push_large/_utils.rb +16 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/cache.rb +21 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/checkout_previous_revision.rb +35 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/commit_changes.rb +48 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/helpers.rb +29 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/pick_source_revision.rb +103 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/push.rb +90 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/track_large_files.rb +53 -0
- data/lib/avmtrf1/git/push_large/lfs_commit.rb +47 -0
- data/lib/avmtrf1/git/push_large/source_commit/push.rb +42 -0
- data/lib/avmtrf1/git/push_large/source_commit.rb +58 -0
- data/lib/avmtrf1/git/push_large.rb +69 -0
- data/lib/avmtrf1/git/reference.rb +34 -0
- data/lib/avmtrf1/git.rb +10 -0
- data/lib/avmtrf1/gitlab/commit.rb +37 -0
- data/lib/avmtrf1/gitlab/repository.rb +41 -0
- data/lib/avmtrf1/ini/profile.rb +42 -0
- data/lib/avmtrf1/ini.rb +55 -0
- data/lib/avmtrf1/inventario_sistemas/parser/body.rb +27 -0
- data/lib/avmtrf1/inventario_sistemas/parser/body_row.rb +12 -0
- data/lib/avmtrf1/inventario_sistemas/parser/header.rb +38 -0
- data/lib/avmtrf1/inventario_sistemas/parser/header_column.rb +27 -0
- data/lib/avmtrf1/inventario_sistemas/parser.rb +40 -0
- data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base/elements.rb +54 -0
- data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base/layout.rb +55 -0
- data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base/stylesheet.css +57 -0
- data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base.rb +41 -0
- data/lib/avmtrf1/inventario_sistemas/site_build/index.rb +20 -0
- data/lib/avmtrf1/inventario_sistemas/site_build/sistema.rb +62 -0
- data/lib/avmtrf1/inventario_sistemas/site_build/sistemas_index.rb +31 -0
- data/lib/avmtrf1/inventario_sistemas/site_build.rb +71 -0
- data/lib/avmtrf1/inventario_sistemas.rb +38 -0
- data/lib/avmtrf1/issues/factory.rb +22 -0
- data/lib/avmtrf1/issues.rb +7 -0
- data/lib/avmtrf1/jira/entities/issue.rb +30 -0
- data/lib/avmtrf1/jira/entities.rb +9 -0
- data/lib/avmtrf1/jira/instance.rb +28 -0
- data/lib/avmtrf1/jira.rb +8 -0
- data/lib/avmtrf1/node_js/docker_image.rb +14 -0
- data/lib/avmtrf1/node_js.rb +9 -0
- data/lib/avmtrf1/openvpn/config/builder.rb +59 -0
- data/lib/avmtrf1/openvpn/config/parser/builder.rb +62 -0
- data/lib/avmtrf1/openvpn/config/parser/line.rb +47 -0
- data/lib/avmtrf1/openvpn/config/parser/simple.rb +27 -0
- data/lib/avmtrf1/openvpn/config/parser/tag.rb +39 -0
- data/lib/avmtrf1/openvpn/config/parser.rb +20 -0
- data/lib/avmtrf1/oracle/connection/base.rb +66 -0
- data/lib/avmtrf1/oracle/connection/string_builder.rb +44 -0
- data/lib/avmtrf1/oracle/connection.rb +12 -0
- data/lib/avmtrf1/oracle/object/base.rb +39 -0
- data/lib/avmtrf1/oracle/object/table.rb +15 -0
- data/lib/avmtrf1/oracle/object/user.rb +15 -0
- data/lib/avmtrf1/oracle/object/view.rb +15 -0
- data/lib/avmtrf1/oracle/object.rb +25 -0
- data/lib/avmtrf1/oracle/objects/relation.rb +23 -0
- data/lib/avmtrf1/oracle/objects/sql_builder.rb +64 -0
- data/lib/avmtrf1/oracle/objects.rb +53 -0
- data/lib/avmtrf1/oracle/oci8.rb +29 -0
- data/lib/avmtrf1/oracle.rb +10 -0
- data/lib/avmtrf1/patches/avm/git/issue/complete.rb +50 -0
- data/lib/avmtrf1/patches/avm/git/issue.rb +4 -0
- data/lib/avmtrf1/patches/avm/git/launcher/base.rb +46 -0
- data/lib/avmtrf1/patches/avm/git/launcher.rb +4 -0
- data/lib/avmtrf1/patches/avm/git.rb +4 -0
- data/lib/avmtrf1/patches/avm.rb +4 -0
- data/lib/avmtrf1/patches/inifile.rb +13 -0
- data/lib/avmtrf1/patches.rb +4 -0
- data/lib/avmtrf1/php/docker_images/base.rb +49 -0
- data/lib/avmtrf1/php/docker_images/factory.rb +37 -0
- data/lib/avmtrf1/php/docker_images/v5.rb +47 -0
- data/lib/avmtrf1/php/docker_images/v7.rb +27 -0
- data/lib/avmtrf1/php/docker_images/v7_v4.rb +30 -0
- data/lib/avmtrf1/php/docker_images/v8.rb +19 -0
- data/lib/avmtrf1/php/docker_images.rb +11 -0
- data/lib/avmtrf1/php.rb +9 -0
- data/lib/avmtrf1/red/client/authorization.xml.erb +4 -0
- data/lib/avmtrf1/red/client.rb +38 -0
- data/lib/avmtrf1/red/helper.rb +35 -0
- data/lib/avmtrf1/red/profile/put_file.xml.erb +19 -0
- data/lib/avmtrf1/red/profile.rb +58 -0
- data/lib/avmtrf1/red/server.rb +33 -0
- data/lib/avmtrf1/red.rb +5 -0
- data/lib/avmtrf1/redmine/entities/issue.rb +29 -0
- data/lib/avmtrf1/redmine/entities/issue_status.rb +23 -0
- data/lib/avmtrf1/redmine/entities.rb +10 -0
- data/lib/avmtrf1/redmine/instance.rb +41 -0
- data/lib/avmtrf1/redmine.rb +7 -0
- data/lib/avmtrf1/rest_provider/entity.rb +18 -0
- data/lib/avmtrf1/rest_provider/instance/issues.rb +30 -0
- data/lib/avmtrf1/rest_provider/instance.rb +30 -0
- data/lib/avmtrf1/rest_provider/request.rb +44 -0
- data/lib/avmtrf1/rest_provider/response.rb +73 -0
- data/lib/avmtrf1/rest_provider.rb +7 -0
- data/lib/avmtrf1/result.rb +44 -0
- data/lib/avmtrf1/ruby.rb +9 -0
- data/lib/avmtrf1/tools/application.rb +13 -0
- data/lib/avmtrf1/tools/core_ext.rb +4 -0
- data/lib/avmtrf1/tools/msgraph/api/entity.rb +35 -0
- data/lib/avmtrf1/tools/msgraph/api/member.rb +31 -0
- data/lib/avmtrf1/tools/msgraph/api/root.rb +27 -0
- data/lib/avmtrf1/tools/msgraph/api/team/member_add.rb +36 -0
- data/lib/avmtrf1/tools/msgraph/api/team.rb +40 -0
- data/lib/avmtrf1/tools/msgraph/api.rb +55 -0
- data/lib/avmtrf1/tools/msgraph/error.rb +31 -0
- data/lib/avmtrf1/tools/msgraph/request_mixin.rb +18 -0
- data/lib/avmtrf1/tools/msgraph/response_mixin.rb +23 -0
- data/lib/avmtrf1/tools/msgraph/token_retrieve.rb +42 -0
- data/lib/avmtrf1/tools/msgraph.rb +11 -0
- data/lib/avmtrf1/tools/rubygems/dependency.rb +20 -0
- data/lib/avmtrf1/tools/rubygems/not_found_error.rb +17 -0
- data/lib/avmtrf1/tools/rubygems.rb +11 -0
- data/lib/avmtrf1/tools/runner/check_point/login.rb +33 -0
- data/lib/avmtrf1/tools/runner/check_point.rb +17 -0
- data/lib/avmtrf1/tools/runner/esosti/changed.rb +39 -0
- data/lib/avmtrf1/tools/runner/esosti/fetch.rb +39 -0
- data/lib/avmtrf1/tools/runner/esosti/request.rb +76 -0
- data/lib/avmtrf1/tools/runner/esosti.rb +27 -0
- data/lib/avmtrf1/tools/runner/forponto/espelho.rb +47 -0
- data/lib/avmtrf1/tools/runner/forponto/marcacoes.rb +32 -0
- data/lib/avmtrf1/tools/runner/forponto/resumos.rb +87 -0
- data/lib/avmtrf1/tools/runner/forponto/saldo.rb +91 -0
- data/lib/avmtrf1/tools/runner/forponto.rb +70 -0
- data/lib/avmtrf1/tools/runner/git/gitlab/commit_link.rb +81 -0
- data/lib/avmtrf1/tools/runner/git/gitlab.rb +20 -0
- data/lib/avmtrf1/tools/runner/git/issues_check.rb +59 -0
- data/lib/avmtrf1/tools/runner/git/push_large.rb +46 -0
- data/lib/avmtrf1/tools/runner/git.rb +14 -0
- data/lib/avmtrf1/tools/runner/inventario_sistemas.rb +71 -0
- data/lib/avmtrf1/tools/runner/msgraph/joined_teams.rb +39 -0
- data/lib/avmtrf1/tools/runner/msgraph/request.rb +45 -0
- data/lib/avmtrf1/tools/runner/msgraph/team/member/add.rb +48 -0
- data/lib/avmtrf1/tools/runner/msgraph/team/member.rb +25 -0
- data/lib/avmtrf1/tools/runner/msgraph/team/members.rb +38 -0
- data/lib/avmtrf1/tools/runner/msgraph/team.rb +27 -0
- data/lib/avmtrf1/tools/runner/msgraph/token.rb +31 -0
- data/lib/avmtrf1/tools/runner/msgraph.rb +43 -0
- data/lib/avmtrf1/tools/runner/node_js/docker.rb +15 -0
- data/lib/avmtrf1/tools/runner/node_js.rb +18 -0
- data/lib/avmtrf1/tools/runner/openvpn.rb +91 -0
- data/lib/avmtrf1/tools/runner/oracle/query.rb +71 -0
- data/lib/avmtrf1/tools/runner/oracle/source_get.rb +51 -0
- data/lib/avmtrf1/tools/runner/oracle/user_clear.rb +59 -0
- data/lib/avmtrf1/tools/runner/oracle.rb +37 -0
- data/lib/avmtrf1/tools/runner/php/docker.rb +20 -0
- data/lib/avmtrf1/tools/runner/php.rb +18 -0
- data/lib/avmtrf1/tools/runner/red.rb +83 -0
- data/lib/avmtrf1/tools/runner/source.rb +14 -0
- data/lib/avmtrf1/tools/runner.rb +43 -0
- data/lib/avmtrf1/tools.rb +4 -0
- data/lib/pd1_tools/version.rb +5 -0
- data/lib/pd1_tools.rb +7 -0
- data/template/avmtrf1/node_js/docker_image/Dockerfile.template +25 -0
- data/template/avmtrf1/node_js/docker_image/auxiliary/config_banner.sh +15 -0
- data/template/avmtrf1/node_js/docker_image/auxiliary/init.sh +18 -0
- data/template/avmtrf1/node_js/docker_image/auxiliary/lib.sh +30 -0
- data/template/avmtrf1/node_js/docker_image/auxiliary/ng_serve.sh +16 -0
- data/template/avmtrf1/node_js/docker_image/auxiliary/npm_install.sh +21 -0
- data/template/avmtrf1/node_js/docker_image/auxiliary/start.sh +17 -0
- data/template/avmtrf1/php/docker_images/base/Dockerfile.template +104 -0
- data/template/avmtrf1/php/docker_images/base/aux/apache_foreground.sh +16 -0
- data/template/avmtrf1/php/docker_images/base/aux/apache_user.sh +54 -0
- data/template/avmtrf1/php/docker_images/base/aux/app_user_run.sh +17 -0
- data/template/avmtrf1/php/docker_images/base/aux/config_banner.sh +20 -0
- data/template/avmtrf1/php/docker_images/base/aux/init.sh +39 -0
- data/template/avmtrf1/php/docker_images/base/aux/laravel.sh +58 -0
- data/template/avmtrf1/php/docker_images/base/aux/lib.sh +70 -0
- data/template/avmtrf1/php/docker_images/base/aux/pear.sh +35 -0
- data/template/avmtrf1/php/docker_images/base/aux/php_composer.sh +31 -0
- data/template/avmtrf1/php/docker_images/base/aux/php_values.sh +41 -0
- data/template/avmtrf1/php/docker_images/base/aux/setup_apache_site.sh +16 -0
- data/template/avmtrf1/php/docker_images/base/aux/start.sh +26 -0
- data/template/avmtrf1/php/docker_images/base/aux/templates/apache_site.conf +12 -0
- data/template/avmtrf1/tools/msgraph/token_retrieve/python_retriever.py +85 -0
- metadata +460 -0
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/git/runners/base'
|
4
|
+
require 'avmtrf1/tools/core_ext'
|
5
|
+
require 'avmtrf1/gitlab/commit'
|
6
|
+
require 'avmtrf1/gitlab/repository'
|
7
|
+
|
8
|
+
module Avmtrf1
|
9
|
+
module Tools
|
10
|
+
class Runner
|
11
|
+
class Git < ::Avm::Git::Runners::Base
|
12
|
+
class Gitlab
|
13
|
+
class CommitLink
|
14
|
+
runner_with :help, :output do
|
15
|
+
desc 'Mostra o link de uma revisão no Gitlab do TRF1.'
|
16
|
+
bool_opt '-m', '--markdown', 'Formata URL como link Markdown.'
|
17
|
+
bool_opt '-t', '--tree', 'URL com "tree" no lugar de "commit".'
|
18
|
+
bool_opt '-T', '--textile', 'Formata URL como link Textile.'
|
19
|
+
pos_arg 'revisions', optional: true, repeat: true
|
20
|
+
end
|
21
|
+
|
22
|
+
def run
|
23
|
+
repository_banner
|
24
|
+
commits.each { |c| commit_banner(c) }
|
25
|
+
run_output
|
26
|
+
end
|
27
|
+
|
28
|
+
def separator
|
29
|
+
puts '-' * 40
|
30
|
+
end
|
31
|
+
|
32
|
+
def object_type
|
33
|
+
parsed.tree? ? 'tree' : 'commit'
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def commits_uncached
|
39
|
+
parsed.revisions.if_present(['HEAD'])
|
40
|
+
.map { |source| ::Avmtrf1::Gitlab::Commit.new(repository, git_repo, source) }
|
41
|
+
end
|
42
|
+
|
43
|
+
def commit_banner(commit)
|
44
|
+
separator
|
45
|
+
infov 'Source', commit.source
|
46
|
+
infov 'Commit ID', commit.id
|
47
|
+
infov 'Web URL', commit.web_url
|
48
|
+
end
|
49
|
+
|
50
|
+
# @return [String]
|
51
|
+
def commit_output(commit)
|
52
|
+
return commit.textile_link(object_type) if parsed.textile?
|
53
|
+
return commit.markdown_link(object_type) if parsed.markdown?
|
54
|
+
|
55
|
+
commit.web_url(object_type)
|
56
|
+
end
|
57
|
+
|
58
|
+
def git_repo
|
59
|
+
runner_context.call(:git_repo)
|
60
|
+
end
|
61
|
+
|
62
|
+
def output_content
|
63
|
+
commits.map { |c| commit_output(c) + "\n" }.join # rubocop:disable Style/StringConcatenation
|
64
|
+
end
|
65
|
+
|
66
|
+
def repository_banner
|
67
|
+
separator
|
68
|
+
infov 'Repository', repository.path
|
69
|
+
end
|
70
|
+
|
71
|
+
def repository_uncached
|
72
|
+
git_repo.remotes.lazy
|
73
|
+
.map { |r| ::Avmtrf1::Gitlab::Repository.by_uri(r.url) }
|
74
|
+
.find(&:present?) || raise('Gitlab remote not found')
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/git/runners/base'
|
4
|
+
require 'avmtrf1/tools/core_ext'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class Git < ::Avm::Git::Runners::Base
|
10
|
+
class Gitlab
|
11
|
+
require_sub __FILE__
|
12
|
+
runner_with :help, :subcommands do
|
13
|
+
desc 'Utilidades para Gitlab.'
|
14
|
+
subcommands
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/tools/core_ext'
|
4
|
+
require 'avmtrf1/git/cached_repository'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class Git < ::Avm::Git::Runners::Base
|
10
|
+
class IssuesCheck
|
11
|
+
runner_with :help do
|
12
|
+
desc 'Confronta situação das demandas no Git com a situação nos trackers.'
|
13
|
+
pos_arg :git_url
|
14
|
+
end
|
15
|
+
|
16
|
+
def run
|
17
|
+
infov 'Repository path', git_url
|
18
|
+
infov 'Remote hashs found', remote_hashs.count
|
19
|
+
infov 'Issues found', issues_on_repository.count
|
20
|
+
issues_on_repository.each(&:check)
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def git_url
|
26
|
+
parsed.git_url
|
27
|
+
end
|
28
|
+
|
29
|
+
def git_uncached
|
30
|
+
::Avmtrf1::Git::CachedRepository.new(git_url)
|
31
|
+
end
|
32
|
+
|
33
|
+
def remote_hashs_uncached
|
34
|
+
git.remote_hashs('origin').select do |fullname, _revision|
|
35
|
+
issue_ref?(fullname)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def issues_on_repository_uncached
|
40
|
+
r = {}
|
41
|
+
remote_hashs.each do |fullname, revision|
|
42
|
+
ref = ::Avmtrf1::Git::Reference.new(git, fullname, revision)
|
43
|
+
r[ref.name] ||= []
|
44
|
+
r[ref.name] << ref
|
45
|
+
end
|
46
|
+
r.sort.map { |issue_id, refs| ::Avmtrf1::Git::IssueOnRepository.new(issue_id, refs) }
|
47
|
+
end
|
48
|
+
|
49
|
+
def issue_ref?(fullname)
|
50
|
+
return false unless fullname.start_with?('refs/')
|
51
|
+
return false if fullname == 'refs/heads/master'
|
52
|
+
|
53
|
+
true
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/tools/core_ext'
|
4
|
+
require 'avmtrf1/git/push_large'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class Git < ::Avm::Git::Runners::Base
|
10
|
+
class PushLarge
|
11
|
+
DEFAULT_REPO_PATH = '.'
|
12
|
+
DEFAULT_REMOTE = 'origin'
|
13
|
+
|
14
|
+
runner_with :help do
|
15
|
+
desc 'Realiza push de repositórios grandes (Que falham com "pack exceeds maximum ' \
|
16
|
+
'allowed size")'
|
17
|
+
arg_opt '-C', '--repo-path', 'Caminho do repositório local ' \
|
18
|
+
"[default: #{DEFAULT_REPO_PATH}]."
|
19
|
+
arg_opt '-r', '--remote', "Nome do remoto [default: #{DEFAULT_REMOTE}]."
|
20
|
+
pos_arg :source_ref
|
21
|
+
pos_arg :target_ref
|
22
|
+
end
|
23
|
+
|
24
|
+
def run
|
25
|
+
::Avmtrf1::Git::PushLarge.new(
|
26
|
+
::File.expand_path(repo_path),
|
27
|
+
remote,
|
28
|
+
parsed.source_ref,
|
29
|
+
parsed.target_ref
|
30
|
+
).run
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def repo_path
|
36
|
+
parsed.repo_path || DEFAULT_REPO_PATH
|
37
|
+
end
|
38
|
+
|
39
|
+
def remote
|
40
|
+
parsed.remote || DEFAULT_REMOTE
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/tools/runner/check_point/login'
|
4
|
+
require 'avmtrf1/inventario_sistemas/parser'
|
5
|
+
require 'eac_cli/core_ext'
|
6
|
+
|
7
|
+
module Avmtrf1
|
8
|
+
module Tools
|
9
|
+
class Runner
|
10
|
+
class InventarioSistemas
|
11
|
+
DEFAULT_OUTPUT_DIR = './inventario-sistemas'
|
12
|
+
|
13
|
+
runner_with :help do
|
14
|
+
desc 'Formata a planilha de inventário de sistemas do TRF1.'
|
15
|
+
bool_opt '-w', '--overwrite', 'Sobreescreve diretório de saída se já existir.'
|
16
|
+
arg_opt '-d', '--output-directory', "Diretório de saída [default: #{DEFAULT_OUTPUT_DIR}]."
|
17
|
+
pos_arg 'source-file-path'
|
18
|
+
end
|
19
|
+
|
20
|
+
def run
|
21
|
+
start_banner
|
22
|
+
prepare
|
23
|
+
build
|
24
|
+
end_banner
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def end_banner
|
30
|
+
success "Aplicação gerada em #{output_directory}"
|
31
|
+
end
|
32
|
+
|
33
|
+
def build
|
34
|
+
site_build.run
|
35
|
+
end
|
36
|
+
|
37
|
+
def input_file_uncached
|
38
|
+
parsed.source_file_path.to_pathname.expand_path
|
39
|
+
end
|
40
|
+
|
41
|
+
def site_build_uncached
|
42
|
+
::Avmtrf1::InventarioSistemas::SiteBuild.new(input_file, output_directory)
|
43
|
+
end
|
44
|
+
|
45
|
+
def output_directory_uncached
|
46
|
+
parsed.output_directory.if_present(DEFAULT_OUTPUT_DIR).to_pathname.expand_path
|
47
|
+
end
|
48
|
+
|
49
|
+
def overwrite?
|
50
|
+
parsed.overwrite?
|
51
|
+
end
|
52
|
+
|
53
|
+
def start_banner
|
54
|
+
infov 'Arquivo de entrada', input_file
|
55
|
+
infov 'Diretório de saída', output_directory
|
56
|
+
end
|
57
|
+
|
58
|
+
def prepare
|
59
|
+
return unless output_directory.exist?
|
60
|
+
|
61
|
+
if overwrite?
|
62
|
+
infom "Removendo \"#{output_directory}\"..."
|
63
|
+
::FileUtils.rm_r(output_directory.to_path)
|
64
|
+
else
|
65
|
+
fatal_error "#{output_directory}: já existe (Utilize --overwrite para sobreescrever)"
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/tools/core_ext'
|
4
|
+
require 'avmtrf1/tools/msgraph/token_retrieve'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class Msgraph
|
10
|
+
class JoinedTeams
|
11
|
+
LIST_COLUMNS = %w[id display_name].freeze
|
12
|
+
|
13
|
+
runner_with :help, :output_list do
|
14
|
+
desc 'Lista as próprias equipes no MS Teams.'
|
15
|
+
end
|
16
|
+
|
17
|
+
def run
|
18
|
+
infov 'Found', teams.count
|
19
|
+
run_output
|
20
|
+
end
|
21
|
+
|
22
|
+
def list_columns
|
23
|
+
LIST_COLUMNS
|
24
|
+
end
|
25
|
+
|
26
|
+
def list_rows
|
27
|
+
teams
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def teams_uncached
|
33
|
+
api.root_entity.joined_teams.sort_by { |t| [t.display_name, t.id] }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
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" # rubocop:disable Style/StringConcatenation
|
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,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/tools/core_ext'
|
4
|
+
require 'avmtrf1/tools/msgraph/error'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class Msgraph
|
10
|
+
class Team
|
11
|
+
class Member
|
12
|
+
class Add
|
13
|
+
runner_with :help, :output_item
|
14
|
+
|
15
|
+
def run
|
16
|
+
start_banner
|
17
|
+
add_member
|
18
|
+
run_output
|
19
|
+
fatal_error error.code if error.present?
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
attr_accessor :error, :result_data
|
25
|
+
|
26
|
+
def add_member
|
27
|
+
self.error = nil
|
28
|
+
self.result_data = team.member_add(member_id)
|
29
|
+
rescue ::Avmtrf1::Tools::Msgraph::Error => e
|
30
|
+
self.error = e
|
31
|
+
self.result_data = error.data
|
32
|
+
end
|
33
|
+
|
34
|
+
def start_banner
|
35
|
+
infov 'Team', team.id
|
36
|
+
infov 'Member ID', member_id
|
37
|
+
end
|
38
|
+
|
39
|
+
def item_hash
|
40
|
+
result_data
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,25 @@
|
|
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 Member
|
11
|
+
runner_with :help, :subcommands do
|
12
|
+
pos_arg :member_id
|
13
|
+
subcommands
|
14
|
+
end
|
15
|
+
for_context :member_id
|
16
|
+
|
17
|
+
delegate :member_id, to: :parsed
|
18
|
+
|
19
|
+
require_sub __FILE__
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,38 @@
|
|
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
|
+
LIST_COLUMNS = %w[id email display_name].freeze
|
12
|
+
|
13
|
+
runner_with :help, :output_list
|
14
|
+
|
15
|
+
def run
|
16
|
+
infov 'Found', members.count
|
17
|
+
run_output
|
18
|
+
end
|
19
|
+
|
20
|
+
def list_columns
|
21
|
+
LIST_COLUMNS
|
22
|
+
end
|
23
|
+
|
24
|
+
def list_rows
|
25
|
+
members
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def members_uncached
|
31
|
+
team.members.sort_by { |m| [m.email || '_BLANK_', m.id] }
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
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
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/tools/core_ext'
|
4
|
+
require 'avmtrf1/tools/msgraph/token_retrieve'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class Msgraph
|
10
|
+
class Token
|
11
|
+
runner_with :help, :output
|
12
|
+
|
13
|
+
def run
|
14
|
+
infov 'Client ID', token_retrieve.client_id
|
15
|
+
run_output
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def output_content
|
21
|
+
::EacRubyUtils::Yaml.dump(token_retrieve.result)
|
22
|
+
end
|
23
|
+
|
24
|
+
def token_retrieve_uncached
|
25
|
+
::Avmtrf1::Tools::Msgraph::TokenRetrieve.new(runner_context.call(:client_id))
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/tools/core_ext'
|
4
|
+
require 'avmtrf1/tools/msgraph/api'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class Msgraph
|
10
|
+
require_sub __FILE__
|
11
|
+
runner_with :help, :subcommands do
|
12
|
+
arg_opt '-i', '--client-id', 'ID de aplicação cliente alternativo.'
|
13
|
+
subcommands
|
14
|
+
end
|
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
|
21
|
+
|
22
|
+
def client_id
|
23
|
+
client_id_by_argument || client_id_by_config
|
24
|
+
end
|
25
|
+
|
26
|
+
def client_id_by_argument
|
27
|
+
parsed.client_id.presence
|
28
|
+
end
|
29
|
+
|
30
|
+
def client_id_by_config
|
31
|
+
::EacConfig::Node.context.current.entry('msgraph.client_id').value
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
# @return [Avmtrf1::Tools::Msgraph::Api]
|
37
|
+
def api_uncached
|
38
|
+
::Avmtrf1::Tools::Msgraph::Api.new(client_id)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/node_js/docker_image'
|
4
|
+
require 'avmtrf1/docker/image_runner'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class NodeJs
|
10
|
+
class Docker < ::Avmtrf1::Docker::ImageRunner
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/core_ext'
|
4
|
+
|
5
|
+
module Avmtrf1
|
6
|
+
module Tools
|
7
|
+
class Runner
|
8
|
+
class NodeJs
|
9
|
+
require_sub __FILE__
|
10
|
+
|
11
|
+
runner_with :help, :subcommands do
|
12
|
+
desc 'Utilidades para Node.js.'
|
13
|
+
subcommands
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|