2024-02-11 22:19:19 +01:00
|
|
|
require 'sinatra/base'
|
|
|
|
|
require 'sinatra/namespace'
|
|
|
|
|
require 'sinatra/activerecord'
|
2024-06-02 20:19:02 +02:00
|
|
|
require './mood'
|
2024-11-11 16:09:15 +01:00
|
|
|
require './event'
|
2024-02-11 22:19:19 +01:00
|
|
|
|
|
|
|
|
class MoodApp < Sinatra::Base
|
|
|
|
|
register Sinatra::ActiveRecordExtension
|
|
|
|
|
register Sinatra::Namespace
|
2024-06-02 20:19:02 +02:00
|
|
|
set :database, { adapter: 'sqlite3', database: "mood-#{ENV['RACK_ENV']}.sqlite3" }
|
2025-05-23 19:14:32 +02:00
|
|
|
set :bind, '::1'
|
2024-02-11 22:19:19 +01:00
|
|
|
|
|
|
|
|
get '/' do
|
2025-03-05 17:33:10 +01:00
|
|
|
@mode = Mood.last&.mode || 'croisiere'
|
|
|
|
|
@mood_log = Mood.log || []
|
2024-02-11 22:19:19 +01:00
|
|
|
erb :index
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
namespace '/api/v1' do
|
|
|
|
|
before do
|
|
|
|
|
content_type 'application/json'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
post '/moods' do
|
|
|
|
|
json = request.body.read
|
|
|
|
|
puts json
|
|
|
|
|
data = JSON.parse json
|
|
|
|
|
Mood.create(mode: data['mode'], recorded_at: Time.now)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
run! if app_file == $0
|
|
|
|
|
end
|