# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.

# typed: true
# frozen_string_literal: true


module OpenApiSDK
  module Shared
  

    class DomainSchema < ::OpenApiSDK::Utils::FieldAugmented
      extend T::Sig

      # Whether the domain is archived.
      field :archived, T::Boolean, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('archived') } }
      # The date the domain was created.
      field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
      # The URL to redirect to when a link under this domain has expired.
      field :expired_url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiredUrl') } }
      # The unique identifier of the domain.
      field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
      # Provide context to your teammates in the link creation modal by showing them an example of a link to be shortened.
      field :placeholder, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('placeholder') } }
      # Whether the domain is the primary domain for the workspace.
      field :primary, T::Boolean, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('primary') } }
      # The domain name.
      field :slug, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('slug') } }
      # The date the domain was last updated.
      field :updated_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('updatedAt') } }
      # Whether the domain is verified.
      field :verified, T::Boolean, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('verified') } }


      sig { params(archived: T::Boolean, created_at: ::String, expired_url: ::String, id: ::String, placeholder: ::String, primary: T::Boolean, slug: ::String, updated_at: ::String, verified: T::Boolean).void }
      def initialize(archived: nil, created_at: nil, expired_url: nil, id: nil, placeholder: nil, primary: nil, slug: nil, updated_at: nil, verified: nil)
        @archived = archived
        @created_at = created_at
        @expired_url = expired_url
        @id = id
        @placeholder = placeholder
        @primary = primary
        @slug = slug
        @updated_at = updated_at
        @verified = verified
      end
    end
  end
end