app_store_connect 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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