|
372 | 372 | t.belongs_to :painting |
373 | 373 | end |
374 | 374 |
|
| 375 | + create_table :lists, force: true do |t| |
| 376 | + t.string :name |
| 377 | + end |
| 378 | + |
| 379 | + create_table :list_items, force: true do |t| |
| 380 | + t.belongs_to :list |
| 381 | + end |
| 382 | + |
375 | 383 | # special cases |
376 | 384 | create_table :storages, force: true do |t| |
377 | 385 | t.string :token, null: false |
@@ -870,6 +878,14 @@ class Collector < ActiveRecord::Base |
870 | 878 | belongs_to :painting |
871 | 879 | end |
872 | 880 |
|
| 881 | +class List < ActiveRecord::Base |
| 882 | + has_many :items, class_name: 'ListItem', inverse_of: :list |
| 883 | +end |
| 884 | + |
| 885 | +class ListItem < ActiveRecord::Base |
| 886 | + belongs_to :list, inverse_of: :items |
| 887 | +end |
| 888 | + |
873 | 889 | ### CONTROLLERS |
874 | 890 | class SessionsController < ActionController::Base |
875 | 891 | include JSONAPI::ActsAsResourceController |
@@ -1202,6 +1218,12 @@ class DoctorsController < JSONAPI::ResourceController |
1202 | 1218 | class RespondentController < JSONAPI::ResourceController |
1203 | 1219 | end |
1204 | 1220 |
|
| 1221 | +class ListsController < JSONAPI::ResourceController |
| 1222 | +end |
| 1223 | + |
| 1224 | +class ListItemsController < JSONAPI::ResourceController |
| 1225 | +end |
| 1226 | + |
1205 | 1227 | class StoragesController < BaseController |
1206 | 1228 | end |
1207 | 1229 |
|
@@ -2531,6 +2553,14 @@ class RespondentResource < JSONAPI::Resource |
2531 | 2553 | abstract |
2532 | 2554 | end |
2533 | 2555 |
|
| 2556 | +class ListResource < JSONAPI::Resource |
| 2557 | + has_many :items, class_name: 'ListItem' |
| 2558 | +end |
| 2559 | + |
| 2560 | +class ListItemResource < JSONAPI::Resource |
| 2561 | + has_one :list |
| 2562 | +end |
| 2563 | + |
2534 | 2564 | class StorageResource < JSONAPI::Resource |
2535 | 2565 | key_type :string |
2536 | 2566 | primary_key :token |
|
0 commit comments