mno-enterprise-api 3.3.0 → 3.3.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.
Files changed (23) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/mno_enterprise/jpi/v1/admin/app_feedbacks_controller.rb +14 -0
  3. data/app/controllers/mno_enterprise/jpi/v1/admin/app_questions_controller.rb +14 -0
  4. data/app/views/mno_enterprise/jpi/v1/admin/app_feedbacks/_comment.json.jbuilder +10 -0
  5. data/app/views/mno_enterprise/jpi/v1/admin/app_feedbacks/_resource.json.jbuilder +7 -0
  6. data/app/views/mno_enterprise/jpi/v1/admin/app_feedbacks/index.json.jbuilder +5 -0
  7. data/app/views/mno_enterprise/jpi/v1/admin/app_questions/_answer.json.jbuilder +3 -0
  8. data/app/views/mno_enterprise/jpi/v1/admin/app_questions/_resource.json.jbuilder +8 -0
  9. data/app/views/mno_enterprise/jpi/v1/admin/app_questions/index.json.jbuilder +5 -0
  10. data/app/views/mno_enterprise/jpi/v1/admin/base_resource/_app_review.json.jbuilder +17 -0
  11. data/app/views/mno_enterprise/jpi/v1/marketplace/_app.json.jbuilder +1 -1
  12. data/app/views/mno_enterprise/jpi/v1/marketplace/index.json.jbuilder +4 -2
  13. data/config/routes.rb +2 -0
  14. data/lib/mno_enterprise/concerns/controllers/jpi/v1/impac/kpis_controller.rb +2 -0
  15. data/lib/mno_enterprise/concerns/controllers/jpi/v1/marketplace_controller.rb +9 -5
  16. data/lib/mno_enterprise/concerns/controllers/jpi/v1/teams_controller.rb +2 -1
  17. data/spec/controllers/mno_enterprise/jpi/v1/admin/app_feedbacks_controller_spec.rb +54 -0
  18. data/spec/controllers/mno_enterprise/jpi/v1/admin/app_questions_controller_spec.rb +54 -0
  19. data/spec/controllers/mno_enterprise/jpi/v1/impac/kpis_controller_spec.rb +34 -15
  20. data/spec/controllers/mno_enterprise/jpi/v1/marketplace_controller_spec.rb +2 -1
  21. data/spec/routing/mno_enterprise/jpi/v1/admin/app_feedbacks_controller_routing_spec.rb +11 -0
  22. data/spec/routing/mno_enterprise/jpi/v1/admin/app_questions_controller_routing_spec.rb +11 -0
  23. metadata +21 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0d1fc05e6d511ddaa9c90ac0eadcfa98f34164be
4
- data.tar.gz: 7cd5ece7aef6ec8bedadb102135c9e1aae7de800
3
+ metadata.gz: 59481a633a5a28ae2dd38005cdb551b228c5b5bf
4
+ data.tar.gz: 76d54cd45bca2dffce920a50202d31688509389e
5
5
  SHA512:
