7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/legion/api/relationships.rb', line 7
def self.registered(app)
app.get '/api/relationships' do
require_data!
json_collection(Legion::Data::Model::Relationship.order(:id))
end
app.post '/api/relationships' do
Legion::Logging.debug "API: POST /api/relationships params=#{params.keys}"
require_data!
body = parse_request_body
id = Legion::Data::Model::Relationship.insert(body)
record = Legion::Data::Model::Relationship[id]
Legion::Logging.info "API: created relationship #{id}"
json_response(record.values, status_code: 201)
end
app.get '/api/relationships/:id' do
require_data!
record = find_or_halt(Legion::Data::Model::Relationship, params[:id])
json_response(record.values)
end
app.put '/api/relationships/:id' do
Legion::Logging.debug "API: PUT /api/relationships/#{params[:id]} params=#{params.keys}"
require_data!
record = find_or_halt(Legion::Data::Model::Relationship, params[:id])
body = parse_request_body
record.update(body)
record.refresh
Legion::Logging.info "API: updated relationship #{params[:id]}"
json_response(record.values)
end
app.delete '/api/relationships/:id' do
require_data!
record = find_or_halt(Legion::Data::Model::Relationship, params[:id])
record.delete
Legion::Logging.info "API: deleted relationship #{params[:id]}"
json_response({ deleted: true })
end
end
|