diff --git a/lib/trmnl/api/container.rb b/lib/trmnl/api/container.rb index 43d2fea..3d13410 100644 --- a/lib/trmnl/api/container.rb +++ b/lib/trmnl/api/container.rb @@ -26,6 +26,7 @@ module TRMNL register :firmware, Contracts::Firmware register :ip_address, Contracts::IPAddress register :model, Contracts::Model + register :palette, Contracts::Palette register :setup, Contracts::Setup end diff --git a/lib/trmnl/api/contracts/palette.rb b/lib/trmnl/api/contracts/palette.rb new file mode 100644 index 0000000..376b975 --- /dev/null +++ b/lib/trmnl/api/contracts/palette.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +require "dry/schema" + +module TRMNL + module API + module Contracts + # Validates API response. + Palette = Dry::Schema.JSON do + required(:data).array(:hash) do + required(:id).filled :string + required(:name).filled :string + optional(:grays).maybe :integer + optional(:colors).maybe(:array) + optional(:framework_class).maybe :string + end + end + end + end +end