Module: Spaceship::ConnectAPI::Users::API

Defined in:
spaceship/lib/spaceship/connect_api/users/users.rb

Instance Method Summary collapse

Instance Method Details

#add_user_visible_apps(user_id: nil, app_ids: nil) ⇒ Object

Deprecated.

Add app permissions for user



33
34
35
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 33

def add_user_visible_apps(user_id: nil, app_ids: nil)
  post_user_visible_apps(user_id: user_id, app_ids: app_ids)
end

#delete_user(user_id: nil) ⇒ Object

Delete existing user



27
28
29
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 27

def delete_user(user_id: nil)
  users_request_client.delete("users/#{user_id}")
end

#delete_user_invitation(user_invitation_id: nil) ⇒ Object

Remove invited user from team (not yet accepted)



123
124
125
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 123

def delete_user_invitation(user_invitation_id: nil)
  users_request_client.delete("userInvitations/#{user_invitation_id}")
end

#delete_user_visible_apps(user_id: nil, app_ids: nil) ⇒ Object

Remove app permissions for user



65
66
67
68
69
70
71
72
73
74
75
76
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 65

def delete_user_visible_apps(user_id: nil, app_ids: nil)
  body = {
    data: app_ids.map do |app_id|
      {
        type: "apps",
        id: app_id
      }
    end
  }
  params = nil
  users_request_client.delete("users/#{user_id}/relationships/visibleApps", params, body)
end

#get_user_invitation_visible_apps(user_invitation_id: id, limit: nil) ⇒ Object

Get all app permissions for invited user



128
129
130
131
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 128

def get_user_invitation_visible_apps(user_invitation_id: id, limit: nil)
  params = users_request_client.build_params(filter: {}, includes: nil, limit: limit, sort: nil)
  users_request_client.get("userInvitations/#{user_invitation_id}/visibleApps", params)
end

#get_user_invitations(filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object

Get all invited users



89
90
91
92
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 89

def get_user_invitations(filter: {}, includes: nil, limit: nil, sort: nil)
  params = users_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
  users_request_client.get("userInvitations", params)
end

#get_user_visible_apps(user_id: id, limit: nil) ⇒ Object

Get app permissions for user



79
80
81
82
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 79

def get_user_visible_apps(user_id: id, limit: nil)
  params = users_request_client.build_params(filter: {}, includes: nil, limit: limit, sort: nil)
  users_request_client.get("users/#{user_id}/visibleApps", params)
end

#get_users(filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object

Get list of users



21
22
23
24
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 21

def get_users(filter: {}, includes: nil, limit: nil, sort: nil)
  params = users_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
  users_request_client.get("users", params)
end

#patch_user_visible_apps(user_id: nil, app_ids: nil) ⇒ Object

Replace app permissions for user



51
52
53
54
55
56
57
58
59
60
61
62
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 51

def patch_user_visible_apps(user_id: nil, app_ids: nil)
  body = {
    data: app_ids.map do |app_id|
      {
        type: "apps",
        id: app_id
      }
    end
  }

  users_request_client.patch("users/#{user_id}/relationships/visibleApps", body)
end

#post_user_invitation(email: nil, first_name: nil, last_name: nil, roles: [], provisioning_allowed: nil, all_apps_visible: nil, visible_app_ids: []) ⇒ Object

Invite new users to App Store Connect



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 95

def post_user_invitation(email: nil, first_name: nil, last_name: nil, roles: [], provisioning_allowed: nil, all_apps_visible: nil, visible_app_ids: [])
  body = {
    data: {
      type: "userInvitations",
      attributes: {
        email: email,
        firstName: first_name,
        lastName: last_name,
        roles: roles,
        provisioningAllowed: provisioning_allowed,
        allAppsVisible: all_apps_visible
      },
      relationships: {
        visibleApps: {
          data: visible_app_ids.map do |id|
            {
              id: id,
              type: "apps"
            }
          end
        }
      }
    }
  }
  users_request_client.post("userInvitations", body)
end

#post_user_visible_apps(user_id: nil, app_ids: nil) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 37

def post_user_visible_apps(user_id: nil, app_ids: nil)
  body = {
    data: app_ids.map do |app_id|
      {
        type: "apps",
        id: app_id
      }
    end
  }

  users_request_client.post("users/#{user_id}/relationships/visibleApps", body)
end

#users_request_clientObject

Raises:

  • (TypeError)


11
12
13
14
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 11

def users_request_client
  return @users_request_client if @users_request_client
  raise TypeError, "You need to instantiate this module with users_request_client"
end

#users_request_client=(users_request_client) ⇒ Object



7
8
9
# File 'spaceship/lib/spaceship/connect_api/users/users.rb', line 7

def users_request_client=(users_request_client)
  @users_request_client = users_request_client
end