6
- metadata.gz: e50da83dcdacab9f7e2a4c51a538a00e885a4360c5bb4c40335f635e357c8e67474638c7b4fffaea4f8b13be69ef7a577173d22a3722f305ac39f5290f7aa386
7
- data.tar.gz: 04d2713f52f2bdb25d6605b8a9243e3b313e661aebf457cf4af81976ab9d3d74ba30f7952cd054eb6181d94d261dbb9da29713d24369fc6302975e795691c72f
6
+ metadata.gz: dc8fe919ad098561ade8eed41579e5395d89d88bc84187f5d1b582b333bd2142d8f8f1995032a356caa5017b0f63b2c652698a4d687ba2411961c212936a5461
7
+ data.tar.gz: bf5fc80d57d306d94a89444444af57687f8e7ff870817c8a530e27fd3388032efc253be7c3a7c15f021ee9eb2e621b7f401d248ce730164c8dc14a97640da2c6
@@ -0,0 +1,14 @@
1
+ module MnoEnterprise
2
+ class Jpi::V1::Admin::AppFeedbacksController < Jpi::V1::Admin::BaseResourceController
3
+ # GET /mnoe/jpi/v1/admin/app_feedbacks
4
+ def index
5
+ @app_reviews = MnoEnterprise::AppFeedback
6
+ @app_reviews = @app_reviews.limit(params[:limit]) if params[:limit]
7
+ @app_reviews = @app_reviews.skip(params[:offset]) if params[:offset]
8
+ @app_reviews = @app_reviews.order_by(params[:order_by]) if params[:order_by]
9
+ @app_reviews = @app_reviews.where(params[:where]) if params[:where]
10
+ @app_reviews = @app_reviews.all.fetch
11
+ response.headers['X-Total-Count'] = @app_reviews.metadata[:pagination][:count]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module MnoEnterprise
2
+ class Jpi::V1::Admin::AppQuestionsController < Jpi::V1::Admin::BaseResourceController
3
+ # GET /mnoe/jpi/v1/admin/app_questions
4
+ def index
5
+ @app_reviews = MnoEnterprise::AppQuestion
6
+ @app_reviews = @app_reviews.limit(params[:limit]) if params[:limit]
7
+ @app_reviews = @app_reviews.skip(params[:offset]) if params[:offset]
8
+ @app_reviews = @app_reviews.order_by(params[:order_by]) if params[:order_by]
9
+ @app_reviews = @app_reviews.where(params[:where]) if params[:where]
10
+ @app_reviews = @app_reviews.all.fetch
11
+ response.headers['X-Total-Count'] = @app_reviews.metadata[:pagination][:count]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ json.partial! 'app_review', app_review: app_comment, show_rating: false
2
+
3
+ json.feedback_id app_comment[:feedback_id]
4
+ if app_comment[:versions]
5
+ json.versions do
6
+ json.array! app_comment[:versions] do |version|
7
+ json.extract! version, :id, :event, :description
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,7 @@
1
+ json.partial! 'app_review', app_review: app_feedback
2
+
3
+ json.comments do
4
+ json.array! app_feedback[:comments] do |app_comment|
5
+ json.partial! 'comment', app_comment: app_comment
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ json.app_feedbacks do
2
+ json.array! @app_reviews do |app_feedback|
3
+ json.partial! 'resource', app_feedback: app_feedback
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ json.partial! 'app_review', app_review: app_answer, show_rating: false
2
+
3
+ json.question_id app_answer[:question_id]
@@ -0,0 +1,8 @@
1
+ json.partial! 'app_review', app_review: app_question, show_rating: false
2
+
3
+ json.answers do
4
+ json.array! app_question[:answers] do |app_answer|
5
+ json.partial! 'answer', app_answer: app_answer
6
+ end
7
+ end
8
+
@@ -0,0 +1,5 @@
1
+ json.app_questions do
2
+ json.array! @app_reviews do |app_question|
3
+ json.partial! 'resource', app_question: app_question
4
+ end
5
+ end
@@ -0,0 +1,17 @@
1
+ json.extract! app_review, :id, :description, :status,
2
+ :user_id, :user_name, :organization_id, :organization_name,
3
+ :app_id, :app_name, :user_admin_role, :created_at, :updated_at,
4
+ :edited, :edited_by_name, :edited_by_admin_role, :edited_by_id
5
+
6
+ show_rating = local_assigns.fetch(:show_rating, true)
7
+ if app_review.respond_to?(:rating) && show_rating
8
+ json.rating app_review.rating
9
+ end
10
+
11
+ if app_review[:versions]
12
+ json.versions do
13
+ json.array! app_review[:versions] do |version|
14
+ json.extract! version, :id, :event, :description, :created_at, :author
15
+ end
16
+ end
17
+ end
@@ -1,5 +1,5 @@
1
1
  json.extract! app, :id, :nid, :name, :stack, :key_benefits, :categories, :tags, :tiny_description,
2
- :testimonials, :pictures, :pricing_plans, :rank, :support_url, :key_workflows, :key_features
2
+ :testimonials, :pictures, :pricing_plans, :rank, :support_url, :key_workflows, :key_features, :pricing_text
3
3
 
4
4
  json.description markdown(app.sanitized_description)
5
5
  json.known_limitations markdown(app.known_limitations)
@@ -1,2 +1,4 @@
1
- json.categories @categories
2
- json.apps @apps, partial: 'app', as: :app
1
+ json.cache! ['marketplace', @last_modified] do
2
+ json.categories @categories
3
+ json.apps @apps, partial: 'app', as: :app
4
+ end
data/config/routes.rb CHANGED
@@ -166,6 +166,8 @@ MnoEnterprise::Engine.routes.draw do
166
166
  #============================================================
167
167
  namespace :admin, defaults: {format: 'json'} do
