lib/kentaa/api/resources/consent.rb in kentaa-api-0.6.0 vs lib/kentaa/api/resources/consent.rb in kentaa-api-0.7.0

- old
+ new

@@ -1,26 +1,99 @@ # frozen_string_literal: true +require 'time' + module Kentaa module Api module Resources class Consent + STATUS_GRANTED = 'granted' + STATUS_REVOKED = 'revoked' + + TYPE_TERMS_CONDITIONS = 'terms_conditions' + TYPE_PROCESSING_PERSONAL_DATA = 'processing_personal_data' + TYPE_PROCESSING_PERSONAL_SENSITIVE_DATA = 'processing_personal_sensitive_data' + TYPE_NEWSLETTER_SUBSCRIPTION = 'newsletter_subscription' + TYPE_NEWS_ITEM_SUBSCRIPTION = 'news_item_subscription' + TYPE_CONTACT_PHONE = 'contact_phone' + TYPE_CONTACT_PHONE_COMMERCIAL = 'contact_phone_commercial' + attr_reader :data def initialize(data) @data = data end - def url - data[:url] + def consent_type + data[:consent_type] end + def terms_conditions? + consent_type == TYPE_TERMS_CONDITIONS + end + + def processing_personal_data? + consent_type == TYPE_PROCESSING_PERSONAL_DATA + end + + def processing_personal_sensitive_data? + consent_type == TYPE_PROCESSING_PERSONAL_SENSITIVE_DATA + end + + def newsletter_subscription? + consent_type == TYPE_NEWSLETTER_SUBSCRIPTION + end + + def news_item_subscription? + consent_type == TYPE_NEWS_ITEM_SUBSCRIPTION + end + + def contact_phone? + consent_type == TYPE_CONTACT_PHONE + end + + def contact_phone_commercial? + consent_type == TYPE_CONTACT_PHONE_COMMERCIAL + end + + def consent_status + data[:consent_status] + end + + def granted? + consent_status == STATUS_GRANTED + end + + def revoked? + consent_status == STATUS_REVOKED + end + + def granted_at + Time.parse(data[:granted_at]) + end + + def revoked_at + Time.parse(data[:revoked_at]) if data[:revoked_at] + end + + def consent_text + data[:consent_text] + end + def text - data[:text] + data[:text] || data[:consent_text] end + def url + data[:url] + end + def version - data[:version] + data[:version] || data[:terms_conditions_version] + end + + def terms_conditions_version + data[:terms_conditions_version] end end end end end