amritk-galaxy-staging 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.
Files changed (148) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +13 -0
  3. data/LICENSE +201 -0
  4. data/README.md +169 -0
  5. data/SECURITY.md +19 -0
  6. data/SKILL.md +83 -0
  7. data/api.md +186 -0
  8. data/lib/amritk-galaxy-staging/client.rb +238 -0
  9. data/lib/amritk-galaxy-staging/errors.rb +227 -0
  10. data/lib/amritk-galaxy-staging/file_part.rb +58 -0
  11. data/lib/amritk-galaxy-staging/internal/transport/base_client.rb +588 -0
  12. data/lib/amritk-galaxy-staging/internal/transport/pooled_net_requester.rb +224 -0
  13. data/lib/amritk-galaxy-staging/internal/type/array_of.rb +164 -0
  14. data/lib/amritk-galaxy-staging/internal/type/base_model.rb +534 -0
  15. data/lib/amritk-galaxy-staging/internal/type/base_page.rb +55 -0
  16. data/lib/amritk-galaxy-staging/internal/type/boolean.rb +77 -0
  17. data/lib/amritk-galaxy-staging/internal/type/converter.rb +333 -0
  18. data/lib/amritk-galaxy-staging/internal/type/enum.rb +132 -0
  19. data/lib/amritk-galaxy-staging/internal/type/file_input.rb +111 -0
  20. data/lib/amritk-galaxy-staging/internal/type/hash_of.rb +186 -0
  21. data/lib/amritk-galaxy-staging/internal/type/request_parameters.rb +42 -0
  22. data/lib/amritk-galaxy-staging/internal/type/union.rb +238 -0
  23. data/lib/amritk-galaxy-staging/internal/type/unknown.rb +81 -0
  24. data/lib/amritk-galaxy-staging/internal/util.rb +965 -0
  25. data/lib/amritk-galaxy-staging/internal.rb +18 -0
  26. data/lib/amritk-galaxy-staging/models/authentication_create_token_params.rb +26 -0
  27. data/lib/amritk-galaxy-staging/models/authentication_create_user_params.rb +32 -0
  28. data/lib/amritk-galaxy-staging/models/authentication_list_me_params.rb +14 -0
  29. data/lib/amritk-galaxy-staging/models/celestial_body.rb +21 -0
  30. data/lib/amritk-galaxy-staging/models/celestial_body_create_params.rb +20 -0
  31. data/lib/amritk-galaxy-staging/models/new_planet_webhook_event.rb +9 -0
  32. data/lib/amritk-galaxy-staging/models/paginated_resource.rb +46 -0
  33. data/lib/amritk-galaxy-staging/models/planet.rb +221 -0
  34. data/lib/amritk-galaxy-staging/models/planet_create_params.rb +14 -0
  35. data/lib/amritk-galaxy-staging/models/planet_delete_params.rb +20 -0
  36. data/lib/amritk-galaxy-staging/models/planet_list_params.rb +30 -0
  37. data/lib/amritk-galaxy-staging/models/planet_list_response.rb +16 -0
  38. data/lib/amritk-galaxy-staging/models/planet_retrieve_params.rb +20 -0
  39. data/lib/amritk-galaxy-staging/models/planet_update_params.rb +20 -0
  40. data/lib/amritk-galaxy-staging/models/planet_upload_image_params.rb +29 -0
  41. data/lib/amritk-galaxy-staging/models/planet_upload_image_response.rb +48 -0
  42. data/lib/amritk-galaxy-staging/models/satellite.rb +96 -0
  43. data/lib/amritk-galaxy-staging/models/token.rb +18 -0
  44. data/lib/amritk-galaxy-staging/models/unwrap_webhook_event.rb +14 -0
  45. data/lib/amritk-galaxy-staging/models/user.rb +26 -0
  46. data/lib/amritk-galaxy-staging/models/webhook_unwrap_params.rb +14 -0
  47. data/lib/amritk-galaxy-staging/models.rb +87 -0
  48. data/lib/amritk-galaxy-staging/request_options.rb +79 -0
  49. data/lib/amritk-galaxy-staging/resources/authentication.rb +80 -0
  50. data/lib/amritk-galaxy-staging/resources/celestial_bodies.rb +36 -0
  51. data/lib/amritk-galaxy-staging/resources/planets.rb +215 -0
  52. data/lib/amritk-galaxy-staging/resources/webhooks.rb +37 -0
  53. data/lib/amritk-galaxy-staging/version.rb +5 -0
  54. data/lib/amritk-galaxy-staging.rb +79 -0
  55. data/rbi/amritk-galaxy-staging/client.rbi +130 -0
  56. data/rbi/amritk-galaxy-staging/errors.rbi +205 -0
  57. data/rbi/amritk-galaxy-staging/file_part.rbi +37 -0
  58. data/rbi/amritk-galaxy-staging/internal/transport/base_client.rbi +312 -0
  59. data/rbi/amritk-galaxy-staging/internal/transport/pooled_net_requester.rbi +84 -0
  60. data/rbi/amritk-galaxy-staging/internal/type/array_of.rbi +108 -0
  61. data/rbi/amritk-galaxy-staging/internal/type/base_model.rbi +319 -0
  62. data/rbi/amritk-galaxy-staging/internal/type/base_page.rbi +43 -0
  63. data/rbi/amritk-galaxy-staging/internal/type/boolean.rbi +59 -0
  64. data/rbi/amritk-galaxy-staging/internal/type/converter.rbi +225 -0
  65. data/rbi/amritk-galaxy-staging/internal/type/enum.rbi +82 -0
  66. data/rbi/amritk-galaxy-staging/internal/type/file_input.rbi +60 -0
  67. data/rbi/amritk-galaxy-staging/internal/type/hash_of.rbi +108 -0
  68. data/rbi/amritk-galaxy-staging/internal/type/request_parameters.rbi +33 -0
  69. data/rbi/amritk-galaxy-staging/internal/type/union.rbi +134 -0
  70. data/rbi/amritk-galaxy-staging/internal/type/unknown.rbi +59 -0
  71. data/rbi/amritk-galaxy-staging/internal/util.rbi +515 -0
  72. data/rbi/amritk-galaxy-staging/internal.rbi +18 -0
  73. data/rbi/amritk-galaxy-staging/models/authentication_create_token_params.rbi +46 -0
  74. data/rbi/amritk-galaxy-staging/models/authentication_create_user_params.rbi +54 -0
  75. data/rbi/amritk-galaxy-staging/models/authentication_list_me_params.rbi +34 -0
  76. data/rbi/amritk-galaxy-staging/models/celestial_body.rbi +21 -0
  77. data/rbi/amritk-galaxy-staging/models/celestial_body_create_params.rbi +53 -0
  78. data/rbi/amritk-galaxy-staging/models/new_planet_webhook_event.rbi +23 -0
  79. data/rbi/amritk-galaxy-staging/models/paginated_resource.rbi +93 -0
  80. data/rbi/amritk-galaxy-staging/models/planet.rbi +373 -0
  81. data/rbi/amritk-galaxy-staging/models/planet_create_params.rbi +34 -0
  82. data/rbi/amritk-galaxy-staging/models/planet_delete_params.rbi +41 -0
  83. data/rbi/amritk-galaxy-staging/models/planet_list_params.rbi +60 -0
  84. data/rbi/amritk-galaxy-staging/models/planet_list_response.rbi +33 -0
  85. data/rbi/amritk-galaxy-staging/models/planet_retrieve_params.rbi +41 -0
  86. data/rbi/amritk-galaxy-staging/models/planet_update_params.rbi +41 -0
  87. data/rbi/amritk-galaxy-staging/models/planet_upload_image_params.rbi +55 -0
  88. data/rbi/amritk-galaxy-staging/models/planet_upload_image_response.rbi +85 -0
  89. data/rbi/amritk-galaxy-staging/models/satellite.rbi +160 -0
  90. data/rbi/amritk-galaxy-staging/models/token.rbi +30 -0
  91. data/rbi/amritk-galaxy-staging/models/unwrap_webhook_event.rbi +20 -0
  92. data/rbi/amritk-galaxy-staging/models/user.rbi +36 -0
  93. data/rbi/amritk-galaxy-staging/models/webhook_unwrap_params.rbi +34 -0
  94. data/rbi/amritk-galaxy-staging/models.rbi +45 -0
  95. data/rbi/amritk-galaxy-staging/request_options.rbi +64 -0
  96. data/rbi/amritk-galaxy-staging/resources/authentication.rbi +49 -0
  97. data/rbi/amritk-galaxy-staging/resources/celestial_bodies.rbi +29 -0
  98. data/rbi/amritk-galaxy-staging/resources/planets.rbi +180 -0
  99. data/rbi/amritk-galaxy-staging/resources/webhooks.rbi +31 -0
  100. data/rbi/amritk-galaxy-staging/version.rbi +5 -0
  101. data/sig/amritk-galaxy-staging/client.rbs +62 -0
  102. data/sig/amritk-galaxy-staging/errors.rbs +117 -0
  103. data/sig/amritk-galaxy-staging/file_part.rbs +21 -0
  104. data/sig/amritk-galaxy-staging/internal/transport/base_client.rbs +133 -0
  105. data/sig/amritk-galaxy-staging/internal/transport/pooled_net_requester.rbs +48 -0
  106. data/sig/amritk-galaxy-staging/internal/type/array_of.rbs +48 -0
  107. data/sig/amritk-galaxy-staging/internal/type/base_model.rbs +102 -0
  108. data/sig/amritk-galaxy-staging/internal/type/base_page.rbs +24 -0
  109. data/sig/amritk-galaxy-staging/internal/type/boolean.rbs +26 -0
  110. data/sig/amritk-galaxy-staging/internal/type/converter.rbs +79 -0
  111. data/sig/amritk-galaxy-staging/internal/type/enum.rbs +32 -0
  112. data/sig/amritk-galaxy-staging/internal/type/file_input.rbs +25 -0
  113. data/sig/amritk-galaxy-staging/internal/type/hash_of.rbs +48 -0
  114. data/sig/amritk-galaxy-staging/internal/type/request_parameters.rbs +17 -0
  115. data/sig/amritk-galaxy-staging/internal/type/union.rbs +52 -0
  116. data/sig/amritk-galaxy-staging/internal/type/unknown.rbs +26 -0
  117. data/sig/amritk-galaxy-staging/internal/util.rbs +199 -0
  118. data/sig/amritk-galaxy-staging/internal.rbs +9 -0
  119. data/sig/amritk-galaxy-staging/models/authentication_create_token_params.rbs +28 -0
  120. data/sig/amritk-galaxy-staging/models/authentication_create_user_params.rbs +34 -0
  121. data/sig/amritk-galaxy-staging/models/authentication_list_me_params.rbs +17 -0
  122. data/sig/amritk-galaxy-staging/models/celestial_body.rbs +12 -0
  123. data/sig/amritk-galaxy-staging/models/celestial_body_create_params.rbs +24 -0
  124. data/sig/amritk-galaxy-staging/models/new_planet_webhook_event.rbs +11 -0
  125. data/sig/amritk-galaxy-staging/models/paginated_resource.rbs +53 -0
  126. data/sig/amritk-galaxy-staging/models/planet.rbs +210 -0
  127. data/sig/amritk-galaxy-staging/models/planet_create_params.rbs +17 -0
  128. data/sig/amritk-galaxy-staging/models/planet_delete_params.rbs +24 -0
  129. data/sig/amritk-galaxy-staging/models/planet_list_params.rbs +32 -0
  130. data/sig/amritk-galaxy-staging/models/planet_list_response.rbs +17 -0
  131. data/sig/amritk-galaxy-staging/models/planet_retrieve_params.rbs +24 -0
  132. data/sig/amritk-galaxy-staging/models/planet_update_params.rbs +26 -0
  133. data/sig/amritk-galaxy-staging/models/planet_upload_image_params.rbs +32 -0
  134. data/sig/amritk-galaxy-staging/models/planet_upload_image_response.rbs +50 -0
  135. data/sig/amritk-galaxy-staging/models/satellite.rbs +95 -0
  136. data/sig/amritk-galaxy-staging/models/token.rbs +15 -0
  137. data/sig/amritk-galaxy-staging/models/unwrap_webhook_event.rbs +11 -0
  138. data/sig/amritk-galaxy-staging/models/user.rbs +19 -0
  139. data/sig/amritk-galaxy-staging/models/webhook_unwrap_params.rbs +17 -0
  140. data/sig/amritk-galaxy-staging/models.rbs +39 -0
  141. data/sig/amritk-galaxy-staging/request_options.rbs +34 -0
  142. data/sig/amritk-galaxy-staging/resources/authentication.rbs +24 -0
  143. data/sig/amritk-galaxy-staging/resources/celestial_bodies.rbs +12 -0
  144. data/sig/amritk-galaxy-staging/resources/planets.rbs +68 -0
  145. data/sig/amritk-galaxy-staging/resources/webhooks.rbs +13 -0
  146. data/sig/amritk-galaxy-staging/version.rbs +3 -0
  147. data/sig/manifest.yaml +6 -0
  148. metadata +248 -0
