app_store_connect 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e3a6c4da8390a3b6dca010f45a62823c88f0df8ae02e1355570a8614c04eca84
4
- data.tar.gz: e29dba8d0cf6b9e2b12810acff277f63ba51c90d062a4a4811c098d77071c015
3
+ metadata.gz: f85d306e9c8dc76fba857925802ffe5fe93ea214e38687e18456e154cd047851
4
+ data.tar.gz: 57e51afffdea8202304ab9d5babac5a78b3fc2ab97a27287a2e3e58e043e5efd
5
5
  SHA512:
6
- metadata.gz: 2b3c79b6fa5279f6894dd5b4011e79df3531ff16f5d059808c3ad218e630bca2ab0fdbb244efd626ebba9602e625d792cc034006a6c8a756649c6d01db9e8039
7
- data.tar.gz: 801cbb6947f81fc0d6d663ce2fb045f8760d2b6a15188a317689458db40bb0542e24634b15bcb175f78957c6fa3034eb732268ba18b6107c0cbdc6268869a1c6
6
+ metadata.gz: 12864a719bf9a8e774fe6b469ef154ca1c9f405d8f93194833c05c760abd52351264668b3f8894d9e1040bf1ba29be8a60bc2f0850ab622168af7233785485e7
7
+ data.tar.gz: 82d4d4b9aa81554064e6499ac7abd861a4d697df10a113f01a980381794f62a8535fdda28cfa21951f136b9a36ff70afdbac7a790c74efb1b8fb001b187ce4ff
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- app_store_connect (0.9.0)
4
+ app_store_connect (0.10.0)
5
5
  activesupport (~> 5.2.3)
6
6
  jwt (~> 2.1)
7
7
 
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnect
4
+ class CertificateCreateRequest < CreateRequest
5
+ data do
6
+ type 'certificates'
7
+
8
+ attributes do
9
+ property :certificate_type, required: true
10
+ property :csr_content, required: true
11
+ end
12
+ end
13
+ end
14
+ end
@@ -16,7 +16,7 @@ module AppStoreConnect
16
16
  issuer_id: @options[:issuer_id]
17
17
  )
18
18
  @web_service_endpoints_by_name ||= begin
19
- AppStoreConnect::Config::API['web_service_endpoints'].dup.map do |config|
19
+ AppStoreConnect::SCHEMA.web_service_endpoints.map do |config|
20
20
  [config.fetch('alias').to_sym, WebServiceEndpoint.new(**config.deep_symbolize_keys)]
21
21
  end.to_h
22
22
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnect
4
+ class DeviceCreateRequest < CreateRequest
5
+ data do
6
+ type 'devices'
7
+
8
+ attributes do
9
+ property :name, required: true
10
+ property :platform, required: true
11
+ property :udid, required: true
12
+ end
13
+ end
14
+ end
15
+ end
@@ -15,11 +15,13 @@ module AppStoreConnect
15
15
  include Object::Type
16
16
 
17
17
  data.define_method :initialize do |**kwargs|
18
+ instance_variable_set('@relationships', kwargs.delete(:relationships).to_h)
18
19
  instance_variable_set('@attributes', data::Attributes.new(kwargs))
19
20
  end
20
21
 
21
22
  def to_h
22
23
  {
24
+ relationships: @relationships,
23
25
  attributes: attributes.to_h,
24
26
  type: type
25
27
  }
@@ -2,8 +2,8 @@
2
2
 
3
3
  module AppStoreConnect
4
4
  class Parser
5
- def self.parse!(config)
6
- parse_types(config['Type'])
5
+ def self.parse!(schema)
6
+ parse_types(schema.types)
7
7
  end
8
8
 
9
9
  def self.parse_types(types)
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnect
4
+ class ProfileCreateRequest < CreateRequest
5
+ data do
6
+ type 'profiles'
7
+
8
+ attributes do
9
+ property :name, required: true
10
+ property :profile_type, required: true
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnect
4
+ class Schema
5
+ def initialize(path)
6
+ @schema = JSON.parse(File.read(path))
7
+ end
8
+
9
+ def types
10
+ @schema['Type']
11
+ end
12
+
13
+ def web_service_endpoints
14
+ @schema['web_service_endpoints']
15
+ end
16
+ end
17
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppStoreConnect
4
- VERSION = '0.9.0'
4
+ VERSION = '0.10.0'
5
5
  end
@@ -5,6 +5,7 @@ require 'jwt'
5
5
  require 'app_store_connect/authorization'
6
6
  require 'app_store_connect/parser'
7
7
 
8
+ require 'app_store_connect/schema'
8
9
  require 'app_store_connect/object/type'
9
10
  require 'app_store_connect/object/attributes'
10
11
  require 'app_store_connect/object/properties'
@@ -12,9 +13,11 @@ require 'app_store_connect/object/data'
12
13
  require 'app_store_connect/create_request'
13
14
  require 'app_store_connect/client'
14
15
  require 'app_store_connect/bundle_id_create_request'