168
168
  resources :audit_events, only: [:index]
169
+ resources :app_feedbacks, only: [:index]
170
+ resources :app_questions, only: [:index]
169
171
  resources :app_instances, only: [:destroy], shallow: true
170
172
  resources :app_reviews, only: [:index, :show, :update]
171
173
  resources :app_comments, only: [:create]
@@ -61,6 +61,8 @@ module MnoEnterprise::Concerns::Controllers::Jpi::V1::Impac::KpisController
61
61
  # Creates a default alert for kpis created with targets defined.
62
62
  if kpi.targets.present?
63
63
  current_user.alerts.create({service: 'inapp', impac_kpi_id: kpi.id})
64
+ # TODO: should widget KPIs create an email alert automatically?
65
+ current_user.alerts.create({service: 'email', impac_kpi_id: kpi.id}) if widget.present?
64
66
  # TODO: reload is adding the recipients to the kpi alerts (making another request).
65
67
  kpi.reload
66
68
  end
@@ -13,14 +13,18 @@ module MnoEnterprise::Concerns::Controllers::Jpi::V1::MarketplaceController
13
13
  #==================================================================
14
14
  # Instance methods
15
15
  #==================================================================
16
- # GET /mnoe/mnoe/jpi/v1/marketplace
16
+ # GET /mnoe/jpi/v1/marketplace
17
17
  def index
18
18
  expires_in 0, public: true, must_revalidate: true
19
- last_modified = app_relation.order_by('updated_at.desc').limit(1).first.updated_at
19
+ @last_modified = app_relation.order_by('updated_at.desc').limit(1).first.updated_at
20
+
21
+ if stale?(last_modified: @last_modified)
22
+ @apps = Rails.cache.fetch("marketplace/index-apps-#{@last_modified}") do
23
+ apps = app_relation.to_a
24
+ apps.sort_by! { |app| [app.rank ? 0 : 1 , app.rank] } # the nil ranks will appear at the end
25
+ apps
26
+ end
20
27
 
21
- if stale?(last_modified: last_modified)
22
- @apps = app_relation.to_a
23
- @apps.sort_by! { |app| [app.rank ? 0 : 1 , app.rank] } # the nil ranks will appear at the end
24
28
  @categories = MnoEnterprise::App.categories(@apps)
25
29
  @categories.delete('Most Popular')
26
30
  respond_to do |format|
@@ -16,7 +16,7 @@ module MnoEnterprise::Concerns::Controllers::Jpi::V1::TeamsController
16
16
  # GET /mnoe/jpi/v1/organizations/:organization_id/teams
17
17
  def index
18
18
  authorize! :read, parent_organization
19
- @teams = parent_organization.teams
19
+ @teams = MnoEnterprise::Team.where(organization_id: params[:organization_id])
20
20
  end
21
21
 
22
22
  # GET /mnoe/jpi/v1/teams/:id
@@ -95,6 +95,7 @@ module MnoEnterprise::Concerns::Controllers::Jpi::V1::TeamsController
95
95
  MnoEnterprise::EventLogger.info('team_update', current_user.id, 'Team composition updated', @team,
96
96
  {action: action.to_s, users: users.map(&:email)})
97
97
  end
98
+ @team.reload
98
99
 
99
100
  render 'show'
100
101
  end
