diff --git a/app/controllers/api/rest/admin/accounting_profiles_controller.rb b/app/controllers/api/rest/admin/accounting_profiles_controller.rb new file mode 100644 index 000000000..90b8be0e1 --- /dev/null +++ b/app/controllers/api/rest/admin/accounting_profiles_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::AccountingProfilesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/area_prefixes_controller.rb b/app/controllers/api/rest/admin/area_prefixes_controller.rb new file mode 100644 index 000000000..841f1b359 --- /dev/null +++ b/app/controllers/api/rest/admin/area_prefixes_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::AreaPrefixesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/areas_controller.rb b/app/controllers/api/rest/admin/areas_controller.rb new file mode 100644 index 000000000..669bfcdae --- /dev/null +++ b/app/controllers/api/rest/admin/areas_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::AreasController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/auth_logs_controller.rb b/app/controllers/api/rest/admin/auth_logs_controller.rb new file mode 100644 index 000000000..13932c042 --- /dev/null +++ b/app/controllers/api/rest/admin/auth_logs_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::AuthLogsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/auth_profiles_controller.rb b/app/controllers/api/rest/admin/auth_profiles_controller.rb new file mode 100644 index 000000000..b9f73e9e9 --- /dev/null +++ b/app/controllers/api/rest/admin/auth_profiles_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::AuthProfilesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/billing/invoice_originated_destinations_controller.rb b/app/controllers/api/rest/admin/billing/invoice_originated_destinations_controller.rb deleted file mode 100644 index 55055a01a..000000000 --- a/app/controllers/api/rest/admin/billing/invoice_originated_destinations_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Billing::InvoiceOriginatedDestinationsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/billing/invoice_originated_networks_controller.rb b/app/controllers/api/rest/admin/billing/invoice_originated_networks_controller.rb deleted file mode 100644 index 642683afc..000000000 --- a/app/controllers/api/rest/admin/billing/invoice_originated_networks_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Billing::InvoiceOriginatedNetworksController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/billing/invoice_template_controller.rb b/app/controllers/api/rest/admin/billing/invoice_template_controller.rb deleted file mode 100644 index aff867538..000000000 --- a/app/controllers/api/rest/admin/billing/invoice_template_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Billing::InvoiceTemplateController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/billing/invoice_terminated_destinations_controller.rb b/app/controllers/api/rest/admin/billing/invoice_terminated_destinations_controller.rb deleted file mode 100644 index b2d6e49ac..000000000 --- a/app/controllers/api/rest/admin/billing/invoice_terminated_destinations_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Billing::InvoiceTerminatedDestinationsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/billing/invoice_terminated_networks_controller.rb b/app/controllers/api/rest/admin/billing/invoice_terminated_networks_controller.rb deleted file mode 100644 index 28e06dcac..000000000 --- a/app/controllers/api/rest/admin/billing/invoice_terminated_networks_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Billing::InvoiceTerminatedNetworksController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/billing/service_types_controller.rb b/app/controllers/api/rest/admin/billing/service_types_controller.rb deleted file mode 100644 index 8b6ba0ad9..000000000 --- a/app/controllers/api/rest/admin/billing/service_types_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Billing::ServiceTypesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/billing/services_controller.rb b/app/controllers/api/rest/admin/billing/services_controller.rb deleted file mode 100644 index 1a05ca7e6..000000000 --- a/app/controllers/api/rest/admin/billing/services_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Billing::ServicesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/billing/transactions_controller.rb b/app/controllers/api/rest/admin/billing/transactions_controller.rb deleted file mode 100644 index ed0797c56..000000000 --- a/app/controllers/api/rest/admin/billing/transactions_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Billing::TransactionsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/cdr/auth_logs_controller.rb b/app/controllers/api/rest/admin/cdr/auth_logs_controller.rb deleted file mode 100644 index bbaa58acc..000000000 --- a/app/controllers/api/rest/admin/cdr/auth_logs_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Cdr::AuthLogsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/cdr/cdr_exports_controller.rb b/app/controllers/api/rest/admin/cdr_exports_controller.rb similarity index 83% rename from app/controllers/api/rest/admin/cdr/cdr_exports_controller.rb rename to app/controllers/api/rest/admin/cdr_exports_controller.rb index c6c62e05d..2ef44e48f 100644 --- a/app/controllers/api/rest/admin/cdr/cdr_exports_controller.rb +++ b/app/controllers/api/rest/admin/cdr_exports_controller.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Cdr::CdrExportsController < Api::Rest::Admin::BaseController +class Api::Rest::Admin::CdrExportsController < Api::Rest::Admin::BaseController before_action :find_cdr_export, only: :download def download @@ -19,7 +19,7 @@ def download private def find_cdr_export - resource_klass = Api::Rest::Admin::Cdr::CdrExportResource + resource_klass = Api::Rest::Admin::CdrExportResource key = resource_klass.verify_key(params[:id], context) @cdr_export = resource_klass.find_by_key(key, context: context)._model rescue StandardError => e diff --git a/app/controllers/api/rest/admin/cdr/cdrs_controller.rb b/app/controllers/api/rest/admin/cdrs_controller.rb similarity index 81% rename from app/controllers/api/rest/admin/cdr/cdrs_controller.rb rename to app/controllers/api/rest/admin/cdrs_controller.rb index 4cbf0a0ff..54d91bcdc 100644 --- a/app/controllers/api/rest/admin/cdr/cdrs_controller.rb +++ b/app/controllers/api/rest/admin/cdrs_controller.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Cdr::CdrsController < Api::Rest::Admin::BaseController +class Api::Rest::Admin::CdrsController < Api::Rest::Admin::BaseController before_action :find_cdr, only: :recording def recording if @cdr.has_recording? @@ -17,7 +17,7 @@ def recording private def find_cdr - resource_klass = Api::Rest::Admin::Cdr::CdrResource + resource_klass = Api::Rest::Admin::CdrResource key = resource_klass.verify_key(params[:id], context) @cdr = resource_klass.find_by_key(key, context: context)._model rescue StandardError => e diff --git a/app/controllers/api/rest/admin/countries_controller.rb b/app/controllers/api/rest/admin/countries_controller.rb new file mode 100644 index 000000000..bcb1974e5 --- /dev/null +++ b/app/controllers/api/rest/admin/countries_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::CountriesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/destination_next_rates_controller.rb b/app/controllers/api/rest/admin/destination_next_rates_controller.rb new file mode 100644 index 000000000..52cf84c9f --- /dev/null +++ b/app/controllers/api/rest/admin/destination_next_rates_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::DestinationNextRatesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/destinations_controller.rb b/app/controllers/api/rest/admin/destinations_controller.rb new file mode 100644 index 000000000..19bc9bb99 --- /dev/null +++ b/app/controllers/api/rest/admin/destinations_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::DestinationsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/dtmf_receive_modes_controller.rb b/app/controllers/api/rest/admin/dtmf_receive_modes_controller.rb new file mode 100644 index 000000000..885500d16 --- /dev/null +++ b/app/controllers/api/rest/admin/dtmf_receive_modes_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::DtmfReceiveModesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/dtmf_send_modes_controller.rb b/app/controllers/api/rest/admin/dtmf_send_modes_controller.rb new file mode 100644 index 000000000..faf3ab734 --- /dev/null +++ b/app/controllers/api/rest/admin/dtmf_send_modes_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::DtmfSendModesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/equipment/gateway_diversion_send_modes_controller.rb b/app/controllers/api/rest/admin/equipment/gateway_diversion_send_modes_controller.rb deleted file mode 100644 index e32306146..000000000 --- a/app/controllers/api/rest/admin/equipment/gateway_diversion_send_modes_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Equipment::GatewayDiversionSendModesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/equipment/gateway_inband_dtmf_filtering_modes_controller.rb b/app/controllers/api/rest/admin/equipment/gateway_inband_dtmf_filtering_modes_controller.rb deleted file mode 100644 index 9c11de0fa..000000000 --- a/app/controllers/api/rest/admin/equipment/gateway_inband_dtmf_filtering_modes_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Equipment::GatewayInbandDtmfFilteringModesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/equipment/gateway_media_encryption_modes_controller.rb b/app/controllers/api/rest/admin/equipment/gateway_media_encryption_modes_controller.rb deleted file mode 100644 index 598aaf9d3..000000000 --- a/app/controllers/api/rest/admin/equipment/gateway_media_encryption_modes_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Equipment::GatewayMediaEncryptionModesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/equipment/gateway_network_protocol_priorities_controller.rb b/app/controllers/api/rest/admin/equipment/gateway_network_protocol_priorities_controller.rb deleted file mode 100644 index 9d8a5ad7c..000000000 --- a/app/controllers/api/rest/admin/equipment/gateway_network_protocol_priorities_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Equipment::GatewayNetworkProtocolPrioritiesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/equipment/radius/accounting_profiles_controller.rb b/app/controllers/api/rest/admin/equipment/radius/accounting_profiles_controller.rb deleted file mode 100644 index 75198c0a7..000000000 --- a/app/controllers/api/rest/admin/equipment/radius/accounting_profiles_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Equipment::Radius::AccountingProfilesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/equipment/sip_options_probers_controller.rb b/app/controllers/api/rest/admin/equipment/sip_options_probers_controller.rb deleted file mode 100644 index 6c0993d6a..000000000 --- a/app/controllers/api/rest/admin/equipment/sip_options_probers_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Equipment::SipOptionsProbersController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/gateway_diversion_send_modes_controller.rb b/app/controllers/api/rest/admin/gateway_diversion_send_modes_controller.rb new file mode 100644 index 000000000..e3b0d2d3b --- /dev/null +++ b/app/controllers/api/rest/admin/gateway_diversion_send_modes_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::GatewayDiversionSendModesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/equipment/radius/auth_profiles_controller.rb b/app/controllers/api/rest/admin/gateway_inband_dtmf_filtering_modes_controller.rb similarity index 52% rename from app/controllers/api/rest/admin/equipment/radius/auth_profiles_controller.rb rename to app/controllers/api/rest/admin/gateway_inband_dtmf_filtering_modes_controller.rb index cf148a264..53f06f338 100644 --- a/app/controllers/api/rest/admin/equipment/radius/auth_profiles_controller.rb +++ b/app/controllers/api/rest/admin/gateway_inband_dtmf_filtering_modes_controller.rb @@ -1,4 +1,4 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::Radius::AuthProfilesController < Api::Rest::Admin::BaseController +class Api::Rest::Admin::GatewayInbandDtmfFilteringModesController < Api::Rest::Admin::BaseController end diff --git a/app/controllers/api/rest/admin/billing/invoice_service_data_controller.rb b/app/controllers/api/rest/admin/gateway_media_encryption_modes_controller.rb similarity index 51% rename from app/controllers/api/rest/admin/billing/invoice_service_data_controller.rb rename to app/controllers/api/rest/admin/gateway_media_encryption_modes_controller.rb index 5fb8eba06..33574aca5 100644 --- a/app/controllers/api/rest/admin/billing/invoice_service_data_controller.rb +++ b/app/controllers/api/rest/admin/gateway_media_encryption_modes_controller.rb @@ -1,4 +1,4 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::InvoiceServiceDataController < Api::Rest::Admin::BaseController +class Api::Rest::Admin::GatewayMediaEncryptionModesController < Api::Rest::Admin::BaseController end diff --git a/app/controllers/api/rest/admin/gateway_network_protocol_priorities_controller.rb b/app/controllers/api/rest/admin/gateway_network_protocol_priorities_controller.rb new file mode 100644 index 000000000..d69541339 --- /dev/null +++ b/app/controllers/api/rest/admin/gateway_network_protocol_priorities_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::GatewayNetworkProtocolPrioritiesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/gateway_rel100_modes_controller.rb b/app/controllers/api/rest/admin/gateway_rel100_modes_controller.rb new file mode 100644 index 000000000..02476350f --- /dev/null +++ b/app/controllers/api/rest/admin/gateway_rel100_modes_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::GatewayRel100ModesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/equipment/gateway_rel100_modes_controller.rb b/app/controllers/api/rest/admin/invoice_originated_destinations_controller.rb similarity index 52% rename from app/controllers/api/rest/admin/equipment/gateway_rel100_modes_controller.rb rename to app/controllers/api/rest/admin/invoice_originated_destinations_controller.rb index 706035547..c17762698 100644 --- a/app/controllers/api/rest/admin/equipment/gateway_rel100_modes_controller.rb +++ b/app/controllers/api/rest/admin/invoice_originated_destinations_controller.rb @@ -1,4 +1,4 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::GatewayRel100ModesController < Api::Rest::Admin::BaseController +class Api::Rest::Admin::InvoiceOriginatedDestinationsController < Api::Rest::Admin::BaseController end diff --git a/app/controllers/api/rest/admin/invoice_originated_networks_controller.rb b/app/controllers/api/rest/admin/invoice_originated_networks_controller.rb new file mode 100644 index 000000000..7b4888d48 --- /dev/null +++ b/app/controllers/api/rest/admin/invoice_originated_networks_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::InvoiceOriginatedNetworksController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/invoice_service_data_controller.rb b/app/controllers/api/rest/admin/invoice_service_data_controller.rb new file mode 100644 index 000000000..16e1f89a7 --- /dev/null +++ b/app/controllers/api/rest/admin/invoice_service_data_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::InvoiceServiceDataController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/invoice_template_controller.rb b/app/controllers/api/rest/admin/invoice_template_controller.rb new file mode 100644 index 000000000..b152d40a9 --- /dev/null +++ b/app/controllers/api/rest/admin/invoice_template_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::InvoiceTemplateController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/equipment/transport_protocols_controller.rb b/app/controllers/api/rest/admin/invoice_terminated_destinations_controller.rb similarity index 52% rename from app/controllers/api/rest/admin/equipment/transport_protocols_controller.rb rename to app/controllers/api/rest/admin/invoice_terminated_destinations_controller.rb index bd1358ba4..44f84138d 100644 --- a/app/controllers/api/rest/admin/equipment/transport_protocols_controller.rb +++ b/app/controllers/api/rest/admin/invoice_terminated_destinations_controller.rb @@ -1,4 +1,4 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::TransportProtocolsController < Api::Rest::Admin::BaseController +class Api::Rest::Admin::InvoiceTerminatedDestinationsController < Api::Rest::Admin::BaseController end diff --git a/app/controllers/api/rest/admin/invoice_terminated_networks_controller.rb b/app/controllers/api/rest/admin/invoice_terminated_networks_controller.rb new file mode 100644 index 000000000..777ad2f17 --- /dev/null +++ b/app/controllers/api/rest/admin/invoice_terminated_networks_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::InvoiceTerminatedNetworksController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/billing/invoices_controller.rb b/app/controllers/api/rest/admin/invoices_controller.rb similarity index 83% rename from app/controllers/api/rest/admin/billing/invoices_controller.rb rename to app/controllers/api/rest/admin/invoices_controller.rb index c1632dfa1..c3081ba68 100644 --- a/app/controllers/api/rest/admin/billing/invoices_controller.rb +++ b/app/controllers/api/rest/admin/invoices_controller.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::InvoicesController < Api::Rest::Admin::BaseController +class Api::Rest::Admin::InvoicesController < Api::Rest::Admin::BaseController def pdf doc = ::Billing::InvoiceDocument.find_by(invoice_id: params[:id]) return head 404 if doc.nil? || doc.pdf_data.blank? diff --git a/app/controllers/api/rest/admin/network_types_controller.rb b/app/controllers/api/rest/admin/network_types_controller.rb new file mode 100644 index 000000000..95853cdd4 --- /dev/null +++ b/app/controllers/api/rest/admin/network_types_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::NetworkTypesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/networks_controller.rb b/app/controllers/api/rest/admin/networks_controller.rb new file mode 100644 index 000000000..f4a8b68e0 --- /dev/null +++ b/app/controllers/api/rest/admin/networks_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::NetworksController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/numberlist_items_controller.rb b/app/controllers/api/rest/admin/numberlist_items_controller.rb new file mode 100644 index 000000000..19973be08 --- /dev/null +++ b/app/controllers/api/rest/admin/numberlist_items_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::NumberlistItemsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/numberlists_controller.rb b/app/controllers/api/rest/admin/numberlists_controller.rb new file mode 100644 index 000000000..f64f1697e --- /dev/null +++ b/app/controllers/api/rest/admin/numberlists_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::NumberlistsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/rate_groups_controller.rb b/app/controllers/api/rest/admin/rate_groups_controller.rb new file mode 100644 index 000000000..92bf654f6 --- /dev/null +++ b/app/controllers/api/rest/admin/rate_groups_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::RateGroupsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/rateplans_controller.rb b/app/controllers/api/rest/admin/rateplans_controller.rb new file mode 100644 index 000000000..e2a3c1005 --- /dev/null +++ b/app/controllers/api/rest/admin/rateplans_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::RateplansController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/registrations_controller.rb b/app/controllers/api/rest/admin/registrations_controller.rb new file mode 100644 index 000000000..e150bffe8 --- /dev/null +++ b/app/controllers/api/rest/admin/registrations_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::RegistrationsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/routeset_discriminators_controller.rb b/app/controllers/api/rest/admin/routeset_discriminators_controller.rb new file mode 100644 index 000000000..772143663 --- /dev/null +++ b/app/controllers/api/rest/admin/routeset_discriminators_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::RoutesetDiscriminatorsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/routing/area_prefixes_controller.rb b/app/controllers/api/rest/admin/routing/area_prefixes_controller.rb deleted file mode 100644 index bfdfd5dc2..000000000 --- a/app/controllers/api/rest/admin/routing/area_prefixes_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::AreaPrefixesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/areas_controller.rb b/app/controllers/api/rest/admin/routing/areas_controller.rb deleted file mode 100644 index 95af95fa2..000000000 --- a/app/controllers/api/rest/admin/routing/areas_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::AreasController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/destination_next_rates_controller.rb b/app/controllers/api/rest/admin/routing/destination_next_rates_controller.rb deleted file mode 100644 index afb7adc4a..000000000 --- a/app/controllers/api/rest/admin/routing/destination_next_rates_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::DestinationNextRatesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/destinations_controller.rb b/app/controllers/api/rest/admin/routing/destinations_controller.rb deleted file mode 100644 index 89957aa42..000000000 --- a/app/controllers/api/rest/admin/routing/destinations_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::DestinationsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/numberlist_items_controller.rb b/app/controllers/api/rest/admin/routing/numberlist_items_controller.rb deleted file mode 100644 index c62283033..000000000 --- a/app/controllers/api/rest/admin/routing/numberlist_items_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::NumberlistItemsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/numberlists_controller.rb b/app/controllers/api/rest/admin/routing/numberlists_controller.rb deleted file mode 100644 index 8043bd403..000000000 --- a/app/controllers/api/rest/admin/routing/numberlists_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::NumberlistsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/rate_groups_controller.rb b/app/controllers/api/rest/admin/routing/rate_groups_controller.rb deleted file mode 100644 index cc3f177df..000000000 --- a/app/controllers/api/rest/admin/routing/rate_groups_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::RateGroupsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/rateplans_controller.rb b/app/controllers/api/rest/admin/routing/rateplans_controller.rb deleted file mode 100644 index bc2031aab..000000000 --- a/app/controllers/api/rest/admin/routing/rateplans_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::RateplansController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/routeset_discriminators_controller.rb b/app/controllers/api/rest/admin/routing/routeset_discriminators_controller.rb deleted file mode 100644 index 593b1ee5f..000000000 --- a/app/controllers/api/rest/admin/routing/routeset_discriminators_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::RoutesetDiscriminatorsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/routing_groups_controller.rb b/app/controllers/api/rest/admin/routing/routing_groups_controller.rb deleted file mode 100644 index 74d9f77dc..000000000 --- a/app/controllers/api/rest/admin/routing/routing_groups_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::RoutingGroupsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/routing_tag_detection_rules_controller.rb b/app/controllers/api/rest/admin/routing/routing_tag_detection_rules_controller.rb deleted file mode 100644 index 8c35d2bc5..000000000 --- a/app/controllers/api/rest/admin/routing/routing_tag_detection_rules_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::RoutingTagDetectionRulesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/routing_tag_modes_controller.rb b/app/controllers/api/rest/admin/routing/routing_tag_modes_controller.rb deleted file mode 100644 index 2aae284ca..000000000 --- a/app/controllers/api/rest/admin/routing/routing_tag_modes_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::RoutingTagModesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/routing_tags_controller.rb b/app/controllers/api/rest/admin/routing/routing_tags_controller.rb deleted file mode 100644 index 0151aeaa5..000000000 --- a/app/controllers/api/rest/admin/routing/routing_tags_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::RoutingTagsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing/tag_actions_controller.rb b/app/controllers/api/rest/admin/routing/tag_actions_controller.rb deleted file mode 100644 index 7c626f831..000000000 --- a/app/controllers/api/rest/admin/routing/tag_actions_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::Routing::TagActionsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/routing_groups_controller.rb b/app/controllers/api/rest/admin/routing_groups_controller.rb new file mode 100644 index 000000000..60ff7fa77 --- /dev/null +++ b/app/controllers/api/rest/admin/routing_groups_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::RoutingGroupsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/equipment/registrations_controller.rb b/app/controllers/api/rest/admin/routing_tag_detection_rules_controller.rb similarity index 50% rename from app/controllers/api/rest/admin/equipment/registrations_controller.rb rename to app/controllers/api/rest/admin/routing_tag_detection_rules_controller.rb index ad6b2bc85..729ffc795 100644 --- a/app/controllers/api/rest/admin/equipment/registrations_controller.rb +++ b/app/controllers/api/rest/admin/routing_tag_detection_rules_controller.rb @@ -1,4 +1,4 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::RegistrationsController < Api::Rest::Admin::BaseController +class Api::Rest::Admin::RoutingTagDetectionRulesController < Api::Rest::Admin::BaseController end diff --git a/app/controllers/api/rest/admin/routing_tag_modes_controller.rb b/app/controllers/api/rest/admin/routing_tag_modes_controller.rb new file mode 100644 index 000000000..cad9e1657 --- /dev/null +++ b/app/controllers/api/rest/admin/routing_tag_modes_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::RoutingTagModesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/routing_tags_controller.rb b/app/controllers/api/rest/admin/routing_tags_controller.rb new file mode 100644 index 000000000..3ab6295a4 --- /dev/null +++ b/app/controllers/api/rest/admin/routing_tags_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::RoutingTagsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/sensor_levels_controller.rb b/app/controllers/api/rest/admin/sensor_levels_controller.rb new file mode 100644 index 000000000..5489d1887 --- /dev/null +++ b/app/controllers/api/rest/admin/sensor_levels_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::SensorLevelsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/sensors_controller.rb b/app/controllers/api/rest/admin/sensors_controller.rb new file mode 100644 index 000000000..2e5af7d75 --- /dev/null +++ b/app/controllers/api/rest/admin/sensors_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::SensorsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/service_types_controller.rb b/app/controllers/api/rest/admin/service_types_controller.rb new file mode 100644 index 000000000..9781a5e06 --- /dev/null +++ b/app/controllers/api/rest/admin/service_types_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::ServiceTypesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/services_controller.rb b/app/controllers/api/rest/admin/services_controller.rb new file mode 100644 index 000000000..234c275fa --- /dev/null +++ b/app/controllers/api/rest/admin/services_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::ServicesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/sip_options_probers_controller.rb b/app/controllers/api/rest/admin/sip_options_probers_controller.rb new file mode 100644 index 000000000..7d1f86fb2 --- /dev/null +++ b/app/controllers/api/rest/admin/sip_options_probers_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::SipOptionsProbersController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/smtp_connections_controller.rb b/app/controllers/api/rest/admin/smtp_connections_controller.rb new file mode 100644 index 000000000..50782001c --- /dev/null +++ b/app/controllers/api/rest/admin/smtp_connections_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::SmtpConnectionsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/system/countries_controller.rb b/app/controllers/api/rest/admin/system/countries_controller.rb deleted file mode 100644 index eecc2016f..000000000 --- a/app/controllers/api/rest/admin/system/countries_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::System::CountriesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/system/dtmf_receive_modes_controller.rb b/app/controllers/api/rest/admin/system/dtmf_receive_modes_controller.rb deleted file mode 100644 index 08ba6c580..000000000 --- a/app/controllers/api/rest/admin/system/dtmf_receive_modes_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::System::DtmfReceiveModesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/system/dtmf_send_modes_controller.rb b/app/controllers/api/rest/admin/system/dtmf_send_modes_controller.rb deleted file mode 100644 index 37b92940d..000000000 --- a/app/controllers/api/rest/admin/system/dtmf_send_modes_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::System::DtmfSendModesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/system/network_types_controller.rb b/app/controllers/api/rest/admin/system/network_types_controller.rb deleted file mode 100644 index a17a4312b..000000000 --- a/app/controllers/api/rest/admin/system/network_types_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::System::NetworkTypesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/system/networks_controller.rb b/app/controllers/api/rest/admin/system/networks_controller.rb deleted file mode 100644 index fed74925f..000000000 --- a/app/controllers/api/rest/admin/system/networks_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::System::NetworksController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/system/sensor_levels_controller.rb b/app/controllers/api/rest/admin/system/sensor_levels_controller.rb deleted file mode 100644 index 2284be27c..000000000 --- a/app/controllers/api/rest/admin/system/sensor_levels_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::System::SensorLevelsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/system/sensors_controller.rb b/app/controllers/api/rest/admin/system/sensors_controller.rb deleted file mode 100644 index 1a3ae06e4..000000000 --- a/app/controllers/api/rest/admin/system/sensors_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::System::SensorsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/system/smtp_connections_controller.rb b/app/controllers/api/rest/admin/system/smtp_connections_controller.rb deleted file mode 100644 index 8fe0004b4..000000000 --- a/app/controllers/api/rest/admin/system/smtp_connections_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::System::SmtpConnectionsController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/system/timezones_controller.rb b/app/controllers/api/rest/admin/system/timezones_controller.rb deleted file mode 100644 index fbd5032b2..000000000 --- a/app/controllers/api/rest/admin/system/timezones_controller.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -class Api::Rest::Admin::System::TimezonesController < Api::Rest::Admin::BaseController -end diff --git a/app/controllers/api/rest/admin/tag_actions_controller.rb b/app/controllers/api/rest/admin/tag_actions_controller.rb new file mode 100644 index 000000000..14385b47f --- /dev/null +++ b/app/controllers/api/rest/admin/tag_actions_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::TagActionsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/timezones_controller.rb b/app/controllers/api/rest/admin/timezones_controller.rb new file mode 100644 index 000000000..00c89a8a0 --- /dev/null +++ b/app/controllers/api/rest/admin/timezones_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::TimezonesController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/transactions_controller.rb b/app/controllers/api/rest/admin/transactions_controller.rb new file mode 100644 index 000000000..81c5c80f8 --- /dev/null +++ b/app/controllers/api/rest/admin/transactions_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::TransactionsController < Api::Rest::Admin::BaseController +end diff --git a/app/controllers/api/rest/admin/transport_protocols_controller.rb b/app/controllers/api/rest/admin/transport_protocols_controller.rb new file mode 100644 index 000000000..bc2307a09 --- /dev/null +++ b/app/controllers/api/rest/admin/transport_protocols_controller.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class Api::Rest::Admin::TransportProtocolsController < Api::Rest::Admin::BaseController +end diff --git a/app/forms/batch_update_form/base.rb b/app/forms/batch_update_form/base.rb index cd7a36254..36bdbd984 100644 --- a/app/forms/batch_update_form/base.rb +++ b/app/forms/batch_update_form/base.rb @@ -26,7 +26,7 @@ class BatchUpdateForm::Base # end # end # - # # app/admin/billing/contacts.rb + # # app/admin/contacts.rb # ActiveAdmin.register Billing::Contact do # acts_as_async_update BatchUpdateForm::Contact # # ... diff --git a/app/resources/api/rest/admin/account_resource.rb b/app/resources/api/rest/admin/account_resource.rb index 7b6b2cda8..d10c8ec55 100644 --- a/app/resources/api/rest/admin/account_resource.rb +++ b/app/resources/api/rest/admin/account_resource.rb @@ -13,8 +13,8 @@ class Api::Rest::Admin::AccountResource < BaseResource :send_invoices_to, :invoice_period has_one :contractor, always_include_linkage_data: true - has_one :timezone, class_name: 'System::Timezone', always_include_linkage_data: true - has_one :invoice_template, class_name: 'Billing::InvoiceTemplate', always_include_linkage_data: true + has_one :timezone, class_name: 'Timezone', always_include_linkage_data: true + has_one :invoice_template, class_name: 'InvoiceTemplate', always_include_linkage_data: true filter :name diff --git a/app/resources/api/rest/admin/equipment/radius/accounting_profile_resource.rb b/app/resources/api/rest/admin/accounting_profile_resource.rb similarity index 78% rename from app/resources/api/rest/admin/equipment/radius/accounting_profile_resource.rb rename to app/resources/api/rest/admin/accounting_profile_resource.rb index b34119daa..21208b35f 100644 --- a/app/resources/api/rest/admin/equipment/radius/accounting_profile_resource.rb +++ b/app/resources/api/rest/admin/accounting_profile_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::Radius::AccountingProfileResource < ::BaseResource +class Api::Rest::Admin::AccountingProfileResource < ::BaseResource model_name 'Equipment::Radius::AccountingProfile' attributes :name, :server, :port, :secret, :timeout, :attempts, :enable_start_accounting, diff --git a/app/resources/api/rest/admin/active_call_resource.rb b/app/resources/api/rest/admin/active_call_resource.rb index 911fa35a2..0e8c674c8 100644 --- a/app/resources/api/rest/admin/active_call_resource.rb +++ b/app/resources/api/rest/admin/active_call_resource.rb @@ -61,12 +61,12 @@ class Api::Rest::Admin::ActiveCallResource < ::BaseResource has_one :customer_acc, class_name: 'Account' has_one :vendor_acc, class_name: 'Account' has_one :customer_auth, class_name: 'CustomersAuth' - has_one :destination, class_name: 'Routing::Destination' + has_one :destination, class_name: 'Destination' has_one :dialpeer, class_name: 'Dialpeer' has_one :orig_gw, class_name: 'Gateway' has_one :term_gw, class_name: 'Gateway' - has_one :routing_group, class_name: 'Routing::RoutingGroup' - has_one :rateplan, class_name: 'Routing::Rateplan' + has_one :routing_group, class_name: 'RoutingGroup' + has_one :rateplan, class_name: 'Rateplan' has_one :node, class_name: 'Node', foreign_key: :node_id filter :node_id_eq diff --git a/app/resources/api/rest/admin/routing/area_prefix_resource.rb b/app/resources/api/rest/admin/area_prefix_resource.rb similarity index 73% rename from app/resources/api/rest/admin/routing/area_prefix_resource.rb rename to app/resources/api/rest/admin/area_prefix_resource.rb index fafe4dd77..4ba1f5155 100644 --- a/app/resources/api/rest/admin/routing/area_prefix_resource.rb +++ b/app/resources/api/rest/admin/area_prefix_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::AreaPrefixResource < ::BaseResource +class Api::Rest::Admin::AreaPrefixResource < ::BaseResource model_name 'Routing::AreaPrefix' attributes :prefix diff --git a/app/resources/api/rest/admin/routing/area_resource.rb b/app/resources/api/rest/admin/area_resource.rb similarity index 69% rename from app/resources/api/rest/admin/routing/area_resource.rb rename to app/resources/api/rest/admin/area_resource.rb index d652516f9..ed4761c62 100644 --- a/app/resources/api/rest/admin/routing/area_resource.rb +++ b/app/resources/api/rest/admin/area_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::AreaResource < ::BaseResource +class Api::Rest::Admin::AreaResource < ::BaseResource model_name 'Routing::Area' attributes :name diff --git a/app/resources/api/rest/admin/cdr/auth_log_resource.rb b/app/resources/api/rest/admin/auth_log_resource.rb similarity index 89% rename from app/resources/api/rest/admin/cdr/auth_log_resource.rb rename to app/resources/api/rest/admin/auth_log_resource.rb index 535c8809d..7571fd3da 100644 --- a/app/resources/api/rest/admin/cdr/auth_log_resource.rb +++ b/app/resources/api/rest/admin/auth_log_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Cdr::AuthLogResource < BaseResource +class Api::Rest::Admin::AuthLogResource < BaseResource immutable model_name 'Cdr::AuthLog' paginator :paged @@ -80,14 +80,4 @@ def self.default_sort ransack_filter :privacy, type: :string ransack_filter :rpid, type: :string ransack_filter :rpid_privacy, type: :string - - def self.resource_for(type) - if type.in?(CONST::ROOT_NAMESPACE_RELATIONS) - "Api::Rest::Admin::#{type}Resource".safe_constantize - elsif type.in?(CONST::EQUIPMENT_NAMESPACE_RELATIONS) - "Api::Rest::Admin::Equipment::#{type}Resource".safe_constantize - else - super - end - end end diff --git a/app/resources/api/rest/admin/equipment/radius/auth_profile_resource.rb b/app/resources/api/rest/admin/auth_profile_resource.rb similarity index 71% rename from app/resources/api/rest/admin/equipment/radius/auth_profile_resource.rb rename to app/resources/api/rest/admin/auth_profile_resource.rb index 88a0565d6..f684b0957 100644 --- a/app/resources/api/rest/admin/equipment/radius/auth_profile_resource.rb +++ b/app/resources/api/rest/admin/auth_profile_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::Radius::AuthProfileResource < ::BaseResource +class Api::Rest::Admin::AuthProfileResource < ::BaseResource model_name 'Equipment::Radius::AuthProfile' attributes :name, :server, :port, :secret, :reject_on_error, :timeout, :attempts diff --git a/app/resources/api/rest/admin/cdr/cdr_export_resource.rb b/app/resources/api/rest/admin/cdr_export_resource.rb similarity index 95% rename from app/resources/api/rest/admin/cdr/cdr_export_resource.rb rename to app/resources/api/rest/admin/cdr_export_resource.rb index 555297ed4..0f920367d 100644 --- a/app/resources/api/rest/admin/cdr/cdr_export_resource.rb +++ b/app/resources/api/rest/admin/cdr_export_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Cdr::CdrExportResource < BaseResource +class Api::Rest::Admin::CdrExportResource < BaseResource model_name 'CdrExport' model_hint model: CdrExport::Base, resource: self paginator :paged diff --git a/app/resources/api/rest/admin/cdr/cdr_resource.rb b/app/resources/api/rest/admin/cdr_resource.rb similarity index 96% rename from app/resources/api/rest/admin/cdr/cdr_resource.rb rename to app/resources/api/rest/admin/cdr_resource.rb index a44787eb6..5df2bfdb9 100644 --- a/app/resources/api/rest/admin/cdr/cdr_resource.rb +++ b/app/resources/api/rest/admin/cdr_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Cdr::CdrResource < BaseResource +class Api::Rest::Admin::CdrResource < BaseResource model_name 'Cdr::Cdr' paginator :paged @@ -355,17 +355,4 @@ def self.updatable_fields(_context) ransack_filter :vendor_duration, type: :number ransack_filter :destination_rate_policy_id, type: :number ransack_filter :audio_recorded, type: :boolean - - # add supporting associations from non cdr namespaces - def self.resource_for(type) - if type.in?(CONST::ROOT_NAMESPACE_RELATIONS) - "Api::Rest::Admin::#{type}Resource".safe_constantize - elsif type.in?(CONST::SYSTEM_NAMESPACE_RELATIONS) - "Api::Rest::Admin::System::#{type}Resource".safe_constantize - elsif type.in?(CONST::ROUTING_NAMESPACE_RELATIONS) - "Api::Rest::Admin::Routing::#{type}Resource".safe_constantize - else - super - end - end end diff --git a/app/resources/api/rest/admin/contractor_resource.rb b/app/resources/api/rest/admin/contractor_resource.rb index d9cc5ea74..945b8cbd7 100644 --- a/app/resources/api/rest/admin/contractor_resource.rb +++ b/app/resources/api/rest/admin/contractor_resource.rb @@ -5,7 +5,7 @@ class Api::Rest::Admin::ContractorResource < BaseResource paginator :paged - has_one :smtp_connection, class_name: 'System::SmtpConnection', always_include_linkage_data: true + has_one :smtp_connection, class_name: 'SmtpConnection', always_include_linkage_data: true filter :name diff --git a/app/resources/api/rest/admin/system/country_resource.rb b/app/resources/api/rest/admin/country_resource.rb similarity index 68% rename from app/resources/api/rest/admin/system/country_resource.rb rename to app/resources/api/rest/admin/country_resource.rb index d880c1855..e5cfe936d 100644 --- a/app/resources/api/rest/admin/system/country_resource.rb +++ b/app/resources/api/rest/admin/country_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::System::CountryResource < ::BaseResource +class Api::Rest::Admin::CountryResource < ::BaseResource model_name 'System::Country' attributes :name, :iso2 paginator :paged diff --git a/app/resources/api/rest/admin/customers_auth_resource.rb b/app/resources/api/rest/admin/customers_auth_resource.rb index 595e11a73..2ce793e0f 100644 --- a/app/resources/api/rest/admin/customers_auth_resource.rb +++ b/app/resources/api/rest/admin/customers_auth_resource.rb @@ -14,18 +14,18 @@ class Api::Rest::Admin::CustomersAuthResource < BaseResource paginator :paged has_one :customer, always_include_linkage_data: true - has_one :rateplan, class_name: 'Routing::Rateplan', always_include_linkage_data: true + has_one :rateplan, class_name: 'Rateplan', always_include_linkage_data: true has_one :routing_plan, class_name: 'RoutingPlan', always_include_linkage_data: true has_one :gateway, always_include_linkage_data: true has_one :account, always_include_linkage_data: true has_one :diversion_policy, always_include_linkage_data: true has_one :pop, always_include_linkage_data: true - has_one :dst_numberlist, class_name: 'Routing::Numberlist', always_include_linkage_data: true - has_one :src_numberlist, class_name: 'Routing::Numberlist', always_include_linkage_data: true - has_one :tag_action, class_name: 'Routing::TagAction', always_include_linkage_data: true - has_one :radius_auth_profile, class_name: 'Equipment::Radius::AuthProfile', always_include_linkage_data: true - has_one :radius_accounting_profile, class_name: 'Equipment::Radius::AccountingProfile', always_include_linkage_data: true - has_one :transport_protocol, class_name: 'Equipment::TransportProtocol', always_include_linkage_data: true + has_one :dst_numberlist, class_name: 'Numberlist', always_include_linkage_data: true + has_one :src_numberlist, class_name: 'Numberlist', always_include_linkage_data: true + has_one :tag_action, class_name: 'TagAction', always_include_linkage_data: true + has_one :radius_auth_profile, class_name: 'AuthProfile', always_include_linkage_data: true + has_one :radius_accounting_profile, class_name: 'AccountingProfile', always_include_linkage_data: true + has_one :transport_protocol, class_name: 'TransportProtocol', always_include_linkage_data: true filter :name diff --git a/app/resources/api/rest/admin/routing/destination_next_rate_resource.rb b/app/resources/api/rest/admin/destination_next_rate_resource.rb similarity index 92% rename from app/resources/api/rest/admin/routing/destination_next_rate_resource.rb rename to app/resources/api/rest/admin/destination_next_rate_resource.rb index 1a54a426c..2ff4203b6 100644 --- a/app/resources/api/rest/admin/routing/destination_next_rate_resource.rb +++ b/app/resources/api/rest/admin/destination_next_rate_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::DestinationNextRateResource < ::BaseResource +class Api::Rest::Admin::DestinationNextRateResource < ::BaseResource model_name 'Routing::DestinationNextRate' attributes :next_rate, :initial_rate, :initial_interval, :next_interval, :connect_fee, :apply_time, :applied, :external_id diff --git a/app/resources/api/rest/admin/routing/destination_resource.rb b/app/resources/api/rest/admin/destination_resource.rb similarity index 93% rename from app/resources/api/rest/admin/routing/destination_resource.rb rename to app/resources/api/rest/admin/destination_resource.rb index 62781daa8..98281b2a9 100644 --- a/app/resources/api/rest/admin/routing/destination_resource.rb +++ b/app/resources/api/rest/admin/destination_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::DestinationResource < ::BaseResource +class Api::Rest::Admin::DestinationResource < ::BaseResource model_name 'Routing::Destination' module CONST @@ -92,14 +92,6 @@ def self.sortable_fields(_context = nil) super + %i[country.name network.name] end - def self.resource_for(type) - if type.in?(CONST::SYSTEM_NAMESPACE_RELATIONS) - "Api::Rest::Admin::System::#{type}Resource".safe_constantize - else - super - end - end - # related to issue https://github.com/cerebris/jsonapi-resources/issues/1409 def self.sort_records(records, order_options, context = {}) local_records = records diff --git a/app/resources/api/rest/admin/dialpeer_resource.rb b/app/resources/api/rest/admin/dialpeer_resource.rb index 57b86f4c1..ea40fe8a8 100644 --- a/app/resources/api/rest/admin/dialpeer_resource.rb +++ b/app/resources/api/rest/admin/dialpeer_resource.rb @@ -12,11 +12,11 @@ class Api::Rest::Admin::DialpeerResource < BaseResource has_one :gateway, always_include_linkage_data: true has_one :gateway_group, always_include_linkage_data: true - has_one :routing_group, class_name: 'Routing::RoutingGroup', always_include_linkage_data: true + has_one :routing_group, class_name: 'RoutingGroup', always_include_linkage_data: true has_one :vendor, class_name: 'Contractor', always_include_linkage_data: true has_one :account, always_include_linkage_data: true - has_one :routing_tag_mode, class_name: 'Routing::RoutingTagMode', always_include_linkage_data: true - has_one :routeset_discriminator, class_name: 'Routing::RoutesetDiscriminator', always_include_linkage_data: true + has_one :routing_tag_mode, class_name: 'RoutingTagMode', always_include_linkage_data: true + has_one :routeset_discriminator, class_name: 'RoutesetDiscriminator', always_include_linkage_data: true has_many :dialpeer_next_rates diff --git a/app/resources/api/rest/admin/system/dtmf_receive_mode_resource.rb b/app/resources/api/rest/admin/dtmf_receive_mode_resource.rb similarity index 65% rename from app/resources/api/rest/admin/system/dtmf_receive_mode_resource.rb rename to app/resources/api/rest/admin/dtmf_receive_mode_resource.rb index a16a1042f..4031602ee 100644 --- a/app/resources/api/rest/admin/system/dtmf_receive_mode_resource.rb +++ b/app/resources/api/rest/admin/dtmf_receive_mode_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::System::DtmfReceiveModeResource < ::BaseResource +class Api::Rest::Admin::DtmfReceiveModeResource < ::BaseResource model_name 'System::DtmfReceiveMode' immutable attributes :name diff --git a/app/resources/api/rest/admin/system/dtmf_send_mode_resource.rb b/app/resources/api/rest/admin/dtmf_send_mode_resource.rb similarity index 66% rename from app/resources/api/rest/admin/system/dtmf_send_mode_resource.rb rename to app/resources/api/rest/admin/dtmf_send_mode_resource.rb index f46e057fa..bf8cd00d4 100644 --- a/app/resources/api/rest/admin/system/dtmf_send_mode_resource.rb +++ b/app/resources/api/rest/admin/dtmf_send_mode_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::System::DtmfSendModeResource < ::BaseResource +class Api::Rest::Admin::DtmfSendModeResource < ::BaseResource model_name 'System::DtmfSendMode' immutable attributes :name diff --git a/app/resources/api/rest/admin/equipment/gateway_diversion_send_mode_resource.rb b/app/resources/api/rest/admin/gateway_diversion_send_mode_resource.rb similarity index 63% rename from app/resources/api/rest/admin/equipment/gateway_diversion_send_mode_resource.rb rename to app/resources/api/rest/admin/gateway_diversion_send_mode_resource.rb index 9a4e71174..358d87f85 100644 --- a/app/resources/api/rest/admin/equipment/gateway_diversion_send_mode_resource.rb +++ b/app/resources/api/rest/admin/gateway_diversion_send_mode_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::GatewayDiversionSendModeResource < ::BaseResource +class Api::Rest::Admin::GatewayDiversionSendModeResource < ::BaseResource model_name 'Equipment::GatewayDiversionSendMode' immutable attributes :name diff --git a/app/resources/api/rest/admin/equipment/gateway_inband_dtmf_filtering_mode_resource.rb b/app/resources/api/rest/admin/gateway_inband_dtmf_filtering_mode_resource.rb similarity index 63% rename from app/resources/api/rest/admin/equipment/gateway_inband_dtmf_filtering_mode_resource.rb rename to app/resources/api/rest/admin/gateway_inband_dtmf_filtering_mode_resource.rb index eef22199c..0f61bb2ec 100644 --- a/app/resources/api/rest/admin/equipment/gateway_inband_dtmf_filtering_mode_resource.rb +++ b/app/resources/api/rest/admin/gateway_inband_dtmf_filtering_mode_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::GatewayInbandDtmfFilteringModeResource < ::BaseResource +class Api::Rest::Admin::GatewayInbandDtmfFilteringModeResource < ::BaseResource model_name 'Equipment::GatewayInbandDtmfFilteringMode' immutable attributes :name diff --git a/app/resources/api/rest/admin/equipment/gateway_media_encryption_mode_resource.rb b/app/resources/api/rest/admin/gateway_media_encryption_mode_resource.rb similarity index 64% rename from app/resources/api/rest/admin/equipment/gateway_media_encryption_mode_resource.rb rename to app/resources/api/rest/admin/gateway_media_encryption_mode_resource.rb index 41ad58d97..6d534ae78 100644 --- a/app/resources/api/rest/admin/equipment/gateway_media_encryption_mode_resource.rb +++ b/app/resources/api/rest/admin/gateway_media_encryption_mode_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::GatewayMediaEncryptionModeResource < BaseResource +class Api::Rest::Admin::GatewayMediaEncryptionModeResource < BaseResource model_name 'Equipment::GatewayMediaEncryptionMode' immutable attributes :name diff --git a/app/resources/api/rest/admin/equipment/gateway_network_protocol_priority_resource.rb b/app/resources/api/rest/admin/gateway_network_protocol_priority_resource.rb similarity index 63% rename from app/resources/api/rest/admin/equipment/gateway_network_protocol_priority_resource.rb rename to app/resources/api/rest/admin/gateway_network_protocol_priority_resource.rb index 07e59c0da..ad1b02f48 100644 --- a/app/resources/api/rest/admin/equipment/gateway_network_protocol_priority_resource.rb +++ b/app/resources/api/rest/admin/gateway_network_protocol_priority_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::GatewayNetworkProtocolPriorityResource < BaseResource +class Api::Rest::Admin::GatewayNetworkProtocolPriorityResource < BaseResource model_name 'Equipment::GatewayNetworkProtocolPriority' immutable attributes :name diff --git a/app/resources/api/rest/admin/equipment/gateway_rel100_mode_resource.rb b/app/resources/api/rest/admin/gateway_rel100_mode_resource.rb similarity index 64% rename from app/resources/api/rest/admin/equipment/gateway_rel100_mode_resource.rb rename to app/resources/api/rest/admin/gateway_rel100_mode_resource.rb index 61e0deeec..752191334 100644 --- a/app/resources/api/rest/admin/equipment/gateway_rel100_mode_resource.rb +++ b/app/resources/api/rest/admin/gateway_rel100_mode_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::GatewayRel100ModeResource < ::BaseResource +class Api::Rest::Admin::GatewayRel100ModeResource < ::BaseResource model_name 'Equipment::GatewayRel100Mode' immutable attributes :name diff --git a/app/resources/api/rest/admin/gateway_resource.rb b/app/resources/api/rest/admin/gateway_resource.rb index dea2df1ce..3373d3674 100644 --- a/app/resources/api/rest/admin/gateway_resource.rb +++ b/app/resources/api/rest/admin/gateway_resource.rb @@ -27,22 +27,22 @@ class Api::Rest::Admin::GatewayResource < ::BaseResource has_one :term_disconnect_policy, class_name: 'DisconnectPolicy', always_include_linkage_data: true has_one :orig_disconnect_policy, class_name: 'DisconnectPolicy', always_include_linkage_data: true has_one :gateway_group, always_include_linkage_data: true - has_one :diversion_send_mode, class_name: 'Equipment::GatewayDiversionSendMode', always_include_linkage_data: true + has_one :diversion_send_mode, class_name: 'GatewayDiversionSendMode', always_include_linkage_data: true has_one :pop, always_include_linkage_data: true has_one :codec_group, always_include_linkage_data: true has_one :sdp_c_location, class_name: 'SdpCLocation', always_include_linkage_data: true - has_one :sensor, class_name: 'System::Sensor', always_include_linkage_data: true - has_one :sensor_level, class_name: 'System::SensorLevel', always_include_linkage_data: true - has_one :dtmf_receive_mode, class_name: 'System::DtmfReceiveMode', always_include_linkage_data: true - has_one :dtmf_send_mode, class_name: 'System::DtmfSendMode', always_include_linkage_data: true - has_one :transport_protocol, class_name: 'Equipment::TransportProtocol', always_include_linkage_data: true - has_one :term_proxy_transport_protocol, class_name: 'Equipment::TransportProtocol', always_include_linkage_data: true - has_one :orig_proxy_transport_protocol, class_name: 'Equipment::TransportProtocol', always_include_linkage_data: true - has_one :rel100_mode, class_name: 'Equipment::GatewayRel100Mode', always_include_linkage_data: true - has_one :rx_inband_dtmf_filtering_mode, class_name: 'Equipment::GatewayInbandDtmfFilteringMode', always_include_linkage_data: true - has_one :tx_inband_dtmf_filtering_mode, class_name: 'Equipment::GatewayInbandDtmfFilteringMode', always_include_linkage_data: true - has_one :network_protocol_priority, class_name: 'Equipment::GatewayNetworkProtocolPriority', always_include_linkage_data: true - has_one :media_encryption_mode, class_name: 'Equipment::GatewayMediaEncryptionMode', always_include_linkage_data: true + has_one :sensor, class_name: 'Sensor', always_include_linkage_data: true + has_one :sensor_level, class_name: 'SensorLevel', always_include_linkage_data: true + has_one :dtmf_receive_mode, class_name: 'DtmfReceiveMode', always_include_linkage_data: true + has_one :dtmf_send_mode, class_name: 'DtmfSendMode', always_include_linkage_data: true + has_one :transport_protocol, class_name: 'TransportProtocol', always_include_linkage_data: true + has_one :term_proxy_transport_protocol, class_name: 'TransportProtocol', always_include_linkage_data: true + has_one :orig_proxy_transport_protocol, class_name: 'TransportProtocol', always_include_linkage_data: true + has_one :rel100_mode, class_name: 'GatewayRel100Mode', always_include_linkage_data: true + has_one :rx_inband_dtmf_filtering_mode, class_name: 'GatewayInbandDtmfFilteringMode', always_include_linkage_data: true + has_one :tx_inband_dtmf_filtering_mode, class_name: 'GatewayInbandDtmfFilteringMode', always_include_linkage_data: true + has_one :network_protocol_priority, class_name: 'GatewayNetworkProtocolPriority', always_include_linkage_data: true + has_one :media_encryption_mode, class_name: 'GatewayMediaEncryptionMode', always_include_linkage_data: true filter :name # DEPRECATED diff --git a/app/resources/api/rest/admin/billing/invoice_originated_destination_resource.rb b/app/resources/api/rest/admin/invoice_originated_destination_resource.rb similarity index 94% rename from app/resources/api/rest/admin/billing/invoice_originated_destination_resource.rb rename to app/resources/api/rest/admin/invoice_originated_destination_resource.rb index a98f351a3..1aea75fe2 100644 --- a/app/resources/api/rest/admin/billing/invoice_originated_destination_resource.rb +++ b/app/resources/api/rest/admin/invoice_originated_destination_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::InvoiceOriginatedDestinationResource < ::BaseResource +class Api::Rest::Admin::InvoiceOriginatedDestinationResource < ::BaseResource model_name 'Billing::InvoiceOriginatedDestination' paginator :paged diff --git a/app/resources/api/rest/admin/billing/invoice_originated_network_resource.rb b/app/resources/api/rest/admin/invoice_originated_network_resource.rb similarity index 94% rename from app/resources/api/rest/admin/billing/invoice_originated_network_resource.rb rename to app/resources/api/rest/admin/invoice_originated_network_resource.rb index c2853d921..71043695e 100644 --- a/app/resources/api/rest/admin/billing/invoice_originated_network_resource.rb +++ b/app/resources/api/rest/admin/invoice_originated_network_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::InvoiceOriginatedNetworkResource < ::BaseResource +class Api::Rest::Admin::InvoiceOriginatedNetworkResource < ::BaseResource model_name 'Billing::InvoiceOriginatedNetwork' paginator :paged diff --git a/app/resources/api/rest/admin/billing/invoice_resource.rb b/app/resources/api/rest/admin/invoice_resource.rb similarity index 98% rename from app/resources/api/rest/admin/billing/invoice_resource.rb rename to app/resources/api/rest/admin/invoice_resource.rb index 10687f164..13852e0e5 100644 --- a/app/resources/api/rest/admin/billing/invoice_resource.rb +++ b/app/resources/api/rest/admin/invoice_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::InvoiceResource < ::BaseResource +class Api::Rest::Admin::InvoiceResource < ::BaseResource model_name 'Billing::Invoice' create_form 'ManualInvoiceForm' paginator :paged diff --git a/app/resources/api/rest/admin/billing/invoice_service_datum_resource.rb b/app/resources/api/rest/admin/invoice_service_datum_resource.rb similarity index 91% rename from app/resources/api/rest/admin/billing/invoice_service_datum_resource.rb rename to app/resources/api/rest/admin/invoice_service_datum_resource.rb index 82787026c..fabb8f1d5 100644 --- a/app/resources/api/rest/admin/billing/invoice_service_datum_resource.rb +++ b/app/resources/api/rest/admin/invoice_service_datum_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::InvoiceServiceDatumResource < ::BaseResource +class Api::Rest::Admin::InvoiceServiceDatumResource < ::BaseResource model_name 'Billing::InvoiceServiceData' paginator :paged diff --git a/app/resources/api/rest/admin/billing/invoice_template_resource.rb b/app/resources/api/rest/admin/invoice_template_resource.rb similarity index 73% rename from app/resources/api/rest/admin/billing/invoice_template_resource.rb rename to app/resources/api/rest/admin/invoice_template_resource.rb index 2f833c45a..1d9d4cddc 100644 --- a/app/resources/api/rest/admin/billing/invoice_template_resource.rb +++ b/app/resources/api/rest/admin/invoice_template_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::InvoiceTemplateResource < ::BaseResource +class Api::Rest::Admin::InvoiceTemplateResource < ::BaseResource model_name 'Billing::InvoiceTemplate' attributes :name, :filename diff --git a/app/resources/api/rest/admin/billing/invoice_terminated_destination_resource.rb b/app/resources/api/rest/admin/invoice_terminated_destination_resource.rb similarity index 94% rename from app/resources/api/rest/admin/billing/invoice_terminated_destination_resource.rb rename to app/resources/api/rest/admin/invoice_terminated_destination_resource.rb index 33bf6a003..ac9920ee0 100644 --- a/app/resources/api/rest/admin/billing/invoice_terminated_destination_resource.rb +++ b/app/resources/api/rest/admin/invoice_terminated_destination_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::InvoiceTerminatedDestinationResource < ::BaseResource +class Api::Rest::Admin::InvoiceTerminatedDestinationResource < ::BaseResource model_name 'Billing::InvoiceTerminatedDestination' paginator :paged diff --git a/app/resources/api/rest/admin/billing/invoice_terminated_network_resource.rb b/app/resources/api/rest/admin/invoice_terminated_network_resource.rb similarity index 94% rename from app/resources/api/rest/admin/billing/invoice_terminated_network_resource.rb rename to app/resources/api/rest/admin/invoice_terminated_network_resource.rb index 791b35d0c..431c7a69f 100644 --- a/app/resources/api/rest/admin/billing/invoice_terminated_network_resource.rb +++ b/app/resources/api/rest/admin/invoice_terminated_network_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::InvoiceTerminatedNetworkResource < ::BaseResource +class Api::Rest::Admin::InvoiceTerminatedNetworkResource < ::BaseResource model_name 'Billing::InvoiceTerminatedNetwork' paginator :paged diff --git a/app/resources/api/rest/admin/system/network_resource.rb b/app/resources/api/rest/admin/network_resource.rb similarity index 74% rename from app/resources/api/rest/admin/system/network_resource.rb rename to app/resources/api/rest/admin/network_resource.rb index 453fcedb4..f14ca1b1e 100644 --- a/app/resources/api/rest/admin/system/network_resource.rb +++ b/app/resources/api/rest/admin/network_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::System::NetworkResource < ::BaseResource +class Api::Rest::Admin::NetworkResource < ::BaseResource model_name 'System::Network' attributes :name paginator :paged diff --git a/app/resources/api/rest/admin/system/network_type_resource.rb b/app/resources/api/rest/admin/network_type_resource.rb similarity index 81% rename from app/resources/api/rest/admin/system/network_type_resource.rb rename to app/resources/api/rest/admin/network_type_resource.rb index 2e10d21d1..669dc188e 100644 --- a/app/resources/api/rest/admin/system/network_type_resource.rb +++ b/app/resources/api/rest/admin/network_type_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::System::NetworkTypeResource < ::BaseResource +class Api::Rest::Admin::NetworkTypeResource < ::BaseResource model_name 'System::NetworkType' attributes :name paginator :paged diff --git a/app/resources/api/rest/admin/routing/numberlist_item_resource.rb b/app/resources/api/rest/admin/numberlist_item_resource.rb similarity index 93% rename from app/resources/api/rest/admin/routing/numberlist_item_resource.rb rename to app/resources/api/rest/admin/numberlist_item_resource.rb index 746cb9e73..d1fee8355 100644 --- a/app/resources/api/rest/admin/routing/numberlist_item_resource.rb +++ b/app/resources/api/rest/admin/numberlist_item_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::NumberlistItemResource < ::BaseResource +class Api::Rest::Admin::NumberlistItemResource < ::BaseResource model_name 'Routing::NumberlistItem' attributes :key, :number_min_length, :number_max_length, diff --git a/app/resources/api/rest/admin/routing/numberlist_resource.rb b/app/resources/api/rest/admin/numberlist_resource.rb similarity index 95% rename from app/resources/api/rest/admin/routing/numberlist_resource.rb rename to app/resources/api/rest/admin/numberlist_resource.rb index 393bf38da..b32bf9c5d 100644 --- a/app/resources/api/rest/admin/routing/numberlist_resource.rb +++ b/app/resources/api/rest/admin/numberlist_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::NumberlistResource < ::BaseResource +class Api::Rest::Admin::NumberlistResource < ::BaseResource model_name 'Routing::Numberlist' attributes :name, :default_action_id, :mode_id, diff --git a/app/resources/api/rest/admin/routing/rate_group_resource.rb b/app/resources/api/rest/admin/rate_group_resource.rb similarity index 82% rename from app/resources/api/rest/admin/routing/rate_group_resource.rb rename to app/resources/api/rest/admin/rate_group_resource.rb index aa4b0a9be..49b5e7a1a 100644 --- a/app/resources/api/rest/admin/routing/rate_group_resource.rb +++ b/app/resources/api/rest/admin/rate_group_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::RateGroupResource < BaseResource +class Api::Rest::Admin::RateGroupResource < BaseResource model_name 'Routing::RateGroup' attributes :name, :external_id diff --git a/app/resources/api/rest/admin/routing/rateplan_resource.rb b/app/resources/api/rest/admin/rateplan_resource.rb similarity index 86% rename from app/resources/api/rest/admin/routing/rateplan_resource.rb rename to app/resources/api/rest/admin/rateplan_resource.rb index b5e81f515..c47d4f745 100644 --- a/app/resources/api/rest/admin/routing/rateplan_resource.rb +++ b/app/resources/api/rest/admin/rateplan_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::RateplanResource < BaseResource +class Api::Rest::Admin::RateplanResource < BaseResource model_name 'Routing::Rateplan' attributes :name, :profit_control_mode_id diff --git a/app/resources/api/rest/admin/equipment/registration_resource.rb b/app/resources/api/rest/admin/registration_resource.rb similarity index 90% rename from app/resources/api/rest/admin/equipment/registration_resource.rb rename to app/resources/api/rest/admin/registration_resource.rb index a7e5af43e..08870d420 100644 --- a/app/resources/api/rest/admin/equipment/registration_resource.rb +++ b/app/resources/api/rest/admin/registration_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::RegistrationResource < ::BaseResource +class Api::Rest::Admin::RegistrationResource < ::BaseResource model_name 'Equipment::Registration' paginator :paged diff --git a/app/resources/api/rest/admin/routing/routeset_discriminator_resource.rb b/app/resources/api/rest/admin/routeset_discriminator_resource.rb similarity index 79% rename from app/resources/api/rest/admin/routing/routeset_discriminator_resource.rb rename to app/resources/api/rest/admin/routeset_discriminator_resource.rb index 455e3fccb..a996e3ea4 100644 --- a/app/resources/api/rest/admin/routing/routeset_discriminator_resource.rb +++ b/app/resources/api/rest/admin/routeset_discriminator_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::RoutesetDiscriminatorResource < ::BaseResource +class Api::Rest::Admin::RoutesetDiscriminatorResource < ::BaseResource model_name 'Routing::RoutesetDiscriminator' attributes :name diff --git a/app/resources/api/rest/admin/routing/routing_group_resource.rb b/app/resources/api/rest/admin/routing_group_resource.rb similarity index 81% rename from app/resources/api/rest/admin/routing/routing_group_resource.rb rename to app/resources/api/rest/admin/routing_group_resource.rb index e605e5dac..e896efb41 100644 --- a/app/resources/api/rest/admin/routing/routing_group_resource.rb +++ b/app/resources/api/rest/admin/routing_group_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::RoutingGroupResource < ::BaseResource +class Api::Rest::Admin::RoutingGroupResource < ::BaseResource model_name 'Routing::RoutingGroup' attributes :name diff --git a/app/resources/api/rest/admin/routing/routing_tag_detection_rule_resource.rb b/app/resources/api/rest/admin/routing_tag_detection_rule_resource.rb similarity index 85% rename from app/resources/api/rest/admin/routing/routing_tag_detection_rule_resource.rb rename to app/resources/api/rest/admin/routing_tag_detection_rule_resource.rb index 6cc1363ac..588a1fd0a 100644 --- a/app/resources/api/rest/admin/routing/routing_tag_detection_rule_resource.rb +++ b/app/resources/api/rest/admin/routing_tag_detection_rule_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::RoutingTagDetectionRuleResource < ::BaseResource +class Api::Rest::Admin::RoutingTagDetectionRuleResource < ::BaseResource model_name 'Routing::RoutingTagDetectionRule' attributes :src_prefix, :dst_prefix, :tag_action_value, :routing_tag_ids diff --git a/app/resources/api/rest/admin/routing/routing_tag_mode_resource.rb b/app/resources/api/rest/admin/routing_tag_mode_resource.rb similarity index 70% rename from app/resources/api/rest/admin/routing/routing_tag_mode_resource.rb rename to app/resources/api/rest/admin/routing_tag_mode_resource.rb index ed61304cf..8ee0e4937 100644 --- a/app/resources/api/rest/admin/routing/routing_tag_mode_resource.rb +++ b/app/resources/api/rest/admin/routing_tag_mode_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::RoutingTagModeResource < ::BaseResource +class Api::Rest::Admin::RoutingTagModeResource < ::BaseResource model_name 'Routing::RoutingTagMode' immutable attributes :name diff --git a/app/resources/api/rest/admin/routing/routing_tag_resource.rb b/app/resources/api/rest/admin/routing_tag_resource.rb similarity index 68% rename from app/resources/api/rest/admin/routing/routing_tag_resource.rb rename to app/resources/api/rest/admin/routing_tag_resource.rb index 1d94a5438..901d06048 100644 --- a/app/resources/api/rest/admin/routing/routing_tag_resource.rb +++ b/app/resources/api/rest/admin/routing_tag_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::RoutingTagResource < ::BaseResource +class Api::Rest::Admin::RoutingTagResource < ::BaseResource model_name 'Routing::RoutingTag' attributes :name diff --git a/app/resources/api/rest/admin/system/sensor_level_resource.rb b/app/resources/api/rest/admin/sensor_level_resource.rb similarity index 66% rename from app/resources/api/rest/admin/system/sensor_level_resource.rb rename to app/resources/api/rest/admin/sensor_level_resource.rb index 2df317cdb..7bdeb6419 100644 --- a/app/resources/api/rest/admin/system/sensor_level_resource.rb +++ b/app/resources/api/rest/admin/sensor_level_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::System::SensorLevelResource < ::BaseResource +class Api::Rest::Admin::SensorLevelResource < ::BaseResource model_name 'System::SensorLevel' immutable attributes :name diff --git a/app/resources/api/rest/admin/system/sensor_resource.rb b/app/resources/api/rest/admin/sensor_resource.rb similarity index 75% rename from app/resources/api/rest/admin/system/sensor_resource.rb rename to app/resources/api/rest/admin/sensor_resource.rb index 5b319e976..291674ede 100644 --- a/app/resources/api/rest/admin/system/sensor_resource.rb +++ b/app/resources/api/rest/admin/sensor_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::System::SensorResource < ::BaseResource +class Api::Rest::Admin::SensorResource < ::BaseResource model_name 'System::Sensor' attributes :name, :mode_id, :source_interface, :target_mac, :use_routing, :target_ip, :source_ip diff --git a/app/resources/api/rest/admin/billing/service_resource.rb b/app/resources/api/rest/admin/service_resource.rb similarity index 95% rename from app/resources/api/rest/admin/billing/service_resource.rb rename to app/resources/api/rest/admin/service_resource.rb index 20d7450fb..7d3b97cd8 100644 --- a/app/resources/api/rest/admin/billing/service_resource.rb +++ b/app/resources/api/rest/admin/service_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::ServiceResource < ::BaseResource +class Api::Rest::Admin::ServiceResource < ::BaseResource model_name 'Billing::Service' paginator :paged diff --git a/app/resources/api/rest/admin/billing/service_type_resource.rb b/app/resources/api/rest/admin/service_type_resource.rb similarity index 89% rename from app/resources/api/rest/admin/billing/service_type_resource.rb rename to app/resources/api/rest/admin/service_type_resource.rb index 9ebd1286c..99f9e366b 100644 --- a/app/resources/api/rest/admin/billing/service_type_resource.rb +++ b/app/resources/api/rest/admin/service_type_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::ServiceTypeResource < ::BaseResource +class Api::Rest::Admin::ServiceTypeResource < ::BaseResource model_name 'Billing::ServiceType' paginator :paged diff --git a/app/resources/api/rest/admin/equipment/sip_options_prober_resource.rb b/app/resources/api/rest/admin/sip_options_prober_resource.rb similarity index 90% rename from app/resources/api/rest/admin/equipment/sip_options_prober_resource.rb rename to app/resources/api/rest/admin/sip_options_prober_resource.rb index 82a562532..837a047eb 100644 --- a/app/resources/api/rest/admin/equipment/sip_options_prober_resource.rb +++ b/app/resources/api/rest/admin/sip_options_prober_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::SipOptionsProberResource < ::BaseResource +class Api::Rest::Admin::SipOptionsProberResource < ::BaseResource model_name 'Equipment::SipOptionsProber' paginator :paged diff --git a/app/resources/api/rest/admin/system/smtp_connection_resource.rb b/app/resources/api/rest/admin/smtp_connection_resource.rb similarity index 73% rename from app/resources/api/rest/admin/system/smtp_connection_resource.rb rename to app/resources/api/rest/admin/smtp_connection_resource.rb index 00364c633..9a42ac775 100644 --- a/app/resources/api/rest/admin/system/smtp_connection_resource.rb +++ b/app/resources/api/rest/admin/smtp_connection_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::System::SmtpConnectionResource < ::BaseResource +class Api::Rest::Admin::SmtpConnectionResource < ::BaseResource model_name 'System::SmtpConnection' attributes :name, :host, :port, :from_address, :auth_user, :auth_password, :global diff --git a/app/resources/api/rest/admin/routing/tag_action_resource.rb b/app/resources/api/rest/admin/tag_action_resource.rb similarity index 70% rename from app/resources/api/rest/admin/routing/tag_action_resource.rb rename to app/resources/api/rest/admin/tag_action_resource.rb index 8f5a5489f..a72179a55 100644 --- a/app/resources/api/rest/admin/routing/tag_action_resource.rb +++ b/app/resources/api/rest/admin/tag_action_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Routing::TagActionResource < ::BaseResource +class Api::Rest::Admin::TagActionResource < ::BaseResource model_name 'Routing::TagAction' immutable diff --git a/app/resources/api/rest/admin/system/timezone_resource.rb b/app/resources/api/rest/admin/timezone_resource.rb similarity index 71% rename from app/resources/api/rest/admin/system/timezone_resource.rb rename to app/resources/api/rest/admin/timezone_resource.rb index eb1e448e4..276df4eeb 100644 --- a/app/resources/api/rest/admin/system/timezone_resource.rb +++ b/app/resources/api/rest/admin/timezone_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::System::TimezoneResource < ::BaseResource +class Api::Rest::Admin::TimezoneResource < ::BaseResource model_name 'System::Timezone' immutable attributes :name, :abbrev, :utc_offset, :is_dst diff --git a/app/resources/api/rest/admin/billing/transaction_resource.rb b/app/resources/api/rest/admin/transaction_resource.rb similarity index 91% rename from app/resources/api/rest/admin/billing/transaction_resource.rb rename to app/resources/api/rest/admin/transaction_resource.rb index 840dd3588..23fd2145f 100644 --- a/app/resources/api/rest/admin/billing/transaction_resource.rb +++ b/app/resources/api/rest/admin/transaction_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Billing::TransactionResource < ::BaseResource +class Api::Rest::Admin::TransactionResource < ::BaseResource model_name 'Billing::Transaction' paginator :paged immutable diff --git a/app/resources/api/rest/admin/equipment/transport_protocol_resource.rb b/app/resources/api/rest/admin/transport_protocol_resource.rb similarity index 64% rename from app/resources/api/rest/admin/equipment/transport_protocol_resource.rb rename to app/resources/api/rest/admin/transport_protocol_resource.rb index 6dcc59092..c90b1a571 100644 --- a/app/resources/api/rest/admin/equipment/transport_protocol_resource.rb +++ b/app/resources/api/rest/admin/transport_protocol_resource.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::Rest::Admin::Equipment::TransportProtocolResource < ::BaseResource +class Api::Rest::Admin::TransportProtocolResource < ::BaseResource model_name 'Equipment::TransportProtocol' immutable attributes :name diff --git a/config/initializers/jsonapi_resources.rb b/config/initializers/jsonapi_resources.rb index 0060cb4ab..bca8614df 100644 --- a/config/initializers/jsonapi_resources.rb +++ b/config/initializers/jsonapi_resources.rb @@ -14,93 +14,3 @@ config.top_level_meta_include_record_count = true config.top_level_meta_record_count_key = :total_count end - -module JsonapiResourceClassPatch - # @example - # JSONAPI::Resource.register_resource_override 'api/rest/admin', 'Pop', 'Api::Rest::Admin::Pop' - def register_resource_override(prefix, name, result) - JSONAPI::Resource.resource_overrides.push( - prefix: "#{prefix.underscore.chomp('/')}/", - name: name.underscore.singularize, - result: result.underscore - ) - end - - def resource_overrides - @resource_overrides ||= [] - - # { - # 'api/rest/admin/equipment/sip_schemas' => 'api/rest/admin/system/sip_schemas', - # 'api/rest/admin/equipment/pops' => 'api/rest/admin/pops', - # 'pop' => 'api/rest/admin/pops', - # 'api/rest/admin/equipment/nodes' => 'api/rest/admin/nodes', - # 'node' => 'api/rest/admin/nodes' - # } - end - - def find_resource_override(type) - type = type.underscore - type = "#{module_path}#{type}" unless type.include?('/') - singular_name = type.split('/').last.singularize - found = JSONAPI::Resource.resource_overrides.detect do |opts| - type.start_with?(opts[:prefix]) && singular_name == opts[:name] - end - found&.fetch(:result) - end - - def resource_for(type) - override = find_resource_override(type) - unless override.nil? - resource_name = _resource_name_from_type(override) - return resource_name.constantize - end - - super - rescue StandardError => e - Rails.logger.error { "Failed to detect #{name}.resource_for(#{type.inspect}) #{type.underscore}" } - raise e - end -end - -ActionDispatch::Routing::Mapper::Resources.class_eval do - def patched_jsonapi_relationships(options = {}) - overrides = options.delete(:overrides) || {} - res = JSONAPI::Resource.resource_for(resource_type_with_module_prefix(@resource_type)) - res._relationships.each do |relationship_name, relationship| - related_resource = JSONAPI::Resource.resource_for(resource_type_with_module_prefix(relationship.class_name.underscore)) - opts = options.merge( - overrides[relationship_name] || { - controller: "/#{related_resource.to_s.sub(/Resource\z/, '').underscore.pluralize}" - } - ) - if relationship.is_a?(JSONAPI::Relationship::ToMany) - jsonapi_links(relationship_name, opts) - jsonapi_related_resources(relationship_name, opts) - else - jsonapi_link(relationship_name, opts) - jsonapi_related_resource(relationship_name, opts) - end - end - end -end - -JSONAPI::Resource.singleton_class.prepend(JsonapiResourceClassPatch) - -JSONAPI::Resource.register_resource_override 'api/rest/admin', 'Pop', 'Api::Rest::Admin::Pop' -JSONAPI::Resource.register_resource_override 'api/rest/admin', 'Node', 'Api::Rest::Admin::Node' -JSONAPI::Resource.register_resource_override 'api/rest/admin/billing', 'Account', 'Api::Rest::Admin::Account' -JSONAPI::Resource.register_resource_override 'api/rest/admin/billing', 'Country', 'Api::Rest::Admin::System::Country' -JSONAPI::Resource.register_resource_override 'api/rest/admin/billing', 'Network', 'Api::Rest::Admin::System::Network' - -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'Dialpeer', 'Api::Rest::Admin::Dialpeer' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'Pop', 'Api::Rest::Admin::Pop' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'CustomersAuth', 'Api::Rest::Admin::CustomersAuth' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'Contractor', 'Api::Rest::Admin::Contractor' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'Account', 'Api::Rest::Admin::Account' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'Gateway', 'Api::Rest::Admin::Gateway' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'RoutingPlan', 'Api::Rest::Admin::RoutingPlan' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'Country', 'Api::Rest::Admin::System::Country' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'Network', 'Api::Rest::Admin::System::Network' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'Rateplan', 'Api::Rest::Admin::Routing::Rateplan' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'RoutingGroup', 'Api::Rest::Admin::Routing::RoutingGroup' -JSONAPI::Resource.register_resource_override 'api/rest/admin/cdr', 'Destination', 'Api::Rest::Admin::Routing::Destination' diff --git a/config/routes.rb b/config/routes.rb index a51b2278d..e2bbb9ada 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -94,83 +94,69 @@ def dasherized_resources(name, options = {}, &block) jsonapi_resources :active_calls, only: %i[index show destroy] jsonapi_resources :incoming_registrations, only: %i[index] - namespace :cdr do - jsonapi_resources :cdrs, only: %i[index show update] do - member { get :recording } - # jsonapi_relationships - patched_jsonapi_relationships - end - jsonapi_resources :auth_logs, only: %i[index show] do - end - jsonapi_resources :cdr_exports, only: %i[index show create destroy] do - jsonapi_relationships - member { get :download } - end - end - - namespace :billing do - jsonapi_resources :invoice_template - jsonapi_resources :invoices, only: %i[index show create destroy] do - jsonapi_relationships - member do - get :pdf - get :odt - end - end - jsonapi_resources :invoice_originated_destinations, only: %i[index show] - jsonapi_resources :invoice_originated_networks, only: %i[index show] - jsonapi_resources :invoice_terminated_destinations, only: %i[index show] - jsonapi_resources :invoice_terminated_networks, only: %i[index show] - jsonapi_resources :invoice_service_data, only: %i[index show] - jsonapi_resources :service_types - jsonapi_resources :services, only: %i[index show create update] - jsonapi_resources :transactions, only: %i[index show] + jsonapi_resources :cdrs, only: %i[index show update] do + jsonapi_relationships + member { get :recording } end - - namespace :system do - jsonapi_resources :timezones - jsonapi_resources :dtmf_receive_modes - jsonapi_resources :dtmf_send_modes - jsonapi_resources :sensor_levels - jsonapi_resources :sensors - jsonapi_resources :smtp_connections - jsonapi_resources :countries - jsonapi_resources :networks - jsonapi_resources :network_types + jsonapi_resources :auth_logs, only: %i[index show] do end - - namespace :equipment do - jsonapi_resources :gateway_rel100_modes - jsonapi_resources :gateway_inband_dtmf_filtering_modes - jsonapi_resources :gateway_diversion_send_modes - jsonapi_resources :gateway_network_protocol_priorities - jsonapi_resources :gateway_media_encryption_modes - jsonapi_resources :transport_protocols - jsonapi_resources :registrations - jsonapi_resources :sip_options_probers - namespace :radius do - jsonapi_resources :accounting_profiles - jsonapi_resources :auth_profiles - end + jsonapi_resources :cdr_exports, only: %i[index show create destroy] do + jsonapi_relationships + member { get :download } end - namespace :routing do - jsonapi_resources :areas - jsonapi_resources :area_prefixes - jsonapi_resources :numberlists - jsonapi_resources :numberlist_items - jsonapi_resources :routing_tag_detection_rules - jsonapi_resources :tag_actions - jsonapi_resources :rateplans - jsonapi_resources :routing_groups - jsonapi_resources :routing_tags - jsonapi_resources :routing_tag_modes - jsonapi_resources :routeset_discriminators - jsonapi_resources :destinations do - # remove relationships endpoints because they fail work with cross namespace relationships. + jsonapi_resources :invoice_template + jsonapi_resources :invoices, only: %i[index show create destroy] do + jsonapi_relationships + member do + get :pdf + get :odt end - jsonapi_resources :destination_next_rates end + jsonapi_resources :invoice_originated_destinations, only: %i[index show] + jsonapi_resources :invoice_originated_networks, only: %i[index show] + jsonapi_resources :invoice_terminated_destinations, only: %i[index show] + jsonapi_resources :invoice_terminated_networks, only: %i[index show] + jsonapi_resources :invoice_service_data, only: %i[index show] + jsonapi_resources :service_types + jsonapi_resources :services, only: %i[index show create update] + jsonapi_resources :transactions, only: %i[index show] + + jsonapi_resources :timezones + jsonapi_resources :dtmf_receive_modes + jsonapi_resources :dtmf_send_modes + jsonapi_resources :sensor_levels + jsonapi_resources :sensors + jsonapi_resources :smtp_connections + jsonapi_resources :countries + jsonapi_resources :networks + jsonapi_resources :network_types + + jsonapi_resources :gateway_rel100_modes + jsonapi_resources :gateway_inband_dtmf_filtering_modes + jsonapi_resources :gateway_diversion_send_modes + jsonapi_resources :gateway_network_protocol_priorities + jsonapi_resources :gateway_media_encryption_modes + jsonapi_resources :transport_protocols + jsonapi_resources :registrations + jsonapi_resources :sip_options_probers + + jsonapi_resources :accounting_profiles + jsonapi_resources :auth_profiles + + jsonapi_resources :areas + jsonapi_resources :area_prefixes + jsonapi_resources :numberlists + jsonapi_resources :numberlist_items + jsonapi_resources :routing_tag_detection_rules + jsonapi_resources :tag_actions + jsonapi_resources :rateplans + jsonapi_resources :routing_groups + jsonapi_resources :routing_tags + jsonapi_resources :routing_tag_modes + jsonapi_resources :routeset_discriminators + jsonapi_resources :destinations + jsonapi_resources :destination_next_rates end namespace :customer do diff --git a/spec/acceptance/rest/admin/api/equipment/radius/accounting_profiles_spec.rb b/spec/acceptance/rest/admin/api/accounting_profiles_spec.rb similarity index 80% rename from spec/acceptance/rest/admin/api/equipment/radius/accounting_profiles_spec.rb rename to spec/acceptance/rest/admin/api/accounting_profiles_spec.rb index 4dc523756..4fe915310 100644 --- a/spec/acceptance/rest/admin/api/equipment/radius/accounting_profiles_spec.rb +++ b/spec/acceptance/rest/admin/api/accounting_profiles_spec.rb @@ -14,8 +14,8 @@ required_params = %i[name server port secret timeout attempts] optional_params = %i[enable-start-accounting enable-interim-accounting interim-accounting-interval enable-stop-accounting] - get '/api/rest/admin/equipment/radius/accounting-profiles' do - jsonapi_filters Api::Rest::Admin::Equipment::Radius::AccountingProfileResource._allowed_filters + get '/api/rest/admin/accounting-profiles' do + jsonapi_filters Api::Rest::Admin::AccountingProfileResource._allowed_filters before { create_list(:accounting_profile, 2) } @@ -24,7 +24,7 @@ end end - get '/api/rest/admin/equipment/radius/accounting-profiles/:id' do + get '/api/rest/admin/accounting-profiles/:id' do let(:id) { create(:accounting_profile).id } example_request 'get specific entry' do @@ -32,7 +32,7 @@ end end - post '/api/rest/admin/equipment/radius/accounting-profiles' do + post '/api/rest/admin/accounting-profiles' do parameter :type, 'Resource type (accounting_profiles)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -49,7 +49,7 @@ end end - put '/api/rest/admin/equipment/radius/accounting-profiles/:id' do + put '/api/rest/admin/accounting-profiles/:id' do parameter :type, 'Resource type (accounting_profiles)', scope: :data, required: true parameter :id, 'Accounting profile ID', scope: :data, required: true @@ -63,7 +63,7 @@ end end - delete '/api/rest/admin/equipment/radius/accounting-profiles/:id' do + delete '/api/rest/admin/accounting-profiles/:id' do let(:id) { create(:accounting_profile).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/routing/area_prefixes_spec.rb b/spec/acceptance/rest/admin/api/area_prefixes_spec.rb similarity index 82% rename from spec/acceptance/rest/admin/api/routing/area_prefixes_spec.rb rename to spec/acceptance/rest/admin/api/area_prefixes_spec.rb index dbbda6bc7..c235da01f 100644 --- a/spec/acceptance/rest/admin/api/routing/area_prefixes_spec.rb +++ b/spec/acceptance/rest/admin/api/area_prefixes_spec.rb @@ -14,10 +14,10 @@ required_relationships = %i[area] optional_relationships = %i[] - include_context :acceptance_index_show, namespace: 'routing', type: 'area-prefixes' - include_context :acceptance_delete, namespace: 'routing', type: 'area-prefixes' + include_context :acceptance_index_show, type: 'area-prefixes' + include_context :acceptance_delete, type: 'area-prefixes' - post '/api/rest/admin/routing/area-prefixes' do + post '/api/rest/admin/area-prefixes' do parameter :type, 'Resource type (area-prefixes)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -31,7 +31,7 @@ end end - put '/api/rest/admin/routing/area-prefixes/:id' do + put '/api/rest/admin/area-prefixes/:id' do parameter :type, 'Resource type (area-prefixes)', scope: :data, required: true parameter :id, 'AreaPrefix ID', scope: :data, required: true diff --git a/spec/acceptance/rest/admin/api/routing/area_spec.rb b/spec/acceptance/rest/admin/api/area_spec.rb similarity index 74% rename from spec/acceptance/rest/admin/api/routing/area_spec.rb rename to spec/acceptance/rest/admin/api/area_spec.rb index 67a3f4ab9..a3fb56ad1 100644 --- a/spec/acceptance/rest/admin/api/routing/area_spec.rb +++ b/spec/acceptance/rest/admin/api/area_spec.rb @@ -8,5 +8,5 @@ let(:collection) { create_list(:area, 2) } let(:record) { collection.first } - include_context :acceptance_index_show, namespace: 'routing', type: 'areas' + include_context :acceptance_index_show, type: 'areas' end diff --git a/spec/acceptance/rest/admin/api/equipment/radius/auth_profiles_spec.rb b/spec/acceptance/rest/admin/api/auth_profiles_spec.rb similarity index 81% rename from spec/acceptance/rest/admin/api/equipment/radius/auth_profiles_spec.rb rename to spec/acceptance/rest/admin/api/auth_profiles_spec.rb index dcf051c48..1b1c1f81c 100644 --- a/spec/acceptance/rest/admin/api/equipment/radius/auth_profiles_spec.rb +++ b/spec/acceptance/rest/admin/api/auth_profiles_spec.rb @@ -14,8 +14,8 @@ required_params = %i[name server port secret timeout attempts] optional_params = %i[enable-start-accounting enable-interim-accounting interim-accounting-interval enable-stop-accounting] - get '/api/rest/admin/equipment/radius/auth-profiles' do - jsonapi_filters Api::Rest::Admin::Equipment::Radius::AuthProfileResource._allowed_filters + get '/api/rest/admin/auth-profiles' do + jsonapi_filters Api::Rest::Admin::AuthProfileResource._allowed_filters before { create_list(:auth_profile, 2) } @@ -24,7 +24,7 @@ end end - get '/api/rest/admin/equipment/radius/auth-profiles/:id' do + get '/api/rest/admin/auth-profiles/:id' do let(:id) { create(:auth_profile).id } example_request 'get specific entry' do @@ -32,7 +32,7 @@ end end - post '/api/rest/admin/equipment/radius/auth-profiles' do + post '/api/rest/admin/auth-profiles' do parameter :type, 'Resource type (auth-profiles)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -49,7 +49,7 @@ end end - put '/api/rest/admin/equipment/radius/auth-profiles/:id' do + put '/api/rest/admin/auth-profiles/:id' do parameter :type, 'Resource type (auth-profiles)', scope: :data, required: true parameter :id, 'Auth profile ID', scope: :data, required: true @@ -63,7 +63,7 @@ end end - delete '/api/rest/admin/equipment/radius/auth-profiles/:id' do + delete '/api/rest/admin/auth-profiles/:id' do let(:id) { create(:auth_profile).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/cdr/cdr_exports_spec.rb b/spec/acceptance/rest/admin/api/cdr_exports_spec.rb similarity index 97% rename from spec/acceptance/rest/admin/api/cdr/cdr_exports_spec.rb rename to spec/acceptance/rest/admin/api/cdr_exports_spec.rb index dc55ce66b..d81c744cc 100644 --- a/spec/acceptance/rest/admin/api/cdr/cdr_exports_spec.rb +++ b/spec/acceptance/rest/admin/api/cdr_exports_spec.rb @@ -16,7 +16,7 @@ optional_params = %i[callback-url export-type] - post '/api/rest/admin/cdr/cdr-exports' do + post '/api/rest/admin/cdr-exports' do parameter :type, 'Resource type (cdr-exports)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -86,7 +86,7 @@ end end - delete '/api/rest/admin/cdr/cdr-exports/:id' do + delete '/api/rest/admin/cdr-exports/:id' do let(:id) { create(:cdr_export).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/cdr/cdrs_spec.rb b/spec/acceptance/rest/admin/api/cdrs_spec.rb similarity index 86% rename from spec/acceptance/rest/admin/api/cdr/cdrs_spec.rb rename to spec/acceptance/rest/admin/api/cdrs_spec.rb index 70fbd8a0e..9db89052f 100644 --- a/spec/acceptance/rest/admin/api/cdr/cdrs_spec.rb +++ b/spec/acceptance/rest/admin/api/cdrs_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'cdrs' } - get '/api/rest/admin/cdr/cdrs' do - jsonapi_filters Api::Rest::Admin::Cdr::CdrResource._allowed_filters + get '/api/rest/admin/cdrs' do + jsonapi_filters Api::Rest::Admin::CdrResource._allowed_filters before do create_list(:cdr, 2) @@ -23,7 +23,7 @@ end end - get '/api/rest/admin/cdr/cdrs/:id' do + get '/api/rest/admin/cdrs/:id' do let(:id) { create(:cdr).id } example_request 'get specific entry' do @@ -31,7 +31,7 @@ end end - get '/api/rest/admin/cdr/cdrs/:id/recording' do + get '/api/rest/admin/cdrs/:id/recording' do let(:id) { create(:cdr, audio_recorded: true).id } example_request 'get recording' do @@ -39,7 +39,7 @@ end end - patch '/api/rest/admin/cdr/cdrs/:id' do + patch '/api/rest/admin/cdrs/:id' do with_options scope: :data, with_example: true do parameter :type, 'Resource type (cdrs)', required: true parameter :id, 'CDR ID', required: true diff --git a/spec/acceptance/rest/admin/api/routing/destination_next_rates_spec.rb b/spec/acceptance/rest/admin/api/destination_next_rates_spec.rb similarity index 84% rename from spec/acceptance/rest/admin/api/routing/destination_next_rates_spec.rb rename to spec/acceptance/rest/admin/api/destination_next_rates_spec.rb index 0714b0d60..68379d3d8 100644 --- a/spec/acceptance/rest/admin/api/routing/destination_next_rates_spec.rb +++ b/spec/acceptance/rest/admin/api/destination_next_rates_spec.rb @@ -19,8 +19,8 @@ optional_params = %i[external-id] required_relationships = %i[destination] - get '/api/rest/admin/routing/destination-next-rates' do - jsonapi_filters Api::Rest::Admin::Routing::DestinationNextRateResource._allowed_filters + get '/api/rest/admin/destination-next-rates' do + jsonapi_filters Api::Rest::Admin::DestinationNextRateResource._allowed_filters before { create_list(:destination_next_rate, 2, destination: destination) } @@ -29,7 +29,7 @@ end end - get '/api/rest/admin/routing/destination-next-rates/:id' do + get '/api/rest/admin/destination-next-rates/:id' do let(:id) { create(:destination_next_rate, destination: destination).id } example_request 'get specific entry' do @@ -37,7 +37,7 @@ end end - post '/api/rest/admin/routing/destination-next-rates' do + post '/api/rest/admin/destination-next-rates' do parameter :type, 'Resource type (destinations-next-rates)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -57,7 +57,7 @@ end end - put '/api/rest/admin/routing/destination-next-rates/:id' do + put '/api/rest/admin/destination-next-rates/:id' do parameter :type, 'Resource type (destinations-next-rates)', scope: :data, required: true parameter :id, 'Destination next rate ID', scope: :data, required: true @@ -71,7 +71,7 @@ end end - delete '/api/rest/admin/routing/destination-next-rates/:id' do + delete '/api/rest/admin/destination-next-rates/:id' do let(:id) { create(:destination_next_rate).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/routing/destinations_spec.rb b/spec/acceptance/rest/admin/api/destinations_spec.rb similarity index 88% rename from spec/acceptance/rest/admin/api/routing/destinations_spec.rb rename to spec/acceptance/rest/admin/api/destinations_spec.rb index 2a9781587..2e661ada4 100644 --- a/spec/acceptance/rest/admin/api/routing/destinations_spec.rb +++ b/spec/acceptance/rest/admin/api/destinations_spec.rb @@ -23,8 +23,8 @@ required_relationships = %i[rate-group] optional_relationships = %i[routing-tag-modes] - get '/api/rest/admin/routing/destinations' do - jsonapi_filters Api::Rest::Admin::Routing::DestinationResource._allowed_filters + get '/api/rest/admin/destinations' do + jsonapi_filters Api::Rest::Admin::DestinationResource._allowed_filters before { create_list(:destination, 2) } @@ -33,7 +33,7 @@ end end - get '/api/rest/admin/routing/destinations/:id' do + get '/api/rest/admin/destinations/:id' do let(:id) { create(:destination).id } example_request 'get specific entry' do @@ -41,7 +41,7 @@ end end - post '/api/rest/admin/routing/destinations' do + post '/api/rest/admin/destinations' do parameter :type, 'Resource type (destinations)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -68,7 +68,7 @@ end end - put '/api/rest/admin/routing/destinations/:id' do + put '/api/rest/admin/destinations/:id' do parameter :type, 'Resource type (destinations)', scope: :data, required: true parameter :id, 'Destination ID', scope: :data, required: true @@ -82,7 +82,7 @@ end end - delete '/api/rest/admin/routing/destinations/:id' do + delete '/api/rest/admin/destinations/:id' do let(:id) { create(:destination).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/system/dtmf_receive_modes_spec.rb b/spec/acceptance/rest/admin/api/dtmf_receive_modes_spec.rb similarity index 76% rename from spec/acceptance/rest/admin/api/system/dtmf_receive_modes_spec.rb rename to spec/acceptance/rest/admin/api/dtmf_receive_modes_spec.rb index a83b4cdb9..0c70351b9 100644 --- a/spec/acceptance/rest/admin/api/system/dtmf_receive_modes_spec.rb +++ b/spec/acceptance/rest/admin/api/dtmf_receive_modes_spec.rb @@ -11,15 +11,15 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'dtmf-receive-modes' } - get '/api/rest/admin/system/dtmf-receive-modes' do - jsonapi_filters Api::Rest::Admin::System::DtmfReceiveModeResource._allowed_filters + get '/api/rest/admin/dtmf-receive-modes' do + jsonapi_filters Api::Rest::Admin::DtmfReceiveModeResource._allowed_filters example_request 'get listing' do expect(status).to eq(200) end end - get '/api/rest/admin/system/dtmf-receive-modes/:id' do + get '/api/rest/admin/dtmf-receive-modes/:id' do let(:id) { System::DtmfReceiveMode.first.id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/system/dtmf_send_modes_spec.rb b/spec/acceptance/rest/admin/api/dtmf_send_modes_spec.rb similarity index 76% rename from spec/acceptance/rest/admin/api/system/dtmf_send_modes_spec.rb rename to spec/acceptance/rest/admin/api/dtmf_send_modes_spec.rb index 7ed8171d1..2d8bf5f6f 100644 --- a/spec/acceptance/rest/admin/api/system/dtmf_send_modes_spec.rb +++ b/spec/acceptance/rest/admin/api/dtmf_send_modes_spec.rb @@ -11,15 +11,15 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'dtmf-send-modes' } - get '/api/rest/admin/system/dtmf-send-modes' do - jsonapi_filters Api::Rest::Admin::System::DtmfSendModeResource._allowed_filters + get '/api/rest/admin/dtmf-send-modes' do + jsonapi_filters Api::Rest::Admin::DtmfSendModeResource._allowed_filters example_request 'get listing' do expect(status).to eq(200) end end - get '/api/rest/admin/system/dtmf-send-modes/:id' do + get '/api/rest/admin/dtmf-send-modes/:id' do let(:id) { System::DtmfSendMode.first.id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/equipment/gateway_inband_dtmf_filtering_modes_spec.rb b/spec/acceptance/rest/admin/api/gateway_inband_dtmf_filtering_modes_spec.rb similarity index 72% rename from spec/acceptance/rest/admin/api/equipment/gateway_inband_dtmf_filtering_modes_spec.rb rename to spec/acceptance/rest/admin/api/gateway_inband_dtmf_filtering_modes_spec.rb index 0dc7c3437..ccfba42bb 100644 --- a/spec/acceptance/rest/admin/api/equipment/gateway_inband_dtmf_filtering_modes_spec.rb +++ b/spec/acceptance/rest/admin/api/gateway_inband_dtmf_filtering_modes_spec.rb @@ -11,15 +11,15 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'gateway-inband-dtmf-filtering-modes' } - get '/api/rest/admin/equipment/gateway-inband-dtmf-filtering-modes' do - jsonapi_filters Api::Rest::Admin::Equipment::GatewayInbandDtmfFilteringModeResource._allowed_filters + get '/api/rest/admin/gateway-inband-dtmf-filtering-modes' do + jsonapi_filters Api::Rest::Admin::GatewayInbandDtmfFilteringModeResource._allowed_filters example_request 'get listing' do expect(status).to eq(200) end end - get '/api/rest/admin/equipment/gateway-inband-dtmf-filtering-modes/:id' do + get '/api/rest/admin/gateway-inband-dtmf-filtering-modes/:id' do let(:id) { Equipment::GatewayInbandDtmfFilteringMode.first.id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/equipment/gateway_media_encryption_modes_spec.rb b/spec/acceptance/rest/admin/api/gateway_media_encryption_modes_spec.rb similarity index 73% rename from spec/acceptance/rest/admin/api/equipment/gateway_media_encryption_modes_spec.rb rename to spec/acceptance/rest/admin/api/gateway_media_encryption_modes_spec.rb index 305e88378..57c0c5702 100644 --- a/spec/acceptance/rest/admin/api/equipment/gateway_media_encryption_modes_spec.rb +++ b/spec/acceptance/rest/admin/api/gateway_media_encryption_modes_spec.rb @@ -11,15 +11,15 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'gateway-media-encryption-modes' } - get '/api/rest/admin/equipment/gateway-media-encryption-modes' do - jsonapi_filters Api::Rest::Admin::Equipment::GatewayMediaEncryptionModeResource._allowed_filters + get '/api/rest/admin/gateway-media-encryption-modes' do + jsonapi_filters Api::Rest::Admin::GatewayMediaEncryptionModeResource._allowed_filters example_request 'get listing' do expect(status).to eq(200) end end - get '/api/rest/admin/equipment/gateway-media-encryption-modes/:id' do + get '/api/rest/admin/gateway-media-encryption-modes/:id' do let(:id) { Equipment::GatewayMediaEncryptionMode.first.id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/equipment/gateway_network_protocol_priorities_spec.rb b/spec/acceptance/rest/admin/api/gateway_network_protocol_priorities_spec.rb similarity index 72% rename from spec/acceptance/rest/admin/api/equipment/gateway_network_protocol_priorities_spec.rb rename to spec/acceptance/rest/admin/api/gateway_network_protocol_priorities_spec.rb index a262a9c55..caed96ae1 100644 --- a/spec/acceptance/rest/admin/api/equipment/gateway_network_protocol_priorities_spec.rb +++ b/spec/acceptance/rest/admin/api/gateway_network_protocol_priorities_spec.rb @@ -11,15 +11,15 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'gateway-network-protocol-priorities' } - get '/api/rest/admin/equipment/gateway-network-protocol-priorities' do - jsonapi_filters Api::Rest::Admin::Equipment::GatewayNetworkProtocolPriorityResource._allowed_filters + get '/api/rest/admin/gateway-network-protocol-priorities' do + jsonapi_filters Api::Rest::Admin::GatewayNetworkProtocolPriorityResource._allowed_filters example_request 'get listing' do expect(status).to eq(200) end end - get '/api/rest/admin/equipment/gateway-network-protocol-priorities/:id' do + get '/api/rest/admin/gateway-network-protocol-priorities/:id' do let(:id) { Equipment::GatewayNetworkProtocolPriority.first.id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/equipment/gateway_rel100_modes_spec.rb b/spec/acceptance/rest/admin/api/gateway_rel100_modes_spec.rb similarity index 75% rename from spec/acceptance/rest/admin/api/equipment/gateway_rel100_modes_spec.rb rename to spec/acceptance/rest/admin/api/gateway_rel100_modes_spec.rb index 51ffcbfc9..325377ff9 100644 --- a/spec/acceptance/rest/admin/api/equipment/gateway_rel100_modes_spec.rb +++ b/spec/acceptance/rest/admin/api/gateway_rel100_modes_spec.rb @@ -11,15 +11,15 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'gateway-rel100-modes' } - get '/api/rest/admin/equipment/gateway-rel100-modes' do - jsonapi_filters Api::Rest::Admin::Equipment::GatewayRel100ModeResource._allowed_filters + get '/api/rest/admin/gateway-rel100-modes' do + jsonapi_filters Api::Rest::Admin::GatewayRel100ModeResource._allowed_filters example_request 'get listing' do expect(status).to eq(200) end end - get '/api/rest/admin/equipment/gateway-rel100-modes/:id' do + get '/api/rest/admin/gateway-rel100-modes/:id' do let(:id) { Equipment::GatewayRel100Mode.first.id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/billing/invoice_originated_destinations_spec.rb b/spec/acceptance/rest/admin/api/invoice_originated_destinations_spec.rb similarity index 75% rename from spec/acceptance/rest/admin/api/billing/invoice_originated_destinations_spec.rb rename to spec/acceptance/rest/admin/api/invoice_originated_destinations_spec.rb index a1f7690ba..906a19f80 100644 --- a/spec/acceptance/rest/admin/api/billing/invoice_originated_destinations_spec.rb +++ b/spec/acceptance/rest/admin/api/invoice_originated_destinations_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'invoice-originated-destinations' } - get '/api/rest/admin/billing/invoice-originated-destinations' do - jsonapi_filters Api::Rest::Admin::Billing::InvoiceOriginatedDestinationResource._allowed_filters + get '/api/rest/admin/invoice-originated-destinations' do + jsonapi_filters Api::Rest::Admin::InvoiceOriginatedDestinationResource._allowed_filters before { create_list(:invoice_originated_destination, 2, :filled) } @@ -21,7 +21,7 @@ end end - get '/api/rest/admin/billing/invoice-originated-destinations/:id' do + get '/api/rest/admin/invoice-originated-destinations/:id' do let(:id) { create(:invoice_originated_destination, :filled).id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/billing/invoice_originated_networks_spec.rb b/spec/acceptance/rest/admin/api/invoice_originated_networks_spec.rb similarity index 76% rename from spec/acceptance/rest/admin/api/billing/invoice_originated_networks_spec.rb rename to spec/acceptance/rest/admin/api/invoice_originated_networks_spec.rb index 5b03ceeda..e42d0f06a 100644 --- a/spec/acceptance/rest/admin/api/billing/invoice_originated_networks_spec.rb +++ b/spec/acceptance/rest/admin/api/invoice_originated_networks_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'invoice-originated-networks' } - get '/api/rest/admin/billing/invoice-originated-networks' do - jsonapi_filters Api::Rest::Admin::Billing::InvoiceOriginatedNetworkResource._allowed_filters + get '/api/rest/admin/invoice-originated-networks' do + jsonapi_filters Api::Rest::Admin::InvoiceOriginatedNetworkResource._allowed_filters before { create_list(:invoice_originated_network, 2, :filled) } @@ -21,7 +21,7 @@ end end - get '/api/rest/admin/billing/invoice-originated-networks/:id' do + get '/api/rest/admin/invoice-originated-networks/:id' do let(:id) { create(:invoice_originated_network, :filled).id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/billing/invoice_service_data_spec.rb b/spec/acceptance/rest/admin/api/invoice_service_data_spec.rb similarity index 77% rename from spec/acceptance/rest/admin/api/billing/invoice_service_data_spec.rb rename to spec/acceptance/rest/admin/api/invoice_service_data_spec.rb index 2f6562ae8..fe15b5348 100644 --- a/spec/acceptance/rest/admin/api/billing/invoice_service_data_spec.rb +++ b/spec/acceptance/rest/admin/api/invoice_service_data_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'invoice-service-data' } - get '/api/rest/admin/billing/invoice-service-data' do - jsonapi_filters Api::Rest::Admin::Billing::InvoiceServiceDatumResource._allowed_filters + get '/api/rest/admin/invoice-service-data' do + jsonapi_filters Api::Rest::Admin::InvoiceServiceDatumResource._allowed_filters before { create_list(:invoice_service_data, 2, :filled) } @@ -21,7 +21,7 @@ end end - get '/api/rest/admin/billing/invoice-service-data/:id' do + get '/api/rest/admin/invoice-service-data/:id' do let(:id) { create(:invoice_service_data, :filled).id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/billing/invoice_template_spec.rb b/spec/acceptance/rest/admin/api/invoice_template_spec.rb similarity index 79% rename from spec/acceptance/rest/admin/api/billing/invoice_template_spec.rb rename to spec/acceptance/rest/admin/api/invoice_template_spec.rb index 569482db3..b4820ca0c 100644 --- a/spec/acceptance/rest/admin/api/billing/invoice_template_spec.rb +++ b/spec/acceptance/rest/admin/api/invoice_template_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'invoice-templates' } - get '/api/rest/admin/billing/invoice-template' do - jsonapi_filters Api::Rest::Admin::Billing::InvoiceTemplateResource._allowed_filters + get '/api/rest/admin/invoice-template' do + jsonapi_filters Api::Rest::Admin::InvoiceTemplateResource._allowed_filters before { create_list(:invoice_template, 2) } @@ -21,7 +21,7 @@ end end - get '/api/rest/admin/billing/invoice-template/:id' do + get '/api/rest/admin/invoice-template/:id' do let(:id) { create(:invoice_template).id } example_request 'get specific entry' do @@ -29,7 +29,7 @@ end end - post '/api/rest/admin/billing/invoice-template' do + post '/api/rest/admin/invoice-template' do parameter :type, 'Resource type (invoice-templates)', scope: :data, required: true jsonapi_attributes(%i[name filename], []) @@ -42,7 +42,7 @@ end end - put '/api/rest/admin/billing/invoice-template/:id' do + put '/api/rest/admin/invoice-template/:id' do parameter :type, 'Resource type (invoice-templates)', scope: :data, required: true parameter :id, 'Invoice template ID', scope: :data, required: true @@ -56,7 +56,7 @@ end end - delete '/api/rest/admin/billing/invoice-template/:id' do + delete '/api/rest/admin/invoice-template/:id' do let(:id) { create(:invoice_template).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/billing/invoice_terminated_destinations_spec.rb b/spec/acceptance/rest/admin/api/invoice_terminated_destinations_spec.rb similarity index 75% rename from spec/acceptance/rest/admin/api/billing/invoice_terminated_destinations_spec.rb rename to spec/acceptance/rest/admin/api/invoice_terminated_destinations_spec.rb index 92ca4a8b7..11bd2df68 100644 --- a/spec/acceptance/rest/admin/api/billing/invoice_terminated_destinations_spec.rb +++ b/spec/acceptance/rest/admin/api/invoice_terminated_destinations_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'invoice-terminated-destinations' } - get '/api/rest/admin/billing/invoice-terminated-destinations' do - jsonapi_filters Api::Rest::Admin::Billing::InvoiceTerminatedDestinationResource._allowed_filters + get '/api/rest/admin/invoice-terminated-destinations' do + jsonapi_filters Api::Rest::Admin::InvoiceTerminatedDestinationResource._allowed_filters before { create_list(:invoice_terminated_destination, 2, :filled) } @@ -21,7 +21,7 @@ end end - get '/api/rest/admin/billing/invoice-terminated-destinations/:id' do + get '/api/rest/admin/invoice-terminated-destinations/:id' do let(:id) { create(:invoice_terminated_destination, :filled).id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/billing/invoice_terminated_networks_spec.rb b/spec/acceptance/rest/admin/api/invoice_terminated_networks_spec.rb similarity index 76% rename from spec/acceptance/rest/admin/api/billing/invoice_terminated_networks_spec.rb rename to spec/acceptance/rest/admin/api/invoice_terminated_networks_spec.rb index 35ca67cf9..2116dcc4a 100644 --- a/spec/acceptance/rest/admin/api/billing/invoice_terminated_networks_spec.rb +++ b/spec/acceptance/rest/admin/api/invoice_terminated_networks_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'invoice-terminated-networks' } - get '/api/rest/admin/billing/invoice-terminated-networks' do - jsonapi_filters Api::Rest::Admin::Billing::InvoiceTerminatedNetworkResource._allowed_filters + get '/api/rest/admin/invoice-terminated-networks' do + jsonapi_filters Api::Rest::Admin::InvoiceTerminatedNetworkResource._allowed_filters before { create_list(:invoice_terminated_network, 2, :filled) } @@ -21,7 +21,7 @@ end end - get '/api/rest/admin/billing/invoice-terminated-networks/:id' do + get '/api/rest/admin/invoice-terminated-networks/:id' do let(:id) { create(:invoice_terminated_network, :filled).id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/billing/invoices_spec.rb b/spec/acceptance/rest/admin/api/invoices_spec.rb similarity index 83% rename from spec/acceptance/rest/admin/api/billing/invoices_spec.rb rename to spec/acceptance/rest/admin/api/invoices_spec.rb index e6f5059d8..691b45697 100644 --- a/spec/acceptance/rest/admin/api/billing/invoices_spec.rb +++ b/spec/acceptance/rest/admin/api/invoices_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'invoices' } - get '/api/rest/admin/billing/invoices' do - jsonapi_filters Api::Rest::Admin::Billing::InvoiceResource._allowed_filters + get '/api/rest/admin/invoices' do + jsonapi_filters Api::Rest::Admin::InvoiceResource._allowed_filters before do create_list(:invoice, 2, :approved, :auto_full, :with_vendor_account) @@ -23,7 +23,7 @@ end end - get '/api/rest/admin/billing/invoices/:id' do + get '/api/rest/admin/invoices/:id' do let(:id) { create(:invoice, :approved, :auto_full, :with_vendor_account).id } example_request 'get specific entry' do @@ -31,7 +31,7 @@ end end - post '/api/rest/admin/billing/invoices' do + post '/api/rest/admin/invoices' do parameter :type, 'Resource type (invoices)', scope: :data, required: true jsonapi_attributes(%i[start-date end-date], []) @@ -47,7 +47,7 @@ end end - delete '/api/rest/admin/billing/invoices/:id' do + delete '/api/rest/admin/invoices/:id' do let(:id) { create(:invoice, :approved, :auto_full, :with_vendor_account).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/system/network_types_spec.rb b/spec/acceptance/rest/admin/api/network_types_spec.rb similarity index 82% rename from spec/acceptance/rest/admin/api/system/network_types_spec.rb rename to spec/acceptance/rest/admin/api/network_types_spec.rb index f20d70246..5a347de92 100644 --- a/spec/acceptance/rest/admin/api/system/network_types_spec.rb +++ b/spec/acceptance/rest/admin/api/network_types_spec.rb @@ -13,8 +13,8 @@ required_params = %i[name] - get '/api/rest/admin/system/network-types' do - jsonapi_filters Api::Rest::Admin::System::NetworkTypeResource._allowed_filters + get '/api/rest/admin/network-types' do + jsonapi_filters Api::Rest::Admin::NetworkTypeResource._allowed_filters before do FactoryBot.create_list(:network_type, 2) @@ -25,7 +25,7 @@ end end - get '/api/rest/admin/system/network-types/:id' do + get '/api/rest/admin/network-types/:id' do let(:id) { FactoryBot.create(:network_type).id } example_request 'get specific entry' do @@ -33,7 +33,7 @@ end end - post '/api/rest/admin/system/network-types' do + post '/api/rest/admin/network-types' do parameter :type, 'Resource type (network-types)', scope: :data, required: true jsonapi_attributes(required_params, []) @@ -47,7 +47,7 @@ end end - put '/api/rest/admin/system/network-types/:id' do + put '/api/rest/admin/network-types/:id' do parameter :type, 'Resource type (network-types)', scope: :data, required: true parameter :id, 'Network Type ID', scope: :data, required: true @@ -62,7 +62,7 @@ end end - delete '/api/rest/admin/system/network-types/:id' do + delete '/api/rest/admin/network-types/:id' do let(:id) { FactoryBot.create(:network_type).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/system/networks_spec.rb b/spec/acceptance/rest/admin/api/networks_spec.rb similarity index 86% rename from spec/acceptance/rest/admin/api/system/networks_spec.rb rename to spec/acceptance/rest/admin/api/networks_spec.rb index b21c1dc47..d52659f31 100644 --- a/spec/acceptance/rest/admin/api/system/networks_spec.rb +++ b/spec/acceptance/rest/admin/api/networks_spec.rb @@ -14,8 +14,8 @@ required_params = %i[name] required_relationships = %i[network-type] - get '/api/rest/admin/system/networks' do - jsonapi_filters Api::Rest::Admin::System::NetworkResource._allowed_filters + get '/api/rest/admin/networks' do + jsonapi_filters Api::Rest::Admin::NetworkResource._allowed_filters before do System::NetworkPrefix.delete_all @@ -28,7 +28,7 @@ end end - get '/api/rest/admin/system/networks/:id' do + get '/api/rest/admin/networks/:id' do let!(:network) { create(:network) } let(:id) { network.id } @@ -37,7 +37,7 @@ end end - post '/api/rest/admin/system/networks' do + post '/api/rest/admin/networks' do parameter :type, 'Resource type (networks)', scope: :data, required: true jsonapi_attributes(required_params, []) @@ -53,7 +53,7 @@ end end - put '/api/rest/admin/system/networks/:id' do + put '/api/rest/admin/networks/:id' do parameter :type, 'Resource type (networks)', scope: :data, required: true parameter :id, 'Network ID', scope: :data, required: true @@ -71,7 +71,7 @@ end end - delete '/api/rest/admin/system/networks/:id' do + delete '/api/rest/admin/networks/:id' do let(:id) { create(:network).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/routing/numberlist_items_spec.rb b/spec/acceptance/rest/admin/api/numberlist_items_spec.rb similarity index 80% rename from spec/acceptance/rest/admin/api/routing/numberlist_items_spec.rb rename to spec/acceptance/rest/admin/api/numberlist_items_spec.rb index 2cbb8084f..bb40f6e7e 100644 --- a/spec/acceptance/rest/admin/api/routing/numberlist_items_spec.rb +++ b/spec/acceptance/rest/admin/api/numberlist_items_spec.rb @@ -23,8 +23,8 @@ tag-action ] - get '/api/rest/admin/routing/numberlist-items' do - jsonapi_filters Api::Rest::Admin::Routing::NumberlistItemResource._allowed_filters + get '/api/rest/admin/numberlist-items' do + jsonapi_filters Api::Rest::Admin::NumberlistItemResource._allowed_filters let(:collection) { create_list(:numberlist_item, 2) } @@ -33,7 +33,7 @@ end end - get '/api/rest/admin/routing/numberlist-items/:id' do + get '/api/rest/admin/numberlist-items/:id' do let(:id) { record.id } example_request 'get specific entry' do @@ -41,9 +41,9 @@ end end - include_context :acceptance_delete, namespace: 'routing', type: 'numberlist-items' + include_context :acceptance_delete, type: 'numberlist-items' - post '/api/rest/admin/routing/numberlist-items' do + post '/api/rest/admin/numberlist-items' do parameter :type, 'Resource type (numberlist-items)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -57,7 +57,7 @@ end end - put '/api/rest/admin/routing/numberlist-items/:id' do + put '/api/rest/admin/numberlist-items/:id' do parameter :type, 'Resource type (numberlist-items)', scope: :data, required: true parameter :id, 'Numberlist Item ID', scope: :data, required: true diff --git a/spec/acceptance/rest/admin/api/routing/numberlists_spec.rb b/spec/acceptance/rest/admin/api/numberlists_spec.rb similarity index 84% rename from spec/acceptance/rest/admin/api/routing/numberlists_spec.rb rename to spec/acceptance/rest/admin/api/numberlists_spec.rb index 0118d7950..b76837689 100644 --- a/spec/acceptance/rest/admin/api/routing/numberlists_spec.rb +++ b/spec/acceptance/rest/admin/api/numberlists_spec.rb @@ -30,10 +30,10 @@ tag-action ] - include_context :acceptance_index_show, namespace: 'routing', type: 'numberlists' - include_context :acceptance_delete, namespace: 'routing', type: 'numberlists' + include_context :acceptance_index_show, type: 'numberlists' + include_context :acceptance_delete, type: 'numberlists' - post '/api/rest/admin/routing/numberlists' do + post '/api/rest/admin/numberlists' do parameter :type, 'Resource type (numberlist)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -46,7 +46,7 @@ end end - put '/api/rest/admin/routing/numberlists/:id' do + put '/api/rest/admin/numberlists/:id' do parameter :type, 'Resource type (numberlist)', scope: :data, required: true parameter :id, 'Customer Auth ID', scope: :data, required: true diff --git a/spec/acceptance/rest/admin/api/routing/rateplans_spec.rb b/spec/acceptance/rest/admin/api/rateplans_spec.rb similarity index 83% rename from spec/acceptance/rest/admin/api/routing/rateplans_spec.rb rename to spec/acceptance/rest/admin/api/rateplans_spec.rb index 2d2006ac5..c72337f4e 100644 --- a/spec/acceptance/rest/admin/api/routing/rateplans_spec.rb +++ b/spec/acceptance/rest/admin/api/rateplans_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'rateplans' } - get '/api/rest/admin/routing/rateplans' do - jsonapi_filters Api::Rest::Admin::Routing::RateplanResource._allowed_filters + get '/api/rest/admin/rateplans' do + jsonapi_filters Api::Rest::Admin::RateplanResource._allowed_filters before { create_list(:rateplan, 2) } @@ -21,7 +21,7 @@ end end - get '/api/rest/admin/routing/rateplans/:id' do + get '/api/rest/admin/rateplans/:id' do let(:id) { create(:rateplan).id } example_request 'get specific entry' do @@ -29,7 +29,7 @@ end end - post '/api/rest/admin/routing/rateplans' do + post '/api/rest/admin/rateplans' do parameter :type, 'Resource type (rateplans)', scope: :data, required: true jsonapi_attributes([:name], [:'profit-control-mode-id']) @@ -43,7 +43,7 @@ end end - put '/api/rest/admin/routing/rateplans/:id' do + put '/api/rest/admin/rateplans/:id' do parameter :type, 'Resource type (rateplans)', scope: :data, required: true parameter :id, 'Rateplan ID', scope: :data, required: true @@ -59,7 +59,7 @@ end end - delete '/api/rest/admin/routing/rateplans/:id' do + delete '/api/rest/admin/rateplans/:id' do let(:id) { create(:rateplan).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/routing/routeset_discriminators_spec.rb b/spec/acceptance/rest/admin/api/routeset_discriminators_spec.rb similarity index 78% rename from spec/acceptance/rest/admin/api/routing/routeset_discriminators_spec.rb rename to spec/acceptance/rest/admin/api/routeset_discriminators_spec.rb index 8ff82ea4d..27ddffbfa 100644 --- a/spec/acceptance/rest/admin/api/routing/routeset_discriminators_spec.rb +++ b/spec/acceptance/rest/admin/api/routeset_discriminators_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'routeset-discriminators' } - get '/api/rest/admin/routing/routeset-discriminators' do - jsonapi_filters Api::Rest::Admin::Routing::RoutesetDiscriminatorResource._allowed_filters + get '/api/rest/admin/routeset-discriminators' do + jsonapi_filters Api::Rest::Admin::RoutesetDiscriminatorResource._allowed_filters before { create_list(:routeset_discriminator, 2) } @@ -21,7 +21,7 @@ end end - get '/api/rest/admin/routing/routeset-discriminators/:id' do + get '/api/rest/admin/routeset-discriminators/:id' do let(:id) { create(:routeset_discriminator).id } example_request 'get specific entry' do @@ -29,7 +29,7 @@ end end - post '/api/rest/admin/routing/routeset-discriminators' do + post '/api/rest/admin/routeset-discriminators' do parameter :type, 'Resource type (routeset-discriminators)', scope: :data, required: true jsonapi_attributes([:name], []) @@ -41,7 +41,7 @@ end end - put '/api/rest/admin/routing/routeset-discriminators/:id' do + put '/api/rest/admin/routeset-discriminators/:id' do parameter :type, 'Resource type (routeset-discriminators)', scope: :data, required: true parameter :id, 'Routing group ID', scope: :data, required: true @@ -55,7 +55,7 @@ end end - delete '/api/rest/admin/routing/routeset-discriminators/:id' do + delete '/api/rest/admin/routeset-discriminators/:id' do let(:id) { create(:routeset_discriminator).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/routing/routing_groups_spec.rb b/spec/acceptance/rest/admin/api/routing_groups_spec.rb similarity index 79% rename from spec/acceptance/rest/admin/api/routing/routing_groups_spec.rb rename to spec/acceptance/rest/admin/api/routing_groups_spec.rb index c86bfdb7c..5d1ab46f2 100644 --- a/spec/acceptance/rest/admin/api/routing/routing_groups_spec.rb +++ b/spec/acceptance/rest/admin/api/routing_groups_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'routing-groups' } - get '/api/rest/admin/routing/routing-groups' do - jsonapi_filters Api::Rest::Admin::Routing::RoutingGroupResource._allowed_filters + get '/api/rest/admin/routing-groups' do + jsonapi_filters Api::Rest::Admin::RoutingGroupResource._allowed_filters before { create_list(:routing_group, 2) } @@ -21,7 +21,7 @@ end end - get '/api/rest/admin/routing/routing-groups/:id' do + get '/api/rest/admin/routing-groups/:id' do let(:id) { create(:routing_group).id } example_request 'get specific entry' do @@ -29,7 +29,7 @@ end end - post '/api/rest/admin/routing/routing-groups' do + post '/api/rest/admin/routing-groups' do parameter :type, 'Resource type (routing-groups)', scope: :data, required: true jsonapi_attributes([:name], []) @@ -41,7 +41,7 @@ end end - put '/api/rest/admin/routing/routing-groups/:id' do + put '/api/rest/admin/routing-groups/:id' do parameter :type, 'Resource type (routing-groups)', scope: :data, required: true parameter :id, 'Routing group ID', scope: :data, required: true @@ -55,7 +55,7 @@ end end - delete '/api/rest/admin/routing/routing-groups/:id' do + delete '/api/rest/admin/routing-groups/:id' do let(:id) { create(:routing_group).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/routing/routing_tag_detection_rules_spec.rb b/spec/acceptance/rest/admin/api/routing_tag_detection_rules_spec.rb similarity index 80% rename from spec/acceptance/rest/admin/api/routing/routing_tag_detection_rules_spec.rb rename to spec/acceptance/rest/admin/api/routing_tag_detection_rules_spec.rb index 8694e1576..592c00246 100644 --- a/spec/acceptance/rest/admin/api/routing/routing_tag_detection_rules_spec.rb +++ b/spec/acceptance/rest/admin/api/routing_tag_detection_rules_spec.rb @@ -22,10 +22,10 @@ required_relationships = %i[] optional_relationships = %i[src-area dst-area tag-action routing-tag-modes] - include_context :acceptance_index_show, namespace: 'routing', type: 'routing-tag-detection-rules' - include_context :acceptance_delete, namespace: 'routing', type: 'routing-tag-detection-rules' + include_context :acceptance_index_show, type: 'routing-tag-detection-rules' + include_context :acceptance_delete, type: 'routing-tag-detection-rules' - post '/api/rest/admin/routing/routing-tag-detection-rules' do + post '/api/rest/admin/routing-tag-detection-rules' do parameter :type, 'Resource type (routing-tag-detection-rules)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -36,7 +36,7 @@ end end - put '/api/rest/admin/routing/routing-tag-detection-rules/:id' do + put '/api/rest/admin/routing-tag-detection-rules/:id' do parameter :type, 'Resource type (routing-tag-detection-rules)', scope: :data, required: true parameter :id, 'ID', scope: :data, required: true diff --git a/spec/acceptance/rest/admin/api/routing/routing_tag_modes_spec.rb b/spec/acceptance/rest/admin/api/routing_tag_modes_spec.rb similarity index 74% rename from spec/acceptance/rest/admin/api/routing/routing_tag_modes_spec.rb rename to spec/acceptance/rest/admin/api/routing_tag_modes_spec.rb index e7f057931..6189ec175 100644 --- a/spec/acceptance/rest/admin/api/routing/routing_tag_modes_spec.rb +++ b/spec/acceptance/rest/admin/api/routing_tag_modes_spec.rb @@ -8,5 +8,5 @@ let(:collection) { Routing::RoutingTagMode.all } let(:record) { Routing::RoutingTagMode.take } - include_context :acceptance_index_show, namespace: 'routing', type: 'routing-tag-modes' + include_context :acceptance_index_show, type: 'routing-tag-modes' end diff --git a/spec/acceptance/rest/admin/api/routing/routing_tags_spec.rb b/spec/acceptance/rest/admin/api/routing_tags_spec.rb similarity index 81% rename from spec/acceptance/rest/admin/api/routing/routing_tags_spec.rb rename to spec/acceptance/rest/admin/api/routing_tags_spec.rb index ca7956241..8c2141d0e 100644 --- a/spec/acceptance/rest/admin/api/routing/routing_tags_spec.rb +++ b/spec/acceptance/rest/admin/api/routing_tags_spec.rb @@ -18,10 +18,10 @@ optional_relationships = %i[] - include_context :acceptance_index_show, namespace: 'routing', type: 'routing-tags' - include_context :acceptance_delete, namespace: 'routing', type: 'routing-tags' + include_context :acceptance_index_show, type: 'routing-tags' + include_context :acceptance_delete, type: 'routing-tags' - post '/api/rest/admin/routing/routing-tags' do + post '/api/rest/admin/routing-tags' do parameter :type, 'Resource type (routing-tags)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -34,7 +34,7 @@ end end - put '/api/rest/admin/routing/routing-tags/:id' do + put '/api/rest/admin/routing-tags/:id' do parameter :type, 'Resource type (routing-tags)', scope: :data, required: true parameter :id, 'Customer Auth ID', scope: :data, required: true diff --git a/spec/acceptance/rest/admin/api/system/sensor_levels_spec.rb b/spec/acceptance/rest/admin/api/sensor_levels_spec.rb similarity index 77% rename from spec/acceptance/rest/admin/api/system/sensor_levels_spec.rb rename to spec/acceptance/rest/admin/api/sensor_levels_spec.rb index 47c6990e8..41e2113b7 100644 --- a/spec/acceptance/rest/admin/api/system/sensor_levels_spec.rb +++ b/spec/acceptance/rest/admin/api/sensor_levels_spec.rb @@ -11,15 +11,15 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'sensor-levels' } - get '/api/rest/admin/system/sensor-levels' do - jsonapi_filters Api::Rest::Admin::System::SensorLevelResource._allowed_filters + get '/api/rest/admin/sensor-levels' do + jsonapi_filters Api::Rest::Admin::SensorLevelResource._allowed_filters example_request 'get listing' do expect(status).to eq(200) end end - get '/api/rest/admin/system/sensor-levels/:id' do + get '/api/rest/admin/sensor-levels/:id' do let(:id) { System::SensorLevel.first.id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/system/sensors_spec.rb b/spec/acceptance/rest/admin/api/sensors_spec.rb similarity index 83% rename from spec/acceptance/rest/admin/api/system/sensors_spec.rb rename to spec/acceptance/rest/admin/api/sensors_spec.rb index 7b34cae86..3c52c1750 100644 --- a/spec/acceptance/rest/admin/api/system/sensors_spec.rb +++ b/spec/acceptance/rest/admin/api/sensors_spec.rb @@ -14,8 +14,8 @@ required_params = %i[name mode-id target-ip source-ip] optional_params = %i[source-interface target-mac use-routing] - get '/api/rest/admin/system/sensors' do - jsonapi_filters Api::Rest::Admin::System::SensorResource._allowed_filters + get '/api/rest/admin/sensors' do + jsonapi_filters Api::Rest::Admin::SensorResource._allowed_filters before { create_list(:sensor, 2) } @@ -24,7 +24,7 @@ end end - get '/api/rest/admin/system/sensors/:id' do + get '/api/rest/admin/sensors/:id' do let(:id) { create(:sensor).id } example_request 'get specific entry' do @@ -32,7 +32,7 @@ end end - post '/api/rest/admin/system/sensors' do + post '/api/rest/admin/sensors' do parameter :type, 'Resource type (sensors)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -47,7 +47,7 @@ end end - put '/api/rest/admin/system/sensors/:id' do + put '/api/rest/admin/sensors/:id' do parameter :type, 'Resource type (sensors)', scope: :data, required: true parameter :id, 'Sensor ID', scope: :data, required: true @@ -61,7 +61,7 @@ end end - delete '/api/rest/admin/system/sensors/:id' do + delete '/api/rest/admin/sensors/:id' do let(:id) { create(:sensor).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/billing/service_types_spec.rb b/spec/acceptance/rest/admin/api/service_types_spec.rb similarity index 82% rename from spec/acceptance/rest/admin/api/billing/service_types_spec.rb rename to spec/acceptance/rest/admin/api/service_types_spec.rb index 4ce5d505b..dc1255e4e 100644 --- a/spec/acceptance/rest/admin/api/billing/service_types_spec.rb +++ b/spec/acceptance/rest/admin/api/service_types_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'service-types' } - get '/api/rest/admin/billing/service-types' do - jsonapi_filters Api::Rest::Admin::Billing::ServiceTypeResource._allowed_filters + get '/api/rest/admin/service-types' do + jsonapi_filters Api::Rest::Admin::ServiceTypeResource._allowed_filters before do create_list(:service_type, 2) @@ -23,7 +23,7 @@ end end - get '/api/rest/admin/billing/service-types/:id' do + get '/api/rest/admin/service-types/:id' do let(:id) { create(:service_type).id } example_request 'get specific entry' do @@ -31,7 +31,7 @@ end end - post '/api/rest/admin/billing/service-types' do + post '/api/rest/admin/service-types' do parameter :type, 'Resource type (service-types)', scope: :data, required: true jsonapi_attributes(%i[name provisioning-class], %i[force-renew variables]) @@ -44,7 +44,7 @@ end end - put '/api/rest/admin/billing/service-types/:id' do + put '/api/rest/admin/service-types/:id' do parameter :type, 'Resource type (service-types)', scope: :data, required: true parameter :id, 'Service type ID', scope: :data, required: true @@ -59,7 +59,7 @@ end end - delete '/api/rest/admin/billing/service-types/:id' do + delete '/api/rest/admin/service-types/:id' do let(:id) { create(:service_type).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/billing/services_spec.rb b/spec/acceptance/rest/admin/api/services_spec.rb similarity index 86% rename from spec/acceptance/rest/admin/api/billing/services_spec.rb rename to spec/acceptance/rest/admin/api/services_spec.rb index a65312a4c..4c30d2273 100644 --- a/spec/acceptance/rest/admin/api/billing/services_spec.rb +++ b/spec/acceptance/rest/admin/api/services_spec.rb @@ -11,8 +11,8 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'services' } - get '/api/rest/admin/billing/services' do - jsonapi_filters Api::Rest::Admin::Billing::ServiceResource._allowed_filters + get '/api/rest/admin/services' do + jsonapi_filters Api::Rest::Admin::ServiceResource._allowed_filters before do create_list(:service, 2) @@ -23,7 +23,7 @@ end end - get '/api/rest/admin/billing/services/:id' do + get '/api/rest/admin/services/:id' do let(:id) { create(:service).id } example_request 'get specific entry' do @@ -31,7 +31,7 @@ end end - post '/api/rest/admin/billing/services' do + post '/api/rest/admin/services' do parameter :type, 'Resource type (services)', scope: :data, required: true jsonapi_attributes(%i[name initial-price renew-price], %i[renew-at renew-period variables]) @@ -50,7 +50,7 @@ end end - put '/api/rest/admin/billing/services/:id' do + put '/api/rest/admin/services/:id' do parameter :type, 'Resource type (services)', scope: :data, required: true parameter :id, 'Service type ID', scope: :data, required: true diff --git a/spec/acceptance/rest/admin/api/equipment/sip_options_probers_spec.rb b/spec/acceptance/rest/admin/api/sip_options_probers_spec.rb similarity index 85% rename from spec/acceptance/rest/admin/api/equipment/sip_options_probers_spec.rb rename to spec/acceptance/rest/admin/api/sip_options_probers_spec.rb index 81790cfe9..6f626a958 100644 --- a/spec/acceptance/rest/admin/api/equipment/sip_options_probers_spec.rb +++ b/spec/acceptance/rest/admin/api/sip_options_probers_spec.rb @@ -32,8 +32,8 @@ required_relationships = %i[transport-protocol proxy-transport-protocol] optional_relationships = %i[node pop] - get '/api/rest/admin/equipment/sip-options-probers' do - jsonapi_filters Api::Rest::Admin::Equipment::SipOptionsProberResource._allowed_filters + get '/api/rest/admin/sip-options-probers' do + jsonapi_filters Api::Rest::Admin::SipOptionsProberResource._allowed_filters let!(:sip_options_probers) { create_list(:sip_options_prober, 2) } @@ -42,7 +42,7 @@ end end - get '/api/rest/admin/equipment/sip-options-probers/:id' do + get '/api/rest/admin/sip-options-probers/:id' do let(:id) { create(:sip_options_prober).id } example_request 'get specific entry', timezone: Time.zone do @@ -50,7 +50,7 @@ end end - post '/api/rest/admin/equipment/sip-options-probers' do + post '/api/rest/admin/sip-options-probers' do parameter :type, 'Resource type (sip-options-probers)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -69,7 +69,7 @@ end end - put '/api/rest/admin/equipment/sip-options-probers/:id' do + put '/api/rest/admin/sip-options-probers/:id' do parameter :type, 'Resource type (sip-options-probers)', scope: :data, required: true parameter :id, 'Sip Options Prober ID', scope: :data, required: true @@ -84,7 +84,7 @@ end end - delete '/api/rest/admin/equipment/sip-options-probers/:id' do + delete '/api/rest/admin/sip-options-probers/:id' do let(:id) { create(:sip_options_prober).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/system/smtp_connections_spec.rb b/spec/acceptance/rest/admin/api/smtp_connections_spec.rb similarity index 81% rename from spec/acceptance/rest/admin/api/system/smtp_connections_spec.rb rename to spec/acceptance/rest/admin/api/smtp_connections_spec.rb index a16342b8f..3efa3c999 100644 --- a/spec/acceptance/rest/admin/api/system/smtp_connections_spec.rb +++ b/spec/acceptance/rest/admin/api/smtp_connections_spec.rb @@ -14,8 +14,8 @@ required_params = %i[name host port from-address] optional_params = %i[auth-user auth-password global] - get '/api/rest/admin/system/smtp-connections' do - jsonapi_filters Api::Rest::Admin::System::SmtpConnectionResource._allowed_filters + get '/api/rest/admin/smtp-connections' do + jsonapi_filters Api::Rest::Admin::SmtpConnectionResource._allowed_filters before { create_list(:smtp_connection, 2) } @@ -24,7 +24,7 @@ end end - get '/api/rest/admin/system/smtp-connections/:id' do + get '/api/rest/admin/smtp-connections/:id' do let(:id) { create(:smtp_connection).id } example_request 'get specific entry' do @@ -32,7 +32,7 @@ end end - post '/api/rest/admin/system/smtp-connections' do + post '/api/rest/admin/smtp-connections' do parameter :type, 'Resource type (smtp-connections)', scope: :data, required: true jsonapi_attributes(required_params, optional_params) @@ -47,7 +47,7 @@ end end - put '/api/rest/admin/system/smtp-connections/:id' do + put '/api/rest/admin/smtp-connections/:id' do parameter :type, 'Resource type (smtp-connections)', scope: :data, required: true parameter :id, 'Smtp connection ID', scope: :data, required: true @@ -61,7 +61,7 @@ end end - delete '/api/rest/admin/system/smtp-connections/:id' do + delete '/api/rest/admin/smtp-connections/:id' do let(:id) { create(:smtp_connection).id } example_request 'delete entry' do diff --git a/spec/acceptance/rest/admin/api/routing/tag_actions_spec.rb b/spec/acceptance/rest/admin/api/tag_actions_spec.rb similarity index 74% rename from spec/acceptance/rest/admin/api/routing/tag_actions_spec.rb rename to spec/acceptance/rest/admin/api/tag_actions_spec.rb index 25bf9c515..602d0758d 100644 --- a/spec/acceptance/rest/admin/api/routing/tag_actions_spec.rb +++ b/spec/acceptance/rest/admin/api/tag_actions_spec.rb @@ -8,5 +8,5 @@ let(:collection) { Routing::TagAction.all } let(:record) { Routing::TagAction.take } - include_context :acceptance_index_show, namespace: 'routing', type: 'tag-actions' + include_context :acceptance_index_show, type: 'tag-actions' end diff --git a/spec/acceptance/rest/admin/api/system/timezones_spec.rb b/spec/acceptance/rest/admin/api/timezones_spec.rb similarity index 77% rename from spec/acceptance/rest/admin/api/system/timezones_spec.rb rename to spec/acceptance/rest/admin/api/timezones_spec.rb index 373f1cbba..21d5eee6c 100644 --- a/spec/acceptance/rest/admin/api/system/timezones_spec.rb +++ b/spec/acceptance/rest/admin/api/timezones_spec.rb @@ -11,15 +11,15 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'timezones' } - get '/api/rest/admin/system/timezones' do - jsonapi_filters Api::Rest::Admin::System::TimezoneResource._allowed_filters + get '/api/rest/admin/timezones' do + jsonapi_filters Api::Rest::Admin::TimezoneResource._allowed_filters example_request 'get listing' do expect(status).to eq(200) end end - get '/api/rest/admin/system/timezones/:id' do + get '/api/rest/admin/timezones/:id' do let(:id) { System::Timezone.first.id } example_request 'get specific entry' do diff --git a/spec/acceptance/rest/admin/api/equipment/transport_protocols_spec.rb b/spec/acceptance/rest/admin/api/transport_protocols_spec.rb similarity index 75% rename from spec/acceptance/rest/admin/api/equipment/transport_protocols_spec.rb rename to spec/acceptance/rest/admin/api/transport_protocols_spec.rb index ed9ab86d7..82ef808a6 100644 --- a/spec/acceptance/rest/admin/api/equipment/transport_protocols_spec.rb +++ b/spec/acceptance/rest/admin/api/transport_protocols_spec.rb @@ -11,15 +11,15 @@ let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } let(:type) { 'transport-protocols' } - get '/api/rest/admin/equipment/transport-protocols' do - jsonapi_filters Api::Rest::Admin::Equipment::TransportProtocolResource._allowed_filters + get '/api/rest/admin/transport-protocols' do + jsonapi_filters Api::Rest::Admin::TransportProtocolResource._allowed_filters example_request 'get listing' do expect(status).to eq(200) end end - get '/api/rest/admin/equipment/transport-protocols/:id' do + get '/api/rest/admin/transport-protocols/:id' do let(:id) { Equipment::TransportProtocol.first.id } example_request 'get specific entry' do diff --git a/spec/controllers/api/rest/admin/cdr/auth_logs_controller_spec.rb b/spec/controllers/api/rest/admin/cdr/auth_logs_controller_spec.rb index 83dd7e8a7..44d453b8f 100644 --- a/spec/controllers/api/rest/admin/cdr/auth_logs_controller_spec.rb +++ b/spec/controllers/api/rest/admin/cdr/auth_logs_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Cdr::AuthLogsController, type: :controller do +RSpec.describe Api::Rest::Admin::AuthLogsController, type: :controller do include_context :jsonapi_admin_headers after { Cdr::AuthLog.destroy_all } @@ -226,19 +226,19 @@ describe 'POST create' do it 'POST should not be routable', type: :routing do - expect(post: '/api/rest/admin/cdr/auth_logs').to_not be_routable + expect(post: '/api/rest/admin/auth_logs').to_not be_routable end end describe 'PATCH create' do it 'PATCH should not be routable', type: :routing do - expect(patch: '/api/rest/admin/cdr/auth_logs/123').to_not be_routable + expect(patch: '/api/rest/admin/auth_logs/123').to_not be_routable end end describe 'DELETE create' do it 'DELETE should not be routable', type: :routing do - expect(delete: '/api/rest/admin/cdr/auth_logs/123').to_not be_routable + expect(delete: '/api/rest/admin/auth_logs/123').to_not be_routable end end end diff --git a/spec/controllers/api/rest/admin/cdr/cdrs_controller_spec.rb b/spec/controllers/api/rest/admin/cdr/cdrs_controller_spec.rb index 2765a1fac..4752bbc00 100644 --- a/spec/controllers/api/rest/admin/cdr/cdrs_controller_spec.rb +++ b/spec/controllers/api/rest/admin/cdr/cdrs_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Cdr::CdrsController, type: :controller do +RSpec.describe Api::Rest::Admin::CdrsController, type: :controller do let(:admin_user) { create :admin_user } let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: admin_user.id }).token } @@ -760,19 +760,19 @@ describe 'POST create' do it 'POST should not be routable', type: :routing do - expect(post: '/api/rest/admin/cdr/cdrs').to_not be_routable + expect(post: '/api/rest/admin/cdrs').to_not be_routable end end describe 'PATCH update' do it 'PATCH should be routable', type: :routing do - expect(patch: '/api/rest/admin/cdr/cdrs/123').to be_routable + expect(patch: '/api/rest/admin/cdrs/123').to be_routable end end describe 'DELETE destroy' do it 'DELETE should not be routable', type: :routing do - expect(delete: '/api/rest/admin/cdr/cdrs/123').to_not be_routable + expect(delete: '/api/rest/admin/cdrs/123').to_not be_routable end end end diff --git a/spec/controllers/api/rest/admin/routing/area_prefixes_controller.rb b/spec/controllers/api/rest/admin/routing/area_prefixes_controller.rb index 479a49d3a..690cee617 100644 --- a/spec/controllers/api/rest/admin/routing/area_prefixes_controller.rb +++ b/spec/controllers/api/rest/admin/routing/area_prefixes_controller.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::AreaPrefixesController, type: :controller do +RSpec.describe Api::Rest::Admin::AreaPrefixesController, type: :controller do include_context :jsonapi_admin_headers let(:resource_type) { 'area-prefixes' } diff --git a/spec/controllers/api/rest/admin/routing/areas_controller_spec.rb b/spec/controllers/api/rest/admin/routing/areas_controller_spec.rb index 87242969e..e4991a88e 100644 --- a/spec/controllers/api/rest/admin/routing/areas_controller_spec.rb +++ b/spec/controllers/api/rest/admin/routing/areas_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::AreasController, type: :controller do +RSpec.describe Api::Rest::Admin::AreasController, type: :controller do include_context :jsonapi_admin_headers let(:resource_type) { 'areas' } diff --git a/spec/controllers/api/rest/admin/routing/destination_next_rates_spec.rb b/spec/controllers/api/rest/admin/routing/destination_next_rates_spec.rb index 21de42598..cfb72fc12 100644 --- a/spec/controllers/api/rest/admin/routing/destination_next_rates_spec.rb +++ b/spec/controllers/api/rest/admin/routing/destination_next_rates_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::DestinationNextRatesController, type: :controller do +RSpec.describe Api::Rest::Admin::DestinationNextRatesController, type: :controller do include_context :jsonapi_admin_headers describe 'GET index with ransack filters' do diff --git a/spec/controllers/api/rest/admin/routing/destinations_controller_spec.rb b/spec/controllers/api/rest/admin/routing/destinations_controller_spec.rb index 3d0671d68..e95af49f6 100755 --- a/spec/controllers/api/rest/admin/routing/destinations_controller_spec.rb +++ b/spec/controllers/api/rest/admin/routing/destinations_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::DestinationsController, type: :controller do +RSpec.describe Api::Rest::Admin::DestinationsController, type: :controller do let(:rate_group) { create :rate_group } include_context :jsonapi_admin_headers diff --git a/spec/controllers/api/rest/admin/routing/numberlist_items_controller_spec.rb b/spec/controllers/api/rest/admin/routing/numberlist_items_controller_spec.rb index e2f8c94e6..620d4e9a6 100644 --- a/spec/controllers/api/rest/admin/routing/numberlist_items_controller_spec.rb +++ b/spec/controllers/api/rest/admin/routing/numberlist_items_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::NumberlistItemsController, type: :controller do +RSpec.describe Api::Rest::Admin::NumberlistItemsController, type: :controller do include_context :jsonapi_admin_headers let(:resource_type) { 'numberlist-items' } diff --git a/spec/controllers/api/rest/admin/routing/numberlists_controller_spec.rb b/spec/controllers/api/rest/admin/routing/numberlists_controller_spec.rb index b95912699..8031c533b 100644 --- a/spec/controllers/api/rest/admin/routing/numberlists_controller_spec.rb +++ b/spec/controllers/api/rest/admin/routing/numberlists_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::NumberlistsController, type: :controller do +RSpec.describe Api::Rest::Admin::NumberlistsController, type: :controller do include_context :jsonapi_admin_headers describe 'GET index with ransack filters' do diff --git a/spec/controllers/api/rest/admin/routing/rateplans_controller_spec.rb b/spec/controllers/api/rest/admin/routing/rateplans_controller_spec.rb index f10b07acd..f1a812f51 100755 --- a/spec/controllers/api/rest/admin/routing/rateplans_controller_spec.rb +++ b/spec/controllers/api/rest/admin/routing/rateplans_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RateplansController, type: :controller do +RSpec.describe Api::Rest::Admin::RateplansController, type: :controller do let(:user) { create :admin_user } let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } diff --git a/spec/controllers/api/rest/admin/routing/routing_groups_controller_spec.rb b/spec/controllers/api/rest/admin/routing/routing_groups_controller_spec.rb index b7ba91f18..1ea0aedcf 100755 --- a/spec/controllers/api/rest/admin/routing/routing_groups_controller_spec.rb +++ b/spec/controllers/api/rest/admin/routing/routing_groups_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RoutingGroupsController, type: :controller do +RSpec.describe Api::Rest::Admin::RoutingGroupsController, type: :controller do let(:user) { create :admin_user } let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: user.id }).token } diff --git a/spec/controllers/api/rest/admin/routing/routing_tag_detection_rules_controller_spec.rb b/spec/controllers/api/rest/admin/routing/routing_tag_detection_rules_controller_spec.rb index 5bc44bd00..34322320c 100644 --- a/spec/controllers/api/rest/admin/routing/routing_tag_detection_rules_controller_spec.rb +++ b/spec/controllers/api/rest/admin/routing/routing_tag_detection_rules_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RoutingTagDetectionRulesController, type: :controller do +RSpec.describe Api::Rest::Admin::RoutingTagDetectionRulesController, type: :controller do include_context :jsonapi_admin_headers let(:resource_type) { 'routing-tag-detection-rules' } diff --git a/spec/controllers/api/rest/admin/routing/routing_tag_modes_controller_spec.rb b/spec/controllers/api/rest/admin/routing/routing_tag_modes_controller_spec.rb index dda058736..81b9612f8 100644 --- a/spec/controllers/api/rest/admin/routing/routing_tag_modes_controller_spec.rb +++ b/spec/controllers/api/rest/admin/routing/routing_tag_modes_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RoutingTagModesController, type: :controller do +RSpec.describe Api::Rest::Admin::RoutingTagModesController, type: :controller do include_context :jsonapi_admin_headers let(:resource_type) { 'routing-tag-modes' } diff --git a/spec/controllers/api/rest/admin/routing/routing_tags_controller_spec.rb b/spec/controllers/api/rest/admin/routing/routing_tags_controller_spec.rb index 65bdc6720..b71180d48 100644 --- a/spec/controllers/api/rest/admin/routing/routing_tags_controller_spec.rb +++ b/spec/controllers/api/rest/admin/routing/routing_tags_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RoutingTagsController, type: :controller do +RSpec.describe Api::Rest::Admin::RoutingTagsController, type: :controller do include_context :jsonapi_admin_headers describe 'GET index' do diff --git a/spec/controllers/api/rest/admin/routing/tag_actions_controller_spec.rb b/spec/controllers/api/rest/admin/routing/tag_actions_controller_spec.rb index 11dc59d28..cd181171a 100644 --- a/spec/controllers/api/rest/admin/routing/tag_actions_controller_spec.rb +++ b/spec/controllers/api/rest/admin/routing/tag_actions_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::TagActionsController, type: :controller do +RSpec.describe Api::Rest::Admin::TagActionsController, type: :controller do include_context :jsonapi_admin_headers describe 'GET index' do diff --git a/spec/controllers/api/rest/admin/system/countries_controller_spec.rb b/spec/controllers/api/rest/admin/system/countries_controller_spec.rb index 818a42299..8a841e9ba 100644 --- a/spec/controllers/api/rest/admin/system/countries_controller_spec.rb +++ b/spec/controllers/api/rest/admin/system/countries_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::CountriesController, type: :controller do +RSpec.describe Api::Rest::Admin::CountriesController, type: :controller do let(:admin_user) { create :admin_user } let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: admin_user.id }).token } diff --git a/spec/controllers/api/rest/admin/system/network_types_controller_spec.rb b/spec/controllers/api/rest/admin/system/network_types_controller_spec.rb index 71b40b54b..71ca54247 100644 --- a/spec/controllers/api/rest/admin/system/network_types_controller_spec.rb +++ b/spec/controllers/api/rest/admin/system/network_types_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::NetworkTypesController, type: :controller do +RSpec.describe Api::Rest::Admin::NetworkTypesController, type: :controller do let(:admin_user) { create :admin_user } let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: admin_user.id }).token } diff --git a/spec/controllers/api/rest/admin/system/networks_controller_spec.rb b/spec/controllers/api/rest/admin/system/networks_controller_spec.rb index 575980585..70b06e19e 100644 --- a/spec/controllers/api/rest/admin/system/networks_controller_spec.rb +++ b/spec/controllers/api/rest/admin/system/networks_controller_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::NetworksController, type: :controller do +RSpec.describe Api::Rest::Admin::NetworksController, type: :controller do let(:admin_user) { create :admin_user } let(:auth_token) { ::Knock::AuthToken.new(payload: { sub: admin_user.id }).token } diff --git a/spec/requests/api/rest/admin/equipment/radius/accounting_profiles_spec.rb b/spec/requests/api/rest/admin/accounting_profiles_spec.rb similarity index 73% rename from spec/requests/api/rest/admin/equipment/radius/accounting_profiles_spec.rb rename to spec/requests/api/rest/admin/accounting_profiles_spec.rb index 983c52eb0..fe8c6cc4d 100644 --- a/spec/requests/api/rest/admin/equipment/radius/accounting_profiles_spec.rb +++ b/spec/requests/api/rest/admin/accounting_profiles_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Equipment::Radius::AccountingProfilesController, type: :request do - include_context :json_api_admin_helpers, type: :'accounting-profiles', prefix: 'equipment/radius' +RSpec.describe Api::Rest::Admin::AccountingProfilesController, type: :request do + include_context :json_api_admin_helpers, type: :'accounting-profiles' - describe 'GET /api/rest/admin/equipment/radius/accounting-profiles' do + describe 'GET /api/rest/admin/accounting-profiles' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/area_prefixes_spec.rb b/spec/requests/api/rest/admin/area_prefixes_spec.rb similarity index 93% rename from spec/requests/api/rest/admin/routing/area_prefixes_spec.rb rename to spec/requests/api/rest/admin/area_prefixes_spec.rb index 0ba2f3507..d0974bc38 100644 --- a/spec/requests/api/rest/admin/routing/area_prefixes_spec.rb +++ b/spec/requests/api/rest/admin/area_prefixes_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::AreaPrefixesController, type: :request do - include_context :json_api_admin_helpers, type: :'area-prefixes', prefix: 'routing' +RSpec.describe Api::Rest::Admin::AreaPrefixesController, type: :request do + include_context :json_api_admin_helpers, type: :'area-prefixes' - describe 'GET /api/rest/admin/routing/area-prefixes' do + describe 'GET /api/rest/admin/area-prefixes' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/areas_spec.rb b/spec/requests/api/rest/admin/areas_spec.rb similarity index 70% rename from spec/requests/api/rest/admin/routing/areas_spec.rb rename to spec/requests/api/rest/admin/areas_spec.rb index 427b8b3b6..b52d521d5 100644 --- a/spec/requests/api/rest/admin/routing/areas_spec.rb +++ b/spec/requests/api/rest/admin/areas_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::AreasController, type: :request do - include_context :json_api_admin_helpers, type: :areas, prefix: 'routing' +RSpec.describe Api::Rest::Admin::AreasController, type: :request do + include_context :json_api_admin_helpers, type: :areas - describe 'GET /api/rest/admin/routing/areas' do + describe 'GET /api/rest/admin/areas' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/cdr/auth_logs_spec.rb b/spec/requests/api/rest/admin/auth_logs_spec.rb similarity index 72% rename from spec/requests/api/rest/admin/cdr/auth_logs_spec.rb rename to spec/requests/api/rest/admin/auth_logs_spec.rb index 0a01debc9..b4a49dd1d 100644 --- a/spec/requests/api/rest/admin/cdr/auth_logs_spec.rb +++ b/spec/requests/api/rest/admin/auth_logs_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Cdr::AuthLogsController, type: :request do - include_context :json_api_admin_helpers, type: :'auth-logs', prefix: 'cdr' +RSpec.describe Api::Rest::Admin::AuthLogsController, type: :request do + include_context :json_api_admin_helpers, type: :'auth-logs' - describe 'GET /api/rest/admin/cdr/auth-logs' do + describe 'GET /api/rest/admin/auth-logs' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/equipment/radius/auth_profile_spec.rb b/spec/requests/api/rest/admin/auth_profile_spec.rb similarity index 74% rename from spec/requests/api/rest/admin/equipment/radius/auth_profile_spec.rb rename to spec/requests/api/rest/admin/auth_profile_spec.rb index e1aa00daf..5ed2b6852 100644 --- a/spec/requests/api/rest/admin/equipment/radius/auth_profile_spec.rb +++ b/spec/requests/api/rest/admin/auth_profile_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Equipment::Radius::AuthProfilesController, type: :request do - include_context :json_api_admin_helpers, type: :'auth-profiles', prefix: 'equipment/radius' +RSpec.describe Api::Rest::Admin::AuthProfilesController, type: :request do + include_context :json_api_admin_helpers, type: :'auth-profiles' - describe 'GET /api/rest/admin/equipment/radius/auth-profiles' do + describe 'GET /api/rest/admin/auth-profiles' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/cdr/cdr_exports_spec.rb b/spec/requests/api/rest/admin/cdr_exports_spec.rb similarity index 96% rename from spec/requests/api/rest/admin/cdr/cdr_exports_spec.rb rename to spec/requests/api/rest/admin/cdr_exports_spec.rb index d6ab725cb..e265ad96a 100644 --- a/spec/requests/api/rest/admin/cdr/cdr_exports_spec.rb +++ b/spec/requests/api/rest/admin/cdr_exports_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Cdr::CdrExportsController, type: :request do - include_context :json_api_admin_helpers, prefix: 'cdr', type: 'cdr-exports' +RSpec.describe Api::Rest::Admin::CdrExportsController, type: :request do + include_context :json_api_admin_helpers, type: 'cdr-exports' - describe 'GET /api/rest/admin/cdr/cdr-exports' do + describe 'GET /api/rest/admin/cdr-exports' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end @@ -18,7 +18,7 @@ end end - describe 'GET /api/rest/admin/cdr/cdr-exports/:id' do + describe 'GET /api/rest/admin/cdr-exports/:id' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end @@ -43,7 +43,7 @@ end end - describe 'GET /api/rest/admin/cdr/cdr-exports/:id/download' do + describe 'GET /api/rest/admin/cdr-exports/:id/download' do subject do get json_api_request_path, params: nil, headers: { 'Authorization' => json_api_auth_token } end @@ -87,7 +87,7 @@ end end - describe 'POST /api/rest/admin/cdr/cdr-exports' do + describe 'POST /api/rest/admin/cdr-exports' do subject do post json_api_request_path, params: json_api_request_body.to_json, headers: json_api_request_headers end @@ -303,7 +303,7 @@ end end - describe 'DELETE /api/rest/admin/cdr/cdr-exports/:id' do + describe 'DELETE /api/rest/admin/cdr-exports/:id' do subject do delete json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/cdr/cdrs_spec.rb b/spec/requests/api/rest/admin/cdrs_spec.rb similarity index 93% rename from spec/requests/api/rest/admin/cdr/cdrs_spec.rb rename to spec/requests/api/rest/admin/cdrs_spec.rb index 5cf4f1cf3..8bffd1f35 100644 --- a/spec/requests/api/rest/admin/cdr/cdrs_spec.rb +++ b/spec/requests/api/rest/admin/cdrs_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Cdr::CdrsController, type: :request do - include_context :json_api_admin_helpers, type: :cdrs, prefix: 'cdr' +RSpec.describe Api::Rest::Admin::CdrsController, type: :request do + include_context :json_api_admin_helpers, type: :cdrs - describe 'GET /api/rest/admin/cdr/cdrs' do + describe 'GET /api/rest/admin/cdrs' do subject do get json_api_request_path, params: json_api_request_params, headers: json_api_request_headers end @@ -84,7 +84,7 @@ end end - describe 'GET /api/rest/admin/cdr/:id/recording' do + describe 'GET /api/rest/admin/:id/recording' do subject do get json_api_request_path, params: nil, headers: { 'Authorization' => json_api_auth_token } end @@ -115,7 +115,7 @@ end end - describe 'GET /api/rest/admin/cdr/cdrs/:id/vendor' do + describe 'GET /api/rest/admin/cdrs/:id/vendor' do subject do get json_api_request_path, params: json_api_request_params, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/system/country_spec.rb b/spec/requests/api/rest/admin/country_spec.rb similarity index 73% rename from spec/requests/api/rest/admin/system/country_spec.rb rename to spec/requests/api/rest/admin/country_spec.rb index a168d5f5a..c0bc007e5 100644 --- a/spec/requests/api/rest/admin/system/country_spec.rb +++ b/spec/requests/api/rest/admin/country_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::CountriesController, type: :request do - include_context :json_api_admin_helpers, type: :countries, prefix: 'system' +RSpec.describe Api::Rest::Admin::CountriesController, type: :request do + include_context :json_api_admin_helpers, type: :countries - describe 'GET /api/rest/admin/system/countries' do + describe 'GET /api/rest/admin/countries' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/destination_next_rates_spec.rb b/spec/requests/api/rest/admin/destination_next_rates2_spec.rb similarity index 75% rename from spec/requests/api/rest/admin/routing/destination_next_rates_spec.rb rename to spec/requests/api/rest/admin/destination_next_rates2_spec.rb index 082b89c69..33f10ff72 100644 --- a/spec/requests/api/rest/admin/routing/destination_next_rates_spec.rb +++ b/spec/requests/api/rest/admin/destination_next_rates2_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::DestinationNextRatesController, type: :request do - include_context :json_api_admin_helpers, type: :'destination-next-rates', prefix: 'routing' +RSpec.describe Api::Rest::Admin::DestinationNextRatesController, type: :request do + include_context :json_api_admin_helpers, type: :'destination-next-rates' - describe 'GET /api/rest/admin/routing/destination-next-rates' do + describe 'GET /api/rest/admin/destination-next-rates' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/destination_next_rates_spec.rb b/spec/requests/api/rest/admin/destination_next_rates_spec.rb index 1a97b4420..2a11c46f1 100644 --- a/spec/requests/api/rest/admin/destination_next_rates_spec.rb +++ b/spec/requests/api/rest/admin/destination_next_rates_spec.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::DestinationNextRatesController, type: :request do +RSpec.describe Api::Rest::Admin::DestinationNextRatesController, type: :request do include_context :json_api_admin_helpers, type: :'destination-next-rates' let!(:rate_group) { FactoryBot.create(:rate_group) } let!(:destination) { FactoryBot.create(:destination, rate_group: rate_group) } - let(:json_api_request_path_prefix) { '/api/rest/admin/routing' } + let(:json_api_request_path_prefix) { '/api/rest/admin' } - describe 'GET /api/rest/admin/routing/destination-next-rates' do + describe 'GET /api/rest/admin/destination-next-rates' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end @@ -24,7 +24,7 @@ it_behaves_like :json_api_admin_check_authorization end - describe 'GET /api/rest/admin/routing/destination-next-rates/{id}' do + describe 'GET /api/rest/admin/destination-next-rates/{id}' do subject do get json_api_request_path, params: request_query, headers: json_api_request_headers end @@ -74,7 +74,7 @@ end end - describe 'POST /api/rest/admin/routing/destination-next-rates' do + describe 'POST /api/rest/admin/destination-next-rates' do subject do post json_api_request_path, params: json_api_request_body.to_json, headers: json_api_request_headers end @@ -126,7 +126,7 @@ it_behaves_like :json_api_admin_check_authorization, status: 201 end - describe 'PATCH /api/rest/admin/routing/destination-next-rates/{id}' do + describe 'PATCH /api/rest/admin/destination-next-rates/{id}' do subject do patch json_api_request_path, params: json_api_request_body.to_json, headers: json_api_request_headers end @@ -151,7 +151,7 @@ it_behaves_like :json_api_admin_check_authorization end - describe 'DELETE /api/rest/admin/routing/destination-next-rates/{id}' do + describe 'DELETE /api/rest/admin/destination-next-rates/{id}' do subject do delete json_api_request_path, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/destinations_spec.rb b/spec/requests/api/rest/admin/destinations_spec.rb new file mode 100644 index 000000000..768d34c95 --- /dev/null +++ b/spec/requests/api/rest/admin/destinations_spec.rb @@ -0,0 +1,187 @@ +# frozen_string_literal: true + +RSpec.describe Api::Rest::Admin::DestinationsController, type: :request do + include_context :json_api_admin_helpers, type: :destinations + + describe 'GET /api/rest/admin/destinations' do + subject do + get json_api_request_path, params: index_params, headers: json_api_request_headers + end + let(:index_params) { {} } + + let!(:destinations) do + [ + FactoryBot.create(:destination, prefix: '370614', rate_group:, routing_tag_ids: []), + FactoryBot.create(:destination, rate_group:, routing_tag_ids: [routing_tag.id, nil]) + ] + end + let!(:rate_group) { FactoryBot.create(:rate_group, rateplans:) } + let!(:rateplans) { FactoryBot.create_list(:rateplan, 2) } + let!(:routing_tag) { FactoryBot.create(:routing_tag) } + + include_examples :jsonapi_responds_with_pagination_links + include_examples :returns_json_api_collection do + let(:json_api_collection_ids) do + destinations.map { |r| r.id.to_s } + end + end + + it_behaves_like :json_api_admin_check_authorization + + context 'with included country, next_rate and network' do + let(:index_params) do + { + filter: { + rateplan_id_eq: rateplans[0].id + }, + include: 'destination-next-rates,country,network', + page: { + number: 1, + size: 1000 + } + } + end + let!(:next_rate) do + FactoryBot.create(:destination_next_rate, destination: destinations.first) + end + let(:network_prefix) { destinations[0].network_prefix } + + before do + # not affected destinations + another_plan = FactoryBot.create(:rateplan) + another_group = FactoryBot.create(:rate_group, rateplans: [rateplans[1], another_plan]) + FactoryBot.create_list(:destination, 2, rate_group: another_group) + end + + include_examples :jsonapi_responds_with_pagination_links + include_examples :responds_with_status, 200 + + context 'destinations[0]' do + include_examples :returns_json_api_record, type: 'destinations', relationships: %i[country network destination-next-rates rate-group routing-tag-mode] do + let(:json_api_record_data) { json_api_data_detect_by_id_type } + let(:json_api_record_id) { destinations[0].id.to_s } + let(:json_api_record_attributes) do + { + 'acd-limit': destinations[0].acd_limit, + 'asr-limit': destinations[0].asr_limit, + 'connect-fee': destinations[0].connect_fee.to_s, + 'dp-margin-fixed': destinations[0].dp_margin_fixed.to_s, + 'dp-margin-percent': destinations[0].dp_margin_percent.to_s, + 'dst-number-max-length': destinations[0].dst_number_max_length, + 'dst-number-min-length': destinations[0].dst_number_min_length, + enabled: destinations[0].enabled, + 'external-id': destinations[0].external_id, + 'initial-interval': destinations[0].initial_interval, + 'initial-rate': destinations[0].initial_rate.to_s, + 'next-interval': destinations[0].next_interval, + 'next-rate': destinations[0].next_rate.to_s, + prefix: destinations[0].prefix, + 'profit-control-mode-id': destinations[0].profit_control_mode_id, + 'rate-policy-id': destinations[0].rate_policy_id, + 'reject-calls': destinations[0].reject_calls, + 'reverse-billing': destinations[0].reverse_billing, + 'routing-tag-ids': destinations[0].routing_tag_ids, + 'short-calls-limit': destinations[0].short_calls_limit, + 'use-dp-intervals': destinations[0].use_dp_intervals, + 'valid-from': destinations[0].valid_from.iso8601(3), + 'valid-till': destinations[0].valid_till.iso8601(3) + } + end + end + it_behaves_like :returns_json_api_record_relationship, :'destination-next-rates' do + let(:json_api_record_data) { json_api_data_detect_by_id_type } + let(:json_api_relationship_data) { [id: next_rate.id.to_s, type: 'destination-next-rates'] } + end + it_behaves_like :returns_json_api_record_relationship, :country do + let(:json_api_record_data) { json_api_data_detect_by_id_type } + let(:json_api_relationship_data) { { id: network_prefix.country.id.to_s, type: 'countries' } } + end + it_behaves_like :returns_json_api_record_relationship, :network do + let(:json_api_record_data) { json_api_data_detect_by_id_type } + let(:json_api_relationship_data) { { id: network_prefix.network.id.to_s, type: 'networks' } } + end + end + + context 'destinations[1]' do + include_examples :returns_json_api_record, type: 'destinations', relationships: %i[country network destination-next-rates rate-group routing-tag-mode] do + let(:json_api_record_data) { json_api_data_detect_by_id_type } + let(:json_api_record_id) { destinations[1].id.to_s } + let(:json_api_record_attributes) do + { + 'acd-limit': destinations[1].acd_limit, + 'asr-limit': destinations[1].asr_limit, + 'connect-fee': destinations[1].connect_fee.to_s, + 'dp-margin-fixed': destinations[1].dp_margin_fixed.to_s, + 'dp-margin-percent': destinations[1].dp_margin_percent.to_s, + 'dst-number-max-length': destinations[1].dst_number_max_length, + 'dst-number-min-length': destinations[1].dst_number_min_length, + enabled: destinations[1].enabled, + 'external-id': destinations[1].external_id, + 'initial-interval': destinations[1].initial_interval, + 'initial-rate': destinations[1].initial_rate.to_s, + 'next-interval': destinations[1].next_interval, + 'next-rate': destinations[1].next_rate.to_s, + prefix: destinations[1].prefix, + 'profit-control-mode-id': destinations[1].profit_control_mode_id, + 'rate-policy-id': destinations[1].rate_policy_id, + 'reject-calls': destinations[1].reject_calls, + 'reverse-billing': destinations[1].reverse_billing, + 'routing-tag-ids': destinations[1].routing_tag_ids, + 'short-calls-limit': destinations[1].short_calls_limit, + 'use-dp-intervals': destinations[1].use_dp_intervals, + 'valid-from': destinations[1].valid_from.iso8601(3), + 'valid-till': destinations[1].valid_till.iso8601(3) + } + end + end + it_behaves_like :returns_json_api_record_relationship, :'destination-next-rates' do + let(:json_api_record_data) { json_api_data_detect_by_id_type } + let(:json_api_relationship_data) { [] } + end + it_behaves_like :returns_json_api_record_relationship, :country do + let(:json_api_record_data) { json_api_data_detect_by_id_type } + let(:json_api_relationship_data) { nil } + end + it_behaves_like :returns_json_api_record_relationship, :network do + let(:json_api_record_data) { json_api_data_detect_by_id_type } + let(:json_api_relationship_data) { nil } + end + end + + it_behaves_like :returns_json_api_record_include, type: :'destination-next-rates' do + let(:json_api_include_id) { next_rate.id.to_s } + let(:json_api_include_attributes) do + { + applied: next_rate.applied, + 'apply-time': next_rate.apply_time.iso8601(3), + 'connect-fee': next_rate.connect_fee.to_s, + 'external-id': next_rate.external_id, + 'initial-interval': next_rate.initial_interval, + 'initial-rate': next_rate.initial_rate.to_s, + 'next-interval': next_rate.next_interval, + 'next-rate': next_rate.next_rate.to_s + } + end + end + + it_behaves_like :returns_json_api_record_include, type: :countries do + let(:json_api_include_id) { network_prefix.country.id.to_s } + let(:json_api_include_attributes) do + { name: network_prefix.country.name, iso2: network_prefix.country.iso2 } + end + end + + it_behaves_like :returns_json_api_record_include, type: :networks do + let(:json_api_include_id) { network_prefix.network.id.to_s } + let(:json_api_include_attributes) { { name: network_prefix.network.name } } + end + + it 'should return correct response' do + subject + + expect(response_json[:meta]).to match('total-count': destinations.size) + expect(response_json[:included].size).to eq(3) + end + end + end +end diff --git a/spec/requests/api/rest/admin/system/dtmf_receive_modes_spec.rb b/spec/requests/api/rest/admin/dtmf_receive_modes_spec.rb similarity index 76% rename from spec/requests/api/rest/admin/system/dtmf_receive_modes_spec.rb rename to spec/requests/api/rest/admin/dtmf_receive_modes_spec.rb index 0027108dd..7f6cc54e3 100644 --- a/spec/requests/api/rest/admin/system/dtmf_receive_modes_spec.rb +++ b/spec/requests/api/rest/admin/dtmf_receive_modes_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::DtmfReceiveModesController, type: :request do - include_context :json_api_admin_helpers, type: :'dtmf-receive-modes', prefix: 'system' +RSpec.describe Api::Rest::Admin::DtmfReceiveModesController, type: :request do + include_context :json_api_admin_helpers, type: :'dtmf-receive-modes' - describe 'GET /api/rest/admin/system/dtmf-receive-modes' do + describe 'GET /api/rest/admin/dtmf-receive-modes' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/system/dtmf_send_modes_spec.rb b/spec/requests/api/rest/admin/dtmf_send_modes_spec.rb similarity index 77% rename from spec/requests/api/rest/admin/system/dtmf_send_modes_spec.rb rename to spec/requests/api/rest/admin/dtmf_send_modes_spec.rb index c4670fe8f..ca19f05da 100644 --- a/spec/requests/api/rest/admin/system/dtmf_send_modes_spec.rb +++ b/spec/requests/api/rest/admin/dtmf_send_modes_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::DtmfSendModesController, type: :request do - include_context :json_api_admin_helpers, type: :'dtmf-send-modes', prefix: 'system' +RSpec.describe Api::Rest::Admin::DtmfSendModesController, type: :request do + include_context :json_api_admin_helpers, type: :'dtmf-send-modes' - describe 'GET /api/rest/admin/system/dtmf-send-modes' do + describe 'GET /api/rest/admin/dtmf-send-modes' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/equipment/gateway_diversion_send_modes_spec.rb b/spec/requests/api/rest/admin/gateway_diversion_send_modes_spec.rb similarity index 73% rename from spec/requests/api/rest/admin/equipment/gateway_diversion_send_modes_spec.rb rename to spec/requests/api/rest/admin/gateway_diversion_send_modes_spec.rb index 9024d68c8..544c77b44 100644 --- a/spec/requests/api/rest/admin/equipment/gateway_diversion_send_modes_spec.rb +++ b/spec/requests/api/rest/admin/gateway_diversion_send_modes_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Equipment::GatewayDiversionSendModesController, type: :request do - include_context :json_api_admin_helpers, type: :'gateway-diversion-send-modes', prefix: 'equipment' +RSpec.describe Api::Rest::Admin::GatewayDiversionSendModesController, type: :request do + include_context :json_api_admin_helpers, type: :'gateway-diversion-send-modes' - describe 'GET /api/rest/admin/equipment/gateway-diversion-send-modes' do + describe 'GET /api/rest/admin/gateway-diversion-send-modes' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/equipment/gateway_inband_dtmf_filtering_modes_spec.rb b/spec/requests/api/rest/admin/gateway_inband_dtmf_filtering_modes_spec.rb similarity index 72% rename from spec/requests/api/rest/admin/equipment/gateway_inband_dtmf_filtering_modes_spec.rb rename to spec/requests/api/rest/admin/gateway_inband_dtmf_filtering_modes_spec.rb index df95550f9..dc1b862f8 100644 --- a/spec/requests/api/rest/admin/equipment/gateway_inband_dtmf_filtering_modes_spec.rb +++ b/spec/requests/api/rest/admin/gateway_inband_dtmf_filtering_modes_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Equipment::GatewayInbandDtmfFilteringModesController, type: :request do - include_context :json_api_admin_helpers, type: :'gateway-inband-dtmf-filtering-modes', prefix: 'equipment' +RSpec.describe Api::Rest::Admin::GatewayInbandDtmfFilteringModesController, type: :request do + include_context :json_api_admin_helpers, type: :'gateway-inband-dtmf-filtering-modes' - describe 'GET /api/rest/admin/equipment/gateway-inband-dtmf-filtering-modes' do + describe 'GET /api/rest/admin/gateway-inband-dtmf-filtering-modes' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/equipment/gateway_media_encryption_modes_spec.rb b/spec/requests/api/rest/admin/gateway_media_encryption_modes_spec.rb similarity index 73% rename from spec/requests/api/rest/admin/equipment/gateway_media_encryption_modes_spec.rb rename to spec/requests/api/rest/admin/gateway_media_encryption_modes_spec.rb index 7010bc05c..d6c9697e8 100644 --- a/spec/requests/api/rest/admin/equipment/gateway_media_encryption_modes_spec.rb +++ b/spec/requests/api/rest/admin/gateway_media_encryption_modes_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Equipment::GatewayMediaEncryptionModesController, type: :request do - include_context :json_api_admin_helpers, type: :'gateway-media-encryption-modes', prefix: 'equipment' +RSpec.describe Api::Rest::Admin::GatewayMediaEncryptionModesController, type: :request do + include_context :json_api_admin_helpers, type: :'gateway-media-encryption-modes' - describe 'GET /api/rest/admin/equipment/gateway-media-encryption-modes' do + describe 'GET /api/rest/admin/gateway-media-encryption-modes' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/equipment/gateway_network_protocol_priorities_spec.rb b/spec/requests/api/rest/admin/gateway_network_protocol_priorities_spec.rb similarity index 72% rename from spec/requests/api/rest/admin/equipment/gateway_network_protocol_priorities_spec.rb rename to spec/requests/api/rest/admin/gateway_network_protocol_priorities_spec.rb index 43c050d5c..d49d4ba7c 100644 --- a/spec/requests/api/rest/admin/equipment/gateway_network_protocol_priorities_spec.rb +++ b/spec/requests/api/rest/admin/gateway_network_protocol_priorities_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Equipment::GatewayNetworkProtocolPrioritiesController, type: :request do - include_context :json_api_admin_helpers, type: :'gateway-network-protocol-priorities', prefix: 'equipment' +RSpec.describe Api::Rest::Admin::GatewayNetworkProtocolPrioritiesController, type: :request do + include_context :json_api_admin_helpers, type: :'gateway-network-protocol-priorities' - describe 'GET /api/rest/admin/equipment/gateway-network-protocol-priorities' do + describe 'GET /api/rest/admin/gateway-network-protocol-priorities' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/equipment/gateway_rel100_modes_spec.rb b/spec/requests/api/rest/admin/gateway_rel100_modes_spec.rb similarity index 75% rename from spec/requests/api/rest/admin/equipment/gateway_rel100_modes_spec.rb rename to spec/requests/api/rest/admin/gateway_rel100_modes_spec.rb index afc3ecd7f..36b1cfc00 100644 --- a/spec/requests/api/rest/admin/equipment/gateway_rel100_modes_spec.rb +++ b/spec/requests/api/rest/admin/gateway_rel100_modes_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Equipment::GatewayRel100ModesController, type: :request do - include_context :json_api_admin_helpers, type: :'gateway-rel100-modes', prefix: 'equipment' +RSpec.describe Api::Rest::Admin::GatewayRel100ModesController, type: :request do + include_context :json_api_admin_helpers, type: :'gateway-rel100-modes' - describe 'GET /api/rest/admin/equipment/gateway-rel100-modes' do + describe 'GET /api/rest/admin/gateway-rel100-modes' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/billing/invoice_originated_destinations_spec.rb b/spec/requests/api/rest/admin/invoice_originated_destinations_spec.rb similarity index 97% rename from spec/requests/api/rest/admin/billing/invoice_originated_destinations_spec.rb rename to spec/requests/api/rest/admin/invoice_originated_destinations_spec.rb index 6b0116c39..bde28a810 100644 --- a/spec/requests/api/rest/admin/billing/invoice_originated_destinations_spec.rb +++ b/spec/requests/api/rest/admin/invoice_originated_destinations_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Billing::InvoiceOriginatedDestinationsController, type: :request, bullet: [:n] do - include_context :json_api_admin_helpers, type: :'invoice-originated-destinations', prefix: 'billing' +RSpec.describe Api::Rest::Admin::InvoiceOriginatedDestinationsController, type: :request, bullet: [:n] do + include_context :json_api_admin_helpers, type: :'invoice-originated-destinations' describe 'GET /api/rest/admin/invoice-originated-destinations' do subject do diff --git a/spec/requests/api/rest/admin/billing/invoice_originated_networks_spec.rb b/spec/requests/api/rest/admin/invoice_originated_networks_spec.rb similarity index 97% rename from spec/requests/api/rest/admin/billing/invoice_originated_networks_spec.rb rename to spec/requests/api/rest/admin/invoice_originated_networks_spec.rb index 65e2ff5d6..4664380c5 100644 --- a/spec/requests/api/rest/admin/billing/invoice_originated_networks_spec.rb +++ b/spec/requests/api/rest/admin/invoice_originated_networks_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Billing::InvoiceOriginatedNetworksController, type: :request, bullet: [:n] do - include_context :json_api_admin_helpers, type: :'invoice-originated-networks', prefix: 'billing' +RSpec.describe Api::Rest::Admin::InvoiceOriginatedNetworksController, type: :request, bullet: [:n] do + include_context :json_api_admin_helpers, type: :'invoice-originated-networks' describe 'GET /api/rest/admin/invoice-originated-networks' do subject do diff --git a/spec/requests/api/rest/admin/billing/invoice_service_data_spec.rb b/spec/requests/api/rest/admin/invoice_service_data_spec.rb similarity index 97% rename from spec/requests/api/rest/admin/billing/invoice_service_data_spec.rb rename to spec/requests/api/rest/admin/invoice_service_data_spec.rb index 775c498c1..0104251eb 100644 --- a/spec/requests/api/rest/admin/billing/invoice_service_data_spec.rb +++ b/spec/requests/api/rest/admin/invoice_service_data_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Billing::InvoiceServiceDataController, type: :request, bullet: [:n] do - include_context :json_api_admin_helpers, type: :'invoice-service-data', prefix: 'billing' +RSpec.describe Api::Rest::Admin::InvoiceServiceDataController, type: :request, bullet: [:n] do + include_context :json_api_admin_helpers, type: :'invoice-service-data' describe 'GET /api/rest/admin/invoice-service-data' do subject do diff --git a/spec/requests/api/rest/admin/billing/invoice_templates_spec.rb b/spec/requests/api/rest/admin/invoice_templates_spec.rb similarity index 79% rename from spec/requests/api/rest/admin/billing/invoice_templates_spec.rb rename to spec/requests/api/rest/admin/invoice_templates_spec.rb index a89bc2bf2..5d1ddeb65 100644 --- a/spec/requests/api/rest/admin/billing/invoice_templates_spec.rb +++ b/spec/requests/api/rest/admin/invoice_templates_spec.rb @@ -1,11 +1,11 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Billing::InvoiceTemplateController, type: :request do - include_context :json_api_admin_helpers, type: :'invoice-templates', prefix: 'billing' +RSpec.describe Api::Rest::Admin::InvoiceTemplateController, type: :request do + include_context :json_api_admin_helpers, type: :'invoice-templates' let(:json_api_request_path) { "#{json_api_request_path_prefix}/invoice-template" } - describe 'GET /api/rest/admin/billing/invoice-template' do + describe 'GET /api/rest/admin/invoice-template' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/billing/invoice_terminated_destinations_spec.rb b/spec/requests/api/rest/admin/invoice_terminated_destinations_spec.rb similarity index 97% rename from spec/requests/api/rest/admin/billing/invoice_terminated_destinations_spec.rb rename to spec/requests/api/rest/admin/invoice_terminated_destinations_spec.rb index 51e621902..dec638d77 100644 --- a/spec/requests/api/rest/admin/billing/invoice_terminated_destinations_spec.rb +++ b/spec/requests/api/rest/admin/invoice_terminated_destinations_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Billing::InvoiceTerminatedDestinationsController, type: :request, bullet: [:n] do - include_context :json_api_admin_helpers, type: :'invoice-terminated-destinations', prefix: 'billing' +RSpec.describe Api::Rest::Admin::InvoiceTerminatedDestinationsController, type: :request, bullet: [:n] do + include_context :json_api_admin_helpers, type: :'invoice-terminated-destinations' describe 'GET /api/rest/admin/invoice-terminated-destinations' do subject do diff --git a/spec/requests/api/rest/admin/billing/invoice_terminated_networks_spec.rb b/spec/requests/api/rest/admin/invoice_terminated_networks_spec.rb similarity index 97% rename from spec/requests/api/rest/admin/billing/invoice_terminated_networks_spec.rb rename to spec/requests/api/rest/admin/invoice_terminated_networks_spec.rb index 8f8218dc8..2f22d2193 100644 --- a/spec/requests/api/rest/admin/billing/invoice_terminated_networks_spec.rb +++ b/spec/requests/api/rest/admin/invoice_terminated_networks_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Billing::InvoiceTerminatedNetworksController, type: :request, bullet: [:n] do - include_context :json_api_admin_helpers, type: :'invoice-terminated-networks', prefix: 'billing' +RSpec.describe Api::Rest::Admin::InvoiceTerminatedNetworksController, type: :request, bullet: [:n] do + include_context :json_api_admin_helpers, type: :'invoice-terminated-networks' describe 'GET /api/rest/admin/invoice-terminated-networks' do subject do diff --git a/spec/requests/api/rest/admin/billing/invoices_spec.rb b/spec/requests/api/rest/admin/invoices_spec.rb similarity index 99% rename from spec/requests/api/rest/admin/billing/invoices_spec.rb rename to spec/requests/api/rest/admin/invoices_spec.rb index 7a3042b32..6032b0258 100644 --- a/spec/requests/api/rest/admin/billing/invoices_spec.rb +++ b/spec/requests/api/rest/admin/invoices_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Billing::InvoicesController, type: :request, bullet: [:n] do - include_context :json_api_admin_helpers, type: :invoices, prefix: 'billing' +RSpec.describe Api::Rest::Admin::InvoicesController, type: :request, bullet: [:n] do + include_context :json_api_admin_helpers, type: :invoices describe 'GET /api/rest/admin/invoices' do subject do diff --git a/spec/requests/api/rest/admin/system/network_types_spec.rb b/spec/requests/api/rest/admin/network_types_spec.rb similarity index 79% rename from spec/requests/api/rest/admin/system/network_types_spec.rb rename to spec/requests/api/rest/admin/network_types_spec.rb index 523ddb3c4..2ddf1c93f 100644 --- a/spec/requests/api/rest/admin/system/network_types_spec.rb +++ b/spec/requests/api/rest/admin/network_types_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::NetworkTypesController, type: :request do - include_context :json_api_admin_helpers, type: :'network-types', prefix: 'system' +RSpec.describe Api::Rest::Admin::NetworkTypesController, type: :request do + include_context :json_api_admin_helpers, type: :'network-types' - describe 'GET /api/rest/admin/system/network-types' do + describe 'GET /api/rest/admin/network-types' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/system/networks_spec.rb b/spec/requests/api/rest/admin/networks_spec.rb similarity index 74% rename from spec/requests/api/rest/admin/system/networks_spec.rb rename to spec/requests/api/rest/admin/networks_spec.rb index 43348583e..3c784b105 100644 --- a/spec/requests/api/rest/admin/system/networks_spec.rb +++ b/spec/requests/api/rest/admin/networks_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::NetworksController, type: :request do - include_context :json_api_admin_helpers, type: :networks, prefix: 'system' +RSpec.describe Api::Rest::Admin::NetworksController, type: :request do + include_context :json_api_admin_helpers, type: :networks - describe 'GET /api/rest/admin/system/networks' do + describe 'GET /api/rest/admin/networks' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/numberlist_items_spec.rb b/spec/requests/api/rest/admin/numberlist_items_spec.rb similarity index 76% rename from spec/requests/api/rest/admin/routing/numberlist_items_spec.rb rename to spec/requests/api/rest/admin/numberlist_items_spec.rb index f9c7934a7..e60693dec 100644 --- a/spec/requests/api/rest/admin/routing/numberlist_items_spec.rb +++ b/spec/requests/api/rest/admin/numberlist_items_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::NumberlistItemsController, type: :request do - include_context :json_api_admin_helpers, type: :'numberlist-items', prefix: 'routing' +RSpec.describe Api::Rest::Admin::NumberlistItemsController, type: :request do + include_context :json_api_admin_helpers, type: :'numberlist-items' - describe 'GET /api/rest/admin/routing/numberlist-items' do + describe 'GET /api/rest/admin/numberlist-items' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/numberlists_spec.rb b/spec/requests/api/rest/admin/numberlists_spec.rb similarity index 69% rename from spec/requests/api/rest/admin/routing/numberlists_spec.rb rename to spec/requests/api/rest/admin/numberlists_spec.rb index 5c32c36fc..9137332f4 100644 --- a/spec/requests/api/rest/admin/routing/numberlists_spec.rb +++ b/spec/requests/api/rest/admin/numberlists_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::NumberlistsController, type: :request do - include_context :json_api_admin_helpers, type: :numberlists, prefix: 'routing' +RSpec.describe Api::Rest::Admin::NumberlistsController, type: :request do + include_context :json_api_admin_helpers, type: :numberlists - describe 'GET /api/rest/admin/routing/numberlists' do + describe 'GET /api/rest/admin/numberlists' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/rateplans_spec.rb b/spec/requests/api/rest/admin/rateplans_spec.rb similarity index 69% rename from spec/requests/api/rest/admin/routing/rateplans_spec.rb rename to spec/requests/api/rest/admin/rateplans_spec.rb index 6dbb70458..f70f5b825 100644 --- a/spec/requests/api/rest/admin/routing/rateplans_spec.rb +++ b/spec/requests/api/rest/admin/rateplans_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RateplansController, type: :request do - include_context :json_api_admin_helpers, type: :rateplans, prefix: 'routing' +RSpec.describe Api::Rest::Admin::RateplansController, type: :request do + include_context :json_api_admin_helpers, type: :rateplans - describe 'GET /api/rest/admin/routing/rateplans' do + describe 'GET /api/rest/admin/rateplans' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/equipment/registrations_spec.rb b/spec/requests/api/rest/admin/registrations_spec.rb similarity index 96% rename from spec/requests/api/rest/admin/equipment/registrations_spec.rb rename to spec/requests/api/rest/admin/registrations_spec.rb index 1b141a5ff..739672748 100644 --- a/spec/requests/api/rest/admin/equipment/registrations_spec.rb +++ b/spec/requests/api/rest/admin/registrations_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Equipment::RegistrationsController do - include_context :json_api_admin_helpers, type: :registrations, prefix: 'equipment' +RSpec.describe Api::Rest::Admin::RegistrationsController do + include_context :json_api_admin_helpers, type: :registrations let!(:nodes) { create_list(:node, 2) } let(:transport_protocols) { Equipment::TransportProtocol.all.to_a } @@ -39,7 +39,7 @@ end end - describe 'GET /api/rest/admin/equipment/registrations' do + describe 'GET /api/rest/admin/registrations' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end @@ -63,7 +63,7 @@ it_behaves_like :json_api_admin_check_authorization end - describe 'GET /api/rest/admin/equipment/registrations/:id' do + describe 'GET /api/rest/admin/registrations/:id' do subject do get json_api_request_path, params: request_params, headers: json_api_request_headers end @@ -140,7 +140,7 @@ end end - describe 'POST /api/rest/admin/equipment/registrations' do + describe 'POST /api/rest/admin/registrations' do subject do post json_api_request_path, params: request_body.to_json, headers: json_api_request_headers end @@ -253,7 +253,7 @@ end end - describe 'PATCH /api/rest/admin/equipment/registrations/:id' do + describe 'PATCH /api/rest/admin/registrations/:id' do subject do patch json_api_request_path, params: request_body.to_json, headers: json_api_request_headers end @@ -309,7 +309,7 @@ end end - describe 'DELETE /api/rest/admin/equipment/registrations/:id' do + describe 'DELETE /api/rest/admin/registrations/:id' do subject do delete json_api_request_path, params: request_params, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/routeset_discriminators_spec.rb b/spec/requests/api/rest/admin/routeset_discriminators_spec.rb similarity index 77% rename from spec/requests/api/rest/admin/routing/routeset_discriminators_spec.rb rename to spec/requests/api/rest/admin/routeset_discriminators_spec.rb index 71d453e2d..f6d333231 100644 --- a/spec/requests/api/rest/admin/routing/routeset_discriminators_spec.rb +++ b/spec/requests/api/rest/admin/routeset_discriminators_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RoutesetDiscriminatorsController, type: :request do - include_context :json_api_admin_helpers, type: :'routeset-discriminators', prefix: 'routing' +RSpec.describe Api::Rest::Admin::RoutesetDiscriminatorsController, type: :request do + include_context :json_api_admin_helpers, type: :'routeset-discriminators' - describe 'GET /api/rest/admin/routing/routeset-discriminators' do + describe 'GET /api/rest/admin/routeset-discriminators' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/destinations_spec.rb b/spec/requests/api/rest/admin/routing/destinations_spec.rb deleted file mode 100644 index 3bcd5ccc7..000000000 --- a/spec/requests/api/rest/admin/routing/destinations_spec.rb +++ /dev/null @@ -1,183 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Api::Rest::Admin::Routing::DestinationsController, type: :request do - include_context :json_api_admin_helpers, type: :destinations, prefix: 'routing' - - describe 'GET /api/rest/admin/routing/destinations' do - subject do - get json_api_request_path, params: index_params, headers: json_api_request_headers - end - let(:index_params) { {} } - - let!(:destinations) do - [ - FactoryBot.create(:destination, prefix: '370614', rate_group:, routing_tag_ids: []), - FactoryBot.create(:destination, rate_group:, routing_tag_ids: [routing_tag.id, nil]) - ] - end - let!(:rate_group) { FactoryBot.create(:rate_group, rateplans:) } - let!(:rateplans) { FactoryBot.create_list(:rateplan, 2) } - let!(:routing_tag) { FactoryBot.create(:routing_tag) } - - include_examples :jsonapi_responds_with_pagination_links - include_examples :returns_json_api_collection do - let(:json_api_collection_ids) do - destinations.map { |r| r.id.to_s } - end - end - - it_behaves_like :json_api_admin_check_authorization - - context 'with included country, next_rate and network' do - let(:index_params) do - { - filter: { - rateplan_id_eq: rateplans[0].id - }, - include: 'destination-next-rates,country,network', - page: { - number: 1, - size: 1000 - } - } - end - let!(:next_rate) do - FactoryBot.create(:destination_next_rate, destination: destinations.first) - end - let(:network_prefix) { destinations[0].network_prefix } - - before do - # not affected destinations - another_plan = FactoryBot.create(:rateplan) - another_group = FactoryBot.create(:rate_group, rateplans: [rateplans[1], another_plan]) - FactoryBot.create_list(:destination, 2, rate_group: another_group) - end - - include_examples :jsonapi_responds_with_pagination_links - - it 'should return correct response' do - subject - - expect(response.status).to eq(200) - expect(response_json).to match( - hash_including( - data: match_array( - [ - hash_including( - id: destinations[0].id.to_s, - type: 'destinations', - attributes: { - 'acd-limit': destinations[0].acd_limit, - 'asr-limit': destinations[0].asr_limit, - 'connect-fee': destinations[0].connect_fee.to_s, - 'dp-margin-fixed': destinations[0].dp_margin_fixed.to_s, - 'dp-margin-percent': destinations[0].dp_margin_percent.to_s, - 'dst-number-max-length': destinations[0].dst_number_max_length, - 'dst-number-min-length': destinations[0].dst_number_min_length, - enabled: destinations[0].enabled, - 'external-id': destinations[0].external_id, - 'initial-interval': destinations[0].initial_interval, - 'initial-rate': destinations[0].initial_rate.to_s, - 'next-interval': destinations[0].next_interval, - 'next-rate': destinations[0].next_rate.to_s, - prefix: destinations[0].prefix, - 'profit-control-mode-id': destinations[0].profit_control_mode_id, - 'rate-policy-id': destinations[0].rate_policy_id, - 'reject-calls': destinations[0].reject_calls, - 'reverse-billing': destinations[0].reverse_billing, - 'routing-tag-ids': destinations[0].routing_tag_ids, - 'short-calls-limit': destinations[0].short_calls_limit, - 'use-dp-intervals': destinations[0].use_dp_intervals, - 'valid-from': destinations[0].valid_from.iso8601(3), - 'valid-till': destinations[0].valid_till.iso8601(3) - }, - relationships: hash_including( - 'destination-next-rates': { - :data => [{ :id => next_rate.id.to_s, :type => 'destination-next-rates' }] - }, - country: { - :data => { :id => network_prefix.country.id.to_s, :type => 'countries' }, - links: be_present - }, - network: { - :data => { id: network_prefix.network.id.to_s, type: 'networks' }, - links: be_present - } - ) - ), - hash_including( - id: destinations[1].id.to_s, - type: 'destinations', - attributes: { - 'acd-limit': destinations[1].acd_limit, - 'asr-limit': destinations[1].asr_limit, - 'connect-fee': destinations[1].connect_fee.to_s, - 'dp-margin-fixed': destinations[1].dp_margin_fixed.to_s, - 'dp-margin-percent': destinations[1].dp_margin_percent.to_s, - 'dst-number-max-length': destinations[1].dst_number_max_length, - 'dst-number-min-length': destinations[1].dst_number_min_length, - enabled: destinations[1].enabled, - 'external-id': destinations[1].external_id, - 'initial-interval': destinations[1].initial_interval, - 'initial-rate': destinations[1].initial_rate.to_s, - 'next-interval': destinations[1].next_interval, - 'next-rate': destinations[1].next_rate.to_s, - prefix: destinations[1].prefix, - 'profit-control-mode-id': destinations[1].profit_control_mode_id, - 'rate-policy-id': destinations[1].rate_policy_id, - 'reject-calls': destinations[1].reject_calls, - 'reverse-billing': destinations[1].reverse_billing, - 'routing-tag-ids': destinations[1].routing_tag_ids, - 'short-calls-limit': destinations[1].short_calls_limit, - 'use-dp-intervals': destinations[1].use_dp_intervals, - 'valid-from': destinations[1].valid_from.iso8601(3), - 'valid-till': destinations[1].valid_till.iso8601(3) - }, - relationships: hash_including( - 'destination-next-rates': { :data => [] }, - country: { :data => nil, links: be_present }, - network: { :data => nil, links: be_present } - ) - ) - ] - ), - included: match_array( - [ - hash_including( - id: next_rate.id.to_s, - type: 'destination-next-rates', - attributes: { - applied: next_rate.applied, - 'apply-time': next_rate.apply_time.iso8601(3), - 'connect-fee': next_rate.connect_fee.to_s, - 'external-id': next_rate.external_id, - 'initial-interval': next_rate.initial_interval, - 'initial-rate': next_rate.initial_rate.to_s, - 'next-interval': next_rate.next_interval, - 'next-rate': next_rate.next_rate.to_s - } - ), - hash_including( - id: network_prefix.country.id.to_s, - type: 'countries', - attributes: { - name: network_prefix.country.name, - iso2: network_prefix.country.iso2 - } - ), - hash_including( - id: network_prefix.network.id.to_s, - type: 'networks', - attributes: { - name: network_prefix.network.name - } - ) - ] - ), - meta: { 'total-count': destinations.size } - ) - ) - end - end - end -end diff --git a/spec/requests/api/rest/admin/routing/routing_groups_spec.rb b/spec/requests/api/rest/admin/routing_groups_spec.rb similarity index 78% rename from spec/requests/api/rest/admin/routing/routing_groups_spec.rb rename to spec/requests/api/rest/admin/routing_groups_spec.rb index 1ae77478e..6471615c5 100644 --- a/spec/requests/api/rest/admin/routing/routing_groups_spec.rb +++ b/spec/requests/api/rest/admin/routing_groups_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RoutingGroupsController, type: :request do - include_context :json_api_admin_helpers, type: :'routing-groups', prefix: 'routing' +RSpec.describe Api::Rest::Admin::RoutingGroupsController, type: :request do + include_context :json_api_admin_helpers, type: :'routing-groups' - describe 'GET /api/rest/admin/routing/routing-groups' do + describe 'GET /api/rest/admin/routing-groups' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/routing_tag_detection_rules_spec.rb b/spec/requests/api/rest/admin/routing_tag_detection_rules_spec.rb similarity index 74% rename from spec/requests/api/rest/admin/routing/routing_tag_detection_rules_spec.rb rename to spec/requests/api/rest/admin/routing_tag_detection_rules_spec.rb index 26aa59ac6..5531492e6 100644 --- a/spec/requests/api/rest/admin/routing/routing_tag_detection_rules_spec.rb +++ b/spec/requests/api/rest/admin/routing_tag_detection_rules_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RoutingTagDetectionRulesController, type: :request do - include_context :json_api_admin_helpers, type: :'routing-tag-detection-rules', prefix: 'routing' +RSpec.describe Api::Rest::Admin::RoutingTagDetectionRulesController, type: :request do + include_context :json_api_admin_helpers, type: :'routing-tag-detection-rules' - describe 'GET /api/rest/admin/routing/routing-tag-detection-rules' do + describe 'GET /api/rest/admin/routing-tag-detection-rules' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/routing_tag_modes_spec.rb b/spec/requests/api/rest/admin/routing_tag_modes_spec.rb similarity index 76% rename from spec/requests/api/rest/admin/routing/routing_tag_modes_spec.rb rename to spec/requests/api/rest/admin/routing_tag_modes_spec.rb index 3d83b8549..53434fd45 100644 --- a/spec/requests/api/rest/admin/routing/routing_tag_modes_spec.rb +++ b/spec/requests/api/rest/admin/routing_tag_modes_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RoutingTagModesController, type: :request do - include_context :json_api_admin_helpers, type: :'routing-tag-modes', prefix: 'routing' +RSpec.describe Api::Rest::Admin::RoutingTagModesController, type: :request do + include_context :json_api_admin_helpers, type: :'routing-tag-modes' - describe 'GET /api/rest/admin/routing/routing-tag-modes' do + describe 'GET /api/rest/admin/routing-tag-modes' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/routing_tags_spec.rb b/spec/requests/api/rest/admin/routing_tags_spec.rb similarity index 77% rename from spec/requests/api/rest/admin/routing/routing_tags_spec.rb rename to spec/requests/api/rest/admin/routing_tags_spec.rb index a78761079..f6cf5f750 100644 --- a/spec/requests/api/rest/admin/routing/routing_tags_spec.rb +++ b/spec/requests/api/rest/admin/routing_tags_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::RoutingTagsController, type: :request do - include_context :json_api_admin_helpers, type: :'routing-tags', prefix: 'routing' +RSpec.describe Api::Rest::Admin::RoutingTagsController, type: :request do + include_context :json_api_admin_helpers, type: :'routing-tags' - describe 'GET /api/rest/admin/routing/routing-tags' do + describe 'GET /api/rest/admin/routing-tags' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/system/sensor_levels_spec.rb b/spec/requests/api/rest/admin/sensor_levels_spec.rb similarity index 78% rename from spec/requests/api/rest/admin/system/sensor_levels_spec.rb rename to spec/requests/api/rest/admin/sensor_levels_spec.rb index 98722505d..f3929c0dc 100644 --- a/spec/requests/api/rest/admin/system/sensor_levels_spec.rb +++ b/spec/requests/api/rest/admin/sensor_levels_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::SensorLevelsController, type: :request do - include_context :json_api_admin_helpers, type: :'sensor-levels', prefix: 'system' +RSpec.describe Api::Rest::Admin::SensorLevelsController, type: :request do + include_context :json_api_admin_helpers, type: :'sensor-levels' - describe 'GET /api/rest/admin/system/sensor-levels' do + describe 'GET /api/rest/admin/sensor-levels' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/system/sensors_spec.rb b/spec/requests/api/rest/admin/sensors_spec.rb similarity index 70% rename from spec/requests/api/rest/admin/system/sensors_spec.rb rename to spec/requests/api/rest/admin/sensors_spec.rb index 12f5c9c79..f8518e5b1 100644 --- a/spec/requests/api/rest/admin/system/sensors_spec.rb +++ b/spec/requests/api/rest/admin/sensors_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::SensorsController, type: :request do - include_context :json_api_admin_helpers, type: :sensors, prefix: 'system' +RSpec.describe Api::Rest::Admin::SensorsController, type: :request do + include_context :json_api_admin_helpers, type: :sensors - describe 'GET /api/rest/admin/system/sensors' do + describe 'GET /api/rest/admin/sensors' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/equipment/sip_oprions_probers_spec.rb b/spec/requests/api/rest/admin/sip_oprions_probers_spec.rb similarity index 96% rename from spec/requests/api/rest/admin/equipment/sip_oprions_probers_spec.rb rename to spec/requests/api/rest/admin/sip_oprions_probers_spec.rb index a41bbfdec..38a3733f1 100644 --- a/spec/requests/api/rest/admin/equipment/sip_oprions_probers_spec.rb +++ b/spec/requests/api/rest/admin/sip_oprions_probers_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Equipment::SipOptionsProbersController do - include_context :json_api_admin_helpers, type: :'sip-options-probers', prefix: :equipment +RSpec.describe Api::Rest::Admin::SipOptionsProbersController do + include_context :json_api_admin_helpers, type: :'sip-options-probers' let!(:nodes) { create_list(:node, 2) } let(:transport_protocols) { Equipment::TransportProtocol.all.to_a } @@ -41,7 +41,7 @@ end end - describe 'GET /api/rest/admin/equipment/sip-options-probers' do + describe 'GET /api/rest/admin/sip-options-probers' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end @@ -65,7 +65,7 @@ it_behaves_like :json_api_admin_check_authorization end - describe 'GET /api/rest/admin/equipment/sip-options-probers/:id' do + describe 'GET /api/rest/admin/sip-options-probers/:id' do subject do get json_api_request_path, params: request_params, headers: json_api_request_headers end @@ -142,7 +142,7 @@ end end - describe 'POST /api/rest/admin/equipment/sip-oprions-probers' do + describe 'POST /api/rest/admin/sip-oprions-probers' do subject do post json_api_request_path, params: request_body.to_json, headers: json_api_request_headers end @@ -248,7 +248,7 @@ end end - describe 'PATCH /api/rest/admin/equipment/sip-options-probers/:id' do + describe 'PATCH /api/rest/admin/sip-options-probers/:id' do subject do patch json_api_request_path, params: request_body.to_json, headers: json_api_request_headers end @@ -310,7 +310,7 @@ end end - describe 'DELETE /api/rest/admin/equipment/sip-options-probers/:id' do + describe 'DELETE /api/rest/admin/sip-options-probers/:id' do subject do delete json_api_request_path, params: request_params, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/system/smtp_connections_spec.rb b/spec/requests/api/rest/admin/smtp_connections_spec.rb similarity index 77% rename from spec/requests/api/rest/admin/system/smtp_connections_spec.rb rename to spec/requests/api/rest/admin/smtp_connections_spec.rb index 2388d604d..e24bb36c6 100644 --- a/spec/requests/api/rest/admin/system/smtp_connections_spec.rb +++ b/spec/requests/api/rest/admin/smtp_connections_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::SmtpConnectionsController, type: :request do - include_context :json_api_admin_helpers, type: :'smtp-connections', prefix: 'system' +RSpec.describe Api::Rest::Admin::SmtpConnectionsController, type: :request do + include_context :json_api_admin_helpers, type: :'smtp-connections' - describe 'GET /api/rest/admin/system/smtp-connections' do + describe 'GET /api/rest/admin/smtp-connections' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/routing/tag_action_spec.rb b/spec/requests/api/rest/admin/tag_action_spec.rb similarity index 68% rename from spec/requests/api/rest/admin/routing/tag_action_spec.rb rename to spec/requests/api/rest/admin/tag_action_spec.rb index 0fbe1a1c1..36017a6e5 100644 --- a/spec/requests/api/rest/admin/routing/tag_action_spec.rb +++ b/spec/requests/api/rest/admin/tag_action_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Routing::TagActionsController, type: :request do - include_context :json_api_admin_helpers, type: :'tag-actions', prefix: 'routing' +RSpec.describe Api::Rest::Admin::TagActionsController, type: :request do + include_context :json_api_admin_helpers, type: :'tag-actions' - describe 'GET /api/rest/admin/routing/tag-actions' do + describe 'GET /api/rest/admin/tag-actions' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/system/timezones_spec.rb b/spec/requests/api/rest/admin/timezones_spec.rb similarity index 71% rename from spec/requests/api/rest/admin/system/timezones_spec.rb rename to spec/requests/api/rest/admin/timezones_spec.rb index 2a84c6358..a1ab68646 100644 --- a/spec/requests/api/rest/admin/system/timezones_spec.rb +++ b/spec/requests/api/rest/admin/timezones_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::System::TimezonesController, type: :request do - include_context :json_api_admin_helpers, type: :timezones, prefix: 'system' +RSpec.describe Api::Rest::Admin::TimezonesController, type: :request do + include_context :json_api_admin_helpers, type: :timezones - describe 'GET /api/rest/admin/system/timezones' do + describe 'GET /api/rest/admin/timezones' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/requests/api/rest/admin/equipment/transport_protocols_spec.rb b/spec/requests/api/rest/admin/transport_protocols_spec.rb similarity index 75% rename from spec/requests/api/rest/admin/equipment/transport_protocols_spec.rb rename to spec/requests/api/rest/admin/transport_protocols_spec.rb index f32d92852..761db598f 100644 --- a/spec/requests/api/rest/admin/equipment/transport_protocols_spec.rb +++ b/spec/requests/api/rest/admin/transport_protocols_spec.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -RSpec.describe Api::Rest::Admin::Equipment::TransportProtocolsController, type: :request do - include_context :json_api_admin_helpers, type: :'transport-protocols', prefix: 'equipment' +RSpec.describe Api::Rest::Admin::TransportProtocolsController, type: :request do + include_context :json_api_admin_helpers, type: :'transport-protocols' - describe 'GET /api/rest/admin/equipment/transport-protocols' do + describe 'GET /api/rest/admin/transport-protocols' do subject do get json_api_request_path, params: nil, headers: json_api_request_headers end diff --git a/spec/support/contexts/acceptance/acceptance_delete.rb b/spec/support/contexts/acceptance/acceptance_delete.rb index 9c1f67718..f333f8cf5 100644 --- a/spec/support/contexts/acceptance/acceptance_delete.rb +++ b/spec/support/contexts/acceptance/acceptance_delete.rb @@ -1,11 +1,7 @@ # frozen_string_literal: true -RSpec.shared_context :acceptance_delete do |namespace: nil, type:| - resource_path = begin - str = '/api/rest/admin' - str += "/#{namespace}" if namespace - str + "/#{type}" - end +RSpec.shared_context :acceptance_delete do |type:| + resource_path = "/api/rest/admin/#{type}" delete "#{resource_path}/:id" do let(:id) { record.id } diff --git a/spec/support/contexts/acceptance/acceptance_index_show.rb b/spec/support/contexts/acceptance/acceptance_index_show.rb index a1ed615f4..4c3e5d80c 100644 --- a/spec/support/contexts/acceptance/acceptance_index_show.rb +++ b/spec/support/contexts/acceptance/acceptance_index_show.rb @@ -1,16 +1,12 @@ # frozen_string_literal: true -RSpec.shared_context :acceptance_index_show do |namespace: nil, type:| +RSpec.shared_context :acceptance_index_show do |type:| # let(:collection) { ModelClass.all } # let(:record) { ModelClass.take } let(:type) { type } - resource_path = begin - str = '/api/rest/admin' - str += "/#{namespace}" if namespace - str + "/#{type}" - end + resource_path = "/api/rest/admin/#{type}" get resource_path do before { collection } diff --git a/spec/support/contexts/json_api/json_api_admin_helpers.rb b/spec/support/contexts/json_api/json_api_admin_helpers.rb index d5dd2b805..d653e03a4 100644 --- a/spec/support/contexts/json_api/json_api_admin_helpers.rb +++ b/spec/support/contexts/json_api/json_api_admin_helpers.rb @@ -3,7 +3,7 @@ RSpec.shared_context :json_api_admin_helpers do |type: nil, prefix: nil| let(:json_api_resource_type) { type.to_s } let(:json_api_auth_token) { ::Knock::AuthToken.new(payload: { sub: admin_user.id }).token } - let(:json_api_request_path_prefix) { ['/api/rest/admin', prefix].compact.join('/') } + let(:json_api_request_path_prefix) { '/api/rest/admin' } let(:json_api_request_path) { "#{json_api_request_path_prefix}/#{json_api_resource_type}" } let(:json_api_request_headers) do { diff --git a/spec/support/examples/json_api/returns_json_api_record.rb b/spec/support/examples/json_api/returns_json_api_record.rb index f7e3dfe8a..517db7433 100644 --- a/spec/support/examples/json_api/returns_json_api_record.rb +++ b/spec/support/examples/json_api/returns_json_api_record.rb @@ -1,7 +1,10 @@ # frozen_string_literal: true RSpec.shared_examples :returns_json_api_record do |relationships: [], type: nil, status: 200| - let(:json_api_record_data) { response_json[:data] } # can be overridden to check one of collection's item + let(:json_api_data_detect_by_id_type) { response_json[:data].detect { |d| d[:id] == json_api_record_id && d[:type] == type } } + # can be overridden to check one of collection's item + # let(:json_api_record_data) { json_api_data_detect_by_id_type } + let(:json_api_record_data) { response_json[:data] } let(:json_api_record_id) { nil } let(:json_api_record_attributes) { nil } let(:json_api_record_type) { type || json_api_resource_type }