mno-enterprise-api 3.3.0 → 3.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/mno_enterprise/jpi/v1/admin/app_feedbacks_controller.rb +14 -0
- data/app/controllers/mno_enterprise/jpi/v1/admin/app_questions_controller.rb +14 -0
- data/app/views/mno_enterprise/jpi/v1/admin/app_feedbacks/_comment.json.jbuilder +10 -0
- data/app/views/mno_enterprise/jpi/v1/admin/app_feedbacks/_resource.json.jbuilder +7 -0
- data/app/views/mno_enterprise/jpi/v1/admin/app_feedbacks/index.json.jbuilder +5 -0
- data/app/views/mno_enterprise/jpi/v1/admin/app_questions/_answer.json.jbuilder +3 -0
- data/app/views/mno_enterprise/jpi/v1/admin/app_questions/_resource.json.jbuilder +8 -0
- data/app/views/mno_enterprise/jpi/v1/admin/app_questions/index.json.jbuilder +5 -0
- data/app/views/mno_enterprise/jpi/v1/admin/base_resource/_app_review.json.jbuilder +17 -0
- data/app/views/mno_enterprise/jpi/v1/marketplace/_app.json.jbuilder +1 -1
- data/app/views/mno_enterprise/jpi/v1/marketplace/index.json.jbuilder +4 -2
- data/config/routes.rb +2 -0
- data/lib/mno_enterprise/concerns/controllers/jpi/v1/impac/kpis_controller.rb +2 -0
- data/lib/mno_enterprise/concerns/controllers/jpi/v1/marketplace_controller.rb +9 -5
- data/lib/mno_enterprise/concerns/controllers/jpi/v1/teams_controller.rb +2 -1
- data/spec/controllers/mno_enterprise/jpi/v1/admin/app_feedbacks_controller_spec.rb +54 -0
- data/spec/controllers/mno_enterprise/jpi/v1/admin/app_questions_controller_spec.rb +54 -0
- data/spec/controllers/mno_enterprise/jpi/v1/impac/kpis_controller_spec.rb +34 -15
- data/spec/controllers/mno_enterprise/jpi/v1/marketplace_controller_spec.rb +2 -1
- data/spec/routing/mno_enterprise/jpi/v1/admin/app_feedbacks_controller_routing_spec.rb +11 -0
- data/spec/routing/mno_enterprise/jpi/v1/admin/app_questions_controller_routing_spec.rb +11 -0
- metadata +21 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59481a633a5a28ae2dd38005cdb551b228c5b5bf
|
4
|
+
data.tar.gz: 76d54cd45bca2dffce920a50202d31688509389e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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,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
|
-
|
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)
|
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/
|
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 =
|
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.
|
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-
|
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.
|
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.
|
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
|