diff --git a/app/resources/api/v1/base_resource.rb b/app/resources/api/v1/base_resource.rb new file mode 100644 index 000000000..f3014a8f4 --- /dev/null +++ b/app/resources/api/v1/base_resource.rb @@ -0,0 +1,8 @@ +module Api + module V1 + class BaseResource < JSONAPI::Resource + immutable + abstract + end + end +end diff --git a/app/resources/api/v1/crop_resource.rb b/app/resources/api/v1/crop_resource.rb index 61c77a983..28675270d 100644 --- a/app/resources/api/v1/crop_resource.rb +++ b/app/resources/api/v1/crop_resource.rb @@ -1,8 +1,6 @@ module Api module V1 - class CropResource < JSONAPI::Resource - immutable - + class CropResource < BaseResource has_many :plantings has_many :photos has_one :parent diff --git a/app/resources/api/v1/garden_resource.rb b/app/resources/api/v1/garden_resource.rb index 94de9b06a..96697ab38 100644 --- a/app/resources/api/v1/garden_resource.rb +++ b/app/resources/api/v1/garden_resource.rb @@ -1,8 +1,6 @@ module Api module V1 - class GardenResource < JSONAPI::Resource - immutable - + class GardenResource < BaseResource has_one :owner, class_name: 'Member' has_many :plantings has_many :photos diff --git a/app/resources/api/v1/harvest_resource.rb b/app/resources/api/v1/harvest_resource.rb index 067ec307c..78603e028 100644 --- a/app/resources/api/v1/harvest_resource.rb +++ b/app/resources/api/v1/harvest_resource.rb @@ -1,8 +1,6 @@ module Api module V1 - class HarvestResource < JSONAPI::Resource - immutable - + class HarvestResource < BaseResource has_one :crop has_one :planting has_one :owner, class_name: 'Member' diff --git a/app/resources/api/v1/member_resource.rb b/app/resources/api/v1/member_resource.rb index fb5645f2e..4ea8d4db6 100644 --- a/app/resources/api/v1/member_resource.rb +++ b/app/resources/api/v1/member_resource.rb @@ -1,8 +1,6 @@ module Api module V1 - class MemberResource < JSONAPI::Resource - immutable - + class MemberResource < BaseResource has_many :gardens attribute :login_name diff --git a/app/resources/api/v1/photo_resource.rb b/app/resources/api/v1/photo_resource.rb index 22db926ca..6789f6737 100644 --- a/app/resources/api/v1/photo_resource.rb +++ b/app/resources/api/v1/photo_resource.rb @@ -1,8 +1,6 @@ module Api module V1 - class PhotoResource < JSONAPI::Resource - immutable - + class PhotoResource < BaseResource has_one :owner, class_name: 'Member' attribute :thumbnail_url diff --git a/app/resources/api/v1/planting_resource.rb b/app/resources/api/v1/planting_resource.rb index 99a0eeda1..cdfa7399a 100644 --- a/app/resources/api/v1/planting_resource.rb +++ b/app/resources/api/v1/planting_resource.rb @@ -1,7 +1,6 @@ module Api module V1 - class PlantingResource < JSONAPI::Resource - immutable + class PlantingResource < BaseResource has_one :garden has_one :crop has_one :owner, class_name: 'Member' diff --git a/app/resources/api/v1/seed_resource.rb b/app/resources/api/v1/seed_resource.rb index 3488ff767..5703928b2 100644 --- a/app/resources/api/v1/seed_resource.rb +++ b/app/resources/api/v1/seed_resource.rb @@ -1,7 +1,6 @@ module Api module V1 - class SeedResource < JSONAPI::Resource - immutable + class SeedResource < BaseResource has_one :owner, class_name: 'Member' has_one :crop