Files
bit/app/routes.cr
T
Juan Rodriguez 7f2a27ec79 feat: auth middleware
- CORS headers
- Get all links that belong to user
2024-05-13 22:35:22 +02:00

38 lines
872 B
Crystal

require "./controllers/**"
module App
before_all do |env|
env.response.headers["Access-Control-Allow-Origin"] = "*"
env.response.headers["Access-Control-Allow-Methods"] = "GET, POST, PUT, DELETE, OPTIONS"
env.response.headers["Access-Control-Allow-Headers"] = "Content-Type, Accept, X-Api-Key"
end
after_all do |env|
env.response.content_type = "application/json"
end
get "/api/ping" do |env|
Controllers::Ping::Get.new.call(env)
end
get "/:slug" do |env|
Controllers::Link::Index.new.call(env)
end
get "/api/links" do |env|
Controllers::Link::All.new.call(env)
end
post "/api/links" do |env|
Controllers::Link::Create.new.call(env)
end
put "/api/links/:id" do |env|
Controllers::Link::Update.new.call(env)
end
delete "/api/links/:id" do |env|
Controllers::Link::Delete.new.call(env)
end
end