@@ -0,0 +1,54 @@
1
+ require 'rails_helper'
2
+
3
+ module MnoEnterprise
4
+ include MnoEnterprise::TestingSupport::SharedExamples::JpiV1Admin
5
+
6
+ describe Jpi::V1::Admin::AppFeedbacksController, type: :controller do
7
+ render_views
8
+ routes { MnoEnterprise::Engine.routes }
9
+ before { request.env['HTTP_ACCEPT'] = 'application/json' }
10
+ let(:user) { build(:user, :admin, :with_organizations) }
11
+ let(:feedback_comment_1) { build(:app_comment) }
12
+ let(:feedback_comment_2) { build(:app_comment) }
13
+ let(:app_feedback) { build(:app_feedback, comments: [feedback_comment_1, feedback_comment_2]) }
14
+ let(:expected_hash_for_comment_1) do
15
+ attrs = %w(id description status user_id user_name organization_id organization_name app_id feedback_id app_name user_admin_role edited edited_by_name edited_by_admin_role edited_by_id)
16
+ feedback_comment_1.attributes.slice(*attrs).merge({'created_at' => feedback_comment_1.created_at.as_json, 'updated_at' => feedback_comment_1.updated_at.as_json})
17
+ end
18
+ let(:expected_hash_for_comment_2) do
19
+ attrs = %w(id description status user_id user_name organization_id organization_name app_id feedback_id app_name user_admin_role edited edited_by_name edited_by_admin_role edited_by_id)
20
+ feedback_comment_2.attributes.slice(*attrs).merge({'created_at' => feedback_comment_2.created_at.as_json, 'updated_at' => feedback_comment_2.updated_at.as_json})
21
+ end
22
+ let(:expected_array_for_comments) { [expected_hash_for_comment_1, expected_hash_for_comment_2] }
23
+ let(:expected_hash_for_feedback) do
24
+ attrs = %w(id rating description status user_id user_name organization_id organization_name app_id app_name user_admin_role comments edited edited_by_name edited_by_admin_role edited_by_id)
25
+ app_feedback.attributes.slice(*attrs).merge({'created_at' => app_feedback.created_at.as_json, 'updated_at' => app_feedback.updated_at.as_json, 'comments' => expected_array_for_comments})
26
+ end
27
+ let(:expected_hash_for_feedbacks) do
28
+ {
29
+ 'app_feedbacks' => [expected_hash_for_feedback],
30
+ }
31
+ end
32
+ before do
33
+ api_stub_for(get: '/app_feedbacks', response: from_api([app_feedback]))
34
+ api_stub_for(get: "/users/#{user.id}", response: from_api(user))
35
+ sign_in user
36
+ end
37
+
38
+ describe '#index' do
39
+ subject { get :index }
40
+
41
+ it_behaves_like "a jpi v1 admin action"
42
+
43
+ context 'success' do
44
+ before { subject }
45
+
46
+ it 'returns a list of app_feedbacks' do
47
+ expect(response).to be_success
48
+ expect(JSON.parse(response.body)).to eq(expected_hash_for_feedbacks)
49
+ end
50
+ end
51
+ end
52
+
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ require 'rails_helper'
2
+
3
+ module MnoEnterprise
4
+ include MnoEnterprise::TestingSupport::SharedExamples::JpiV1Admin
5
+
6
+ describe Jpi::V1::Admin::AppQuestionsController, type: :controller do
7
+ render_views
8
+ routes { MnoEnterprise::Engine.routes }
9
+ before { request.env['HTTP_ACCEPT'] = 'application/json' }
10
+ let(:user) { build(:user, :admin, :with_organizations) }
11
+ let(:question_answer_1) { build(:app_answer) }
12
+ let(:question_answer_2) { build(:app_answer) }
13
+ let(:app_question) { build(:app_question, answers: [question_answer_1, question_answer_2]) }
14
+ let(:expected_hash_for_answer_1) do
15
+ attrs = %w(id description status user_id user_name organization_id organization_name app_id question_id app_name user_admin_role edited edited_by_name edited_by_admin_role edited_by_id)
16
+ question_answer_1.attributes.slice(*attrs).merge({'created_at' => question_answer_1.created_at.as_json, 'updated_at' => question_answer_1.updated_at.as_json})
17
+ end
18
+ let(:expected_hash_for_answer_2) do
19
+ attrs = %w(id description status user_id user_name organization_id organization_name app_id question_id app_name user_admin_role edited edited_by_name edited_by_admin_role edited_by_id)
20
+ question_answer_2.attributes.slice(*attrs).merge({'created_at' => question_answer_2.created_at.as_json, 'updated_at' => question_answer_2.updated_at.as_json})
21
+ end
22
+ let(:expected_array_for_answers) { [expected_hash_for_answer_1, expected_hash_for_answer_2] }
23
+ let(:expected_hash_for_question) do
24
+ attrs = %w(id description status user_id user_name organization_id organization_name app_id app_name user_admin_role answers edited edited_by_name edited_by_admin_role edited_by_id)
25
+ app_question.attributes.slice(*attrs).merge({'created_at' => app_question.created_at.as_json, 'updated_at' => app_question.updated_at.as_json, 'answers' => expected_array_for_answers})
26
+ end
27
+ let(:expected_hash_for_questions) do
28
+ {
29
+ 'app_questions' => [expected_hash_for_question],
30
+ }
31
+ end
32
+ before do
33
+ api_stub_for(get: '/app_questions', response: from_api([app_question]))
34
+ api_stub_for(get: "/users/#{user.id}", response: from_api(user))
35
+ sign_in user
36
+ end
37
+
38
+ describe '#index' do
39
+ subject { get :index }
40
+
41
+ it_behaves_like "a jpi v1 admin action"
42
+
43
+ context 'success' do
44
+ before { subject }
45
+
46
+ it 'returns a list of app_feedbacks' do
47
+ expect(response).to be_success
48
+ expect(JSON.parse(response.body)).to eq(expected_hash_for_questions)
49
+ end
50
+ end
51
+ end
52
+
53
+ end
54
+ end
@@ -84,21 +84,6 @@ module MnoEnterprise
84
84
  expect(assigns(:kpi)).to eq(kpi)
