Sha256: 819d8400617ae74ad3b0202c39fb3480d7ce0507438c84a1140d07a4be677249

Contents?: true

Size: 1.86 KB

Versions: 1

Compression:

Stored size: 1.86 KB

Contents

require_relative '../model'
module Spaceship
  class ConnectAPI
    class BetaTester
      include Spaceship::ConnectAPI::Model

      attr_accessor :first_name
      attr_accessor :last_name
      attr_accessor :email
      attr_accessor :invite_type
      attr_accessor :invitation

      attr_accessor :apps
      attr_accessor :beta_groups
      attr_accessor :beta_tester_metrics
      attr_accessor :builds

      attr_mapping({
        "firstName" => "first_name",
        "lastName" => "last_name",
        "email" => "email",
        "inviteType" => "invite_type",
        "invitation" => "invitation",

        "apps" => "apps",
        "betaGroups" => "beta_groups",
        "betaTesterMetrics" => "beta_tester_metrics",
        "builds" => "builds"
      })

      def self.type
        return "betaTesters"
      end

      #
      # API
      #

      def self.all(client: nil, filter: {}, includes: nil, limit: nil, sort: nil)
        client ||= Spaceship::ConnectAPI
        resps = client.get_beta_testers(filter: filter, includes: includes).all_pages
        return resps.flat_map(&:to_models)
      end

      def self.find(client: nil, email: nil, includes: nil)
        client ||= Spaceship::ConnectAPI
        return all(client: client, filter: { email: email }, includes: includes).first
      end

      def delete_from_apps(client: nil, apps: nil)
        client ||= Spaceship::ConnectAPI
        app_ids = apps.map(&:id)
        return client.delete_beta_tester_from_apps(beta_tester_id: id, app_ids: app_ids)
      end

      def delete_from_beta_groups(client: nil, beta_groups: nil)
        client ||= Spaceship::ConnectAPI
        beta_group_ids = beta_groups.map(&:id)
        return client.delete_beta_tester_from_beta_groups(beta_tester_id: id, beta_group_ids: beta_group_ids)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fastlane_hotfix-2.187.0 spaceship/lib/spaceship/connect_api/models/beta_tester.rb