galaxy-ruby 0.2.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 +7 -0
- data/CHANGELOG.md +8 -0
- data/LICENSE +201 -0
- data/README.md +169 -0
- data/SECURITY.md +19 -0
- data/SKILL.md +83 -0
- data/api.md +188 -0
- data/lib/galaxy-ruby/client.rb +254 -0
- data/lib/galaxy-ruby/errors.rb +227 -0
- data/lib/galaxy-ruby/file_part.rb +58 -0
- data/lib/galaxy-ruby/internal/transport/base_client.rb +576 -0
- data/lib/galaxy-ruby/internal/transport/pooled_net_requester.rb +224 -0
- data/lib/galaxy-ruby/internal/type/array_of.rb +164 -0
- data/lib/galaxy-ruby/internal/type/base_model.rb +529 -0
- data/lib/galaxy-ruby/internal/type/base_page.rb +55 -0
- data/lib/galaxy-ruby/internal/type/boolean.rb +77 -0
- data/lib/galaxy-ruby/internal/type/converter.rb +333 -0
- data/lib/galaxy-ruby/internal/type/enum.rb +130 -0
- data/lib/galaxy-ruby/internal/type/file_input.rb +111 -0
- data/lib/galaxy-ruby/internal/type/hash_of.rb +184 -0
- data/lib/galaxy-ruby/internal/type/request_parameters.rb +42 -0
- data/lib/galaxy-ruby/internal/type/union.rb +234 -0
- data/lib/galaxy-ruby/internal/type/unknown.rb +81 -0
- data/lib/galaxy-ruby/internal/util.rb +960 -0
- data/lib/galaxy-ruby/internal.rb +15 -0
- data/lib/galaxy-ruby/models/authentication_create_token_params.rb +14 -0
- data/lib/galaxy-ruby/models/authentication_create_token_response.rb +16 -0
- data/lib/galaxy-ruby/models/authentication_create_user_params.rb +32 -0
- data/lib/galaxy-ruby/models/authentication_list_me_params.rb +14 -0
- data/lib/galaxy-ruby/models/celestial_body.rb +81 -0
- data/lib/galaxy-ruby/models/celestial_body_create_params.rb +20 -0
- data/lib/galaxy-ruby/models/credentials.rb +25 -0
- data/lib/galaxy-ruby/models/new_planet_webhook_event.rb +216 -0
- data/lib/galaxy-ruby/models/planet.rb +218 -0
- data/lib/galaxy-ruby/models/planet_create_params.rb +14 -0
- data/lib/galaxy-ruby/models/planet_delete_params.rb +20 -0
- data/lib/galaxy-ruby/models/planet_delte_image_params.rb +29 -0
- data/lib/galaxy-ruby/models/planet_delte_image_response.rb +48 -0
- data/lib/galaxy-ruby/models/planet_list_all_data_params.rb +30 -0
- data/lib/galaxy-ruby/models/planet_list_all_data_response.rb +51 -0
- data/lib/galaxy-ruby/models/planet_retrieve_params.rb +20 -0
- data/lib/galaxy-ruby/models/planet_update_params.rb +20 -0
- data/lib/galaxy-ruby/models/unwrap_webhook_event.rb +14 -0
- data/lib/galaxy-ruby/models/user.rb +26 -0
- data/lib/galaxy-ruby/models/webhook_unwrap_params.rb +14 -0
- data/lib/galaxy-ruby/models.rb +78 -0
- data/lib/galaxy-ruby/request_options.rb +77 -0
- data/lib/galaxy-ruby/resources/authentication.rb +80 -0
- data/lib/galaxy-ruby/resources/celestial_bodies.rb +37 -0
- data/lib/galaxy-ruby/resources/planets.rb +215 -0
- data/lib/galaxy-ruby/resources/webhooks.rb +34 -0
- data/lib/galaxy-ruby/version.rb +5 -0
- data/lib/galaxy-ruby.rb +78 -0
- data/rbi/galaxy-ruby/client.rbi +128 -0
- data/rbi/galaxy-ruby/errors.rbi +205 -0
- data/rbi/galaxy-ruby/file_part.rbi +37 -0
- data/rbi/galaxy-ruby/internal/transport/base_client.rbi +305 -0
- data/rbi/galaxy-ruby/internal/transport/pooled_net_requester.rbi +84 -0
- data/rbi/galaxy-ruby/internal/type/array_of.rbi +104 -0
- data/rbi/galaxy-ruby/internal/type/base_model.rbi +314 -0
- data/rbi/galaxy-ruby/internal/type/base_page.rbi +43 -0
- data/rbi/galaxy-ruby/internal/type/boolean.rbi +58 -0
- data/rbi/galaxy-ruby/internal/type/converter.rbi +222 -0
- data/rbi/galaxy-ruby/internal/type/enum.rbi +82 -0
- data/rbi/galaxy-ruby/internal/type/file_input.rbi +59 -0
- data/rbi/galaxy-ruby/internal/type/hash_of.rbi +104 -0
- data/rbi/galaxy-ruby/internal/type/request_parameters.rbi +31 -0
- data/rbi/galaxy-ruby/internal/type/union.rbi +128 -0
- data/rbi/galaxy-ruby/internal/type/unknown.rbi +58 -0
- data/rbi/galaxy-ruby/internal/util.rbi +515 -0
- data/rbi/galaxy-ruby/internal.rbi +18 -0
- data/rbi/galaxy-ruby/models/authentication_create_token_params.rbi +32 -0
- data/rbi/galaxy-ruby/models/authentication_create_token_response.rbi +29 -0
- data/rbi/galaxy-ruby/models/authentication_create_user_params.rbi +54 -0
- data/rbi/galaxy-ruby/models/authentication_list_me_params.rbi +32 -0
- data/rbi/galaxy-ruby/models/celestial_body.rbi +140 -0
- data/rbi/galaxy-ruby/models/celestial_body_create_params.rbi +53 -0
- data/rbi/galaxy-ruby/models/credentials.rbi +27 -0
- data/rbi/galaxy-ruby/models/new_planet_webhook_event.rbi +396 -0
- data/rbi/galaxy-ruby/models/planet.rbi +350 -0
- data/rbi/galaxy-ruby/models/planet_create_params.rbi +32 -0
- data/rbi/galaxy-ruby/models/planet_delete_params.rbi +38 -0
- data/rbi/galaxy-ruby/models/planet_delte_image_params.rbi +55 -0
- data/rbi/galaxy-ruby/models/planet_delte_image_response.rbi +85 -0
- data/rbi/galaxy-ruby/models/planet_list_all_data_params.rbi +60 -0
- data/rbi/galaxy-ruby/models/planet_list_all_data_response.rbi +110 -0
- data/rbi/galaxy-ruby/models/planet_retrieve_params.rbi +38 -0
- data/rbi/galaxy-ruby/models/planet_update_params.rbi +38 -0
- data/rbi/galaxy-ruby/models/unwrap_webhook_event.rbi +17 -0
- data/rbi/galaxy-ruby/models/user.rbi +33 -0
- data/rbi/galaxy-ruby/models/webhook_unwrap_params.rbi +32 -0
- data/rbi/galaxy-ruby/models.rbi +39 -0
- data/rbi/galaxy-ruby/request_options.rbi +59 -0
- data/rbi/galaxy-ruby/resources/authentication.rbi +47 -0
- data/rbi/galaxy-ruby/resources/celestial_bodies.rbi +28 -0
- data/rbi/galaxy-ruby/resources/planets.rbi +176 -0
- data/rbi/galaxy-ruby/resources/webhooks.rbi +29 -0
- data/rbi/galaxy-ruby/version.rbi +5 -0
- data/sig/galaxy-ruby/client.rbs +62 -0
- data/sig/galaxy-ruby/errors.rbs +117 -0
- data/sig/galaxy-ruby/file_part.rbs +21 -0
- data/sig/galaxy-ruby/internal/transport/base_client.rbs +133 -0
- data/sig/galaxy-ruby/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/galaxy-ruby/internal/type/array_of.rbs +48 -0
- data/sig/galaxy-ruby/internal/type/base_model.rbs +102 -0
- data/sig/galaxy-ruby/internal/type/base_page.rbs +24 -0
- data/sig/galaxy-ruby/internal/type/boolean.rbs +26 -0
- data/sig/galaxy-ruby/internal/type/converter.rbs +79 -0
- data/sig/galaxy-ruby/internal/type/enum.rbs +32 -0
- data/sig/galaxy-ruby/internal/type/file_input.rbs +25 -0
- data/sig/galaxy-ruby/internal/type/hash_of.rbs +48 -0
- data/sig/galaxy-ruby/internal/type/request_parameters.rbs +17 -0
- data/sig/galaxy-ruby/internal/type/union.rbs +52 -0
- data/sig/galaxy-ruby/internal/type/unknown.rbs +26 -0
- data/sig/galaxy-ruby/internal/util.rbs +199 -0
- data/sig/galaxy-ruby/internal.rbs +9 -0
- data/sig/galaxy-ruby/models/authentication_create_token_params.rbs +15 -0
- data/sig/galaxy-ruby/models/authentication_create_token_response.rbs +15 -0
- data/sig/galaxy-ruby/models/authentication_create_user_params.rbs +34 -0
- data/sig/galaxy-ruby/models/authentication_list_me_params.rbs +15 -0
- data/sig/galaxy-ruby/models/celestial_body.rbs +76 -0
- data/sig/galaxy-ruby/models/celestial_body_create_params.rbs +24 -0
- data/sig/galaxy-ruby/models/credentials.rbs +15 -0
- data/sig/galaxy-ruby/models/new_planet_webhook_event.rbs +211 -0
- data/sig/galaxy-ruby/models/planet.rbs +211 -0
- data/sig/galaxy-ruby/models/planet_create_params.rbs +15 -0
- data/sig/galaxy-ruby/models/planet_delete_params.rbs +23 -0
- data/sig/galaxy-ruby/models/planet_delte_image_params.rbs +32 -0
- data/sig/galaxy-ruby/models/planet_delte_image_response.rbs +50 -0
- data/sig/galaxy-ruby/models/planet_list_all_data_params.rbs +32 -0
- data/sig/galaxy-ruby/models/planet_list_all_data_response.rbs +64 -0
- data/sig/galaxy-ruby/models/planet_retrieve_params.rbs +23 -0
- data/sig/galaxy-ruby/models/planet_update_params.rbs +25 -0
- data/sig/galaxy-ruby/models/unwrap_webhook_event.rbs +11 -0
- data/sig/galaxy-ruby/models/user.rbs +19 -0
- data/sig/galaxy-ruby/models/webhook_unwrap_params.rbs +15 -0
- data/sig/galaxy-ruby/models.rbs +35 -0
- data/sig/galaxy-ruby/request_options.rbs +34 -0
- data/sig/galaxy-ruby/resources/authentication.rbs +24 -0
- data/sig/galaxy-ruby/resources/celestial_bodies.rbs +12 -0
- data/sig/galaxy-ruby/resources/planets.rbs +68 -0
- data/sig/galaxy-ruby/resources/webhooks.rbs +13 -0
- data/sig/galaxy-ruby/version.rbs +3 -0
- data/sig/manifest.yaml +6 -0
- metadata +245 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Models
|
|
5
|
+
# @see ScalarGalaxy::Resources::Planets#delte_image
|
|
6
|
+
class PlanetDelteImageParams < ScalarGalaxy::Internal::Type::BaseModel
|
|
7
|
+
extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include ScalarGalaxy::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute planet_id
|
|
11
|
+
#
|
|
12
|
+
# @return [Integer]
|
|
13
|
+
required :planet_id, Integer
|
|
14
|
+
|
|
15
|
+
# @!attribute image
|
|
16
|
+
# The image file to upload
|
|
17
|
+
#
|
|
18
|
+
# @return [Pathname, StringIO, IO, String, ScalarGalaxy::FilePart, nil]
|
|
19
|
+
optional :image, ScalarGalaxy::Internal::Type::FileInput
|
|
20
|
+
|
|
21
|
+
# @!method initialize(planet_id:, image: nil, request_options: {})
|
|
22
|
+
# @param planet_id [Integer]
|
|
23
|
+
#
|
|
24
|
+
# @param image [Pathname, StringIO, IO, String, ScalarGalaxy::FilePart] The image file to upload
|
|
25
|
+
#
|
|
26
|
+
# @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Models
|
|
5
|
+
# @see ScalarGalaxy::Resources::Planets#delte_image
|
|
6
|
+
class PlanetDelteImageResponse < ScalarGalaxy::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute file_size
|
|
8
|
+
# Size of the uploaded image in bytes
|
|
9
|
+
#
|
|
10
|
+
# @return [Integer, nil]
|
|
11
|
+
optional :file_size, Integer, api_name: :fileSize
|
|
12
|
+
|
|
13
|
+
# @!attribute image_url
|
|
14
|
+
# The URL where the uploaded image can be accessed
|
|
15
|
+
#
|
|
16
|
+
# @return [String, nil]
|
|
17
|
+
optional :image_url, String, api_name: :imageUrl
|
|
18
|
+
|
|
19
|
+
# @!attribute message
|
|
20
|
+
#
|
|
21
|
+
# @return [String, nil]
|
|
22
|
+
optional :message, String
|
|
23
|
+
|
|
24
|
+
# @!attribute mime_type
|
|
25
|
+
# The content type of the uploaded image
|
|
26
|
+
#
|
|
27
|
+
# @return [String, nil]
|
|
28
|
+
optional :mime_type, String, api_name: :mimeType
|
|
29
|
+
|
|
30
|
+
# @!attribute uploaded_at
|
|
31
|
+
# Timestamp when the image was uploaded
|
|
32
|
+
#
|
|
33
|
+
# @return [Time, nil]
|
|
34
|
+
optional :uploaded_at, Time, api_name: :uploadedAt
|
|
35
|
+
|
|
36
|
+
# @!method initialize(file_size: nil, image_url: nil, message: nil, mime_type: nil, uploaded_at: nil)
|
|
37
|
+
# @param file_size [Integer] Size of the uploaded image in bytes
|
|
38
|
+
#
|
|
39
|
+
# @param image_url [String] The URL where the uploaded image can be accessed
|
|
40
|
+
#
|
|
41
|
+
# @param message [String]
|
|
42
|
+
#
|
|
43
|
+
# @param mime_type [String] The content type of the uploaded image
|
|
44
|
+
#
|
|
45
|
+
# @param uploaded_at [Time] Timestamp when the image was uploaded
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Models
|
|
5
|
+
# @see ScalarGalaxy::Resources::Planets#list_all_data
|
|
6
|
+
class PlanetListAllDataParams < ScalarGalaxy::Internal::Type::BaseModel
|
|
7
|
+
extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include ScalarGalaxy::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute limit
|
|
11
|
+
# The number of items to return
|
|
12
|
+
#
|
|
13
|
+
# @return [Integer, nil]
|
|
14
|
+
optional :limit, Integer
|
|
15
|
+
|
|
16
|
+
# @!attribute offset
|
|
17
|
+
# The number of items to skip before starting to collect the result set
|
|
18
|
+
#
|
|
19
|
+
# @return [Integer, nil]
|
|
20
|
+
optional :offset, Integer
|
|
21
|
+
|
|
22
|
+
# @!method initialize(limit: nil, offset: nil, request_options: {})
|
|
23
|
+
# @param limit [Integer] The number of items to return
|
|
24
|
+
#
|
|
25
|
+
# @param offset [Integer] The number of items to skip before starting to collect the result set
|
|
26
|
+
#
|
|
27
|
+
# @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Models
|
|
5
|
+
# @see ScalarGalaxy::Resources::Planets#list_all_data
|
|
6
|
+
class PlanetListAllDataResponse < ScalarGalaxy::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute data
|
|
8
|
+
#
|
|
9
|
+
# @return [Array<Object>, nil]
|
|
10
|
+
optional :data, ScalarGalaxy::Internal::Type::ArrayOf[ScalarGalaxy::Internal::Type::Unknown]
|
|
11
|
+
|
|
12
|
+
# @!attribute meta
|
|
13
|
+
#
|
|
14
|
+
# @return [ScalarGalaxy::Models::PlanetListAllDataResponse::Meta, nil]
|
|
15
|
+
optional :meta, -> { ScalarGalaxy::Models::PlanetListAllDataResponse::Meta }
|
|
16
|
+
|
|
17
|
+
# @!method initialize(data: nil, meta: nil)
|
|
18
|
+
# @param data [Array<Object>]
|
|
19
|
+
# @param meta [ScalarGalaxy::Models::PlanetListAllDataResponse::Meta]
|
|
20
|
+
|
|
21
|
+
# @see ScalarGalaxy::Models::PlanetListAllDataResponse#meta
|
|
22
|
+
class Meta < ScalarGalaxy::Internal::Type::BaseModel
|
|
23
|
+
# @!attribute limit
|
|
24
|
+
#
|
|
25
|
+
# @return [Integer, nil]
|
|
26
|
+
optional :limit, Integer
|
|
27
|
+
|
|
28
|
+
# @!attribute next_
|
|
29
|
+
#
|
|
30
|
+
# @return [String, nil]
|
|
31
|
+
optional :next_, String, api_name: :next, nil?: true
|
|
32
|
+
|
|
33
|
+
# @!attribute offset
|
|
34
|
+
#
|
|
35
|
+
# @return [Integer, nil]
|
|
36
|
+
optional :offset, Integer
|
|
37
|
+
|
|
38
|
+
# @!attribute total
|
|
39
|
+
#
|
|
40
|
+
# @return [Integer, nil]
|
|
41
|
+
optional :total, Integer
|
|
42
|
+
|
|
43
|
+
# @!method initialize(limit: nil, next_: nil, offset: nil, total: nil)
|
|
44
|
+
# @param limit [Integer]
|
|
45
|
+
# @param next_ [String, nil]
|
|
46
|
+
# @param offset [Integer]
|
|
47
|
+
# @param total [Integer]
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Models
|
|
5
|
+
# @see ScalarGalaxy::Resources::Planets#retrieve
|
|
6
|
+
class PlanetRetrieveParams < ScalarGalaxy::Internal::Type::BaseModel
|
|
7
|
+
extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include ScalarGalaxy::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute planet_id
|
|
11
|
+
#
|
|
12
|
+
# @return [Integer]
|
|
13
|
+
required :planet_id, Integer
|
|
14
|
+
|
|
15
|
+
# @!method initialize(planet_id:, request_options: {})
|
|
16
|
+
# @param planet_id [Integer]
|
|
17
|
+
# @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Models
|
|
5
|
+
# @see ScalarGalaxy::Resources::Planets#update
|
|
6
|
+
class PlanetUpdateParams < ScalarGalaxy::Models::Planet
|
|
7
|
+
extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include ScalarGalaxy::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute planet_id
|
|
11
|
+
#
|
|
12
|
+
# @return [Integer]
|
|
13
|
+
required :planet_id, Integer
|
|
14
|
+
|
|
15
|
+
# @!method initialize(planet_id:, request_options: {})
|
|
16
|
+
# @param planet_id [Integer]
|
|
17
|
+
# @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Models
|
|
5
|
+
module UnwrapWebhookEvent
|
|
6
|
+
extend ScalarGalaxy::Internal::Type::Union
|
|
7
|
+
|
|
8
|
+
variant -> { ScalarGalaxy::NewPlanetWebhookEvent }
|
|
9
|
+
|
|
10
|
+
# @!method self.variants
|
|
11
|
+
# @return [Array(ScalarGalaxy::Models::NewPlanetWebhookEvent)]
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Models
|
|
5
|
+
# @see ScalarGalaxy::Resources::Authentication#create_user
|
|
6
|
+
class User < ScalarGalaxy::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute name
|
|
8
|
+
#
|
|
9
|
+
# @return [String, nil]
|
|
10
|
+
optional :name, String
|
|
11
|
+
|
|
12
|
+
response_only do
|
|
13
|
+
# @!attribute id
|
|
14
|
+
#
|
|
15
|
+
# @return [Integer, nil]
|
|
16
|
+
optional :id, Integer
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# @!method initialize(id: nil, name: nil)
|
|
20
|
+
# A user
|
|
21
|
+
#
|
|
22
|
+
# @param id [Integer]
|
|
23
|
+
# @param name [String]
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Models
|
|
5
|
+
# @see ScalarGalaxy::Resources::Webhooks#unwrap
|
|
6
|
+
class WebhookUnwrapParams < ScalarGalaxy::Internal::Type::BaseModel
|
|
7
|
+
extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include ScalarGalaxy::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!method initialize(request_options: {})
|
|
11
|
+
# @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
[ScalarGalaxy::Internal::Type::BaseModel, *ScalarGalaxy::Internal::Type::BaseModel.subclasses].each do |cls|
|
|
5
|
+
cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, ScalarGalaxy::Internal::AnyHash) } }
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
ScalarGalaxy::Internal::Util
|
|
9
|
+
.walk_namespaces(ScalarGalaxy::Models)
|
|
10
|
+
.each do |mod|
|
|
11
|
+
case mod
|
|
12
|
+
in ScalarGalaxy::Internal::Type::Enum | ScalarGalaxy::Internal::Type::Union
|
|
13
|
+
mod.constants.each do |name|
|
|
14
|
+
case mod.const_get(name)
|
|
15
|
+
in true | false
|
|
16
|
+
mod.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T::Boolean } }
|
|
17
|
+
mod.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } }
|
|
18
|
+
in Integer
|
|
19
|
+
mod.define_sorbet_constant!(:TaggedInteger) { T.type_alias { Integer } }
|
|
20
|
+
mod.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } }
|
|
21
|
+
in Float
|
|
22
|
+
mod.define_sorbet_constant!(:TaggedFloat) { T.type_alias { Float } }
|
|
23
|
+
mod.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } }
|
|
24
|
+
in Symbol
|
|
25
|
+
mod.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { Symbol } }
|
|
26
|
+
mod.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } }
|
|
27
|
+
else
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
else
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
ScalarGalaxy::Internal::Util
|
|
35
|
+
.walk_namespaces(ScalarGalaxy::Models)
|
|
36
|
+
.lazy
|
|
37
|
+
.grep(ScalarGalaxy::Internal::Type::Union)
|
|
38
|
+
.each do |mod|
|
|
39
|
+
const = :Variants
|
|
40
|
+
next if mod.sorbet_constant_defined?(const)
|
|
41
|
+
|
|
42
|
+
mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
AuthenticationCreateTokenParams = ScalarGalaxy::Models::AuthenticationCreateTokenParams
|
|
46
|
+
|
|
47
|
+
AuthenticationCreateUserParams = ScalarGalaxy::Models::AuthenticationCreateUserParams
|
|
48
|
+
|
|
49
|
+
AuthenticationListMeParams = ScalarGalaxy::Models::AuthenticationListMeParams
|
|
50
|
+
|
|
51
|
+
CelestialBody = ScalarGalaxy::Models::CelestialBody
|
|
52
|
+
|
|
53
|
+
CelestialBodyCreateParams = ScalarGalaxy::Models::CelestialBodyCreateParams
|
|
54
|
+
|
|
55
|
+
Credentials = ScalarGalaxy::Models::Credentials
|
|
56
|
+
|
|
57
|
+
NewPlanetWebhookEvent = ScalarGalaxy::Models::NewPlanetWebhookEvent
|
|
58
|
+
|
|
59
|
+
Planet = ScalarGalaxy::Models::Planet
|
|
60
|
+
|
|
61
|
+
PlanetCreateParams = ScalarGalaxy::Models::PlanetCreateParams
|
|
62
|
+
|
|
63
|
+
PlanetDeleteParams = ScalarGalaxy::Models::PlanetDeleteParams
|
|
64
|
+
|
|
65
|
+
PlanetDelteImageParams = ScalarGalaxy::Models::PlanetDelteImageParams
|
|
66
|
+
|
|
67
|
+
PlanetListAllDataParams = ScalarGalaxy::Models::PlanetListAllDataParams
|
|
68
|
+
|
|
69
|
+
PlanetRetrieveParams = ScalarGalaxy::Models::PlanetRetrieveParams
|
|
70
|
+
|
|
71
|
+
PlanetUpdateParams = ScalarGalaxy::Models::PlanetUpdateParams
|
|
72
|
+
|
|
73
|
+
UnwrapWebhookEvent = ScalarGalaxy::Models::UnwrapWebhookEvent
|
|
74
|
+
|
|
75
|
+
User = ScalarGalaxy::Models::User
|
|
76
|
+
|
|
77
|
+
WebhookUnwrapParams = ScalarGalaxy::Models::WebhookUnwrapParams
|
|
78
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
# Specify HTTP behaviour to use for a specific request. These options supplement
|
|
5
|
+
# or override those provided at the client level.
|
|
6
|
+
#
|
|
7
|
+
# When making a request, you can pass an actual {RequestOptions} instance, or
|
|
8
|
+
# simply pass a Hash with symbol keys matching the attributes on this class.
|
|
9
|
+
class RequestOptions < ScalarGalaxy::Internal::Type::BaseModel
|
|
10
|
+
# @api private
|
|
11
|
+
#
|
|
12
|
+
# @param opts [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
|
|
13
|
+
#
|
|
14
|
+
# @raise [ArgumentError]
|
|
15
|
+
def self.validate!(opts)
|
|
16
|
+
case opts
|
|
17
|
+
in ScalarGalaxy::RequestOptions | Hash
|
|
18
|
+
opts.to_h.each_key do |k|
|
|
19
|
+
unless fields.include?(k)
|
|
20
|
+
raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
else
|
|
24
|
+
raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# @!attribute idempotency_key
|
|
29
|
+
# Idempotency key to send with request and all associated retries. Will only be
|
|
30
|
+
# sent for write requests.
|
|
31
|
+
#
|
|
32
|
+
# @return [String, nil]
|
|
33
|
+
optional :idempotency_key, String
|
|
34
|
+
|
|
35
|
+
# @!attribute extra_query
|
|
36
|
+
# Extra query params to send with the request. These are `.merge`’d into any
|
|
37
|
+
# `query` given at the client level.
|
|
38
|
+
#
|
|
39
|
+
# @return [Hash{String=>Array<String>, String, nil}, nil]
|
|
40
|
+
optional :extra_query, ScalarGalaxy::Internal::Type::HashOf[ScalarGalaxy::Internal::Type::ArrayOf[String]]
|
|
41
|
+
|
|
42
|
+
# @!attribute extra_headers
|
|
43
|
+
# Extra headers to send with the request. These are `.merged`’d into any
|
|
44
|
+
# `extra_headers` given at the client level.
|
|
45
|
+
#
|
|
46
|
+
# @return [Hash{String=>String, nil}, nil]
|
|
47
|
+
optional :extra_headers, ScalarGalaxy::Internal::Type::HashOf[String, nil?: true]
|
|
48
|
+
|
|
49
|
+
# @!attribute extra_body
|
|
50
|
+
# Extra data to send with the request. These are deep merged into any data
|
|
51
|
+
# generated as part of the normal request.
|
|
52
|
+
#
|
|
53
|
+
# @return [Object, nil]
|
|
54
|
+
optional :extra_body, ScalarGalaxy::Internal::Type::HashOf[ScalarGalaxy::Internal::Type::Unknown]
|
|
55
|
+
|
|
56
|
+
# @!attribute max_retries
|
|
57
|
+
# Maximum number of retries to attempt after a failed initial request.
|
|
58
|
+
#
|
|
59
|
+
# @return [Integer, nil]
|
|
60
|
+
optional :max_retries, Integer
|
|
61
|
+
|
|
62
|
+
# @!attribute timeout
|
|
63
|
+
# Request timeout in seconds.
|
|
64
|
+
#
|
|
65
|
+
# @return [Float, nil]
|
|
66
|
+
optional :timeout, Float
|
|
67
|
+
|
|
68
|
+
# @!method initialize(values = {})
|
|
69
|
+
# Returns a new instance of RequestOptions.
|
|
70
|
+
#
|
|
71
|
+
# @param values [Hash{Symbol=>Object}]
|
|
72
|
+
|
|
73
|
+
define_sorbet_constant!(:OrHash) do
|
|
74
|
+
T.type_alias { T.any(ScalarGalaxy::RequestOptions, ScalarGalaxy::Internal::AnyHash) }
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Resources
|
|
5
|
+
# Some endpoints are public, but some require authentication. We provide all the
|
|
6
|
+
# required endpoints to create an account and authorize yourself.
|
|
7
|
+
class Authentication
|
|
8
|
+
# Yeah, this is the boring security stuff. Just get your super secret token and
|
|
9
|
+
# move on.
|
|
10
|
+
#
|
|
11
|
+
# @overload create_token(email:, password:, request_options: {})
|
|
12
|
+
#
|
|
13
|
+
# @param email [String]
|
|
14
|
+
# @param password [String]
|
|
15
|
+
# @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
16
|
+
#
|
|
17
|
+
# @return [ScalarGalaxy::Models::AuthenticationCreateTokenResponse]
|
|
18
|
+
#
|
|
19
|
+
# @see ScalarGalaxy::Models::AuthenticationCreateTokenParams
|
|
20
|
+
def create_token(params)
|
|
21
|
+
parsed, options = ScalarGalaxy::AuthenticationCreateTokenParams.dump_request(params)
|
|
22
|
+
@client.request(
|
|
23
|
+
method: :post,
|
|
24
|
+
path: "auth/token",
|
|
25
|
+
body: parsed,
|
|
26
|
+
model: ScalarGalaxy::Models::AuthenticationCreateTokenResponse,
|
|
27
|
+
options: options
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Time to create a user account, eh?
|
|
32
|
+
#
|
|
33
|
+
# @overload create_user(email:, password:, name: nil, request_options: {})
|
|
34
|
+
#
|
|
35
|
+
# @param email [String]
|
|
36
|
+
# @param password [String]
|
|
37
|
+
# @param name [String]
|
|
38
|
+
# @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
39
|
+
#
|
|
40
|
+
# @return [ScalarGalaxy::Models::User]
|
|
41
|
+
#
|
|
42
|
+
# @see ScalarGalaxy::Models::AuthenticationCreateUserParams
|
|
43
|
+
def create_user(params)
|
|
44
|
+
parsed, options = ScalarGalaxy::AuthenticationCreateUserParams.dump_request(params)
|
|
45
|
+
@client.request(
|
|
46
|
+
method: :post,
|
|
47
|
+
path: "user/signup",
|
|
48
|
+
body: parsed,
|
|
49
|
+
model: ScalarGalaxy::User,
|
|
50
|
+
options: options
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Find yourself they say. That's what you can do here.
|
|
55
|
+
#
|
|
56
|
+
# @overload list_me(request_options: {})
|
|
57
|
+
#
|
|
58
|
+
# @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
59
|
+
#
|
|
60
|
+
# @return [ScalarGalaxy::Models::User]
|
|
61
|
+
#
|
|
62
|
+
# @see ScalarGalaxy::Models::AuthenticationListMeParams
|
|
63
|
+
def list_me(params = {})
|
|
64
|
+
@client.request(
|
|
65
|
+
method: :get,
|
|
66
|
+
path: "me",
|
|
67
|
+
model: ScalarGalaxy::User,
|
|
68
|
+
options: params[:request_options]
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# @api private
|
|
73
|
+
#
|
|
74
|
+
# @param client [ScalarGalaxy::Client]
|
|
75
|
+
def initialize(client:)
|
|
76
|
+
@client = client
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ScalarGalaxy
|
|
4
|
+
module Resources
|
|
5
|
+
# Celestial bodies are the planets and satellites in the Scalar Galaxy.
|
|
6
|
+
class CelestialBodies
|
|
7
|
+
# Stars, moons, comets, the occasional rogue asteroid — if it glows or drifts
|
|
8
|
+
# through the void, you can add it here.
|
|
9
|
+
#
|
|
10
|
+
# @overload create(celestial_body:, request_options: {})
|
|
11
|
+
#
|
|
12
|
+
# @param celestial_body [ScalarGalaxy::Models::Planet, ScalarGalaxy::Models::CelestialBody::Satellite]
|
|
13
|
+
# @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
14
|
+
#
|
|
15
|
+
# @return [ScalarGalaxy::Models::Planet, ScalarGalaxy::Models::CelestialBody::Satellite]
|
|
16
|
+
#
|
|
17
|
+
# @see ScalarGalaxy::Models::CelestialBodyCreateParams
|
|
18
|
+
def create(params)
|
|
19
|
+
parsed, options = ScalarGalaxy::CelestialBodyCreateParams.dump_request(params)
|
|
20
|
+
@client.request(
|
|
21
|
+
method: :post,
|
|
22
|
+
path: "celestial-bodies",
|
|
23
|
+
body: parsed[:celestial_body],
|
|
24
|
+
model: ScalarGalaxy::CelestialBody,
|
|
25
|
+
options: options
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# @api private
|
|
30
|
+
#
|
|
31
|
+
# @param client [ScalarGalaxy::Client]
|
|
32
|
+
def initialize(client:)
|
|
33
|
+
@client = client
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|