diff --git a/lib/seam/routes/clients/customers.rb b/lib/seam/routes/clients/customers.rb new file mode 100644 index 0000000..6e5a29e --- /dev/null +++ b/lib/seam/routes/clients/customers.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Seam + module Clients + class Customers + def initialize(client:, defaults:) + @client = client + @defaults = defaults + end + + def create_portal(features: nil, customer_data: nil) + res = @client.post("/customers/create_portal", {features: features, customer_data: customer_data}.compact) + + Seam::Resources::MagicLink.load_from_response(res.body["magic_link"]) + end + + def push_data(customer_key:, access_grants: nil, bookings: nil, buildings: nil, common_areas: nil, facilities: nil, guests: nil, listings: nil, properties: nil, reservations: nil, residents: nil, rooms: nil, spaces: nil, tenants: nil, units: nil, user_identities: nil, users: nil) + @client.post("/customers/push_data", {customer_key: customer_key, access_grants: access_grants, bookings: bookings, buildings: buildings, common_areas: common_areas, facilities: facilities, guests: guests, listings: listings, properties: properties, reservations: reservations, residents: residents, rooms: rooms, spaces: spaces, tenants: tenants, units: units, user_identities: user_identities, users: users}.compact) + + nil + end + end + end +end diff --git a/lib/seam/routes/clients/index.rb b/lib/seam/routes/clients/index.rb index e5ae92c..c627356 100644 --- a/lib/seam/routes/clients/index.rb +++ b/lib/seam/routes/clients/index.rb @@ -17,6 +17,7 @@ require_relative "client_sessions" require_relative "connect_webviews" require_relative "connected_accounts" +require_relative "customers" require_relative "devices" require_relative "devices_simulate" require_relative "devices_unmanaged" diff --git a/lib/seam/routes/resources/index.rb b/lib/seam/routes/resources/index.rb index a364b0d..bb7a5f9 100644 --- a/lib/seam/routes/resources/index.rb +++ b/lib/seam/routes/resources/index.rb @@ -31,7 +31,6 @@ require_relative "magic_link" require_relative "noise_threshold" require_relative "pagination" -require_relative "partner_resource" require_relative "phone" require_relative "phone_registration" require_relative "phone_session" diff --git a/lib/seam/routes/resources/partner_resource.rb b/lib/seam/routes/resources/partner_resource.rb deleted file mode 100644 index 6fc1dbf..0000000 --- a/lib/seam/routes/resources/partner_resource.rb +++ /dev/null @@ -1,9 +0,0 @@ -# frozen_string_literal: true - -module Seam - module Resources - class PartnerResource < BaseResource - attr_accessor :custom_metadata, :customer_key, :description, :email_address, :ends_at, :location_keys, :name, :partner_resource_key, :partner_resource_type, :phone_number, :starts_at, :user_identity_key - end - end -end diff --git a/lib/seam/routes/routes.rb b/lib/seam/routes/routes.rb index fe9d05d..daf75c6 100644 --- a/lib/seam/routes/routes.rb +++ b/lib/seam/routes/routes.rb @@ -34,6 +34,10 @@ def connected_accounts @connected_accounts ||= Seam::Clients::ConnectedAccounts.new(client: @client, defaults: @defaults) end + def customers + @customers ||= Seam::Clients::Customers.new(client: @client, defaults: @defaults) + end + def devices @devices ||= Seam::Clients::Devices.new(client: @client, defaults: @defaults) end diff --git a/package-lock.json b/package-lock.json index d991e87..6b226e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.83.2", "@seamapi/nextlove-sdk-generator": "^1.18.1", - "@seamapi/types": "1.420.2", + "@seamapi/types": "1.423.2", "del": "^7.1.0", "markdown-toc": "^1.2.0", "prettier": "^3.2.5" @@ -476,9 +476,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.420.2", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.420.2.tgz", - "integrity": "sha512-3W6YwDWIUsfwvEzzF6HuDNryqSqtywoGvi+zfLf9Js/wh88A3DKXYOmwamGWLus2L6vTp28F4aipcu5uNQndow==", + "version": "1.423.2", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.423.2.tgz", + "integrity": "sha512-EfMNHNE0k3Mp+AgjEDzzmnjsvOf7yrt9qG5ZZkjVqaTGsOAYTRjrRMLFz37s8My+evXn8i0Ry4wijhoXKhFviw==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 2199e7e..245dc87 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.83.2", "@seamapi/nextlove-sdk-generator": "^1.18.1", - "@seamapi/types": "1.420.2", + "@seamapi/types": "1.423.2", "del": "^7.1.0", "markdown-toc": "^1.2.0", "prettier": "^3.2.5"