85
85
  end
86
86
 
87
- context "when there are kpi targets" do
88
- let(:kpi_targets) { { evolution: [{max: "20"}] } }
89
-
90
- before do
91
- api_stub_for(post: "/users/#{user.id}/alerts", response: from_api(alert))
92
- api_stub_for(get: "/users/#{user.id}/alerts", response: from_api({}))
93
- end
94
-
95
- it "creates kpi alerts" do
96
- subject
97
- expect(assigns(:kpi).alerts).to eq([alert])
98
- expect(response).to have_http_status(:ok)
99
- end
100
- end
101
-
102
87
  it { subject; expect(response).to have_http_status(:ok) }
103
88
  end
104
89
 
@@ -124,6 +109,21 @@ module MnoEnterprise
124
109
  subject
125
110
  expect(assigns(:dashboard)).to eq(dashboard)
126
111
  end
112
+
113
+ context "when there are kpi targets" do
114
+ let(:kpi_targets) { { evolution: [{max: "20"}] } }
115
+
116
+ before do
117
+ api_stub_for(post: "/users/#{user.id}/alerts", response: from_api(alert))
118
+ api_stub_for(get: "/users/#{user.id}/alerts", response: from_api({}))
119
+ end
120
+
121
+ it "creates a kpi inapp alert" do
122
+ subject
123
+ expect(assigns(:kpi).alerts).to eq([alert])
124
+ expect(response).to have_http_status(:ok)
125
+ end
126
+ end
127
127
  end
128
128
 
129
129
  context "a widget KPI" do
@@ -147,6 +147,25 @@ module MnoEnterprise
147
147
  subject
148
148
  expect(assigns(:widget)).to eq(widget)
149
149
  end
150
+
151
+ context "when there are kpi targets" do
152
+ let(:kpi_targets) { { evolution: [{max: "20"}] } }
153
+
154
+ let(:email_alert) { build(:impac_alert, kpi: kpi, service: 'email') }
155
+ let(:alerts_hashes) { [from_api(alert)[:data], from_api(email_alert)[:data]] }
156
+
157
+ before do
158
+ api_stub_for(post: "/users/#{user.id}/alerts", response: from_api(alert), body: {service: 'inapp', impac_kpi_id: kpi.id})
159
+ api_stub_for(post: "/users/#{user.id}/alerts", response: from_api(email_alert), body: {service: 'email', impac_kpi_id: kpi.id})
160
+ api_stub_for(get: "/users/#{user.id}/alerts", response: from_api({}))
161
+ end
162
+
163
+ it "creates kpi alerts" do
164
+ subject
165
+ expect(assigns(:kpi).alerts).to eq([alert, email_alert])
166
+ expect(response).to have_http_status(:ok)
167
+ end
168
+ end
150
169
  end
151
170
  end
152
171
 
@@ -44,7 +44,8 @@ module MnoEnterprise
44
44
  'subcategories' => app.subcategories,
45
45
  'average_rating' => app.average_rating,
46
46
  'add_on' => app.add_on?,
47
- 'running_instances_count' => app.running_instances_count
47
+ 'running_instances_count' => app.running_instances_count,
48
+ 'pricing_text' => app.pricing_text
48
49
  }
49
50
  end
50
51
 
