An application that reminds you to water your plants
at main 1.1 kB view raw
1# frozen_string_literal: true 2 3require 'sinatra' 4 5require_relative 'lib/database' 6require_relative 'lib/data_access' 7require_relative 'lib/services' 8 9database = Database.new 10data_access = DataAccess.new database 11services = Services.new data_access 12 13def simple_get(path, view)= get(path) { erb view.to_sym } 14 15# Simple routes 16simple_get '/', :index 17simple_get '/plants', :plants 18get('/db-health-check') { database.healthcheck } 19 20post '/new-plant' do 21 redirect '/plants' if services.plant.new_plant user_id: params['user_id'], 22 name: params['name'], 23 plant_type: params['plant_type'] 24end 25 26post '/sign-up' do 27 return services.user.sign_up! params['email'] if params.key?('email') 28 29 status 400 30 'No email provided!' 31end 32 33post '/validate-code' do 34 redirect '/plants' if services.user.validate_code? ip: request.env['REMOTE_ADDR'], 35 email: params['email'], 36 code: params['validation-code'] 37end 38 39post '/send-email' do 40 # TODO: Do something 41end