16
+ require 'app_store_connect/device_create_request'
17
+ require 'app_store_connect/profile_create_request'
18
+ require 'app_store_connect/certificate_create_request'
15
19
  require 'app_store_connect/user_invitation_create_request'
16
20
  require 'app_store_connect/version'
17
- require 'app_store_connect/config'
18
21
 
19
22
  require 'app_store_connect/type'
20
23
  require 'app_store_connect/type/enum'
@@ -25,10 +28,11 @@ require 'app_store_connect/factory/builder/enum'
25
28
  module AppStoreConnect
26
29
  Factory.register('enum', Factory::Builder::Enum)
27
30
 
28
- Parser.parse!(Config::API)
29
-
30
31
  @config = {}
31
32
 
33
+ SCHEMA = Schema.new(File.join(__dir__, './config/schema.json'))
34
+ Parser.parse!(SCHEMA)
35
+
32
36
  class << self
33
37
  attr_reader :config
34
38
 
@@ -1,5 +1,43 @@
1
1
  {
2
2
  "web_service_endpoints": [
3
+ {
4
+ "alias": "create_certificate",
5
+ "http_method": "post",
6
+ "url": "https://api.appstoreconnect.apple.com/v1/certificates",
7
+ "http_body_type": "CertificateCreateRequest"
8
+ },
9
+ {
10
+ "alias": "certificate",
11
+ "http_method": "get",
12
+ "url": "https://api.appstoreconnect.apple.com/v1/certificates/{id}"
13
+ },
14
+ {
15
+ "alias": "certificates",
16
+ "http_method": "get",
17
+ "url": "https://api.appstoreconnect.apple.com/v1/certificates"
18
+ },
19
+ {
20
+ "alias": "create_profile",
21
+ "http_method": "post",
22
+ "url": "https://api.appstoreconnect.apple.com/v1/profiles",
23
+ "http_body_type": "ProfileCreateRequest"
24
+ },
25
+ {
26
+ "alias": "profile",
27
+ "http_method": "get",
28
+ "url": "https://api.appstoreconnect.apple.com/v1/profiles/{id}"
29
+ },
30
+ {
31
+ "alias": "profiles",
32
+ "http_method": "get",
33
+ "url": "https://api.appstoreconnect.apple.com/v1/profiles"
34
+ },
35
+ {
36
+ "alias": "create_device",
37
+ "http_method": "post",
38
+ "url": "https://api.appstoreconnect.apple.com/v1/devices",
39
+ "http_body_type": "DeviceCreateRequest"
40
+ },
3
41
  {
4
42
  "alias": "device",
5
43
  "http_method": "get",
@@ -46,7 +84,7 @@
46
84
  "url": "https://api.appstoreconnect.apple.com/v1/builds/{id}"
47
85
  },
48
86
  {
49
- "alias": "invite_user",
87
+ "alias": "create_user_invitation",
50
88
  "url": "https://api.appstoreconnect.apple.com/v1/userInvitations",
51
89
  "http_body_type": "UserInvitationCreateRequest",
52
90
  "http_method": "post"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: app_store_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Decot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-19 00:00:00.000000000 Z
11
+ date: 2019-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -205,9 +205,10 @@ files:
205
205
  - lib/app_store_connect.rb
206
206
  - lib/app_store_connect/authorization.rb
207
207
  - lib/app_store_connect/bundle_id_create_request.rb
208
+ - lib/app_store_connect/certificate_create_request.rb
208
209
  - lib/app_store_connect/client.rb
209
- - lib/app_store_connect/config.rb
210
210
  - lib/app_store_connect/create_request.rb
211
+ - lib/app_store_connect/device_create_request.rb
211
212
  - lib/app_store_connect/factory.rb
212
213
  - lib/app_store_connect/factory/builder/enum.rb
213
214
  - lib/app_store_connect/object/attributes.rb
@@ -215,13 +216,15 @@ files:
215
216
  - lib/app_store_connect/object/properties.rb
216
217
  - lib/app_store_connect/object/type.rb
217
218
  - lib/app_store_connect/parser.rb
219
+ - lib/app_store_connect/profile_create_request.rb
218
220
  - lib/app_store_connect/request.rb
221
+ - lib/app_store_connect/schema.rb
219
222
  - lib/app_store_connect/type.rb
220
223
  - lib/app_store_connect/type/enum.rb
221
224
  - lib/app_store_connect/user_invitation_create_request.rb
222
225
  - lib/app_store_connect/version.rb
223
226
  - lib/app_store_connect/web_service_endpoint.rb
224
- - lib/config/api.json
227
+ - lib/config/schema.json
225
228
  homepage: https://github.com/kyledecot/app_store_connect
226
229
  licenses:
227
230
  - MIT
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module AppStoreConnect
4
- module Config
5
- API = JSON.parse(
6
- File.read(
7
- File.join(__dir__, '../config/api.json')
8
- )
9
- )
10
- end
11
- end