@@ -0,0 +1,11 @@
1
+ require 'rails_helper'
2
+
3
+ module MnoEnterprise
4
+ RSpec.describe Jpi::V1::Admin::AppFeedbacksController, type: :routing do
5
+ routes { MnoEnterprise::Engine.routes }
6
+
7
+ it 'routes to #index' do
8
+ expect(get('/jpi/v1/admin/app_feedbacks')).to route_to("mno_enterprise/jpi/v1/admin/app_feedbacks#index", format: "json")
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ require 'rails_helper'
2
+
3
+ module MnoEnterprise
4
+ RSpec.describe Jpi::V1::Admin::AppQuestionsController, type: :routing do
5
+ routes { MnoEnterprise::Engine.routes }
6
+
7
+ it 'routes to #index' do
8
+ expect(get('/jpi/v1/admin/app_questions')).to route_to("mno_enterprise/jpi/v1/admin/app_questions#index", format: "json")
9
+ end
10
+ end
11
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mno-enterprise-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arnaud Lachaume
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-06-20 00:00:00.000000000 Z
12
+ date: 2017-07-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mno-enterprise-core
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 3.3.0
20
+ version: 3.3.1
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 3.3.0
27
+ version: 3.3.1
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: jbuilder
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -217,7 +217,9 @@ files:
217
217
  - app/controllers/mno_enterprise/impersonate_controller.rb
218
218
  - app/controllers/mno_enterprise/jpi/v1/admin/app_answers_controller.rb
219
219
  - app/controllers/mno_enterprise/jpi/v1/admin/app_comments_controller.rb
220
+ - app/controllers/mno_enterprise/jpi/v1/admin/app_feedbacks_controller.rb
220
221
  - app/controllers/mno_enterprise/jpi/v1/admin/app_instances_controller.rb
222
+ - app/controllers/mno_enterprise/jpi/v1/admin/app_questions_controller.rb
221
223
  - app/controllers/mno_enterprise/jpi/v1/admin/app_reviews_controller.rb
222
224
  - app/controllers/mno_enterprise/jpi/v1/admin/audit_events_controller.rb
223
225
  - app/controllers/mno_enterprise/jpi/v1/admin/base_resource_controller.rb
@@ -276,12 +278,19 @@ files:
276
278
  - app/views/mno_enterprise/deletion_requests/show.html.haml
277
279
  - app/views/mno_enterprise/jpi/v1/admin/app_answers/show.json.jbuilder
278
280
  - app/views/mno_enterprise/jpi/v1/admin/app_comments/show.json.jbuilder
281
+ - app/views/mno_enterprise/jpi/v1/admin/app_feedbacks/_comment.json.jbuilder
282
+ - app/views/mno_enterprise/jpi/v1/admin/app_feedbacks/_resource.json.jbuilder
283
+ - app/views/mno_enterprise/jpi/v1/admin/app_feedbacks/index.json.jbuilder
284
+ - app/views/mno_enterprise/jpi/v1/admin/app_questions/_answer.json.jbuilder
285
+ - app/views/mno_enterprise/jpi/v1/admin/app_questions/_resource.json.jbuilder
286
+ - app/views/mno_enterprise/jpi/v1/admin/app_questions/index.json.jbuilder
279
287
  - app/views/mno_enterprise/jpi/v1/admin/app_reviews/_app_review.json.jbuilder
280
288
  - app/views/mno_enterprise/jpi/v1/admin/app_reviews/index.json.jbuilder
281
289
  - app/views/mno_enterprise/jpi/v1/admin/app_reviews/show.json.jbuilder
282
290
  - app/views/mno_enterprise/jpi/v1/admin/audit_events/_audit_event.json.jbuilder
283
291
  - app/views/mno_enterprise/jpi/v1/admin/audit_events/index.csv.erb
284
292
  - app/views/mno_enterprise/jpi/v1/admin/audit_events/index.json.jbuilder
293
+ - app/views/mno_enterprise/jpi/v1/admin/base_resource/_app_review.json.jbuilder
285
294
  - app/views/mno_enterprise/jpi/v1/admin/base_resource/_member.json.jbuilder
286
295
  - app/views/mno_enterprise/jpi/v1/admin/cloud_apps/_cloud_app.json.jbuilder
287
296
  - app/views/mno_enterprise/jpi/v1/admin/cloud_apps/index.json.jbuilder
@@ -410,7 +419,9 @@ files:
410
419
  - spec/controllers/mno_enterprise/impersonate_controller_spec.rb
411
420
  - spec/controllers/mno_enterprise/jpi/v1/admin/app_answers_controller_spec.rb
412
421
  - spec/controllers/mno_enterprise/jpi/v1/admin/app_comments_controller_spec.rb
