mutx 0.1.69 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/documentation/repos.md +21 -24
- data/lib/generators/task_rack.rb +8 -2
- data/lib/generators/templates/config.ru.tt +1 -1
- data/lib/mutx/API/execution.rb +8 -44
- data/lib/mutx/API/repo.rb +7 -10
- data/lib/mutx/background_jobs/workers/executor.rb +44 -38
- data/lib/mutx/commands/install.rb +1 -1
- data/lib/mutx/commands/start.rb +1 -1
- data/lib/mutx/custom/execution.rb +1 -1
- data/lib/mutx/database/mongo_connector.rb +19 -22
- data/lib/mutx/execution.rb +1 -0
- data/lib/mutx/lib/authentication.rb +23 -0
- data/lib/mutx/lib/helpers.rb +52 -0
- data/lib/mutx/lib/middlewares/database_middleware.rb +16 -0
- data/lib/mutx/lib/middlewares/flash_middleware.rb +31 -0
- data/lib/mutx/lib/middlewares/logger_middleware.rb +13 -0
- data/lib/mutx/lib/monkey_patch.rb +28 -0
- data/lib/mutx/lib/paths.rb +80 -0
- data/lib/mutx/platforms/ruby.rb +8 -0
- data/lib/mutx/public/css/bootstrap.min.css +7 -0
- data/lib/mutx/public/css/font-awesome.min.css +4 -0
- data/lib/mutx/public/css/jquery.json-viewer.css +44 -0
- data/{favicon.ico → lib/mutx/public/img/favicon.ico} +0 -0
- data/lib/mutx/public/js/bootstrap.min.js +6 -0
- data/lib/mutx/public/js/jquery.json-viewer.js +148 -0
- data/lib/mutx/public/js/jquery.min.js +6 -0
- data/lib/mutx/{view/javascript.mote → public/js/mutx.js} +0 -5
- data/lib/mutx/public/js/notify.min.js +1 -0
- data/lib/mutx/results/result.rb +60 -68
- data/lib/mutx/results/results.rb +4 -0
- data/lib/mutx/routes.rb +85 -883
- data/lib/mutx/routes/admin_routes.rb +16 -0
- data/lib/mutx/routes/admin_routes/custom_params_routes.rb +97 -0
- data/lib/mutx/routes/admin_routes/repositories_routes.rb +35 -0
- data/lib/mutx/routes/admin_routes/tasks_routes.rb +110 -0
- data/lib/mutx/routes/api_routes.rb +49 -0
- data/lib/mutx/routes/api_routes/custom_params_routes.rb +41 -0
- data/lib/mutx/routes/api_routes/input_routes.rb +48 -0
- data/lib/mutx/routes/api_routes/repos_routes.rb +74 -0
- data/lib/mutx/routes/api_routes/results_routes.rb +50 -0
- data/lib/mutx/routes/api_routes/tasks_routes.rb +47 -0
- data/lib/mutx/routes/api_routes/tests_routes.rb +42 -0
- data/lib/mutx/routes/features_routes.rb +24 -0
- data/lib/mutx/routes/help_routes.rb +23 -0
- data/lib/mutx/routes/logs_routes.rb +22 -0
- data/lib/mutx/routes/message_routes.rb +24 -0
- data/lib/mutx/routes/repositories_routes.rb +25 -0
- data/lib/mutx/routes/results_routes.rb +53 -0
- data/lib/mutx/routes/task_results_routes.rb +25 -0
- data/lib/mutx/routes/tasks_routes.rb +67 -0
- data/lib/mutx/routes/tests_routes.rb +66 -0
- data/lib/mutx/support/change_inspector.rb +3 -3
- data/lib/mutx/support/files_cleanner.rb +12 -3
- data/lib/mutx/support/git.rb +11 -2
- data/lib/mutx/support/processes.rb +2 -2
- data/lib/mutx/support/project_type.rb +12 -0
- data/lib/mutx/tasks/task.rb +8 -2
- data/lib/mutx/version.rb +1 -1
- data/lib/mutx/view/{custom/params/delete_form.mote → admin/custom-params/_delete_form.mote} +2 -4
- data/lib/mutx/view/{custom/params/create_edit_form.mote → admin/custom-params/_form.mote} +5 -9
- data/lib/mutx/view/{custom/params/custom_param_task_deleting_box.mote → admin/custom-params/_task_deleting_box.mote} +1 -2
- data/lib/mutx/view/{custom/params → admin/custom-params}/delete.mote +1 -3
- data/lib/mutx/view/{custom/params → admin/custom-params}/edit.mote +1 -5
- data/lib/mutx/view/{custom/params/list.mote → admin/custom-params/index.mote} +8 -13
- data/lib/mutx/view/{custom/params → admin/custom-params}/new.mote +1 -5
- data/lib/mutx/view/{custom/params/custom_param_selection_box.mote → admin/custom-params/selection_box.mote} +2 -3
- data/lib/mutx/view/{list_repos.mote → admin/repositories/index.mote} +2 -6
- data/lib/mutx/view/{repos.mote → admin/repositories/new.mote} +2 -6
- data/lib/mutx/view/{tasks/admin/delete_form.mote → admin/tasks/_delete_form.mote} +2 -12
- data/lib/mutx/view/{tasks/admin/create_edit_form.mote → admin/tasks/_form.mote} +6 -9
- data/lib/mutx/view/{tasks/admin → admin/tasks}/delete.mote +1 -3
- data/lib/mutx/view/{tasks/admin → admin/tasks}/edit.mote +1 -4
- data/lib/mutx/view/{tasks/admin/list.mote → admin/tasks/index.mote} +5 -10
- data/lib/mutx/view/{tasks/admin → admin/tasks}/new.mote +1 -5
- data/lib/mutx/view/{tasks/admin/view.mote → admin/tasks/show.mote} +1 -3
- data/lib/mutx/view/body.mote +13 -51
- data/lib/mutx/view/{custom/params.mote → custom-params/_custom_params.mote} +3 -4
- data/lib/mutx/view/{custom/params → custom-params/types}/json.mote +0 -0
- data/lib/mutx/view/{custom/params → custom-params/types}/select_list.mote +0 -0
- data/lib/mutx/view/{custom/params → custom-params/types}/text.mote +0 -0
- data/lib/mutx/view/error_handler.mote +4 -54
- data/lib/mutx/view/features/{feature.mote → file.mote} +0 -0
- data/lib/mutx/view/features/index.mote +9 -0
- data/lib/mutx/view/git_information.mote +2 -8
- data/lib/mutx/view/help/{main.mote → _main.mote} +0 -0
- data/lib/mutx/view/help/{page.mote → _page.mote} +0 -0
- data/lib/mutx/view/help/{search_result.mote → _search_result.mote} +0 -0
- data/lib/mutx/view/help/index.mote +38 -0
- data/lib/mutx/view/layout/flash.mote +7 -0
- data/lib/mutx/view/{footer.mote → layout/footer.mote} +1 -1
- data/lib/mutx/view/layout/javascript.mote +6 -0
- data/lib/mutx/view/{modals.mote → layout/modals.mote} +0 -0
- data/lib/mutx/view/layout/navigation_bar.mote +88 -0
- data/lib/mutx/view/{styles.mote → layout/styles.mote} +10 -0
- data/lib/mutx/view/logs/{logs.mote → index.mote} +1 -1
- data/lib/mutx/view/logs/show.mote +3 -0
- data/lib/mutx/view/repositories/_repository.mote +7 -0
- data/lib/mutx/view/repositories/index.mote +23 -0
- data/lib/mutx/view/repositories/show.mote +21 -0
- data/lib/mutx/view/results/{detailed_info.mote → _result.mote} +5 -5
- data/lib/mutx/view/results/console.mote +63 -106
- data/lib/mutx/view/results/{all.mote → index.mote} +18 -24
- data/lib/mutx/view/sections.rb +36 -24
- data/lib/mutx/view/task_results/_result.mote +57 -0
- data/lib/mutx/view/{results/result.mote → task_results/_result_item.mote} +6 -5
- data/lib/mutx/view/task_results/index.mote +35 -0
- data/lib/mutx/view/tasks/_task.mote +90 -0
- data/lib/mutx/view/tasks/index.mote +61 -0
- data/lib/mutx/view/tasks/show.mote +167 -0
- data/lib/mutx/view/tests/_test.mote +90 -0
- data/lib/mutx/view/tests/index.mote +59 -0
- data/lib/mutx/view/tests/show.mote +172 -0
- data/lib/mutx/view/view.rb +172 -10
- metadata +89 -50
- data/lib/mutx/database/middleware.rb +0 -18
- data/lib/mutx/view/features.mote +0 -57
- data/lib/mutx/view/features/features_list.mote +0 -10
- data/lib/mutx/view/help.mote +0 -75
- data/lib/mutx/view/logs/log.mote +0 -3
- data/lib/mutx/view/message.mote +0 -8
- data/lib/mutx/view/navigation_bar.mote +0 -67
- data/lib/mutx/view/results/results.mote +0 -112
- data/lib/mutx/view/tasks/message.mote +0 -37
- data/lib/mutx/view/tasks/task.mote +0 -167
- data/lib/mutx/view/tasks/task_item.mote +0 -77
- data/lib/mutx/view/tasks/tasks.mote +0 -74
@@ -0,0 +1,16 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Mutx
|
3
|
+
module Routes
|
4
|
+
module Admin
|
5
|
+
class Routes < App
|
6
|
+
define do
|
7
|
+
with_authentication do
|
8
|
+
on('tasks') { run Tasks::Routes }
|
9
|
+
on('custom-params') { run CustomParams::Routes }
|
10
|
+
on('repositories') { run Repositories::Routes }
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Mutx
|
3
|
+
module Routes
|
4
|
+
module Admin
|
5
|
+
module CustomParams
|
6
|
+
class Routes < App
|
7
|
+
define do
|
8
|
+
|
9
|
+
on get do
|
10
|
+
|
11
|
+
on root do
|
12
|
+
custom_params = Mutx::API::CustomParams.list
|
13
|
+
res.write view('Admin Custom Params', custom_params: custom_params)
|
14
|
+
end
|
15
|
+
|
16
|
+
on 'new' do
|
17
|
+
res.write view('Admin Custom Params New')
|
18
|
+
end
|
19
|
+
|
20
|
+
on ':custom_param_id/edit' do |custom_param_id|
|
21
|
+
unless Mutx::Tasks::Custom::Params.exist? custom_param_id
|
22
|
+
flash[:error] = 'Could not find Custom Parameter'
|
23
|
+
res.redirect path_for(:admin_custom_params_index)
|
24
|
+
end
|
25
|
+
custom_param = Mutx::Tasks::Custom::Param.get(custom_param_id).structure
|
26
|
+
res.write view('Admin Custom Params Edit', custom_param: custom_param)
|
27
|
+
end
|
28
|
+
|
29
|
+
on ':custom_param_id/delete' do |custom_param_id|
|
30
|
+
custom_param = Mutx::Tasks::Custom::Param.get(custom_param_id).structure
|
31
|
+
res.write view('Admin Custom Params Delete', custom_param: custom_param)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
on post do
|
36
|
+
|
37
|
+
# TO CREATE CUSTOM PARAM
|
38
|
+
on root do
|
39
|
+
Mutx::Support::Log.debug "data is => #{post_data}"
|
40
|
+
response = Mutx::API::CustomParams.set post_data # Creates or update
|
41
|
+
# Si success es true
|
42
|
+
Mutx::Support::Log.debug "#{response}"
|
43
|
+
unless response[:success]
|
44
|
+
flash[:error] = response[:message]
|
45
|
+
res.redirect path_for(:admin_custom_params_new,
|
46
|
+
query_string: {
|
47
|
+
name: post_data['name'],
|
48
|
+
action: post_data['action'],
|
49
|
+
type: post_data['type'],
|
50
|
+
value: post_data['value'],
|
51
|
+
options: post_data['options'],
|
52
|
+
required: post_data['required'],
|
53
|
+
clean: false
|
54
|
+
})
|
55
|
+
else
|
56
|
+
flash[:success] = response[:message]
|
57
|
+
res.redirect path_for(:admin_custom_params_index)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
on ':custom_param_id/delete' do |custom_param_id|
|
62
|
+
response = Mutx::API::CustomParams.set post_data # Creates or update
|
63
|
+
flash[:info] = response[:message]
|
64
|
+
res.redirect path_for(:admin_custom_params_index)
|
65
|
+
end
|
66
|
+
|
67
|
+
# TO EDIT CUSTOM PARAM
|
68
|
+
on ':custom_param_id' do |custom_param_id|
|
69
|
+
Mutx::Support::Log.debug "data is => #{post_data}"
|
70
|
+
response = Mutx::API::CustomParams.set(post_data) # Creates or update
|
71
|
+
# Si success es true
|
72
|
+
Mutx::Support::Log.debug "#{response}"
|
73
|
+
unless response[:success]
|
74
|
+
flash[:error] = response[:message]
|
75
|
+
res.redirect path_for(:admin_custom_params_edit,
|
76
|
+
custom_param_id: custom_param_id,
|
77
|
+
query_string: {
|
78
|
+
name: post_data['name'],
|
79
|
+
action: post_data['action'],
|
80
|
+
type: post_data['type'],
|
81
|
+
value: post_data['value'],
|
82
|
+
options: post_data['options'],
|
83
|
+
required: post_data['required'],
|
84
|
+
clean: false
|
85
|
+
})
|
86
|
+
else
|
87
|
+
flash[:success] = response[:message]
|
88
|
+
res.redirect path_for(:admin_custom_params_index)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Mutx
|
3
|
+
module Routes
|
4
|
+
module Admin
|
5
|
+
module Repositories
|
6
|
+
class Routes < App
|
7
|
+
define do
|
8
|
+
on post do
|
9
|
+
|
10
|
+
# TO CREATE A REPO
|
11
|
+
on root do
|
12
|
+
Mutx::Support::Log.debug "data is => #{post_data}" #only has a repo_name
|
13
|
+
response = Mutx::API::Repo.validate_and_create post_data # Creates a new 'repo'
|
14
|
+
# Si success es true
|
15
|
+
Mutx::Support::Log.debug "#{response}"
|
16
|
+
res.redirect path_for(:admin_repositories_index)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
on get do
|
21
|
+
on "new" do
|
22
|
+
res.write view('Admin Repositories New', action: 'new')
|
23
|
+
end
|
24
|
+
|
25
|
+
on root do
|
26
|
+
repositories = Mutx::Database::MongoConnector.all_repos
|
27
|
+
res.write view('Admin Repositories', repositories: repositories)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Mutx
|
3
|
+
module Routes
|
4
|
+
module Admin
|
5
|
+
module Tasks
|
6
|
+
class Routes < App
|
7
|
+
|
8
|
+
define do
|
9
|
+
on post do
|
10
|
+
on root do
|
11
|
+
Mutx::Support::Log.debug "New Task - Recieved data => #{post_data}"
|
12
|
+
# Extracts custom params
|
13
|
+
custom_params = post_data.keys.select do |field|
|
14
|
+
field.start_with? "custom_param_" and post_data.delete(field)
|
15
|
+
end.inject([]) do |res, value|
|
16
|
+
res<<value.gsub("custom_param_",""); res
|
17
|
+
end
|
18
|
+
post_data["custom_params"] = custom_params
|
19
|
+
Mutx::Support::Log.debug "DATA SENT TO Task.set is => #{post_data}"
|
20
|
+
response = Mutx::API::Tasks.set post_data # Creates or update
|
21
|
+
Mutx::Support::Log.debug "response => []#{response}"
|
22
|
+
Mutx::Support::Log.debug "#{response}"
|
23
|
+
unless response[:success]
|
24
|
+
flash[:error] = response[:message]
|
25
|
+
res.redirect path_for(:admin_tasks_new, query_string: {
|
26
|
+
name: post_data['name'],
|
27
|
+
action: post_data['action'],
|
28
|
+
type: post_data['type'],
|
29
|
+
value: post_data['value'],
|
30
|
+
options: post_data['options'],
|
31
|
+
required: post_data['required'],
|
32
|
+
clean: false
|
33
|
+
})
|
34
|
+
else
|
35
|
+
flash[:success] = response[:message]
|
36
|
+
res.redirect path_for(:admin_tasks_index)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
on ':task_id/delete' do |task_id|
|
41
|
+
Mutx::Support::Log.debug "DATA SENT TO Task.delete is => #{post_data}"
|
42
|
+
result = Mutx::Tasks.delete! task_id
|
43
|
+
flash[:info] = result[:message]
|
44
|
+
res.redirect path_for(:admin_tasks_index)
|
45
|
+
end
|
46
|
+
|
47
|
+
on ':task_id' do
|
48
|
+
Mutx::Support::Log.debug "Edit Task - Recieved data => #{post_data}"
|
49
|
+
# Extracts custom params
|
50
|
+
custom_params = post_data.keys.select do |field|
|
51
|
+
field.start_with? "custom_param_" and post_data.delete(field)
|
52
|
+
end.inject([]) do |res, value|
|
53
|
+
res<<value.gsub("custom_param_",""); res
|
54
|
+
end
|
55
|
+
post_data["custom_params"] = custom_params
|
56
|
+
Mutx::Support::Log.debug "DATA SENT TO Task.set is => #{post_data}"
|
57
|
+
response = Mutx::API::Tasks.set post_data # Creates or update
|
58
|
+
Mutx::Support::Log.debug "response => []#{response}"
|
59
|
+
Mutx::Support::Log.debug "#{response}"
|
60
|
+
unless response[:success]
|
61
|
+
flash[:error] = response[:message]
|
62
|
+
res.redirect path_for(:admin_tasks_edit, query_string: {
|
63
|
+
name: post_data['name'],
|
64
|
+
action: post_data['action'],
|
65
|
+
type: post_data['type'],
|
66
|
+
value: post_data['value'],
|
67
|
+
options: post_data['options'],
|
68
|
+
required: post_data['required'],
|
69
|
+
clean: false
|
70
|
+
})
|
71
|
+
else
|
72
|
+
flash[:success] = response[:message]
|
73
|
+
res.redirect path_for(:admin_tasks_index)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
|
79
|
+
on get do
|
80
|
+
on root do
|
81
|
+
tasks = Mutx::API::Tasks.list["tasks"]
|
82
|
+
res.write view('Admin Tasks', tasks: tasks)
|
83
|
+
end
|
84
|
+
|
85
|
+
on 'new' do
|
86
|
+
res.write view('Admin Tasks New')
|
87
|
+
end
|
88
|
+
|
89
|
+
on ':task_id/edit' do |task_id|
|
90
|
+
task = Mutx::Tasks::Task.get(task_id).task_data_structure
|
91
|
+
res.write view('Admin Tasks Edit', task: task)
|
92
|
+
end
|
93
|
+
|
94
|
+
on ':task_id/delete' do |task_id|
|
95
|
+
task = Mutx::Tasks::Task.get(task_id).task_data_structure
|
96
|
+
res.write view('Admin Tasks Delete', task: task)
|
97
|
+
end
|
98
|
+
|
99
|
+
on ':task_id/view' do |task_id|
|
100
|
+
task = Mutx::Tasks::Task.get(task_id).task_data_structure
|
101
|
+
res.write view('Admin Task', task: task)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Mutx
|
4
|
+
module Routes
|
5
|
+
module Api
|
6
|
+
class Routes < App
|
7
|
+
define do
|
8
|
+
begin
|
9
|
+
|
10
|
+
on('input') { run Api::Input::Routes }
|
11
|
+
on('repositories') { run Api::Repositories::Routes }
|
12
|
+
on('results') { run Api::Results::Routes }
|
13
|
+
on('tasks') { run Api::Tasks::Routes }
|
14
|
+
on('tests') { run Api::Tasks::Routes }
|
15
|
+
on('custom/params') { run Api::CustomParams::Routes }
|
16
|
+
|
17
|
+
on get do
|
18
|
+
on "version" do
|
19
|
+
output = { "version" => Mutx::VERSION}
|
20
|
+
res.write output.to_json
|
21
|
+
end
|
22
|
+
|
23
|
+
on "error" do
|
24
|
+
query_string = Mutx::Support::QueryString.new req
|
25
|
+
output = Mutx::API::Error.show(query_string)
|
26
|
+
res.write output.to_json
|
27
|
+
end
|
28
|
+
|
29
|
+
on root do
|
30
|
+
response = {"message" => "Please, refer to /help/api for more information"}
|
31
|
+
res.write response.to_json
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
rescue => exception
|
37
|
+
Mutx::Support::Log.error "Cuba: #{exception} #{exception.backtrace}" if Mutx::Support::Log
|
38
|
+
error_title , error_msg = Mutx::Support::ErrorHandlerHelper.evaluate exception
|
39
|
+
response = {
|
40
|
+
error_title: error_title,
|
41
|
+
error_msg: error_msg
|
42
|
+
}.to_json
|
43
|
+
res.write response
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Mutx
|
3
|
+
module Routes
|
4
|
+
module Api
|
5
|
+
module CustomParams
|
6
|
+
class Routes < App
|
7
|
+
define do
|
8
|
+
on get do
|
9
|
+
|
10
|
+
on ":name/value" do |name|
|
11
|
+
output = {}
|
12
|
+
param = Mutx::API::CustomParams.get(name)
|
13
|
+
output["app"] = Mutx::Support::Configuration.project_name
|
14
|
+
output["request"] = "Custom Parameter value"
|
15
|
+
output["custom_param_name"] = param["name"]
|
16
|
+
output["value"] = param["value"]
|
17
|
+
res.write output.to_json
|
18
|
+
end
|
19
|
+
|
20
|
+
on ":name" do |name|
|
21
|
+
output = {}
|
22
|
+
param = Mutx::API::CustomParams.get(name)
|
23
|
+
output["custom_param"] = param
|
24
|
+
output["app"] = Mutx::Support::Configuration.project_name
|
25
|
+
res.write output.to_json
|
26
|
+
end
|
27
|
+
|
28
|
+
on root do
|
29
|
+
output ={}
|
30
|
+
output["custom_params"] = Mutx::API::CustomParams.list()
|
31
|
+
output["request"]="Custom Params"
|
32
|
+
output["app"]=Mutx::Support::Configuration.project_name
|
33
|
+
res.write output.to_json
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Mutx
|
3
|
+
module Routes
|
4
|
+
module Api
|
5
|
+
module Input
|
6
|
+
class Routes < App
|
7
|
+
define do
|
8
|
+
on post do
|
9
|
+
|
10
|
+
on ":id" do |id|
|
11
|
+
$result = basic_auth(env) do |user, pass|
|
12
|
+
user == "inputs" && pass == "InputsAdmin"
|
13
|
+
end
|
14
|
+
if $result.eql? true
|
15
|
+
Mutx::Support::Log.debug "REFERENCE IS => #{id}"
|
16
|
+
data = req.params.dup
|
17
|
+
data.store("reference", "#{id}")
|
18
|
+
Mutx::Support::Log.debug "DATA TO INPUT IS => #{data}"
|
19
|
+
response = Mutx::API::Input.validate_and_create data
|
20
|
+
Mutx::Support::Log.debug "RESPONSE => #{response}"
|
21
|
+
(res.status = 201
|
22
|
+
res.write "status 201") if response.to_s.include? "success=>true"
|
23
|
+
(res.status = 404
|
24
|
+
res.write "status 404") if response.to_s.include? "success=>false"
|
25
|
+
Mutx::Support::Log.debug "STATUS CODE => #{res.status}"
|
26
|
+
else
|
27
|
+
on default do
|
28
|
+
res.status = 401
|
29
|
+
res.headers["WWW-Authenticate"] = 'Basic realm="MyApp"'
|
30
|
+
res.write "status 401"
|
31
|
+
res.write "Access Denied, Mutx don't let you POST without authorization"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
on get do
|
38
|
+
on ":id" do |id|
|
39
|
+
output = Mutx::API::Input.get_data(id, query_string.raw)
|
40
|
+
res.write output.to_json
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Mutx
|
3
|
+
module Routes
|
4
|
+
module Api
|
5
|
+
module Repositories
|
6
|
+
class Routes < App
|
7
|
+
define do
|
8
|
+
|
9
|
+
on put do
|
10
|
+
# UPDATE A REPO!
|
11
|
+
on ":token/:name" do |token, name|
|
12
|
+
value = JSON.parse(req.body.read) #passed values in body as json
|
13
|
+
Mutx::Support::Log.debug "REPO NAME IS => #{name}"
|
14
|
+
data = req.params.dup
|
15
|
+
data.store("token", "#{token}")
|
16
|
+
data.store("name", "#{name}")
|
17
|
+
data.store("value", "#{value}")
|
18
|
+
Mutx::Support::Log.debug "DATA TO INPUT IS => #{data}"
|
19
|
+
response = Mutx::API::Repo.update! data
|
20
|
+
Mutx::Support::Log.debug "RESPONSE => #{response}"
|
21
|
+
(res.status = 200
|
22
|
+
res.write "status 200") if response.to_s.include? "success=>true"
|
23
|
+
(res.status = 404
|
24
|
+
res.write "status 404") if response.to_s.include? "success=>false"
|
25
|
+
Mutx::Support::Log.debug "STATUS CODE => #{res.status}"
|
26
|
+
end
|
27
|
+
|
28
|
+
on ":repository_id" do |repository_id|
|
29
|
+
repository = Mutx::API::Repo.get_data(repository_id)
|
30
|
+
value = JSON.parse(req.body.read) #passed values in body as json
|
31
|
+
Mutx::Support::Log.debug "REPO NAME IS => #{repository['repo_name']}"
|
32
|
+
data = req.params.dup
|
33
|
+
data.store("token", headers['X_REPOSITORY_TOKEN'])
|
34
|
+
data.store("name", repository['repo_name'])
|
35
|
+
data.store("value", "#{value}")
|
36
|
+
Mutx::Support::Log.debug "DATA TO INPUT IS => #{data}"
|
37
|
+
response = Mutx::API::Repo.update! data
|
38
|
+
Mutx::Support::Log.debug "RESPONSE => #{response}"
|
39
|
+
(res.status = 200
|
40
|
+
res.write "status 200") if response.to_s.include? "success=>true"
|
41
|
+
(res.status = 404
|
42
|
+
res.write "status 404") if response.to_s.include? "success=>false"
|
43
|
+
Mutx::Support::Log.debug "STATUS CODE => #{res.status}"
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
on get do
|
51
|
+
on ":repository_id" do |repository_id|
|
52
|
+
query_string = Mutx::Support::QueryString.new req
|
53
|
+
output = Mutx::API::Repo.get_data(repository_id, query_string.raw)
|
54
|
+
(res.status = 200
|
55
|
+
output.delete("repo_token")
|
56
|
+
res.write output.to_json) if !output.to_s.include? "success=>false"
|
57
|
+
(res.status = 404
|
58
|
+
res.write "Not Found => status 404") if output.to_s.include? "success=>false"
|
59
|
+
Mutx::Support::Log.debug "STATUS CODE => #{res.status}"
|
60
|
+
end
|
61
|
+
|
62
|
+
on root do
|
63
|
+
query_string = Mutx::Support::QueryString.new req
|
64
|
+
output = Mutx::API::Repo.all
|
65
|
+
res.status = 200
|
66
|
+
res.write output.map { |item| item.delete("repo_token") && item }.to_json
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|