Guest User

Untitled

a guest
Dec 12th, 2018
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1.  
  2. require 'rubygems'
  3. require 'sinatra'
  4. require 'sinatra/cross_origin'
  5. require 'active_record'
  6. require 'json'
  7. require 'yajl'
  8. require 'rack/cors'
  9.  
  10. ActiveRecord::Base.include_root_in_json = false
  11. ActiveRecord::Base.establish_connection(
  12. :adapter => 'mysql2',
  13. :database => 'autofood_web_development',
  14. :username => 'root',
  15. :password => 'root'
  16. )
  17.  
  18. class Category < ActiveRecord::Base
  19. end
  20.  
  21. class Product < ActiveRecord::Base
  22. end
  23.  
  24. class Service < ActiveRecord::Base
  25. end
  26.  
  27. class Request < ActiveRecord::Base
  28. end
  29.  
  30. set :protection, except: :json_csrf
  31.  
  32. before do
  33. headers \
  34. 'Access-Control-Allow-Origin' => '*',
  35. 'Access-Control-Allow-Methods' => %w{GET POST PUT DELETE OPTIONS}.join(','),
  36. 'Access-Control-Allow-Headers' => %w{Origin Accept Content-Type X-Requested-With X-CSRF-Token}.join(',')
  37. params['model'] = Yajl::Parser.parse request.body || {}
  38. end
  39.  
  40. configure do
  41. enable :cross_origin
  42. end
  43.  
  44. options '/services*' do
  45. 200
  46. end
  47.  
  48. options '/requests*' do
  49. # 200
  50. end
  51.  
  52. get '/categories' do
  53. content_type :json
  54. @categories = Category.all
  55. @categories.to_json
  56. end
  57.  
  58. get '/categories/:id' do
  59. content_type :json
  60. @categories = Category.find(params[:id])
  61. @categories.to_json
  62. end
  63.  
  64. get '/categories/:id/products' do
  65. content_type :json
  66. @products = Product.where('category_id=?',params[:id])
  67. @products.to_json
  68. end
  69.  
  70. get '/services' do
  71. content_type :json
  72. Service.all.to_json
  73. end
  74.  
  75. post '/services' do
  76. service = Service.new(params['model'])
  77. service.save
  78. end
  79.  
  80. post '/requests' do
  81. request = Request.new(params['model'])
  82. request.save
  83. end
  84.  
  85. get '/services/:id' do
  86. content_type :json
  87. @service = Service.find(params[:id])
  88. @service.to_json
  89. end
  90.  
  91. get '/services/:id/requests' do
  92. content_type :json
  93. @requests = Request.where('service_id=?',params[:id])
  94. @requests.to_json
  95. end
Add Comment
Please, Sign In to add comment