mutx 0.1.69 → 0.2.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.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/documentation/repos.md +21 -24
  4. data/lib/generators/task_rack.rb +8 -2
  5. data/lib/generators/templates/config.ru.tt +1 -1
  6. data/lib/mutx/API/execution.rb +8 -44
  7. data/lib/mutx/API/repo.rb +7 -10
  8. data/lib/mutx/background_jobs/workers/executor.rb +44 -38
  9. data/lib/mutx/commands/install.rb +1 -1
  10. data/lib/mutx/commands/start.rb +1 -1
  11. data/lib/mutx/custom/execution.rb +1 -1
  12. data/lib/mutx/database/mongo_connector.rb +19 -22
  13. data/lib/mutx/execution.rb +1 -0
  14. data/lib/mutx/lib/authentication.rb +23 -0
  15. data/lib/mutx/lib/helpers.rb +52 -0
  16. data/lib/mutx/lib/middlewares/database_middleware.rb +16 -0
  17. data/lib/mutx/lib/middlewares/flash_middleware.rb +31 -0
  18. data/lib/mutx/lib/middlewares/logger_middleware.rb +13 -0
  19. data/lib/mutx/lib/monkey_patch.rb +28 -0
  20. data/lib/mutx/lib/paths.rb +80 -0
  21. data/lib/mutx/platforms/ruby.rb +8 -0
  22. data/lib/mutx/public/css/bootstrap.min.css +7 -0
  23. data/lib/mutx/public/css/font-awesome.min.css +4 -0
  24. data/lib/mutx/public/css/jquery.json-viewer.css +44 -0
  25. data/{favicon.ico → lib/mutx/public/img/favicon.ico} +0 -0
  26. data/lib/mutx/public/js/bootstrap.min.js +6 -0
  27. data/lib/mutx/public/js/jquery.json-viewer.js +148 -0
  28. data/lib/mutx/public/js/jquery.min.js +6 -0
  29. data/lib/mutx/{view/javascript.mote → public/js/mutx.js} +0 -5
  30. data/lib/mutx/public/js/notify.min.js +1 -0
  31. data/lib/mutx/results/result.rb +60 -68
  32. data/lib/mutx/results/results.rb +4 -0
  33. data/lib/mutx/routes.rb +85 -883
  34. data/lib/mutx/routes/admin_routes.rb +16 -0
  35. data/lib/mutx/routes/admin_routes/custom_params_routes.rb +97 -0
  36. data/lib/mutx/routes/admin_routes/repositories_routes.rb +35 -0
  37. data/lib/mutx/routes/admin_routes/tasks_routes.rb +110 -0
  38. data/lib/mutx/routes/api_routes.rb +49 -0
  39. data/lib/mutx/routes/api_routes/custom_params_routes.rb +41 -0
  40. data/lib/mutx/routes/api_routes/input_routes.rb +48 -0
  41. data/lib/mutx/routes/api_routes/repos_routes.rb +74 -0
  42. data/lib/mutx/routes/api_routes/results_routes.rb +50 -0
  43. data/lib/mutx/routes/api_routes/tasks_routes.rb +47 -0
  44. data/lib/mutx/routes/api_routes/tests_routes.rb +42 -0
  45. data/lib/mutx/routes/features_routes.rb +24 -0
  46. data/lib/mutx/routes/help_routes.rb +23 -0
  47. data/lib/mutx/routes/logs_routes.rb +22 -0
  48. data/lib/mutx/routes/message_routes.rb +24 -0
  49. data/lib/mutx/routes/repositories_routes.rb +25 -0
  50. data/lib/mutx/routes/results_routes.rb +53 -0
  51. data/lib/mutx/routes/task_results_routes.rb +25 -0
  52. data/lib/mutx/routes/tasks_routes.rb +67 -0
  53. data/lib/mutx/routes/tests_routes.rb +66 -0
  54. data/lib/mutx/support/change_inspector.rb +3 -3
  55. data/lib/mutx/support/files_cleanner.rb +12 -3
  56. data/lib/mutx/support/git.rb +11 -2
  57. data/lib/mutx/support/processes.rb +2 -2
  58. data/lib/mutx/support/project_type.rb +12 -0
  59. data/lib/mutx/tasks/task.rb +8 -2
  60. data/lib/mutx/version.rb +1 -1
  61. data/lib/mutx/view/{custom/params/delete_form.mote → admin/custom-params/_delete_form.mote} +2 -4
  62. data/lib/mutx/view/{custom/params/create_edit_form.mote → admin/custom-params/_form.mote} +5 -9
  63. data/lib/mutx/view/{custom/params/custom_param_task_deleting_box.mote → admin/custom-params/_task_deleting_box.mote} +1 -2
  64. data/lib/mutx/view/{custom/params → admin/custom-params}/delete.mote +1 -3
  65. data/lib/mutx/view/{custom/params → admin/custom-params}/edit.mote +1 -5
  66. data/lib/mutx/view/{custom/params/list.mote → admin/custom-params/index.mote} +8 -13
  67. data/lib/mutx/view/{custom/params → admin/custom-params}/new.mote +1 -5
  68. data/lib/mutx/view/{custom/params/custom_param_selection_box.mote → admin/custom-params/selection_box.mote} +2 -3
  69. data/lib/mutx/view/{list_repos.mote → admin/repositories/index.mote} +2 -6
  70. data/lib/mutx/view/{repos.mote → admin/repositories/new.mote} +2 -6
  71. data/lib/mutx/view/{tasks/admin/delete_form.mote → admin/tasks/_delete_form.mote} +2 -12
  72. data/lib/mutx/view/{tasks/admin/create_edit_form.mote → admin/tasks/_form.mote} +6 -9
  73. data/lib/mutx/view/{tasks/admin → admin/tasks}/delete.mote +1 -3
  74. data/lib/mutx/view/{tasks/admin → admin/tasks}/edit.mote +1 -4
  75. data/lib/mutx/view/{tasks/admin/list.mote → admin/tasks/index.mote} +5 -10
  76. data/lib/mutx/view/{tasks/admin → admin/tasks}/new.mote +1 -5
  77. data/lib/mutx/view/{tasks/admin/view.mote → admin/tasks/show.mote} +1 -3
  78. data/lib/mutx/view/body.mote +13 -51
  79. data/lib/mutx/view/{custom/params.mote → custom-params/_custom_params.mote} +3 -4
  80. data/lib/mutx/view/{custom/params → custom-params/types}/json.mote +0 -0
  81. data/lib/mutx/view/{custom/params → custom-params/types}/select_list.mote +0 -0
  82. data/lib/mutx/view/{custom/params → custom-params/types}/text.mote +0 -0
  83. data/lib/mutx/view/error_handler.mote +4 -54
  84. data/lib/mutx/view/features/{feature.mote → file.mote} +0 -0
  85. data/lib/mutx/view/features/index.mote +9 -0
  86. data/lib/mutx/view/git_information.mote +2 -8
  87. data/lib/mutx/view/help/{main.mote → _main.mote} +0 -0
  88. data/lib/mutx/view/help/{page.mote → _page.mote} +0 -0
  89. data/lib/mutx/view/help/{search_result.mote → _search_result.mote} +0 -0
  90. data/lib/mutx/view/help/index.mote +38 -0
  91. data/lib/mutx/view/layout/flash.mote +7 -0
  92. data/lib/mutx/view/{footer.mote → layout/footer.mote} +1 -1
  93. data/lib/mutx/view/layout/javascript.mote +6 -0
  94. data/lib/mutx/view/{modals.mote → layout/modals.mote} +0 -0
  95. data/lib/mutx/view/layout/navigation_bar.mote +88 -0
  96. data/lib/mutx/view/{styles.mote → layout/styles.mote} +10 -0
  97. data/lib/mutx/view/logs/{logs.mote → index.mote} +1 -1
  98. data/lib/mutx/view/logs/show.mote +3 -0
  99. data/lib/mutx/view/repositories/_repository.mote +7 -0
  100. data/lib/mutx/view/repositories/index.mote +23 -0
  101. data/lib/mutx/view/repositories/show.mote +21 -0
  102. data/lib/mutx/view/results/{detailed_info.mote → _result.mote} +5 -5
  103. data/lib/mutx/view/results/console.mote +63 -106
  104. data/lib/mutx/view/results/{all.mote → index.mote} +18 -24
  105. data/lib/mutx/view/sections.rb +36 -24
  106. data/lib/mutx/view/task_results/_result.mote +57 -0
  107. data/lib/mutx/view/{results/result.mote → task_results/_result_item.mote} +6 -5
  108. data/lib/mutx/view/task_results/index.mote +35 -0
  109. data/lib/mutx/view/tasks/_task.mote +90 -0
  110. data/lib/mutx/view/tasks/index.mote +61 -0
  111. data/lib/mutx/view/tasks/show.mote +167 -0
  112. data/lib/mutx/view/tests/_test.mote +90 -0
  113. data/lib/mutx/view/tests/index.mote +59 -0
  114. data/lib/mutx/view/tests/show.mote +172 -0
  115. data/lib/mutx/view/view.rb +172 -10
  116. metadata +89 -50
  117. data/lib/mutx/database/middleware.rb +0 -18
  118. data/lib/mutx/view/features.mote +0 -57
  119. data/lib/mutx/view/features/features_list.mote +0 -10
  120. data/lib/mutx/view/help.mote +0 -75
  121. data/lib/mutx/view/logs/log.mote +0 -3
  122. data/lib/mutx/view/message.mote +0 -8
  123. data/lib/mutx/view/navigation_bar.mote +0 -67
  124. data/lib/mutx/view/results/results.mote +0 -112
  125. data/lib/mutx/view/tasks/message.mote +0 -37
  126. data/lib/mutx/view/tasks/task.mote +0 -167
  127. data/lib/mutx/view/tasks/task_item.mote +0 -77
  128. 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