Class: Spree::Api::V2::Tenant::UserAccountLinkagesController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/spree/api/v2/tenant/user_account_linkages_controller.rb

Instance Method Summary collapse

Methods inherited from BaseController

#render_serialized_payload, #require_tenant, #scope

Instance Method Details

#collectionObject



10
11
12
# File 'app/controllers/spree/api/v2/tenant/user_account_linkages_controller.rb', line 10

def collection
  spree_current_user.user_identity_providers
end

#collection_serializerObject



32
33
34
# File 'app/controllers/spree/api/v2/tenant/user_account_linkages_controller.rb', line 32

def collection_serializer
  Spree::V2::Tenant::UserIdentityProviderSerializer
end

#createObject



14
15
16
17
18
19
20
21
22
23
# File 'app/controllers/spree/api/v2/tenant/user_account_linkages_controller.rb', line 14

def create
  context = SpreeCmCommissioner::AccountLinkage.call(user: spree_current_user, id_token: params[:id_token])

  if context.success?
    identity_provider = context.identity_provider
    render_serialized_payload { serialize_resource(identity_provider) }
  else
    render_error_payload(context.message)
  end
end

#destroyObject



25
26
27
28
29
30
# File 'app/controllers/spree/api/v2/tenant/user_account_linkages_controller.rb', line 25

def destroy
  user_identity_provider = spree_current_user.user_identity_providers.find(params[:id])
  user_identity_provider.destroy

  render_serialized_payload { serialize_resource(user_identity_provider) }
end

#required_schemaObject



40
41
42
# File 'app/controllers/spree/api/v2/tenant/user_account_linkages_controller.rb', line 40

def required_schema
  SpreeCmCommissioner::UserAccountLinkageRequestSchema
end

#resource_serializerObject



36
37
38
# File 'app/controllers/spree/api/v2/tenant/user_account_linkages_controller.rb', line 36

def resource_serializer
  Spree::V2::Tenant::UserIdentityProviderSerializer
end