noresponse 2.0.17

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 (231) hide show
  1. checksums.yaml +7 -0
  2. data/lib/crystalline/enum.rbi +17 -0
  3. data/lib/crystalline/metadata_fields.rb +263 -0
  4. data/lib/crystalline/module.rb +186 -0
  5. data/lib/crystalline/types.rb +168 -0
  6. data/lib/crystalline/utils.rb +67 -0
  7. data/lib/crystalline.rb +11 -0
  8. data/lib/no_response/assessments.rb +1252 -0
  9. data/lib/no_response/auth.rb +263 -0
  10. data/lib/no_response/issued_credential.rb +21 -0
  11. data/lib/no_response/keys.rb +318 -0
  12. data/lib/no_response/late_results.rb +301 -0
  13. data/lib/no_response/models/callbacks.rb +10 -0
  14. data/lib/no_response/models/errors/apistatuserror.rb +41 -0
  15. data/lib/no_response/models/errors/apistatuserror.rbi +30 -0
  16. data/lib/no_response/models/errors/authenticationerror.rb +108 -0
  17. data/lib/no_response/models/errors/authenticationerror.rbi +56 -0
  18. data/lib/no_response/models/errors/badrequesterror.rb +108 -0
  19. data/lib/no_response/models/errors/badrequesterror.rbi +56 -0
  20. data/lib/no_response/models/errors/conflicterror.rb +108 -0
  21. data/lib/no_response/models/errors/conflicterror.rbi +56 -0
  22. data/lib/no_response/models/errors/notfounderror.rb +108 -0
  23. data/lib/no_response/models/errors/notfounderror.rbi +56 -0
  24. data/lib/no_response/models/errors/permissiondeniederror.rb +108 -0
  25. data/lib/no_response/models/errors/permissiondeniederror.rbi +56 -0
  26. data/lib/no_response/models/errors/ratelimiterror.rb +108 -0
  27. data/lib/no_response/models/errors/ratelimiterror.rbi +56 -0
  28. data/lib/no_response/models/errors.rb +16 -0
  29. data/lib/no_response/models/operations/createassessment_request.rb +36 -0
  30. data/lib/no_response/models/operations/createassessment_request.rbi +20 -0
  31. data/lib/no_response/models/operations/createassessment_response.rb +32 -0
  32. data/lib/no_response/models/operations/createassessment_response.rbi +20 -0
  33. data/lib/no_response/models/operations/getassessment_request.rb +41 -0
  34. data/lib/no_response/models/operations/getassessment_request.rbi +20 -0
  35. data/lib/no_response/models/operations/getassessment_response.rb +32 -0
  36. data/lib/no_response/models/operations/getassessment_response.rbi +20 -0
  37. data/lib/no_response/models/operations/queryaccountassessments_response.rb +44 -0
  38. data/lib/no_response/models/operations/queryaccountassessments_response.rbi +20 -0
  39. data/lib/no_response/models/operations/recordassessmentoutcome_request.rb +52 -0
  40. data/lib/no_response/models/operations/recordassessmentoutcome_request.rbi +26 -0
  41. data/lib/no_response/models/operations/recordassessmentoutcome_response.rb +32 -0
  42. data/lib/no_response/models/operations/recordassessmentoutcome_response.rbi +20 -0
  43. data/lib/no_response/models/operations/rotateapikey_response.rb +32 -0
  44. data/lib/no_response/models/operations/rotateapikey_response.rbi +20 -0
  45. data/lib/no_response/models/operations.rb +17 -0
  46. data/lib/no_response/models/shared/alternate_name.rb +23 -0
  47. data/lib/no_response/models/shared/alternate_name.rbi +9 -0
  48. data/lib/no_response/models/shared/alternate_name_union.rb +23 -0
  49. data/lib/no_response/models/shared/alternate_name_union.rbi +9 -0
  50. data/lib/no_response/models/shared/assessment.rb +235 -0
  51. data/lib/no_response/models/shared/assessment.rbi +116 -0
  52. data/lib/no_response/models/shared/assessmentlist.rb +78 -0
  53. data/lib/no_response/models/shared/assessmentlist.rbi +38 -0
  54. data/lib/no_response/models/shared/assessmentoutcome.rb +61 -0
  55. data/lib/no_response/models/shared/assessmentoutcome.rbi +32 -0
  56. data/lib/no_response/models/shared/assessmentoutcomerequest.rb +71 -0
  57. data/lib/no_response/models/shared/assessmentoutcomerequest.rbi +32 -0
  58. data/lib/no_response/models/shared/assessmentquery.rb +70 -0
  59. data/lib/no_response/models/shared/assessmentquery.rbi +32 -0
  60. data/lib/no_response/models/shared/assessmentrequest.rb +125 -0
  61. data/lib/no_response/models/shared/assessmentrequest.rbi +62 -0
  62. data/lib/no_response/models/shared/assessmentrequestclientcontext.rb +125 -0
  63. data/lib/no_response/models/shared/assessmentrequestclientcontext.rbi +62 -0
  64. data/lib/no_response/models/shared/assessmentrequestidentifiers.rb +74 -0
  65. data/lib/no_response/models/shared/assessmentrequestidentifiers.rbi +38 -0
  66. data/lib/no_response/models/shared/assessmentrequestissuedcredential.rb +33 -0
  67. data/lib/no_response/models/shared/assessmentrequestissuedcredential.rbi +14 -0
  68. data/lib/no_response/models/shared/assessmentrequestpolicycontext.rb +46 -0
  69. data/lib/no_response/models/shared/assessmentrequestpolicycontext.rbi +20 -0
  70. data/lib/no_response/models/shared/assessmenttiming.rb +41 -0
  71. data/lib/no_response/models/shared/assessmenttiming.rbi +20 -0
  72. data/lib/no_response/models/shared/assurancelevel.rb +18 -0
  73. data/lib/no_response/models/shared/assurancelevel.rbi +9 -0
  74. data/lib/no_response/models/shared/authcontext.rb +285 -0
  75. data/lib/no_response/models/shared/authcontext.rbi +152 -0
  76. data/lib/no_response/models/shared/authcontextmfa.rb +55 -0
  77. data/lib/no_response/models/shared/authcontextmfa.rbi +26 -0
  78. data/lib/no_response/models/shared/authenticationerrorcode.rb +18 -0
  79. data/lib/no_response/models/shared/authenticationerrorcode.rbi +9 -0
  80. data/lib/no_response/models/shared/badrequesterrorcode.rb +20 -0
  81. data/lib/no_response/models/shared/badrequesterrorcode.rbi +9 -0
  82. data/lib/no_response/models/shared/band.rb +21 -0
  83. data/lib/no_response/models/shared/band.rbi +9 -0
  84. data/lib/no_response/models/shared/breach.rb +108 -0
  85. data/lib/no_response/models/shared/breach.rbi +56 -0
  86. data/lib/no_response/models/shared/breachexposed.rb +28 -0
  87. data/lib/no_response/models/shared/breachexposed.rbi +9 -0
  88. data/lib/no_response/models/shared/breachkind.rb +24 -0
  89. data/lib/no_response/models/shared/breachkind.rbi +9 -0
  90. data/lib/no_response/models/shared/breachselector.rb +20 -0
  91. data/lib/no_response/models/shared/breachselector.rbi +9 -0
  92. data/lib/no_response/models/shared/breachsummary.rb +109 -0
  93. data/lib/no_response/models/shared/breachsummary.rbi +56 -0
  94. data/lib/no_response/models/shared/confidence.rb +21 -0
  95. data/lib/no_response/models/shared/confidence.rbi +9 -0
  96. data/lib/no_response/models/shared/conflicterrorcode.rb +19 -0
  97. data/lib/no_response/models/shared/conflicterrorcode.rbi +9 -0
  98. data/lib/no_response/models/shared/consistency.rb +85 -0
  99. data/lib/no_response/models/shared/consistency.rbi +32 -0
  100. data/lib/no_response/models/shared/consistencyvalue.rb +21 -0
  101. data/lib/no_response/models/shared/consistencyvalue.rbi +9 -0
  102. data/lib/no_response/models/shared/country.rb +20 -0
  103. data/lib/no_response/models/shared/country.rbi +9 -0
  104. data/lib/no_response/models/shared/email.rb +23 -0
  105. data/lib/no_response/models/shared/email.rbi +9 -0
  106. data/lib/no_response/models/shared/email_union.rb +23 -0
  107. data/lib/no_response/models/shared/email_union.rbi +9 -0
  108. data/lib/no_response/models/shared/failurereason.rb +24 -0
  109. data/lib/no_response/models/shared/failurereason.rbi +9 -0
  110. data/lib/no_response/models/shared/flow.rb +18 -0
  111. data/lib/no_response/models/shared/flow.rbi +9 -0
  112. data/lib/no_response/models/shared/freshness.rb +20 -0
  113. data/lib/no_response/models/shared/freshness.rbi +9 -0
  114. data/lib/no_response/models/shared/hookpoint.rb +19 -0
  115. data/lib/no_response/models/shared/hookpoint.rbi +9 -0
  116. data/lib/no_response/models/shared/identifierkind.rb +21 -0
  117. data/lib/no_response/models/shared/identifierkind.rbi +9 -0
  118. data/lib/no_response/models/shared/incompletereason.rb +23 -0
  119. data/lib/no_response/models/shared/incompletereason.rbi +9 -0
  120. data/lib/no_response/models/shared/incompletesource.rb +53 -0
  121. data/lib/no_response/models/shared/incompletesource.rbi +20 -0
  122. data/lib/no_response/models/shared/ipsummary.rb +61 -0
  123. data/lib/no_response/models/shared/ipsummary.rbi +26 -0
  124. data/lib/no_response/models/shared/ipsummarytype.rb +24 -0
  125. data/lib/no_response/models/shared/ipsummarytype.rbi +9 -0
  126. data/lib/no_response/models/shared/keyrotation.rb +79 -0
  127. data/lib/no_response/models/shared/keyrotation.rbi +44 -0
  128. data/lib/no_response/models/shared/keyrotationrequest.rb +33 -0
  129. data/lib/no_response/models/shared/keyrotationrequest.rbi +14 -0
  130. data/lib/no_response/models/shared/lane.rb +21 -0
  131. data/lib/no_response/models/shared/lane.rbi +9 -0
  132. data/lib/no_response/models/shared/linetype.rb +22 -0
  133. data/lib/no_response/models/shared/linetype.rbi +9 -0
  134. data/lib/no_response/models/shared/location.rb +23 -0
  135. data/lib/no_response/models/shared/location.rbi +9 -0
  136. data/lib/no_response/models/shared/location_union.rb +23 -0
  137. data/lib/no_response/models/shared/location_union.rbi +9 -0
  138. data/lib/no_response/models/shared/name_candidate.rb +23 -0
  139. data/lib/no_response/models/shared/name_candidate.rbi +9 -0
  140. data/lib/no_response/models/shared/name_candidate_union.rb +23 -0
  141. data/lib/no_response/models/shared/name_candidate_union.rbi +9 -0
  142. data/lib/no_response/models/shared/notfounderrorcode.rb +18 -0
  143. data/lib/no_response/models/shared/notfounderrorcode.rbi +9 -0
  144. data/lib/no_response/models/shared/outcome.rb +23 -0
  145. data/lib/no_response/models/shared/outcome.rbi +9 -0
  146. data/lib/no_response/models/shared/permissiondeniederrorcode.rb +18 -0
  147. data/lib/no_response/models/shared/permissiondeniederrorcode.rbi +9 -0
  148. data/lib/no_response/models/shared/phoneenrichment.rb +32 -0
  149. data/lib/no_response/models/shared/phoneenrichment.rbi +14 -0
  150. data/lib/no_response/models/shared/phoneenrichmentfields.rb +451 -0
  151. data/lib/no_response/models/shared/phoneenrichmentfields.rbi +212 -0
  152. data/lib/no_response/models/shared/platform.rb +18 -0
  153. data/lib/no_response/models/shared/platform.rbi +9 -0
  154. data/lib/no_response/models/shared/probleminvalidparam.rb +48 -0
  155. data/lib/no_response/models/shared/probleminvalidparam.rbi +26 -0
  156. data/lib/no_response/models/shared/ratelimiterrorcode.rb +18 -0
  157. data/lib/no_response/models/shared/ratelimiterrorcode.rbi +9 -0
  158. data/lib/no_response/models/shared/reasoncode.rb +52 -0
  159. data/lib/no_response/models/shared/reasoncode.rbi +9 -0
  160. data/lib/no_response/models/shared/reasonidentifier.rb +23 -0
  161. data/lib/no_response/models/shared/reasonidentifier.rbi +9 -0
  162. data/lib/no_response/models/shared/recommendation.rb +20 -0
  163. data/lib/no_response/models/shared/recommendation.rbi +9 -0
  164. data/lib/no_response/models/shared/responsemode.rb +16 -0
  165. data/lib/no_response/models/shared/responsemode.rbi +9 -0
  166. data/lib/no_response/models/shared/risk.rb +171 -0
  167. data/lib/no_response/models/shared/risk.rbi +80 -0
  168. data/lib/no_response/models/shared/riskconfidence.rb +20 -0
  169. data/lib/no_response/models/shared/riskconfidence.rbi +9 -0
  170. data/lib/no_response/models/shared/riskcoverage.rb +49 -0
  171. data/lib/no_response/models/shared/riskcoverage.rbi +26 -0
  172. data/lib/no_response/models/shared/riskdetails.rb +55 -0
  173. data/lib/no_response/models/shared/riskdetails.rbi +26 -0
  174. data/lib/no_response/models/shared/riskdetailsbreachname.rb +40 -0
  175. data/lib/no_response/models/shared/riskdetailsbreachname.rbi +20 -0
  176. data/lib/no_response/models/shared/riskdetailsphonename.rb +40 -0
  177. data/lib/no_response/models/shared/riskdetailsphonename.rbi +20 -0
  178. data/lib/no_response/models/shared/riskreason.rb +67 -0
  179. data/lib/no_response/models/shared/riskreason.rbi +26 -0
  180. data/lib/no_response/models/shared/risksummary.rb +73 -0
  181. data/lib/no_response/models/shared/risksummary.rbi +38 -0
  182. data/lib/no_response/models/shared/risksummaryemail.rb +55 -0
  183. data/lib/no_response/models/shared/risksummaryemail.rbi +26 -0
  184. data/lib/no_response/models/shared/risksummaryphone.rb +69 -0
  185. data/lib/no_response/models/shared/risksummaryphone.rbi +32 -0
  186. data/lib/no_response/models/shared/risksummaryusername.rb +41 -0
  187. data/lib/no_response/models/shared/risksummaryusername.rbi +20 -0
  188. data/lib/no_response/models/shared/scope.rb +21 -0
  189. data/lib/no_response/models/shared/scope.rbi +9 -0
  190. data/lib/no_response/models/shared/security.rb +32 -0
  191. data/lib/no_response/models/shared/security.rbi +14 -0
  192. data/lib/no_response/models/shared/signal.rb +149 -0
  193. data/lib/no_response/models/shared/signal.rbi +68 -0
  194. data/lib/no_response/models/shared/signaloutcome.rb +22 -0
  195. data/lib/no_response/models/shared/signaloutcome.rbi +9 -0
  196. data/lib/no_response/models/shared/social_profile.rb +23 -0
  197. data/lib/no_response/models/shared/social_profile.rbi +9 -0
  198. data/lib/no_response/models/shared/social_profile_union.rb +23 -0
  199. data/lib/no_response/models/shared/social_profile_union.rbi +9 -0
  200. data/lib/no_response/models/shared/status.rb +20 -0
  201. data/lib/no_response/models/shared/status.rbi +9 -0
  202. data/lib/no_response/models/shared/timezone.rb +23 -0
  203. data/lib/no_response/models/shared/timezone.rbi +9 -0
  204. data/lib/no_response/models/shared/timezone_union.rb +23 -0
  205. data/lib/no_response/models/shared/timezone_union.rbi +9 -0
  206. data/lib/no_response/models/shared/transport.rb +17 -0
  207. data/lib/no_response/models/shared/transport.rbi +9 -0
  208. data/lib/no_response/models/shared/website.rb +23 -0
  209. data/lib/no_response/models/shared/website.rbi +9 -0
  210. data/lib/no_response/models/shared/website_union.rb +23 -0
  211. data/lib/no_response/models/shared/website_union.rbi +9 -0
  212. data/lib/no_response/models/shared.rb +92 -0
  213. data/lib/no_response/noresponseclient.rb +110 -0
  214. data/lib/no_response/sdk_hooks/hooks.rb +97 -0
  215. data/lib/no_response/sdk_hooks/idempotency_key_hook.rb +25 -0
  216. data/lib/no_response/sdk_hooks/registration.rb +43 -0
  217. data/lib/no_response/sdk_hooks/types.rb +178 -0
  218. data/lib/no_response/sdkconfiguration.rb +107 -0
  219. data/lib/no_response/sdkconfiguration.rbi +83 -0
  220. data/lib/no_response/utils/forms.rb +230 -0
  221. data/lib/no_response/utils/headers.rb +80 -0
  222. data/lib/no_response/utils/query_params.rb +165 -0
  223. data/lib/no_response/utils/request_bodies.rb +77 -0
  224. data/lib/no_response/utils/retries.rb +137 -0
  225. data/lib/no_response/utils/security.rb +156 -0
  226. data/lib/no_response/utils/url.rb +122 -0
  227. data/lib/no_response/utils/utils.rb +243 -0
  228. data/lib/no_response/wait.rb +66 -0
  229. data/lib/no_response/webhooks.rb +177 -0
  230. data/lib/noresponse.rb +25 -0
  231. metadata +501 -0
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::RiskDetails
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::RiskDetails
9
+ def phone_names
10
+ end
11
+
12
+ def phone_names=(str_)
13
+ end
14
+
15
+ def breaches
16
+ end
17
+
18
+ def breaches=(str_)
19
+ end
20
+
21
+ def breach_names
22
+ end
23
+
24
+ def breach_names=(str_)
25
+ end
26
+ end
@@ -0,0 +1,40 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class RiskDetailsBreachName
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :value,
14
+ ::String,
15
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("value"), required: true}}
16
+ )
17
+
18
+ field(
19
+ :seen_in,
20
+ ::Integer,
21
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("seen_in"), required: true}}
22
+ )
23
+
24
+ sig { params(value: ::String, seen_in: ::Integer).void }
25
+ def initialize(value:, seen_in:)
26
+ @value = value
27
+ @seen_in = seen_in
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a?(self.class)
33
+ return false unless @value == other.value
34
+ return false unless @seen_in == other.seen_in
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::RiskDetailsBreachName
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::RiskDetailsBreachName
9
+ def value
10
+ end
11
+
12
+ def value=(str_)
13
+ end
14
+
15
+ def seen_in
16
+ end
17
+
18
+ def seen_in=(str_)
19
+ end
20
+ end
@@ -0,0 +1,40 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class RiskDetailsPhoneName
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :value,
14
+ ::String,
15
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("value"), required: true}}
16
+ )
17
+
18
+ field(
19
+ :seen_by,
20
+ ::Integer,
21
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("seen_by"), required: true}}
22
+ )
23
+
24
+ sig { params(value: ::String, seen_by: ::Integer).void }
25
+ def initialize(value:, seen_by:)
26
+ @value = value
27
+ @seen_by = seen_by
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a?(self.class)
33
+ return false unless @value == other.value
34
+ return false unless @seen_by == other.seen_by
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::RiskDetailsPhoneName
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::RiskDetailsPhoneName
9
+ def value
10
+ end
11
+
12
+ def value=(str_)
13
+ end
14
+
15
+ def seen_by
16
+ end
17
+
18
+ def seen_by=(str_)
19
+ end
20
+ end
@@ -0,0 +1,67 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class RiskReason
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ # A stable reason code. New codes may appear; ignore any you do not know.
13
+ field(
14
+ :code,
15
+ Models::Shared::ReasonCode,
16
+ {
17
+ 'format_json': {
18
+ 'letter_case': ::NoResponse::Utils.field_name("code"),
19
+ required: true,
20
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::ReasonCode, false)
21
+ }
22
+ }
23
+ )
24
+
25
+ field(
26
+ :weight,
27
+ ::Integer,
28
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("weight"), required: true}}
29
+ )
30
+ # The submitted identifier or client context field a reason concerns; absent when it concerns the whole assessment. Client context is a claimed hint, not a device fingerprint.
31
+ field(
32
+ :identifier,
33
+ Crystalline::Nilable.new(Models::Shared::ReasonIdentifier),
34
+ {
35
+ 'format_json': {
36
+ 'letter_case': ::NoResponse::Utils.field_name("identifier"),
37
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::ReasonIdentifier, true)
38
+ }
39
+ }
40
+ )
41
+
42
+ sig {
43
+ params(
44
+ code: Models::Shared::ReasonCode,
45
+ weight: ::Integer,
46
+ identifier: T.nilable(Models::Shared::ReasonIdentifier)
47
+ )
48
+ .void
49
+ }
50
+ def initialize(code:, weight:, identifier: nil)
51
+ @code = code
52
+ @weight = weight
53
+ @identifier = identifier
54
+ end
55
+
56
+ sig { params(other: T.untyped).returns(T::Boolean) }
57
+ def ==(other)
58
+ return false unless other.is_a?(self.class)
59
+ return false unless @code == other.code
60
+ return false unless @weight == other.weight
61
+ return false unless @identifier == other.identifier
62
+ true
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::RiskReason
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::RiskReason
9
+ def code
10
+ end
11
+
12
+ def code=(str_)
13
+ end
14
+
15
+ def weight
16
+ end
17
+
18
+ def weight=(str_)
19
+ end
20
+
21
+ def identifier
22
+ end
23
+
24
+ def identifier=(str_)
25
+ end
26
+ end
@@ -0,0 +1,73 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # A few typed facts per identifier. Every fact is optional: absent means the evidence did not answer and makes no claim, while false or 0 is a definite answer. Lanes that do not exist yet leave their members absent.
8
+ class RiskSummary
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :phone,
14
+ Crystalline::Nilable.new(Models::Shared::RiskSummaryPhone),
15
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("phone")}}
16
+ )
17
+
18
+ field(
19
+ :email,
20
+ Crystalline::Nilable.new(Models::Shared::RiskSummaryEmail),
21
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("email")}}
22
+ )
23
+
24
+ field(
25
+ :username,
26
+ Crystalline::Nilable.new(Models::Shared::RiskSummaryUsername),
27
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("username")}}
28
+ )
29
+ # Facts about the submitted IP from the offline database and this tenant's own recent assessments. Every member is optional; absent makes no claim.
30
+ field(
31
+ :ip,
32
+ Crystalline::Nilable.new(Models::Shared::IpSummary),
33
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("ip")}}
34
+ )
35
+ # Cross-identifier agreement, computed from facts only. Every member is optional; absent makes no claim.
36
+ field(
37
+ :consistency,
38
+ Crystalline::Nilable.new(Models::Shared::Consistency),
39
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("consistency")}}
40
+ )
41
+
42
+ sig {
43
+ params(
44
+ phone: T.nilable(Models::Shared::RiskSummaryPhone),
45
+ email: T.nilable(Models::Shared::RiskSummaryEmail),
46
+ username: T.nilable(Models::Shared::RiskSummaryUsername),
47
+ ip: T.nilable(Models::Shared::IpSummary),
48
+ consistency: T.nilable(Models::Shared::Consistency)
49
+ )
50
+ .void
51
+ }
52
+ def initialize(phone: nil, email: nil, username: nil, ip: nil, consistency: nil)
53
+ @phone = phone
54
+ @email = email
55
+ @username = username
56
+ @ip = ip
57
+ @consistency = consistency
58
+ end
59
+
60
+ sig { params(other: T.untyped).returns(T::Boolean) }
61
+ def ==(other)
62
+ return false unless other.is_a?(self.class)
63
+ return false unless @phone == other.phone
64
+ return false unless @email == other.email
65
+ return false unless @username == other.username
66
+ return false unless @ip == other.ip
67
+ return false unless @consistency == other.consistency
68
+ true
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,38 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::RiskSummary
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::RiskSummary
9
+ def phone
10
+ end
11
+
12
+ def phone=(str_)
13
+ end
14
+
15
+ def email
16
+ end
17
+
18
+ def email=(str_)
19
+ end
20
+
21
+ def username
22
+ end
23
+
24
+ def username=(str_)
25
+ end
26
+
27
+ def ip
28
+ end
29
+
30
+ def ip=(str_)
31
+ end
32
+
33
+ def consistency
34
+ end
35
+
36
+ def consistency=(str_)
37
+ end
38
+ end
@@ -0,0 +1,55 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class RiskSummaryEmail
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :disposable,
14
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
15
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("disposable")}}
16
+ )
17
+ # Accounts found for the email.
18
+ field(
19
+ :accounts_found,
20
+ Crystalline::Nilable.new(::Integer),
21
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("accounts_found")}}
22
+ )
23
+ # Breach facts for one selector. found is the one required member: false is a definite 'in no breach table'. Every other member is optional, and absent makes no claim. No member carries a breach value, password or hash, and unknown members are refused. truncated means the value matched more tables or records than the lookup keeps, so absence-based claims (a missing name match, for example) are withheld; a truncated result is always found.
24
+ field(
25
+ :breach,
26
+ Crystalline::Nilable.new(Models::Shared::BreachSummary),
27
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("breach")}}
28
+ )
29
+
30
+ sig {
31
+ params(
32
+ disposable: T.nilable(T::Boolean),
33
+ accounts_found: T.nilable(::Integer),
34
+ breach: T.nilable(Models::Shared::BreachSummary)
35
+ )
36
+ .void
37
+ }
38
+ def initialize(disposable: nil, accounts_found: nil, breach: nil)
39
+ @disposable = disposable
40
+ @accounts_found = accounts_found
41
+ @breach = breach
42
+ end
43
+
44
+ sig { params(other: T.untyped).returns(T::Boolean) }
45
+ def ==(other)
46
+ return false unless other.is_a?(self.class)
47
+ return false unless @disposable == other.disposable
48
+ return false unless @accounts_found == other.accounts_found
49
+ return false unless @breach == other.breach
50
+ true
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::RiskSummaryEmail
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::RiskSummaryEmail
9
+ def disposable
10
+ end
11
+
12
+ def disposable=(str_)
13
+ end
14
+
15
+ def accounts_found
16
+ end
17
+
18
+ def accounts_found=(str_)
19
+ end
20
+
21
+ def breach
22
+ end
23
+
24
+ def breach=(str_)
25
+ end
26
+ end
@@ -0,0 +1,69 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class RiskSummaryPhone
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :line_type,
14
+ Crystalline::Nilable.new(Models::Shared::LineType),
15
+ {
16
+ 'format_json': {
17
+ 'letter_case': ::NoResponse::Utils.field_name("line_type"),
18
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::LineType, true)
19
+ }
20
+ }
21
+ )
22
+
23
+ field(
24
+ :country,
25
+ Crystalline::Nilable.new(::String),
26
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("country")}}
27
+ )
28
+ # Highest report count any source gave for the number.
29
+ field(
30
+ :report_count,
31
+ Crystalline::Nilable.new(::Integer),
32
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("report_count")}}
33
+ )
34
+ # Carrier-network metadata from privately weighted sources; not upstream provider attribution.
35
+ field(
36
+ :carrier,
37
+ Crystalline::Nilable.new(::String),
38
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("carrier")}}
39
+ )
40
+
41
+ sig {
42
+ params(
43
+ line_type: T.nilable(Models::Shared::LineType),
44
+ country: T.nilable(::String),
45
+ report_count: T.nilable(::Integer),
46
+ carrier: T.nilable(::String)
47
+ )
48
+ .void
49
+ }
50
+ def initialize(line_type: nil, country: nil, report_count: nil, carrier: nil)
51
+ @line_type = line_type
52
+ @country = country
53
+ @report_count = report_count
54
+ @carrier = carrier
55
+ end
56
+
57
+ sig { params(other: T.untyped).returns(T::Boolean) }
58
+ def ==(other)
59
+ return false unless other.is_a?(self.class)
60
+ return false unless @line_type == other.line_type
61
+ return false unless @country == other.country
62
+ return false unless @report_count == other.report_count
63
+ return false unless @carrier == other.carrier
64
+ true
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::RiskSummaryPhone
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::RiskSummaryPhone
9
+ def line_type
10
+ end
11
+
12
+ def line_type=(str_)
13
+ end
14
+
15
+ def country
16
+ end
17
+
18
+ def country=(str_)
19
+ end
20
+
21
+ def report_count
22
+ end
23
+
24
+ def report_count=(str_)
25
+ end
26
+
27
+ def carrier
28
+ end
29
+
30
+ def carrier=(str_)
31
+ end
32
+ end
@@ -0,0 +1,41 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class RiskSummaryUsername
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ # Accounts found for the username.
13
+ field(
14
+ :accounts_found,
15
+ Crystalline::Nilable.new(::Integer),
16
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("accounts_found")}}
17
+ )
18
+ # Breach facts for one selector. found is the one required member: false is a definite 'in no breach table'. Every other member is optional, and absent makes no claim. No member carries a breach value, password or hash, and unknown members are refused. truncated means the value matched more tables or records than the lookup keeps, so absence-based claims (a missing name match, for example) are withheld; a truncated result is always found.
19
+ field(
20
+ :breach,
21
+ Crystalline::Nilable.new(Models::Shared::BreachSummary),
22
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("breach")}}
23
+ )
24
+
25
+ sig { params(accounts_found: T.nilable(::Integer), breach: T.nilable(Models::Shared::BreachSummary)).void }
26
+ def initialize(accounts_found: nil, breach: nil)
27
+ @accounts_found = accounts_found
28
+ @breach = breach
29
+ end
30
+
31
+ sig { params(other: T.untyped).returns(T::Boolean) }
32
+ def ==(other)
33
+ return false unless other.is_a?(self.class)
34
+ return false unless @accounts_found == other.accounts_found
35
+ return false unless @breach == other.breach
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::RiskSummaryUsername
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::RiskSummaryUsername
9
+ def accounts_found
10
+ end
11
+
12
+ def accounts_found=(str_)
13
+ end
14
+
15
+ def breach
16
+ end
17
+
18
+ def breach=(str_)
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class Scope
9
+ include ::Crystalline::Enum
10
+ enums do
11
+ ASSESS = new("assess")
12
+ HISTORY = new("history")
13
+ WEBHOOKS = new("webhooks")
14
+ DETAILED = new("detailed")
15
+ end
16
+
17
+ open!
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::Scope
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::Scope
9
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class Security
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :api_key,
14
+ ::String,
15
+ {'security': {'scheme': true, 'type': "http", 'sub_type': "bearer", 'field_name': "Authorization"}}
16
+ )
17
+
18
+ sig { params(api_key: ::String).void }
19
+ def initialize(api_key:)
20
+ @api_key = api_key
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a?(self.class)
26
+ return false unless @api_key == other.api_key
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,14 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::Security
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::Security
9
+ def api_key
10
+ end
11
+
12
+ def api_key=(str_)
13
+ end
14
+ end