422
+ - spec/controllers/mno_enterprise/jpi/v1/admin/app_feedbacks_controller_spec.rb
413
423
  - spec/controllers/mno_enterprise/jpi/v1/admin/app_instances_controller_spec.rb
424
+ - spec/controllers/mno_enterprise/jpi/v1/admin/app_questions_controller_spec.rb
414
425
  - spec/controllers/mno_enterprise/jpi/v1/admin/app_reviews_controller_spec.rb
415
426
  - spec/controllers/mno_enterprise/jpi/v1/admin/audit_events_controller_spec.rb
416
427
  - spec/controllers/mno_enterprise/jpi/v1/admin/cloud_apps_controller_spec.rb
@@ -454,7 +465,9 @@ files:
454
465
  - spec/routing/mno_enterprise/admin/invoices_controller_routing_spec.rb
455
466
  - spec/routing/mno_enterprise/deletion_requests_controller_routing_spec.rb
456
467
  - spec/routing/mno_enterprise/impersonate_controller_routing_spec.rb
468
+ - spec/routing/mno_enterprise/jpi/v1/admin/app_feedbacks_controller_routing_spec.rb
457
469
  - spec/routing/mno_enterprise/jpi/v1/admin/app_instances_controller_routing_spec.rb
470
+ - spec/routing/mno_enterprise/jpi/v1/admin/app_questions_controller_routing_spec.rb
458
471
  - spec/routing/mno_enterprise/jpi/v1/admin/app_reviews_controller_routing_spec.rb
459
472
  - spec/routing/mno_enterprise/jpi/v1/admin/audit_events_controller_routing_spec.rb
460
473
  - spec/routing/mno_enterprise/jpi/v1/admin/cloud_apps_controller_routing_spec.rb
@@ -516,10 +529,12 @@ test_files:
516
529
  - spec/routing/mno_enterprise/webhook/o_auth_controller_routing_spec.rb
517
530
  - spec/routing/mno_enterprise/pages_controller_routing_spec.rb
518
531
  - spec/routing/mno_enterprise/org_invites_controller_routing_spec.rb
532
+ - spec/routing/mno_enterprise/jpi/v1/admin/app_feedbacks_controller_routing_spec.rb
519
533
  - spec/routing/mno_enterprise/jpi/v1/admin/organizations_controller_routing_spec.rb
520
534
  - spec/routing/mno_enterprise/jpi/v1/admin/tenant_invoices_controller_routing_spec.rb
521
535
  - spec/routing/mno_enterprise/jpi/v1/admin/app_instances_controller_routing_spec.rb
522
536
  - spec/routing/mno_enterprise/jpi/v1/admin/audit_events_controller_routing_spec.rb
537
+ - spec/routing/mno_enterprise/jpi/v1/admin/app_questions_controller_routing_spec.rb
523
538
  - spec/routing/mno_enterprise/jpi/v1/admin/theme_controller_routing_spec.rb
524
539
  - spec/routing/mno_enterprise/jpi/v1/admin/invoices_controller_routing_spec.rb
525
540
  - spec/routing/mno_enterprise/jpi/v1/admin/invites_controller_routing_spec.rb
@@ -559,10 +574,12 @@ test_files:
559
574
  - spec/controllers/mno_enterprise/webhook/o_auth_controller_spec.rb
560
575
  - spec/controllers/mno_enterprise/auth/omniauth_callback_controller_spec.rb
561
576
  - spec/controllers/mno_enterprise/auth/confirmation_controller_spec.rb
577
+ - spec/controllers/mno_enterprise/jpi/v1/admin/app_questions_controller_spec.rb
562
578
  - spec/controllers/mno_enterprise/jpi/v1/admin/audit_events_controller_spec.rb
563
579
  - spec/controllers/mno_enterprise/jpi/v1/admin/cloud_apps_controller_spec.rb
564
580
  - spec/controllers/mno_enterprise/jpi/v1/admin/organizations_controller_spec.rb
565
581
  - spec/controllers/mno_enterprise/jpi/v1/admin/invites_controller_spec.rb
582
+ - spec/controllers/mno_enterprise/jpi/v1/admin/app_feedbacks_controller_spec.rb
566
583
  - spec/controllers/mno_enterprise/jpi/v1/admin/app_instances_controller_spec.rb
567
584
  - spec/controllers/mno_enterprise/jpi/v1/admin/app_answers_controller_spec.rb
568
585
  - spec/controllers/mno_enterprise/jpi/v1/admin/invoices_controller_spec.rb