From 0ba19b7c244f272a1dc71ab1a64fd1a77f4437ee Mon Sep 17 00:00:00 2001 From: Jeff Marks Date: Fri, 20 Sep 2024 09:54:07 -0600 Subject: [PATCH 1/9] Put 24/7 access to post-911 SOB behind flipper toggle --- .../v0/backend_statuses_controller.rb | 18 +++++++++--------- .../v1/post911_gi_bill_statuses_controller.rb | 7 +++++-- .../outside_working_hours.rb | 2 ++ lib/lighthouse/benefits_education/service.rb | 9 +++++++++ 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/app/controllers/v0/backend_statuses_controller.rb b/app/controllers/v0/backend_statuses_controller.rb index 0c10422fc80..d83ddc69820 100644 --- a/app/controllers/v0/backend_statuses_controller.rb +++ b/app/controllers/v0/backend_statuses_controller.rb @@ -18,23 +18,23 @@ def index render json: BackendStatusesSerializer.new(statuses, options) end + # TO-DO: After transition of Post-911 GI Bill to 24/7 availability, confirm show action + # can be completely removed + # # GET /v0/backend_statuses/:service def show @backend_service = params[:service] raise Common::Exceptions::RecordNotFound, @backend_service unless recognized_service? - # get status - be_status = BackendStatus.new(name: @backend_service) - case @backend_service - when BackendServices::GI_BILL_STATUS + # default service is up + be_status = BackendStatus.new(name: @backend_service, is_available: true, uptime_remaining: 0) + + # case where 24/7 access is disabled for post-911 GI bill + if (@backend_service == BackendServices::GI_BILL_STATUS) && !Flipper.enabled?(:sob_updated_design) be_status.is_available = BenefitsEducation::Service.within_scheduled_uptime? be_status.uptime_remaining = BenefitsEducation::Service.seconds_until_downtime - else - # default service is up! - be_status.is_available = true - be_status.uptime_remaining = 0 end - + render json: BackendStatusSerializer.new(be_status) end diff --git a/app/controllers/v1/post911_gi_bill_statuses_controller.rb b/app/controllers/v1/post911_gi_bill_statuses_controller.rb index 18ed654b730..e1711497662 100644 --- a/app/controllers/v1/post911_gi_bill_statuses_controller.rb +++ b/app/controllers/v1/post911_gi_bill_statuses_controller.rb @@ -10,6 +10,8 @@ class Post911GIBillStatusesController < ApplicationController include SentryLogging service_tag 'gibill-statement' + + # TO-DO: Remove this action after transition of LTS to 24/7 availability before_action :service_available?, only: :show STATSD_GI_BILL_TOTAL_KEY = 'api.lighthouse.gi_bill_status.total' @@ -35,8 +37,9 @@ def handle_error(e) render json: { errors: e.errors }, status: status || :internal_server_error end + # TO-DO: Remove this method after transition of LTS to 24/7 availability def service_available? - unless BenefitsEducation::Service.within_scheduled_uptime? + unless Flipper.enabled?(:sob_updated_design) || BenefitsEducation::Service.within_scheduled_uptime? StatsD.increment(STATSD_GI_BILL_FAIL_KEY, tags: ['error:scheduled_downtime']) headers['Retry-After'] = BenefitsEducation::Service.retry_after_time # 503 response @@ -72,7 +75,7 @@ def skip_sentry_exception_types end def service - BenefitsEducation::Service.new(@current_user&.icn) + BenefitsEducation::Service.new('1012667122V019349') end end end diff --git a/lib/lighthouse/benefits_education/outside_working_hours.rb b/lib/lighthouse/benefits_education/outside_working_hours.rb index d9825f5210a..104f77c9a12 100644 --- a/lib/lighthouse/benefits_education/outside_working_hours.rb +++ b/lib/lighthouse/benefits_education/outside_working_hours.rb @@ -2,6 +2,8 @@ require 'common/exceptions/base_error' +# TO-DO: Remove this error after transition of LTS to 24/7 availability and associated lines +# in exceptions.en.yml module BenefitsEducation ## # Custom error for when the user is attempting to access the service diff --git a/lib/lighthouse/benefits_education/service.rb b/lib/lighthouse/benefits_education/service.rb index c4a7d16addd..59e753ef2bc 100644 --- a/lib/lighthouse/benefits_education/service.rb +++ b/lib/lighthouse/benefits_education/service.rb @@ -15,6 +15,7 @@ class Service < Common::Client::Base STATSD_KEY_PREFIX = 'api.benefits_education' + # TO-DO: Remove these constants after transition of LTS to 24/7 availability OPERATING_ZONE = 'Eastern Time (US & Canada)' OPERATING_HOURS = { start: 6, @@ -67,9 +68,13 @@ def handle_error(error, lighthouse_client_id, endpoint) end ## + # TO-DO: Remove this method after transition of LTS to 24/7 availability + # # @return [Boolean] Is the current time within the system's scheduled uptime # def self.within_scheduled_uptime? + return false + current_time = get_current_time if current_time.saturday? (OPERATING_HOURS[:start]...OPERATING_HOURS[:saturday_end]).cover?(current_time.hour) @@ -79,6 +84,8 @@ def self.within_scheduled_uptime? end ## + # TO-DO: Remove this method after transition of LTS to 24/7 availability + # # @return [Integer] The number of seconds until scheduled system downtime begins # def self.seconds_until_downtime @@ -94,6 +101,8 @@ def self.seconds_until_downtime end ## + # TO-DO: Remove this method after transition of LTS to 24/7 availability + # # @return [String] Next earliest date and time that the service will be available # def self.retry_after_time From 3c0dfa9ae272407473bd6064bc1da4c464f92468 Mon Sep 17 00:00:00 2001 From: Jeff Marks Date: Fri, 20 Sep 2024 10:34:40 -0600 Subject: [PATCH 2/9] Fix linting --- app/controllers/v0/backend_statuses_controller.rb | 4 ++-- app/controllers/v1/post911_gi_bill_statuses_controller.rb | 2 +- lib/lighthouse/benefits_education/service.rb | 8 +++----- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/app/controllers/v0/backend_statuses_controller.rb b/app/controllers/v0/backend_statuses_controller.rb index d83ddc69820..2fb4c0cc9f8 100644 --- a/app/controllers/v0/backend_statuses_controller.rb +++ b/app/controllers/v0/backend_statuses_controller.rb @@ -20,7 +20,7 @@ def index # TO-DO: After transition of Post-911 GI Bill to 24/7 availability, confirm show action # can be completely removed - # + # # GET /v0/backend_statuses/:service def show @backend_service = params[:service] @@ -34,7 +34,7 @@ def show be_status.is_available = BenefitsEducation::Service.within_scheduled_uptime? be_status.uptime_remaining = BenefitsEducation::Service.seconds_until_downtime end - + render json: BackendStatusSerializer.new(be_status) end diff --git a/app/controllers/v1/post911_gi_bill_statuses_controller.rb b/app/controllers/v1/post911_gi_bill_statuses_controller.rb index e1711497662..293119f7426 100644 --- a/app/controllers/v1/post911_gi_bill_statuses_controller.rb +++ b/app/controllers/v1/post911_gi_bill_statuses_controller.rb @@ -10,7 +10,7 @@ class Post911GIBillStatusesController < ApplicationController include SentryLogging service_tag 'gibill-statement' - + # TO-DO: Remove this action after transition of LTS to 24/7 availability before_action :service_available?, only: :show diff --git a/lib/lighthouse/benefits_education/service.rb b/lib/lighthouse/benefits_education/service.rb index 59e753ef2bc..b1c8418dc63 100644 --- a/lib/lighthouse/benefits_education/service.rb +++ b/lib/lighthouse/benefits_education/service.rb @@ -69,12 +69,10 @@ def handle_error(error, lighthouse_client_id, endpoint) ## # TO-DO: Remove this method after transition of LTS to 24/7 availability - # + # # @return [Boolean] Is the current time within the system's scheduled uptime # def self.within_scheduled_uptime? - return false - current_time = get_current_time if current_time.saturday? (OPERATING_HOURS[:start]...OPERATING_HOURS[:saturday_end]).cover?(current_time.hour) @@ -85,7 +83,7 @@ def self.within_scheduled_uptime? ## # TO-DO: Remove this method after transition of LTS to 24/7 availability - # + # # @return [Integer] The number of seconds until scheduled system downtime begins # def self.seconds_until_downtime @@ -102,7 +100,7 @@ def self.seconds_until_downtime ## # TO-DO: Remove this method after transition of LTS to 24/7 availability - # + # # @return [String] Next earliest date and time that the service will be available # def self.retry_after_time From afaa209bbbac8663a5e967820bf03bd949b0aeed Mon Sep 17 00:00:00 2001 From: Jeff Marks Date: Fri, 20 Sep 2024 11:38:21 -0600 Subject: [PATCH 3/9] Revert hard-coded icn --- app/controllers/v1/post911_gi_bill_statuses_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/v1/post911_gi_bill_statuses_controller.rb b/app/controllers/v1/post911_gi_bill_statuses_controller.rb index 293119f7426..ee0ba957c05 100644 --- a/app/controllers/v1/post911_gi_bill_statuses_controller.rb +++ b/app/controllers/v1/post911_gi_bill_statuses_controller.rb @@ -75,7 +75,7 @@ def skip_sentry_exception_types end def service - BenefitsEducation::Service.new('1012667122V019349') + BenefitsEducation::Service.new(@current_user&.icn) end end end From 075a8f0938f5df32ffd018dd9f295687e01118d3 Mon Sep 17 00:00:00 2001 From: Jeff Marks Date: Mon, 23 Sep 2024 08:47:17 -0600 Subject: [PATCH 4/9] Update tests and leave comments of TO-DOs to remove logic when 24/7 released --- app/controllers/v1/post911_gi_bill_statuses_controller.rb | 1 + .../v1/post911_gi_bill_statuses_controller_spec.rb | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/controllers/v1/post911_gi_bill_statuses_controller.rb b/app/controllers/v1/post911_gi_bill_statuses_controller.rb index ee0ba957c05..146f5a4571c 100644 --- a/app/controllers/v1/post911_gi_bill_statuses_controller.rb +++ b/app/controllers/v1/post911_gi_bill_statuses_controller.rb @@ -70,6 +70,7 @@ def user_json(user) }.to_json end + # TO-DO: Remove this method after transition of LTS to 24/7 availability def skip_sentry_exception_types super + [BenefitsEducation::OutsideWorkingHours] end diff --git a/spec/controllers/v1/post911_gi_bill_statuses_controller_spec.rb b/spec/controllers/v1/post911_gi_bill_statuses_controller_spec.rb index 8e342648e35..154cf6e8e22 100644 --- a/spec/controllers/v1/post911_gi_bill_statuses_controller_spec.rb +++ b/spec/controllers/v1/post911_gi_bill_statuses_controller_spec.rb @@ -63,9 +63,13 @@ end end + # TO-DO: Remove this suite of tests after transition of LTS to 24/7 availability context 'outside working hours' do # midnight - before { Timecop.freeze(tz.parse('2nd Feb 1993 00:00:00')) } + before do + Flipper.disable(:sob_updated_design) + Timecop.freeze(tz.parse('2nd Feb 1993 00:00:00')) + end after { Timecop.return } it 'returns 503' do From b44644f3b30a1cb5e95e8e660678e312f6d0f929 Mon Sep 17 00:00:00 2001 From: Jeff Marks Date: Mon, 23 Sep 2024 10:00:19 -0600 Subject: [PATCH 5/9] Linting --- app/controllers/v1/post911_gi_bill_statuses_controller.rb | 1 - .../controllers/v1/post911_gi_bill_statuses_controller_spec.rb | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controllers/v1/post911_gi_bill_statuses_controller.rb b/app/controllers/v1/post911_gi_bill_statuses_controller.rb index 146f5a4571c..4836234f414 100644 --- a/app/controllers/v1/post911_gi_bill_statuses_controller.rb +++ b/app/controllers/v1/post911_gi_bill_statuses_controller.rb @@ -10,7 +10,6 @@ class Post911GIBillStatusesController < ApplicationController include SentryLogging service_tag 'gibill-statement' - # TO-DO: Remove this action after transition of LTS to 24/7 availability before_action :service_available?, only: :show diff --git a/spec/controllers/v1/post911_gi_bill_statuses_controller_spec.rb b/spec/controllers/v1/post911_gi_bill_statuses_controller_spec.rb index 154cf6e8e22..301939a0a7b 100644 --- a/spec/controllers/v1/post911_gi_bill_statuses_controller_spec.rb +++ b/spec/controllers/v1/post911_gi_bill_statuses_controller_spec.rb @@ -14,6 +14,8 @@ context 'inside working hours' do before do + # TO-DO: Remove this flipper toggle after transition of LTS to 24/7 availability + Flipper.enable(:sob_updated_design) allow(BenefitsEducation::Service).to receive(:within_scheduled_uptime?).and_return(true) end @@ -70,6 +72,7 @@ Flipper.disable(:sob_updated_design) Timecop.freeze(tz.parse('2nd Feb 1993 00:00:00')) end + after { Timecop.return } it 'returns 503' do From 921cb9a587f887da4f2d25cccc17010b7fa82c1f Mon Sep 17 00:00:00 2001 From: Jeff Marks Date: Mon, 23 Sep 2024 12:23:53 -0600 Subject: [PATCH 6/9] FIx failing test in swagger spec --- spec/requests/swagger_spec.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/requests/swagger_spec.rb b/spec/requests/swagger_spec.rb index 4431fdfdeb0..f23a5284098 100644 --- a/spec/requests/swagger_spec.rb +++ b/spec/requests/swagger_spec.rb @@ -3334,6 +3334,7 @@ context 'GI Bill Status' do it 'supports getting Gi Bill Status' do + Flipper.enable(:sob_updated_design) Timecop.freeze(ActiveSupport::TimeZone.new('Eastern Time (US & Canada)').parse('1st Feb 2018 12:15:06')) expect(subject).to validate(:get, '/v1/post911_gi_bill_status', 401) VCR.use_cassette('lighthouse/benefits_education/200_response') do @@ -3343,6 +3344,7 @@ end it 'supports Gi Bill Status 503 condition' do + Flipper.disable(:sob_updated_design) Timecop.freeze(ActiveSupport::TimeZone.new('Eastern Time (US & Canada)').parse('1st Feb 2018 00:15:06')) expect(subject).to validate(:get, '/v1/post911_gi_bill_status', 503, headers) Timecop.return From 671412484a3882780f64fadfcac922ff212ae2bb Mon Sep 17 00:00:00 2001 From: Jeff Marks Date: Mon, 23 Sep 2024 12:45:32 -0600 Subject: [PATCH 7/9] Fix failing tests and move location of request spec for post 911 GI bill --- spec/lib/lighthouse/benefits_education/service_spec.rb | 1 + spec/requests/{v0 => v1}/post911_gi_bill_status_spec.rb | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) rename spec/requests/{v0 => v1}/post911_gi_bill_status_spec.rb (89%) diff --git a/spec/lib/lighthouse/benefits_education/service_spec.rb b/spec/lib/lighthouse/benefits_education/service_spec.rb index a0da7cde0f5..842d3010622 100644 --- a/spec/lib/lighthouse/benefits_education/service_spec.rb +++ b/spec/lib/lighthouse/benefits_education/service_spec.rb @@ -44,6 +44,7 @@ end end + # TO-DO: Remove this context after transition of LTS to 24/7 availability describe 'uptime/downtime tests' do let(:tz) { ActiveSupport::TimeZone.new(described_class::OPERATING_ZONE) } let(:late_time) { tz.parse('1st Feb 2018 23:00:00') } diff --git a/spec/requests/v0/post911_gi_bill_status_spec.rb b/spec/requests/v1/post911_gi_bill_status_spec.rb similarity index 89% rename from spec/requests/v0/post911_gi_bill_status_spec.rb rename to spec/requests/v1/post911_gi_bill_status_spec.rb index 73e90c941b7..f0bad00034f 100644 --- a/spec/requests/v0/post911_gi_bill_status_spec.rb +++ b/spec/requests/v1/post911_gi_bill_status_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' -RSpec.describe 'V0::Post911GIBillStatus', type: :request do +RSpec.describe 'V1::Post911GIBillStatus', type: :request do include SchemaMatchers let(:tz) { ActiveSupport::TimeZone.new(BenefitsEducation::Service::OPERATING_ZONE) } @@ -15,6 +15,7 @@ allow(Settings.evss).to receive(:mock_gi_bill_status).and_return(false) end + # TO-DO: Rename context after transition of LTS to 24/7 availability context 'inside working hours' do before { Timecop.freeze(noon) } @@ -31,6 +32,7 @@ end end + # TO-DO: Remove context after transition of LTS to 24/7 availability context 'outside working hours' do before { Timecop.freeze(midnight) } From cef0feeec4c5d00c2c327376783f3ef3554602de Mon Sep 17 00:00:00 2001 From: Jeff Marks Date: Tue, 24 Sep 2024 06:32:43 -0600 Subject: [PATCH 8/9] Resolve merge conflict with backend status controller and related models --- app/controllers/v0/backend_statuses_controller.rb | 6 +----- app/models/backend_status.rb | 10 +++++++--- app/serializers/backend_status_serializer.rb | 2 ++ spec/requests/v0/backend_status_spec.rb | 4 ++++ 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/app/controllers/v0/backend_statuses_controller.rb b/app/controllers/v0/backend_statuses_controller.rb index edf727ddda0..cd2fc52ab07 100644 --- a/app/controllers/v0/backend_statuses_controller.rb +++ b/app/controllers/v0/backend_statuses_controller.rb @@ -15,7 +15,7 @@ def index end # TO-DO: After transition of Post-911 GI Bill to 24/7 availability, confirm show action - # can be completely removed + # and related logic can be completely removed # # GET /v0/backend_statuses/:service def show @@ -49,9 +49,5 @@ def validate_service def recognized_service? BackendServices.all.include?(backend_service) end - - def backend_status_is_available - backend_service == BackendServices::GI_BILL_STATUS - end end end diff --git a/app/models/backend_status.rb b/app/models/backend_status.rb index cfca2b7c2b9..8f1bc39999b 100644 --- a/app/models/backend_status.rb +++ b/app/models/backend_status.rb @@ -2,6 +2,8 @@ require 'backend_services' +# TO-DO: After transition of Post-911 GI Bill to 24/7 availability, confirm +# BackendStatus (singular) model and related logic can be removed class BackendStatus include ActiveModel::Serialization include ActiveModel::Validations @@ -18,16 +20,18 @@ def initialize(name:, service_id: nil) end def available? - gibs_service? ? BenefitsEducation::Service.within_scheduled_uptime? : true + service_subject_to_downtime? ? BenefitsEducation::Service.within_scheduled_uptime? : true end def uptime_remaining - gibs_service? ? BenefitsEducation::Service.seconds_until_downtime.to_i : 0 + service_subject_to_downtime? ? BenefitsEducation::Service.seconds_until_downtime.to_i : 0 end private - def gibs_service? + def service_subject_to_downtime? + return false if Flipper.enabled?(:sob_updated_design) + @name == BackendServices::GI_BILL_STATUS end end diff --git a/app/serializers/backend_status_serializer.rb b/app/serializers/backend_status_serializer.rb index 6f714574d29..83bc9c1c197 100644 --- a/app/serializers/backend_status_serializer.rb +++ b/app/serializers/backend_status_serializer.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +# TO-DO: After transition of Post-911 GI Bill to 24/7 availability, confirm +# serializer and related logic can be completely removed class BackendStatusSerializer include JSONAPI::Serializer diff --git a/spec/requests/v0/backend_status_spec.rb b/spec/requests/v0/backend_status_spec.rb index ab40ebeb748..9d44b7f5663 100644 --- a/spec/requests/v0/backend_status_spec.rb +++ b/spec/requests/v0/backend_status_spec.rb @@ -8,6 +8,8 @@ let(:user) { build(:user, :loa3) } + # TO-DO: After transition of Post-911 GI Bill to 24/7 availability, confirm show action + # and related logic can be completely removed describe '#show' do let(:token) { 'fa0f28d6-224a-4015-a3b0-81e77de269f2' } let(:auth_header) { { 'Authorization' => "Token token=#{token}" } } @@ -26,6 +28,8 @@ end context 'for the gibs service' do + before { Flipper.disable(:sob_updated_design) } + context 'during offline hours on saturday' do before { Timecop.freeze(offline_saturday) } From 46f9b20c0c2e6ee746656cf40f7187a6cf20d2cc Mon Sep 17 00:00:00 2001 From: Jeff Marks Date: Tue, 24 Sep 2024 06:55:31 -0600 Subject: [PATCH 9/9] Update codeowners for post911 gi bill (SOB) --- .github/CODEOWNERS | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a174d05eda8..bca61fb6ce2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -152,7 +152,7 @@ app/controllers/v1/gids @department-of-veterans-affairs/govcio-vfep-codereviewer app/controllers/v1/higher_level_reviews_controller.rb @department-of-veterans-affairs/benefits-decision-reviews-be @department-of-veterans-affairs/backend-review-group app/controllers/v1/higher_level_reviews @department-of-veterans-affairs/benefits-decision-reviews-be @department-of-veterans-affairs/backend-review-group app/controllers/v1/notice_of_disagreements @department-of-veterans-affairs/benefits-decision-reviews-be @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -app/controllers/v1/post911_gi_bill_statuses_controller.rb @department-of-veterans-affairs/my-education-benefits @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +app/controllers/v1/post911_gi_bill_statuses_controller.rb @department-of-veterans-affairs/education-data-migration @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/controllers/v1/profile @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/controllers/v1/supplemental_claims @department-of-veterans-affairs/benefits-decision-reviews-be @department-of-veterans-affairs/backend-review-group app/controllers/v1/decision_review_evidences_controller.rb @department-of-veterans-affairs/benefits-decision-reviews-be @department-of-veterans-affairs/backend-review-group @@ -162,7 +162,7 @@ app/controllers/v1/pension_ipf_callbacks_controller.rb @department-of-veterans-a app/controllers/v1/sessions_controller.rb @department-of-veterans-affairs/octo-identity app/controllers/v1/supplemental_claims_controller.rb @department-of-veterans-affairs/benefits-decision-reviews-be @department-of-veterans-affairs/backend-review-group app/controllers/v1/supplemental_claims @department-of-veterans-affairs/benefits-decision-reviews-be @department-of-veterans-affairs/backend-review-group -app/controllers/v1/post911_gi_bill_statuses_controller.rb @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/va-iir +app/controllers/v1/post911_gi_bill_statuses_controller.rb @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/education-data-migration app/mailers/application_mailer.rb @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/mailers/ch31_submissions_report_mailer.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/mailers/create_daily_spool_files_mailer.rb @department-of-veterans-affairs/my-education-benefits @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -415,7 +415,7 @@ app/serializers/payment_history_serializer.rb @department-of-veterans-affairs/vf app/serializers/persistent_attachment_serializer.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/pensions @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/serializers/persistent_attachment_va_form_serializer.rb @department-of-veterans-affairs/platform-va-product-forms @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/serializers/personal_information_serializer.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -app/serializers/post911_gi_bill_status_serializer.rb @department-of-veterans-affairs/my-education-benefits @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +app/serializers/post911_gi_bill_status_serializer.rb @department-of-veterans-affairs/education-data-migration @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/serializers/ppiu_serializer.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/serializers/preferred_name_serializer.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/serializers/preneed_attachment_serializer.rb @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -507,7 +507,7 @@ app/swagger/swagger/requests/messages @department-of-veterans-affairs/vfs-mhv-se app/swagger/swagger/requests/mvi_users.rb @department-of-veterans-affairs/octo-identity app/swagger/swagger/requests/my_va/submission_statuses.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/swagger/swagger/requests/onsite_notifications.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -app/swagger/swagger/v1/requests/post911_gi_bill_statuses.rb @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/va-iir +app/swagger/swagger/v1/requests/post911_gi_bill_statuses.rb @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/education-data-migration app/swagger/swagger/requests/ppiu.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/swagger/swagger/requests/preneeds_claims.rb @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/swagger/swagger/requests/prescriptions @department-of-veterans-affairs/vfs-mhv-medications @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -1123,7 +1123,7 @@ spec/controllers/v0/virtual_agent @department-of-veterans-affairs/vfs-virtual-ag spec/controllers/v0/virtual_agent_token_msft_controller_spec.rb @department-of-veterans-affairs/vfs-virtual-agent-chatbot @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/controllers/v0/virtual_agent_token_nlu_controller_spec.rb @department-of-veterans-affairs/vfs-virtual-agent-chatbot @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/controllers/v1/gids @department-of-veterans-affairs/govcio-vfep-codereviewers @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/controllers/v1/post911_gi_bill_statuses_controller_spec.rb @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/va-iir +spec/controllers/v1/post911_gi_bill_statuses_controller_spec.rb @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/education-data-migration spec/controllers/v1/profile @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/controllers/v1/sessions_controller_spec.rb @department-of-veterans-affairs/octo-identity spec/factories/686c @department-of-veterans-affairs/benefits-dependents-management @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -1655,7 +1655,7 @@ spec/requests/v0/messaging/health/messages_spec.rb @department-of-veterans-affai spec/requests/v0/messaging/health/preferences_spec.rb @department-of-veterans-affairs/vfs-mhv-secure-messaging @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/requests/v0/mvi_users_spec.rb @department-of-veterans-affairs/octo-identity spec/requests/v0/profile/personal_information_spec.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/requests/v0/post911_gi_bill_status_spec.rb @department-of-veterans-affairs/my-education-benefits @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/requests/v1/post911_gi_bill_status_spec.rb @department-of-veterans-affairs/education-data-migration @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/requests/v0/ppiu/payment_information_spec.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/requests/preneeds @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/requests/v0/prescriptions_spec.rb @department-of-veterans-affairs/vfs-mhv-medications @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -1750,7 +1750,7 @@ spec/serializers/payment_history_serializer_spec.rb @department-of-veterans-affa spec/serializers/persistent_attachment_serializer_spec.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/pensions @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/serializers/persistent_attachment_va_form_serializer_spec.rb @department-of-veterans-affairs/platform-va-product-forms @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/serializers/personal_information_serializer_spec.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/serializers/post911_gi_bill_status_serializer_spec.rb @department-of-veterans-affairs/my-education-benefits @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/serializers/post911_gi_bill_status_serializer_spec.rb @department-of-veterans-affairs/education-data-migration @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/serializers/ppiu_serializer_spec.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/serializers/preferred_name_serializer_spec.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/serializers/preneed_attachment_serializer_spec.rb @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -1942,7 +1942,7 @@ spec/support/schemas/message_with_attachment.json @department-of-veterans-affair spec/support/schemas/my_health/prescriptions/v1 @department-of-veterans-affairs/vfs-mhv-medications @department-of-veterans-affairs/backend-review-group spec/support/schemas/payment_information.json @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/schemas/personal_information_response.json @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/support/schemas/post911_gi_bill_status.json @department-of-veterans-affairs/my-education-benefits @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/support/schemas/post911_gi_bill_status.json @department-of-veterans-affairs/education-data-migration @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/schemas/preference.json @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/schemas/preferences.json @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/schemas/preneeds @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group