From 69bde5539cc7a2f3cd8267c57b33b36a2ff6e40d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuzhan=20Koral?= <45078678+oguzhankoral@users.noreply.github.com> Date: Mon, 21 Apr 2025 15:06:19 +0300 Subject: [PATCH] Add serverUrl and workspaceSlug to model cards (#427) --- .../base_actions/add_receive_model_card.rb | 4 +- .../base_actions/add_send_model_card.rb | 2 + .../base_actions/get_document_state.rb | 8 +++- speckle_connector_3/src/cards/card.rb | 12 +++++- speckle_connector_3/src/cards/receive_card.rb | 4 +- speckle_connector_3/src/cards/send_card.rb | 4 +- .../src/cards/send_card_multiple_filters.rb | 38 +++++++++---------- 7 files changed, 48 insertions(+), 24 deletions(-) diff --git a/speckle_connector_3/src/actions/base_actions/add_receive_model_card.rb b/speckle_connector_3/src/actions/base_actions/add_receive_model_card.rb index dfdeb49..46a2013 100644 --- a/speckle_connector_3/src/actions/base_actions/add_receive_model_card.rb +++ b/speckle_connector_3/src/actions/base_actions/add_receive_model_card.rb @@ -17,7 +17,9 @@ module SpeckleConnector3 def self.update_state(state, resolve_id, data) model_card_id = data['modelCardId'] account_id = data['accountId'] + server_url = data['serverUrl'] workspace_id = data['workspaceId'] + workspace_slug = data['workspaceSlug'] project_id = data['projectId'] model_id = data['modelId'] project_name = data['projectName'] @@ -32,7 +34,7 @@ module SpeckleConnector3 has_dismissed_update_warning = data['hasDismissedUpdateWarning'] baked_object_ids = data['bakedObjectIds'].nil? ? nil : data['bakedObjectIds'].values - receive_card = Cards::ReceiveCard.new(model_card_id, account_id, workspace_id, + receive_card = Cards::ReceiveCard.new(model_card_id, account_id, server_url, workspace_id, workspace_slug, project_id, model_id, project_name, model_name, selected_version_id, selected_version_source_app, selected_version_user_id, diff --git a/speckle_connector_3/src/actions/base_actions/add_send_model_card.rb b/speckle_connector_3/src/actions/base_actions/add_send_model_card.rb index e071536..96356d9 100644 --- a/speckle_connector_3/src/actions/base_actions/add_send_model_card.rb +++ b/speckle_connector_3/src/actions/base_actions/add_send_model_card.rb @@ -22,7 +22,9 @@ module SpeckleConnector3 send_card = Cards::SendCard.new( data['modelCardId'], data['accountId'], + data['serverUrl'], data['workspaceId'], + data['workspaceSlug'], data['projectId'], data['projectName'], data['modelId'], diff --git a/speckle_connector_3/src/actions/base_actions/get_document_state.rb b/speckle_connector_3/src/actions/base_actions/get_document_state.rb index 66ed8fe..3465035 100644 --- a/speckle_connector_3/src/actions/base_actions/get_document_state.rb +++ b/speckle_connector_3/src/actions/base_actions/get_document_state.rb @@ -21,7 +21,9 @@ module SpeckleConnector3 send_card = Cards::SendCard.new( id, card['account_id'], + card['server_url'], card['workspace_id'], + card['workspace_slug'], card['project_id'], card['project_name'], card['model_id'], @@ -36,7 +38,9 @@ module SpeckleConnector3 { modelCardId: send_card.model_card_id, accountId: send_card.account_id, + serverUrl: send_card.server_url, workspaceId: send_card.workspace_id, + workspaceSlug: send_card.workspace_slug, projectId: send_card.project_id, modelId: send_card.model_id, sendFilter: send_card.send_filter, @@ -51,7 +55,7 @@ module SpeckleConnector3 # TODO: CONVERTER_V2: Extract into new actions receive_cards = receive_cards_hash.collect do |id, card| - receive_card = Cards::ReceiveCard.new(id, card['account_id'], card['workspace_id'], card['project_id'], card['model_id'], + receive_card = Cards::ReceiveCard.new(id, card['account_id'], card['server_url'], card['workspace_id'], card['workspace_slug'], card['project_id'], card['model_id'], card['project_name'], card['model_name'], card['selected_version_id'], card['selected_version_source_app'], card['selected_version_user_id'], card['latest_version_id'], card['latest_version_source_app'], @@ -63,7 +67,9 @@ module SpeckleConnector3 { modelCardId: receive_card.model_card_id, accountId: receive_card.account_id, + serverUrl: receive_card.server_url, workspaceId: receive_card.workspace_id, + workspaceSlug: receive_card.workspace_slug, projectId: receive_card.project_id, modelId: receive_card.model_id, projectName: receive_card.project_name, diff --git a/speckle_connector_3/src/cards/card.rb b/speckle_connector_3/src/cards/card.rb index 2cb7a3f..a1ccc61 100644 --- a/speckle_connector_3/src/cards/card.rb +++ b/speckle_connector_3/src/cards/card.rb @@ -27,27 +27,37 @@ module SpeckleConnector3 # @return [String] workspace id of the card. attr_reader :workspace_id + # @return [String] workspace slug of the card. + attr_reader :workspace_slug + + # @return [String] server url of the card. + attr_reader :server_url + # @return [Boolean] card is valid or not. attr_reader :valid # rubocop:disable Metrics/ParameterLists - def initialize(model_card_id, account_id, workspace_id, project_id, project_name, model_id, model_name) + def initialize(model_card_id, account_id, server_url, workspace_id, workspace_slug, project_id, project_name, model_id, model_name) super() @model_card_id = model_card_id @account_id = account_id @workspace_id = workspace_id + @workspace_slug = workspace_slug @project_id = project_id @project_name = project_name @model_id = model_id @model_name = model_name + @server_url = server_url @valid = true self[:model_card_id] = model_card_id self[:account_id] = account_id self[:workspace_id] = workspace_id + self[:workspace_slug] = workspace_slug self[:project_id] = project_id self[:project_name] = project_name self[:model_id] = model_id self[:model_name] = model_name + self[:server_url] = server_url self[:valid] = @valid end # rubocop:enable Metrics/ParameterLists diff --git a/speckle_connector_3/src/cards/receive_card.rb b/speckle_connector_3/src/cards/receive_card.rb index e64c046..95d57cd 100644 --- a/speckle_connector_3/src/cards/receive_card.rb +++ b/speckle_connector_3/src/cards/receive_card.rb @@ -48,7 +48,9 @@ module SpeckleConnector3 def initialize( model_card_id, account_id, + server_url, workspace_id, + workspace_slug, project_id, model_id, project_name, @@ -63,7 +65,7 @@ module SpeckleConnector3 expired, baked_object_ids = nil ) - super(model_card_id, account_id, workspace_id, project_id, project_name, model_id, model_name) + super(model_card_id, account_id, server_url, workspace_id, workspace_slug, project_id, project_name, model_id, model_name) @selected_version_id = selected_version_id @selected_version_source_app = selected_version_source_app @selected_version_user_id = selected_version_user_id diff --git a/speckle_connector_3/src/cards/send_card.rb b/speckle_connector_3/src/cards/send_card.rb index 311772e..02d65da 100644 --- a/speckle_connector_3/src/cards/send_card.rb +++ b/speckle_connector_3/src/cards/send_card.rb @@ -26,7 +26,9 @@ module SpeckleConnector3 def initialize( model_card_id, account_id, + server_url, workspace_id, + workspace_slug, project_id, project_name, model_id, @@ -35,7 +37,7 @@ module SpeckleConnector3 send_filter, send_settings ) - super(model_card_id, account_id, workspace_id, project_id, project_name, model_id, model_name) + super(model_card_id, account_id, server_url, workspace_id, workspace_slug, project_id, project_name, model_id, model_name) @send_filter = send_filter @send_settings = send_settings @latest_created_version_id = latest_created_version_id diff --git a/speckle_connector_3/src/cards/send_card_multiple_filters.rb b/speckle_connector_3/src/cards/send_card_multiple_filters.rb index 426d14e..4932007 100644 --- a/speckle_connector_3/src/cards/send_card_multiple_filters.rb +++ b/speckle_connector_3/src/cards/send_card_multiple_filters.rb @@ -1,19 +1,19 @@ -# frozen_string_literal: true - -require_relative 'card' - -module SpeckleConnector3 - module Cards - # Send card for sketchup connector to communicate speckle. - class SendCardMultipleFilters < Card - # @return [Hash{String=>Filter}] filters of the card. - attr_reader :filters - - def initialize(card_id, account_id, project_id, model_id, filters) - super(card_id, account_id, project_id, model_id) - @filters = filters - self[:filters] = filters - end - end - end -end +# # frozen_string_literal: true +# +# require_relative 'card' +# +# module SpeckleConnector3 +# module Cards +# # Send card for sketchup connector to communicate speckle. +# class SendCardMultipleFilters < Card +# # @return [Hash{String=>Filter}] filters of the card. +# attr_reader :filters +# +# def initialize(card_id, account_id, project_id, model_id, filters) +# super(card_id, account_id, project_id, model_id) +# @filters = filters +# self[:filters] = filters +# end +# end +# end +# end