Files
MySMSAPio/config/routes.rb
2025-10-22 17:22:17 +08:00

74 lines
1.8 KiB
Ruby

Rails.application.routes.draw do
# Health check endpoint
get "up" => "rails/health#show", as: :rails_health_check
# Mount Action Cable WebSocket server
mount ActionCable.server => "/cable"
# API routes
namespace :api do
namespace :v1 do
# Gateway device endpoints
namespace :gateway do
post "register", to: "registrations#create"
post "heartbeat", to: "heartbeats#create"
namespace :sms do
post "received", to: "sms#received"
post "status", to: "sms#status"
end
end
# Client application endpoints
post "sms/send", to: "sms#send_sms"
get "sms/status/:message_id", to: "sms#status"
get "sms/received", to: "sms#received"
# OTP endpoints
namespace :otp do
post "send", to: "otp#send_otp"
post "verify", to: "otp#verify"
end
# Admin endpoints
namespace :admin do
get "gateways", to: "gateways#index"
post "gateways/:id/toggle", to: "gateways#toggle"
get "stats", to: "stats#index"
end
end
end
# Admin interface routes
namespace :admin do
get "login", to: "sessions#new"
post "login", to: "sessions#create"
delete "logout", to: "sessions#destroy"
get "dashboard", to: "dashboard#index"
root to: "dashboard#index"
resources :api_keys, only: [:index, :new, :create, :show, :destroy] do
member do
post :toggle
end
end
resources :logs, only: [:index]
resources :gateways, only: [:index, :new, :create, :show] do
member do
post :toggle
get :test
post :send_test_sms
post :check_connection
end
end
get "api_tester", to: "api_tester#index"
end
# Root route
root to: proc { [200, {}, ["SMS Gateway API v1.0"]] }
end