Sha256: ca86d471c18abdb02f9dee7263e948c9bf6b095ce774e22908ac014dc8e9aa60
Contents?: true
Size: 853 Bytes
Versions: 39
Compression:
Stored size: 853 Bytes
Contents
# frozen_string_literal: true module Decidim # Store user's social identities class Identity < ApplicationRecord include Decidim::DataPortability belongs_to :user, foreign_key: :decidim_user_id, class_name: "Decidim::User" belongs_to :organization, foreign_key: :decidim_organization_id, class_name: "Decidim::Organization" validates :provider, presence: true validates :uid, presence: true, uniqueness: { scope: [:provider, :organization] } validate :same_organization def self.user_collection(user) where(decidim_user_id: user.id) end def self.export_serializer Decidim::DataPortabilitySerializers::DataPortabilityIdentitySerializer end private def same_organization return if organization == user&.organization errors.add(:organization, :invalid) end end end
Version data entries
39 entries across 39 versions & 1 rubygems