Sha256: 6d5f33309b5f665805aac72aca91420e043c69950846dbf889bfcad1b1c55d16

Contents?: true

Size: 1.29 KB

Versions: 7

Compression:

Stored size: 1.29 KB

Contents

# -*- coding: utf-8 -*-
require "magellan/cli/resources"

module Magellan
  module Cli
    module Resources

      class Team < Base
        self.resource_key = "magellan~auth~team"
        self.resource_dependency = { "organization" =>  Organization.parameter_name }
        self.field_associations = {"organization_id" => {name: "organization", class: "Organization"} }

        desc "create NAME ROLE", I18n.t(:create, scope: [:team, :cmd], resource_name: resource_name)
        def create(name, role)
          unless %w{ reader admin }.include?(role)
            raise "ROLE should be 'reader' or 'admin'"
          end
          o = load_selection!(Organization)
          params = {
            parameter_name => {
              "organization_id" => o["id"],
              "name" => name,
              "role" => role,
            }
          }
          post_json("/admin/#{self.resource_key}/new.json", params)
          select(name)
        end

=begin
        desc "invite EMAIL", I18n.t(:invite, scope: [:team, :cmd], resource_name: resource_name)
        def invite(email)
          o = load_selection!(self.class)
          params = {
            "email" => email
          }
          post_json("/admin/#{self.resource_key}/#{o["id"]}/team_invite.json", params)
        end
=end
      end

    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
magellan-cli-0.4.4 lib/magellan/cli/resources/team.rb
magellan-cli-0.4.3 lib/magellan/cli/resources/team.rb
magellan-cli-0.4.2 lib/magellan/cli/resources/team.rb
magellan-cli-0.4.1 lib/magellan/cli/resources/team.rb
magellan-cli-0.4.0 lib/magellan/cli/resources/team.rb
magellan-cli-0.3.4 lib/magellan/cli/resources/team.rb
magellan-cli-0.3.3 lib/magellan/cli/resources/team.rb