@@ -0,0 +1,41 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ module Models
5
+ class PlanetRetrieveParams < DemoApiScalarGalaxy::Internal::Type::BaseModel
6
+ extend DemoApiScalarGalaxy::Internal::Type::RequestParameters::Converter
7
+ include DemoApiScalarGalaxy::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ DemoApiScalarGalaxy::PlanetRetrieveParams,
13
+ DemoApiScalarGalaxy::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(Integer) }
18
+ attr_accessor :planet_id
19
+
20
+ sig do
21
+ params(
22
+ planet_id: Integer,
23
+ request_options: DemoApiScalarGalaxy::RequestOptions::OrHash
24
+ ).returns(T.attached_class)
25
+ end
26
+ def self.new(planet_id:, request_options: {})
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ {
32
+ planet_id: Integer,
33
+ request_options: DemoApiScalarGalaxy::RequestOptions
34
+ }
35
+ )
36
+ end
37
+ def to_hash
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,41 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ module Models
5
+ class PlanetUpdateParams < DemoApiScalarGalaxy::Models::Planet
6
+ extend DemoApiScalarGalaxy::Internal::Type::RequestParameters::Converter
7
+ include DemoApiScalarGalaxy::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ DemoApiScalarGalaxy::PlanetUpdateParams,
13
+ DemoApiScalarGalaxy::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(Integer) }
18
+ attr_accessor :planet_id
19
+
20
+ sig do
21
+ params(
22
+ planet_id: Integer,
23
+ request_options: DemoApiScalarGalaxy::RequestOptions::OrHash
24
+ ).returns(T.attached_class)
25
+ end
26
+ def self.new(planet_id:, request_options: {})
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ {
32
+ planet_id: Integer,
33
+ request_options: DemoApiScalarGalaxy::RequestOptions
34
+ }
35
+ )
36
+ end
37
+ def to_hash
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,55 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ module Models
5
+ class PlanetUploadImageParams < DemoApiScalarGalaxy::Internal::Type::BaseModel
6
+ extend DemoApiScalarGalaxy::Internal::Type::RequestParameters::Converter
7
+ include DemoApiScalarGalaxy::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ DemoApiScalarGalaxy::PlanetUploadImageParams,
13
+ DemoApiScalarGalaxy::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(Integer) }
18
+ attr_accessor :planet_id
19
+
20
+ # The image file to upload
21
+ sig { returns(T.nilable(DemoApiScalarGalaxy::Internal::FileInput)) }
22
+ attr_reader :image
23
+
24
+ sig { params(image: DemoApiScalarGalaxy::Internal::FileInput).void }
25
+ attr_writer :image
26
+
27
+ sig do
28
+ params(
29
+ planet_id: Integer,
30
+ image: DemoApiScalarGalaxy::Internal::FileInput,
31
+ request_options: DemoApiScalarGalaxy::RequestOptions::OrHash
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ planet_id:,
36
+ # The image file to upload
37
+ image: nil,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ {
45
+ planet_id: Integer,
46
+ image: DemoApiScalarGalaxy::Internal::FileInput,
47
+ request_options: DemoApiScalarGalaxy::RequestOptions
48
+ }
49
+ )
50
+ end
51
+ def to_hash
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,85 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ module Models
5
+ class PlanetUploadImageResponse < DemoApiScalarGalaxy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ DemoApiScalarGalaxy::Models::PlanetUploadImageResponse,
10
+ DemoApiScalarGalaxy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Size of the uploaded image in bytes
15
+ sig { returns(T.nilable(Integer)) }
16
+ attr_reader :file_size
17
+
18
+ sig { params(file_size: Integer).void }
19
+ attr_writer :file_size
20
+
21
+ # The URL where the uploaded image can be accessed
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :image_url
24
+
25
+ sig { params(image_url: String).void }
26
+ attr_writer :image_url
27
+
28
+ sig { returns(T.nilable(String)) }
29
+ attr_reader :message
30
+
31
+ sig { params(message: String).void }
32
+ attr_writer :message
33
+
34
+ # The content type of the uploaded image
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :mime_type
37
+
38
+ sig { params(mime_type: String).void }
39
+ attr_writer :mime_type
40
+
41
+ # Timestamp when the image was uploaded
42
+ sig { returns(T.nilable(Time)) }
43
+ attr_reader :uploaded_at
44
+
45
+ sig { params(uploaded_at: Time).void }
46
+ attr_writer :uploaded_at
47
+
48
+ sig do
49
+ params(
50
+ file_size: Integer,
51
+ image_url: String,
52
+ message: String,
53
+ mime_type: String,
54
+ uploaded_at: Time
55
+ ).returns(T.attached_class)
56
+ end
57
+ def self.new(
58
+ # Size of the uploaded image in bytes
59
+ file_size: nil,
60
+ # The URL where the uploaded image can be accessed
61
+ image_url: nil,
62
+ message: nil,
63
+ # The content type of the uploaded image
64
+ mime_type: nil,
65
+ # Timestamp when the image was uploaded
66
+ uploaded_at: nil
67
+ )
68
+ end
69
+
70
+ sig do
71
+ override.returns(
72
+ {
73
+ file_size: Integer,
74
+ image_url: String,
75
+ message: String,
76
+ mime_type: String,
77
+ uploaded_at: Time
78
+ }
79
+ )
80
+ end
81
+ def to_hash
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,160 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ module Models
5
+ class Satellite < DemoApiScalarGalaxy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ DemoApiScalarGalaxy::Satellite,
10
+ DemoApiScalarGalaxy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :name
16
+
17
+ sig { returns(DemoApiScalarGalaxy::Satellite::Type::OrSymbol) }
18
+ attr_accessor :type
19
+
20
+ sig { returns(T.nilable(Integer)) }
21
+ attr_reader :id
22
+
23
+ sig { params(id: Integer).void }
24
+ attr_writer :id
25
+
26
+ sig { returns(T.nilable(String)) }
27
+ attr_accessor :description
28
+
29
+ # Diameter in kilometers
30
+ sig { returns(T.nilable(Float)) }
31
+ attr_reader :diameter
32
+
33
+ sig { params(diameter: Float).void }
34
+ attr_writer :diameter
35
+
36
+ sig { returns(T.nilable(DemoApiScalarGalaxy::Satellite::Orbit)) }
37
+ attr_reader :orbit
38
+
39
+ sig { params(orbit: DemoApiScalarGalaxy::Satellite::Orbit::OrHash).void }
40
+ attr_writer :orbit
41
+
42
+ # Every satellite in the Scalar Galaxy
43
+ sig do
44
+ params(
45
+ name: String,
46
+ type: DemoApiScalarGalaxy::Satellite::Type::OrSymbol,
47
+ id: Integer,
48
+ description: T.nilable(String),
49
+ diameter: Float,
50
+ orbit: DemoApiScalarGalaxy::Satellite::Orbit::OrHash
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ name:,
55
+ type:,
56
+ id: nil,
57
+ description: nil,
58
+ # Diameter in kilometers
59
+ diameter: nil,
60
+ orbit: nil
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ name: String,
68
+ type: DemoApiScalarGalaxy::Satellite::Type::OrSymbol,
69
+ id: Integer,
70
+ description: T.nilable(String),
71
+ diameter: Float,
72
+ orbit: DemoApiScalarGalaxy::Satellite::Orbit
73
+ }
74
+ )
75
+ end
76
+ def to_hash
77
+ end
78
+
79
+ module Type
80
+ extend DemoApiScalarGalaxy::Internal::Type::Enum
81
+
82
+ TaggedSymbol =
83
+ T.type_alias { T.all(Symbol, DemoApiScalarGalaxy::Satellite::Type) }
84
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
85
+
86
+ SATELLITE =
87
+ T.let(:satellite, DemoApiScalarGalaxy::Satellite::Type::TaggedSymbol)
88
+ MOON = T.let(:moon, DemoApiScalarGalaxy::Satellite::Type::TaggedSymbol)
89
+ ASTEROID =
90
+ T.let(:asteroid, DemoApiScalarGalaxy::Satellite::Type::TaggedSymbol)
91
+ COMET =
92
+ T.let(:comet, DemoApiScalarGalaxy::Satellite::Type::TaggedSymbol)
93
+
94
+ sig do
95
+ override.returns(
96
+ T::Array[DemoApiScalarGalaxy::Satellite::Type::TaggedSymbol]
97
+ )
98
+ end
99
+ def self.values
100
+ end
101
+ end
102
+
103
+ class Orbit < DemoApiScalarGalaxy::Internal::Type::BaseModel
104
+ OrHash =
105
+ T.type_alias do
106
+ T.any(
107
+ DemoApiScalarGalaxy::Satellite::Orbit,
108
+ DemoApiScalarGalaxy::Internal::AnyHash
109
+ )
110
+ end
111
+
112
+ # Average distance from the planet in kilometers
113
+ sig { returns(T.nilable(Float)) }
114
+ attr_reader :distance
115
+
116
+ sig { params(distance: Float).void }
117
+ attr_writer :distance
118
+
119
+ # Orbital period in Earth days
120
+ sig { returns(T.nilable(Float)) }
121
+ attr_reader :orbital_period
122
+
123
+ sig { params(orbital_period: Float).void }
124
+ attr_writer :orbital_period
125
+
126
+ # The ID of the planet this satellite orbits
127
+ sig { returns(T.nilable(Integer)) }
128
+ attr_reader :planet_id
129
+
130
+ sig { params(planet_id: Integer).void }
131
+ attr_writer :planet_id
132
+
133
+ sig do
134
+ params(
135
+ distance: Float,
136
+ orbital_period: Float,
137
+ planet_id: Integer
138
+ ).returns(T.attached_class)
139
+ end
140
+ def self.new(
141
+ # Average distance from the planet in kilometers
142
+ distance: nil,
143
+ # Orbital period in Earth days
144
+ orbital_period: nil,
145
+ # The ID of the planet this satellite orbits
146
+ planet_id: nil
147
+ )
148
+ end
149
+
150
+ sig do
151
+ override.returns(
152
+ { distance: Float, orbital_period: Float, planet_id: Integer }
153
+ )
154
+ end
155
+ def to_hash
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ module Models
5
+ class Token < DemoApiScalarGalaxy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ DemoApiScalarGalaxy::Token,
10
+ DemoApiScalarGalaxy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :token
16
+
17
+ sig { params(token: String).void }
18
+ attr_writer :token
19
+
20
+ # A token to authenticate a user
21
+ sig { params(token: String).returns(T.attached_class) }
22
+ def self.new(token: nil)
23
+ end
24
+
25
+ sig { override.returns({ token: String }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,20 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ module Models
5
+ module UnwrapWebhookEvent
6
+ extend DemoApiScalarGalaxy::Internal::Type::Union
7
+
8
+ Variants =
9
+ T.type_alias { T.any(DemoApiScalarGalaxy::NewPlanetWebhookEvent) }
10
+
11
+ sig do
12
+ override.returns(
13
+ T::Array[DemoApiScalarGalaxy::UnwrapWebhookEvent::Variants]
14
+ )
15
+ end
16
+ def self.variants
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,36 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ module Models
5
+ class User < DemoApiScalarGalaxy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ DemoApiScalarGalaxy::User,
10
+ DemoApiScalarGalaxy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T.nilable(Integer)) }
15
+ attr_reader :id
16
+
17
+ sig { params(id: Integer).void }
18
+ attr_writer :id
19
+
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :name
22
+
23
+ sig { params(name: String).void }
24
+ attr_writer :name
25
+
26
+ # A user
27
+ sig { params(id: Integer, name: String).returns(T.attached_class) }
28
+ def self.new(id: nil, name: nil)
29
+ end
30
+
31
+ sig { override.returns({ id: Integer, name: String }) }
32
+ def to_hash
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ module Models
5
+ class WebhookUnwrapParams < DemoApiScalarGalaxy::Internal::Type::BaseModel
6
+ extend DemoApiScalarGalaxy::Internal::Type::RequestParameters::Converter
7
+ include DemoApiScalarGalaxy::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ DemoApiScalarGalaxy::WebhookUnwrapParams,
13
+ DemoApiScalarGalaxy::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(
19
+ request_options: DemoApiScalarGalaxy::RequestOptions::OrHash
20
+ ).returns(T.attached_class)
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig do
26
+ override.returns(
27
+ { request_options: DemoApiScalarGalaxy::RequestOptions }
28
+ )
29
+ end
30
+ def to_hash
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,45 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ AuthenticationCreateTokenParams =
5
+ DemoApiScalarGalaxy::Models::AuthenticationCreateTokenParams
6
+
7
+ AuthenticationCreateUserParams =
8
+ DemoApiScalarGalaxy::Models::AuthenticationCreateUserParams
9
+
10
+ AuthenticationListMeParams =
11
+ DemoApiScalarGalaxy::Models::AuthenticationListMeParams
12
+
13
+ CelestialBody = DemoApiScalarGalaxy::Models::CelestialBody
14
+
15
+ CelestialBodyCreateParams =
16
+ DemoApiScalarGalaxy::Models::CelestialBodyCreateParams
17
+
18
+ NewPlanetWebhookEvent = DemoApiScalarGalaxy::Models::NewPlanetWebhookEvent
19
+
20
+ PaginatedResource = DemoApiScalarGalaxy::Models::PaginatedResource
21
+
22
+ Planet = DemoApiScalarGalaxy::Models::Planet
23
+
24
+ PlanetCreateParams = DemoApiScalarGalaxy::Models::PlanetCreateParams
25
+
26
+ PlanetDeleteParams = DemoApiScalarGalaxy::Models::PlanetDeleteParams
27
+
28
+ PlanetListParams = DemoApiScalarGalaxy::Models::PlanetListParams
29
+
30
+ PlanetRetrieveParams = DemoApiScalarGalaxy::Models::PlanetRetrieveParams
31
+
32
+ PlanetUpdateParams = DemoApiScalarGalaxy::Models::PlanetUpdateParams
33
+
34
+ PlanetUploadImageParams = DemoApiScalarGalaxy::Models::PlanetUploadImageParams
35
+
36
+ Satellite = DemoApiScalarGalaxy::Models::Satellite
37
+
38
+ Token = DemoApiScalarGalaxy::Models::Token
39
+
40
+ UnwrapWebhookEvent = DemoApiScalarGalaxy::Models::UnwrapWebhookEvent
41
+
42
+ User = DemoApiScalarGalaxy::Models::User
43
+
44
+ WebhookUnwrapParams = DemoApiScalarGalaxy::Models::WebhookUnwrapParams
45
+ end
@@ -0,0 +1,64 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
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 < DemoApiScalarGalaxy::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ DemoApiScalarGalaxy::RequestOptions,
14
+ DemoApiScalarGalaxy::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # @api private
19
+ sig { params(opts: DemoApiScalarGalaxy::RequestOptions::OrHash).void }
20
+ def self.validate!(opts)
21
+ end
22
+
23
+ # Idempotency key to send with request and all associated retries. Will only be
24
+ # sent for write requests.
25
+ sig { returns(T.nilable(String)) }
26
+ attr_accessor :idempotency_key
27
+
28
+ # Extra query params to send with the request. These are `.merge`’d into any
29
+ # `query` given at the client level.
30
+ sig do
31
+ returns(
32
+ T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))])
33
+ )
34
+ end
35
+ attr_accessor :extra_query
36
+
37
+ # Extra headers to send with the request. These are `.merged`’d into any
38
+ # `extra_headers` given at the client level.
39
+ sig { returns(T.nilable(T::Hash[String, T.nilable(String)])) }
40
+ attr_accessor :extra_headers
41
+
42
+ # Extra data to send with the request. These are deep merged into any data
43
+ # generated as part of the normal request.
44
+ sig { returns(T.nilable(T.anything)) }
45
+ attr_accessor :extra_body
46
+
47
+ # Maximum number of retries to attempt after a failed initial request.
48
+ sig { returns(T.nilable(Integer)) }
49
+ attr_accessor :max_retries
50
+
51
+ # Request timeout in seconds.
52
+ sig { returns(T.nilable(Float)) }
53
+ attr_accessor :timeout
54
+
55
+ # Returns a new instance of RequestOptions.
56
+ sig do
57
+ params(values: DemoApiScalarGalaxy::Internal::AnyHash).returns(
58
+ T.attached_class
59
+ )
60
+ end
61
+ def self.new(values = {})
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,49 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
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
+ sig do
11
+ params(
12
+ email: String,
13
+ password: String,
14
+ request_options: DemoApiScalarGalaxy::RequestOptions::OrHash
15
+ ).returns(DemoApiScalarGalaxy::Token)
16
+ end
17
+ def create_token(email:, password:, request_options: {})
18
+ end
19
+
20
+ # Time to create a user account, eh?
21
+ sig do
22
+ params(
23
+ email: String,
24
+ password: String,
25
+ name: String,
26
+ request_options: DemoApiScalarGalaxy::RequestOptions::OrHash
27
+ ).returns(DemoApiScalarGalaxy::User)
28
+ end
29
+ def create_user(email:, password:, name: nil, request_options: {})
30
+ end
31
+
32
+ # Find yourself they say. That's what you can do here.
33
+ sig do
34
+ params(
35
+ request_options: DemoApiScalarGalaxy::RequestOptions::OrHash
36
+ ).returns(DemoApiScalarGalaxy::User)
37
+ end
38
+ def list_me(request_options: {})
39
+ end
40
+
41
+ # @api private
42
+ sig do
43
+ params(client: DemoApiScalarGalaxy::Client).returns(T.attached_class)
44
+ end
45
+ def self.new(client:)
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+
3
+ module DemoApiScalarGalaxy
4
+ module Resources
5
+ # Celestial bodies are the planets and satellites in the Scalar Galaxy.
6
+ class CelestialBodies
7
+ # Create a celestial body
8
+ sig do
9
+ params(
10
+ celestial_body:
11
+ T.any(
12
+ DemoApiScalarGalaxy::Planet::OrHash,
13
+ DemoApiScalarGalaxy::Satellite::OrHash
14
+ ),
15
+ request_options: DemoApiScalarGalaxy::RequestOptions::OrHash
16
+ ).returns(DemoApiScalarGalaxy::CelestialBody::Variants)
17
+ end
18
+ def create(celestial_body:, request_options: {})
19
+ end
20
+
21
+ # @api private
22
+ sig do
23
+ params(client: DemoApiScalarGalaxy::Client).returns(T.attached_class)
24
+ end
25
+ def self.new(client:)
26
+ end
27
+ end
28
+ end
29
+ end