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.
- checksums.yaml +7 -0
- data/lib/crystalline/enum.rbi +17 -0
- data/lib/crystalline/metadata_fields.rb +263 -0
- data/lib/crystalline/module.rb +186 -0
- data/lib/crystalline/types.rb +168 -0
- data/lib/crystalline/utils.rb +67 -0
- data/lib/crystalline.rb +11 -0
- data/lib/no_response/assessments.rb +1252 -0
- data/lib/no_response/auth.rb +263 -0
- data/lib/no_response/issued_credential.rb +21 -0
- data/lib/no_response/keys.rb +318 -0
- data/lib/no_response/late_results.rb +301 -0
- data/lib/no_response/models/callbacks.rb +10 -0
- data/lib/no_response/models/errors/apistatuserror.rb +41 -0
- data/lib/no_response/models/errors/apistatuserror.rbi +30 -0
- data/lib/no_response/models/errors/authenticationerror.rb +108 -0
- data/lib/no_response/models/errors/authenticationerror.rbi +56 -0
- data/lib/no_response/models/errors/badrequesterror.rb +108 -0
- data/lib/no_response/models/errors/badrequesterror.rbi +56 -0
- data/lib/no_response/models/errors/conflicterror.rb +108 -0
- data/lib/no_response/models/errors/conflicterror.rbi +56 -0
- data/lib/no_response/models/errors/notfounderror.rb +108 -0
- data/lib/no_response/models/errors/notfounderror.rbi +56 -0
- data/lib/no_response/models/errors/permissiondeniederror.rb +108 -0
- data/lib/no_response/models/errors/permissiondeniederror.rbi +56 -0
- data/lib/no_response/models/errors/ratelimiterror.rb +108 -0
- data/lib/no_response/models/errors/ratelimiterror.rbi +56 -0
- data/lib/no_response/models/errors.rb +16 -0
- data/lib/no_response/models/operations/createassessment_request.rb +36 -0
- data/lib/no_response/models/operations/createassessment_request.rbi +20 -0
- data/lib/no_response/models/operations/createassessment_response.rb +32 -0
- data/lib/no_response/models/operations/createassessment_response.rbi +20 -0
- data/lib/no_response/models/operations/getassessment_request.rb +41 -0
- data/lib/no_response/models/operations/getassessment_request.rbi +20 -0
- data/lib/no_response/models/operations/getassessment_response.rb +32 -0
- data/lib/no_response/models/operations/getassessment_response.rbi +20 -0
- data/lib/no_response/models/operations/queryaccountassessments_response.rb +44 -0
- data/lib/no_response/models/operations/queryaccountassessments_response.rbi +20 -0
- data/lib/no_response/models/operations/recordassessmentoutcome_request.rb +52 -0
- data/lib/no_response/models/operations/recordassessmentoutcome_request.rbi +26 -0
- data/lib/no_response/models/operations/recordassessmentoutcome_response.rb +32 -0
- data/lib/no_response/models/operations/recordassessmentoutcome_response.rbi +20 -0
- data/lib/no_response/models/operations/rotateapikey_response.rb +32 -0
- data/lib/no_response/models/operations/rotateapikey_response.rbi +20 -0
- data/lib/no_response/models/operations.rb +17 -0
- data/lib/no_response/models/shared/alternate_name.rb +23 -0
- data/lib/no_response/models/shared/alternate_name.rbi +9 -0
- data/lib/no_response/models/shared/alternate_name_union.rb +23 -0
- data/lib/no_response/models/shared/alternate_name_union.rbi +9 -0
- data/lib/no_response/models/shared/assessment.rb +235 -0
- data/lib/no_response/models/shared/assessment.rbi +116 -0
- data/lib/no_response/models/shared/assessmentlist.rb +78 -0
- data/lib/no_response/models/shared/assessmentlist.rbi +38 -0
- data/lib/no_response/models/shared/assessmentoutcome.rb +61 -0
- data/lib/no_response/models/shared/assessmentoutcome.rbi +32 -0
- data/lib/no_response/models/shared/assessmentoutcomerequest.rb +71 -0
- data/lib/no_response/models/shared/assessmentoutcomerequest.rbi +32 -0
- data/lib/no_response/models/shared/assessmentquery.rb +70 -0
- data/lib/no_response/models/shared/assessmentquery.rbi +32 -0
- data/lib/no_response/models/shared/assessmentrequest.rb +125 -0
- data/lib/no_response/models/shared/assessmentrequest.rbi +62 -0
- data/lib/no_response/models/shared/assessmentrequestclientcontext.rb +125 -0
- data/lib/no_response/models/shared/assessmentrequestclientcontext.rbi +62 -0
- data/lib/no_response/models/shared/assessmentrequestidentifiers.rb +74 -0
- data/lib/no_response/models/shared/assessmentrequestidentifiers.rbi +38 -0
- data/lib/no_response/models/shared/assessmentrequestissuedcredential.rb +33 -0
- data/lib/no_response/models/shared/assessmentrequestissuedcredential.rbi +14 -0
- data/lib/no_response/models/shared/assessmentrequestpolicycontext.rb +46 -0
- data/lib/no_response/models/shared/assessmentrequestpolicycontext.rbi +20 -0
- data/lib/no_response/models/shared/assessmenttiming.rb +41 -0
- data/lib/no_response/models/shared/assessmenttiming.rbi +20 -0
- data/lib/no_response/models/shared/assurancelevel.rb +18 -0
- data/lib/no_response/models/shared/assurancelevel.rbi +9 -0
- data/lib/no_response/models/shared/authcontext.rb +285 -0
- data/lib/no_response/models/shared/authcontext.rbi +152 -0
- data/lib/no_response/models/shared/authcontextmfa.rb +55 -0
- data/lib/no_response/models/shared/authcontextmfa.rbi +26 -0
- data/lib/no_response/models/shared/authenticationerrorcode.rb +18 -0
- data/lib/no_response/models/shared/authenticationerrorcode.rbi +9 -0
- data/lib/no_response/models/shared/badrequesterrorcode.rb +20 -0
- data/lib/no_response/models/shared/badrequesterrorcode.rbi +9 -0
- data/lib/no_response/models/shared/band.rb +21 -0
- data/lib/no_response/models/shared/band.rbi +9 -0
- data/lib/no_response/models/shared/breach.rb +108 -0
- data/lib/no_response/models/shared/breach.rbi +56 -0
- data/lib/no_response/models/shared/breachexposed.rb +28 -0
- data/lib/no_response/models/shared/breachexposed.rbi +9 -0
- data/lib/no_response/models/shared/breachkind.rb +24 -0
- data/lib/no_response/models/shared/breachkind.rbi +9 -0
- data/lib/no_response/models/shared/breachselector.rb +20 -0
- data/lib/no_response/models/shared/breachselector.rbi +9 -0
- data/lib/no_response/models/shared/breachsummary.rb +109 -0
- data/lib/no_response/models/shared/breachsummary.rbi +56 -0
- data/lib/no_response/models/shared/confidence.rb +21 -0
- data/lib/no_response/models/shared/confidence.rbi +9 -0
- data/lib/no_response/models/shared/conflicterrorcode.rb +19 -0
- data/lib/no_response/models/shared/conflicterrorcode.rbi +9 -0
- data/lib/no_response/models/shared/consistency.rb +85 -0
- data/lib/no_response/models/shared/consistency.rbi +32 -0
- data/lib/no_response/models/shared/consistencyvalue.rb +21 -0
- data/lib/no_response/models/shared/consistencyvalue.rbi +9 -0
- data/lib/no_response/models/shared/country.rb +20 -0
- data/lib/no_response/models/shared/country.rbi +9 -0
- data/lib/no_response/models/shared/email.rb +23 -0
- data/lib/no_response/models/shared/email.rbi +9 -0
- data/lib/no_response/models/shared/email_union.rb +23 -0
- data/lib/no_response/models/shared/email_union.rbi +9 -0
- data/lib/no_response/models/shared/failurereason.rb +24 -0
- data/lib/no_response/models/shared/failurereason.rbi +9 -0
- data/lib/no_response/models/shared/flow.rb +18 -0
- data/lib/no_response/models/shared/flow.rbi +9 -0
- data/lib/no_response/models/shared/freshness.rb +20 -0
- data/lib/no_response/models/shared/freshness.rbi +9 -0
- data/lib/no_response/models/shared/hookpoint.rb +19 -0
- data/lib/no_response/models/shared/hookpoint.rbi +9 -0
- data/lib/no_response/models/shared/identifierkind.rb +21 -0
- data/lib/no_response/models/shared/identifierkind.rbi +9 -0
- data/lib/no_response/models/shared/incompletereason.rb +23 -0
- data/lib/no_response/models/shared/incompletereason.rbi +9 -0
- data/lib/no_response/models/shared/incompletesource.rb +53 -0
- data/lib/no_response/models/shared/incompletesource.rbi +20 -0
- data/lib/no_response/models/shared/ipsummary.rb +61 -0
- data/lib/no_response/models/shared/ipsummary.rbi +26 -0
- data/lib/no_response/models/shared/ipsummarytype.rb +24 -0
- data/lib/no_response/models/shared/ipsummarytype.rbi +9 -0
- data/lib/no_response/models/shared/keyrotation.rb +79 -0
- data/lib/no_response/models/shared/keyrotation.rbi +44 -0
- data/lib/no_response/models/shared/keyrotationrequest.rb +33 -0
- data/lib/no_response/models/shared/keyrotationrequest.rbi +14 -0
- data/lib/no_response/models/shared/lane.rb +21 -0
- data/lib/no_response/models/shared/lane.rbi +9 -0
- data/lib/no_response/models/shared/linetype.rb +22 -0
- data/lib/no_response/models/shared/linetype.rbi +9 -0
- data/lib/no_response/models/shared/location.rb +23 -0
- data/lib/no_response/models/shared/location.rbi +9 -0
- data/lib/no_response/models/shared/location_union.rb +23 -0
- data/lib/no_response/models/shared/location_union.rbi +9 -0
- data/lib/no_response/models/shared/name_candidate.rb +23 -0
- data/lib/no_response/models/shared/name_candidate.rbi +9 -0
- data/lib/no_response/models/shared/name_candidate_union.rb +23 -0
- data/lib/no_response/models/shared/name_candidate_union.rbi +9 -0
- data/lib/no_response/models/shared/notfounderrorcode.rb +18 -0
- data/lib/no_response/models/shared/notfounderrorcode.rbi +9 -0
- data/lib/no_response/models/shared/outcome.rb +23 -0
- data/lib/no_response/models/shared/outcome.rbi +9 -0
- data/lib/no_response/models/shared/permissiondeniederrorcode.rb +18 -0
- data/lib/no_response/models/shared/permissiondeniederrorcode.rbi +9 -0
- data/lib/no_response/models/shared/phoneenrichment.rb +32 -0
- data/lib/no_response/models/shared/phoneenrichment.rbi +14 -0
- data/lib/no_response/models/shared/phoneenrichmentfields.rb +451 -0
- data/lib/no_response/models/shared/phoneenrichmentfields.rbi +212 -0
- data/lib/no_response/models/shared/platform.rb +18 -0
- data/lib/no_response/models/shared/platform.rbi +9 -0
- data/lib/no_response/models/shared/probleminvalidparam.rb +48 -0
- data/lib/no_response/models/shared/probleminvalidparam.rbi +26 -0
- data/lib/no_response/models/shared/ratelimiterrorcode.rb +18 -0
- data/lib/no_response/models/shared/ratelimiterrorcode.rbi +9 -0
- data/lib/no_response/models/shared/reasoncode.rb +52 -0
- data/lib/no_response/models/shared/reasoncode.rbi +9 -0
- data/lib/no_response/models/shared/reasonidentifier.rb +23 -0
- data/lib/no_response/models/shared/reasonidentifier.rbi +9 -0
- data/lib/no_response/models/shared/recommendation.rb +20 -0
- data/lib/no_response/models/shared/recommendation.rbi +9 -0
- data/lib/no_response/models/shared/responsemode.rb +16 -0
- data/lib/no_response/models/shared/responsemode.rbi +9 -0
- data/lib/no_response/models/shared/risk.rb +171 -0
- data/lib/no_response/models/shared/risk.rbi +80 -0
- data/lib/no_response/models/shared/riskconfidence.rb +20 -0
- data/lib/no_response/models/shared/riskconfidence.rbi +9 -0
- data/lib/no_response/models/shared/riskcoverage.rb +49 -0
- data/lib/no_response/models/shared/riskcoverage.rbi +26 -0
- data/lib/no_response/models/shared/riskdetails.rb +55 -0
- data/lib/no_response/models/shared/riskdetails.rbi +26 -0
- data/lib/no_response/models/shared/riskdetailsbreachname.rb +40 -0
- data/lib/no_response/models/shared/riskdetailsbreachname.rbi +20 -0
- data/lib/no_response/models/shared/riskdetailsphonename.rb +40 -0
- data/lib/no_response/models/shared/riskdetailsphonename.rbi +20 -0
- data/lib/no_response/models/shared/riskreason.rb +67 -0
- data/lib/no_response/models/shared/riskreason.rbi +26 -0
- data/lib/no_response/models/shared/risksummary.rb +73 -0
- data/lib/no_response/models/shared/risksummary.rbi +38 -0
- data/lib/no_response/models/shared/risksummaryemail.rb +55 -0
- data/lib/no_response/models/shared/risksummaryemail.rbi +26 -0
- data/lib/no_response/models/shared/risksummaryphone.rb +69 -0
- data/lib/no_response/models/shared/risksummaryphone.rbi +32 -0
- data/lib/no_response/models/shared/risksummaryusername.rb +41 -0
- data/lib/no_response/models/shared/risksummaryusername.rbi +20 -0
- data/lib/no_response/models/shared/scope.rb +21 -0
- data/lib/no_response/models/shared/scope.rbi +9 -0
- data/lib/no_response/models/shared/security.rb +32 -0
- data/lib/no_response/models/shared/security.rbi +14 -0
- data/lib/no_response/models/shared/signal.rb +149 -0
- data/lib/no_response/models/shared/signal.rbi +68 -0
- data/lib/no_response/models/shared/signaloutcome.rb +22 -0
- data/lib/no_response/models/shared/signaloutcome.rbi +9 -0
- data/lib/no_response/models/shared/social_profile.rb +23 -0
- data/lib/no_response/models/shared/social_profile.rbi +9 -0
- data/lib/no_response/models/shared/social_profile_union.rb +23 -0
- data/lib/no_response/models/shared/social_profile_union.rbi +9 -0
- data/lib/no_response/models/shared/status.rb +20 -0
- data/lib/no_response/models/shared/status.rbi +9 -0
- data/lib/no_response/models/shared/timezone.rb +23 -0
- data/lib/no_response/models/shared/timezone.rbi +9 -0
- data/lib/no_response/models/shared/timezone_union.rb +23 -0
- data/lib/no_response/models/shared/timezone_union.rbi +9 -0
- data/lib/no_response/models/shared/transport.rb +17 -0
- data/lib/no_response/models/shared/transport.rbi +9 -0
- data/lib/no_response/models/shared/website.rb +23 -0
- data/lib/no_response/models/shared/website.rbi +9 -0
- data/lib/no_response/models/shared/website_union.rb +23 -0
- data/lib/no_response/models/shared/website_union.rbi +9 -0
- data/lib/no_response/models/shared.rb +92 -0
- data/lib/no_response/noresponseclient.rb +110 -0
- data/lib/no_response/sdk_hooks/hooks.rb +97 -0
- data/lib/no_response/sdk_hooks/idempotency_key_hook.rb +25 -0
- data/lib/no_response/sdk_hooks/registration.rb +43 -0
- data/lib/no_response/sdk_hooks/types.rb +178 -0
- data/lib/no_response/sdkconfiguration.rb +107 -0
- data/lib/no_response/sdkconfiguration.rbi +83 -0
- data/lib/no_response/utils/forms.rb +230 -0
- data/lib/no_response/utils/headers.rb +80 -0
- data/lib/no_response/utils/query_params.rb +165 -0
- data/lib/no_response/utils/request_bodies.rb +77 -0
- data/lib/no_response/utils/retries.rb +137 -0
- data/lib/no_response/utils/security.rb +156 -0
- data/lib/no_response/utils/url.rb +122 -0
- data/lib/no_response/utils/utils.rb +243 -0
- data/lib/no_response/wait.rb +66 -0
- data/lib/no_response/webhooks.rb +177 -0
- data/lib/noresponse.rb +25 -0
- metadata +501 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# Country - IP country, phone country, breach countries and policy_context.region together.
|
|
8
|
+
class Country
|
|
9
|
+
include ::Crystalline::Enum
|
|
10
|
+
enums do
|
|
11
|
+
CONSISTENT = new("consistent")
|
|
12
|
+
MISMATCH = new("mismatch")
|
|
13
|
+
UNKNOWN = new("unknown")
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
open!
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
|
|
8
|
+
class Email
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
16
|
+
def ==(other)
|
|
17
|
+
return false unless other.is_a?(self.class)
|
|
18
|
+
true
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
|
|
8
|
+
class EmailUnion
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
16
|
+
def ==(other)
|
|
17
|
+
return false unless other.is_a?(self.class)
|
|
18
|
+
true
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# FailureReason - Why a signal or source did not produce a definite found/not_found. timed_out means the source missed the request deadline; a continuation may still settle it. deferred means the (source, identifier) pair is async-only and was not attempted on the synchronous path; a continuation settles it.
|
|
8
|
+
class FailureReason
|
|
9
|
+
include ::Crystalline::Enum
|
|
10
|
+
enums do
|
|
11
|
+
TIMED_OUT = new("timed_out")
|
|
12
|
+
RATE_LIMITED = new("rate_limited")
|
|
13
|
+
BLOCKED = new("blocked")
|
|
14
|
+
SOURCE_ERROR = new("source_error")
|
|
15
|
+
UNAVAILABLE = new("unavailable")
|
|
16
|
+
DEFERRED = new("deferred")
|
|
17
|
+
INSUFFICIENT_EVIDENCE = new("insufficient_evidence")
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
open!
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# Flow - The provider flow the assessment gates. Absent means signup.
|
|
8
|
+
class Flow < T::Enum
|
|
9
|
+
enums do
|
|
10
|
+
SIGNUP = new("signup")
|
|
11
|
+
LOGIN = new("login")
|
|
12
|
+
RECOVERY = new("recovery")
|
|
13
|
+
PROFILE_CHANGE = new("profile_change")
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# Freshness - Freshness class of the evidence behind a signal. unknown whenever no evidence was obtained.
|
|
8
|
+
class Freshness
|
|
9
|
+
include ::Crystalline::Enum
|
|
10
|
+
enums do
|
|
11
|
+
FRESH = new("fresh")
|
|
12
|
+
STALE = new("stale")
|
|
13
|
+
UNKNOWN = new("unknown")
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
open!
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# HookPoint - The provider event a provider_hook context was sent for. pre_registration runs before the user exists, so subject and the request's account_id may be absent there. Sent only with transport provider_hook.
|
|
8
|
+
class HookPoint < T::Enum
|
|
9
|
+
enums do
|
|
10
|
+
PRE_REGISTRATION = new("pre_registration")
|
|
11
|
+
POST_REGISTRATION = new("post_registration")
|
|
12
|
+
PRE_LOGIN = new("pre_login")
|
|
13
|
+
POST_LOGIN = new("post_login")
|
|
14
|
+
TOKEN_ISSUANCE = new("token_issuance")
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# IdentifierKind - Which submitted identifier a signal concerns. ip is a selector of breach_exposure only.
|
|
8
|
+
class IdentifierKind
|
|
9
|
+
include ::Crystalline::Enum
|
|
10
|
+
enums do
|
|
11
|
+
EMAIL = new("email")
|
|
12
|
+
USERNAME = new("username")
|
|
13
|
+
PHONE = new("phone")
|
|
14
|
+
IP = new("ip")
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
open!
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# IncompleteReason - Why a lane did not settle. deferred means the lane is asynchronous and still running; a continuation settles it. timed_out means the lane missed its deadline. insufficient_evidence is a settled inconclusive signal rather than an incomplete lane.
|
|
8
|
+
class IncompleteReason
|
|
9
|
+
include ::Crystalline::Enum
|
|
10
|
+
enums do
|
|
11
|
+
TIMED_OUT = new("timed_out")
|
|
12
|
+
RATE_LIMITED = new("rate_limited")
|
|
13
|
+
BLOCKED = new("blocked")
|
|
14
|
+
SOURCE_ERROR = new("source_error")
|
|
15
|
+
UNAVAILABLE = new("unavailable")
|
|
16
|
+
DEFERRED = new("deferred")
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
open!
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# One evidence lane that did not settle, and why. It names a lane, not a source. A lane that missed its deadline is timed_out rather than not_found.
|
|
8
|
+
class IncompleteSource
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# An evidence lane: accounts (account presence for email and username), phone, breach and ip.
|
|
13
|
+
field(
|
|
14
|
+
:lane,
|
|
15
|
+
Models::Shared::Lane,
|
|
16
|
+
{
|
|
17
|
+
'format_json': {
|
|
18
|
+
'letter_case': ::NoResponse::Utils.field_name("lane"),
|
|
19
|
+
required: true,
|
|
20
|
+
'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Lane, false)
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
)
|
|
24
|
+
# Why a lane did not settle. deferred means the lane is asynchronous and still running; a continuation settles it. timed_out means the lane missed its deadline. insufficient_evidence is a settled inconclusive signal rather than an incomplete lane.
|
|
25
|
+
field(
|
|
26
|
+
:reason,
|
|
27
|
+
Models::Shared::IncompleteReason,
|
|
28
|
+
{
|
|
29
|
+
'format_json': {
|
|
30
|
+
'letter_case': ::NoResponse::Utils.field_name("reason"),
|
|
31
|
+
required: true,
|
|
32
|
+
'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::IncompleteReason, false)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
sig { params(lane: Models::Shared::Lane, reason: Models::Shared::IncompleteReason).void }
|
|
38
|
+
def initialize(lane:, reason:)
|
|
39
|
+
@lane = lane
|
|
40
|
+
@reason = reason
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
44
|
+
def ==(other)
|
|
45
|
+
return false unless other.is_a?(self.class)
|
|
46
|
+
return false unless @lane == other.lane
|
|
47
|
+
return false unless @reason == other.reason
|
|
48
|
+
true
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::IncompleteSource
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::IncompleteSource
|
|
9
|
+
def lane
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def lane=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def reason
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def reason=(str_)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# Facts about the submitted IP from the offline database and this tenant's own recent assessments. Every member is optional; absent makes no claim.
|
|
8
|
+
class IpSummary
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# ISO 3166-1 alpha-2 country of the address.
|
|
13
|
+
field(
|
|
14
|
+
:country,
|
|
15
|
+
Crystalline::Nilable.new(::String),
|
|
16
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("country")}}
|
|
17
|
+
)
|
|
18
|
+
# The address's network type.
|
|
19
|
+
field(
|
|
20
|
+
:type,
|
|
21
|
+
Crystalline::Nilable.new(Models::Shared::IpSummaryType),
|
|
22
|
+
{
|
|
23
|
+
'format_json': {
|
|
24
|
+
'letter_case': ::NoResponse::Utils.field_name("type"),
|
|
25
|
+
'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::IpSummaryType, true)
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
)
|
|
29
|
+
# Assessments in this tenant with the same IP in the last 24 hours, this one included. A count only.
|
|
30
|
+
field(
|
|
31
|
+
:seen_in_tenant,
|
|
32
|
+
Crystalline::Nilable.new(::Integer),
|
|
33
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("seen_in_tenant")}}
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
sig {
|
|
37
|
+
params(
|
|
38
|
+
country: T.nilable(::String),
|
|
39
|
+
type: T.nilable(Models::Shared::IpSummaryType),
|
|
40
|
+
seen_in_tenant: T.nilable(::Integer)
|
|
41
|
+
)
|
|
42
|
+
.void
|
|
43
|
+
}
|
|
44
|
+
def initialize(country: nil, type: nil, seen_in_tenant: nil)
|
|
45
|
+
@country = country
|
|
46
|
+
@type = type
|
|
47
|
+
@seen_in_tenant = seen_in_tenant
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
51
|
+
def ==(other)
|
|
52
|
+
return false unless other.is_a?(self.class)
|
|
53
|
+
return false unless @country == other.country
|
|
54
|
+
return false unless @type == other.type
|
|
55
|
+
return false unless @seen_in_tenant == other.seen_in_tenant
|
|
56
|
+
true
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::IpSummary
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::IpSummary
|
|
9
|
+
def country
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def country=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def type
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def type=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def seen_in_tenant
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def seen_in_tenant=(str_)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# IpSummaryType - The address's network type.
|
|
8
|
+
class IpSummaryType
|
|
9
|
+
include ::Crystalline::Enum
|
|
10
|
+
enums do
|
|
11
|
+
RESIDENTIAL = new("residential")
|
|
12
|
+
HOSTING = new("hosting")
|
|
13
|
+
VPN = new("vpn")
|
|
14
|
+
PROXY = new("proxy")
|
|
15
|
+
TOR = new("tor")
|
|
16
|
+
MOBILE = new("mobile")
|
|
17
|
+
UNKNOWN = new("unknown")
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
open!
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# The 201 answer of POST /v1/keys/rotate: the new key, shown once, and when the key that was presented stops working. The new key has the scopes of the presented key.
|
|
8
|
+
class KeyRotation
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# The new credential, nrk_<key id>_<secret>. It is shown only in this answer; store it now.
|
|
13
|
+
field :key, ::String, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("key"), required: true}}
|
|
14
|
+
# The public id of the new key.
|
|
15
|
+
field(
|
|
16
|
+
:key_id,
|
|
17
|
+
::String,
|
|
18
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("key_id"), required: true}}
|
|
19
|
+
)
|
|
20
|
+
# The scopes of the new key: those of the presented key.
|
|
21
|
+
field(
|
|
22
|
+
:scopes,
|
|
23
|
+
Crystalline::Array.new(Models::Shared::Scope),
|
|
24
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("scopes"), required: true}}
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
field(
|
|
28
|
+
:created_at,
|
|
29
|
+
::String,
|
|
30
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("created_at"), required: true}}
|
|
31
|
+
)
|
|
32
|
+
# The id of the key that signed this request.
|
|
33
|
+
field(
|
|
34
|
+
:previous_key_id,
|
|
35
|
+
::String,
|
|
36
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("previous_key_id"), required: true}}
|
|
37
|
+
)
|
|
38
|
+
# When the previous key stops authenticating. Until then both keys work.
|
|
39
|
+
field(
|
|
40
|
+
:previous_key_expires_at,
|
|
41
|
+
::String,
|
|
42
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("previous_key_expires_at"), required: true}}
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
sig {
|
|
46
|
+
params(
|
|
47
|
+
key: ::String,
|
|
48
|
+
key_id: ::String,
|
|
49
|
+
scopes: T::Array[Models::Shared::Scope],
|
|
50
|
+
created_at: ::String,
|
|
51
|
+
previous_key_id: ::String,
|
|
52
|
+
previous_key_expires_at: ::String
|
|
53
|
+
)
|
|
54
|
+
.void
|
|
55
|
+
}
|
|
56
|
+
def initialize(key:, key_id:, scopes:, created_at:, previous_key_id:, previous_key_expires_at:)
|
|
57
|
+
@key = key
|
|
58
|
+
@key_id = key_id
|
|
59
|
+
@scopes = scopes
|
|
60
|
+
@created_at = created_at
|
|
61
|
+
@previous_key_id = previous_key_id
|
|
62
|
+
@previous_key_expires_at = previous_key_expires_at
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
66
|
+
def ==(other)
|
|
67
|
+
return false unless other.is_a?(self.class)
|
|
68
|
+
return false unless @key == other.key
|
|
69
|
+
return false unless @key_id == other.key_id
|
|
70
|
+
return false unless @scopes == other.scopes
|
|
71
|
+
return false unless @created_at == other.created_at
|
|
72
|
+
return false unless @previous_key_id == other.previous_key_id
|
|
73
|
+
return false unless @previous_key_expires_at == other.previous_key_expires_at
|
|
74
|
+
true
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::KeyRotation
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::KeyRotation
|
|
9
|
+
def key
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def key=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def key_id
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def key_id=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def scopes
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def scopes=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def created_at
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def created_at=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def previous_key_id
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def previous_key_id=(str_)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def previous_key_expires_at
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def previous_key_expires_at=(str_)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# POST /v1/keys/rotate body. The tenant and the key being rotated are the API key that signs the request, so neither is a body member. An empty object takes the default overlap.
|
|
8
|
+
class KeyRotationRequest
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# How long the presented key keeps working beside the new one, from 60 seconds to 7 days. Default 86400 (24 hours). At the end of the overlap the presented key stops authenticating.
|
|
13
|
+
field(
|
|
14
|
+
:overlap_seconds,
|
|
15
|
+
Crystalline::Nilable.new(::Integer),
|
|
16
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("overlap_seconds")}}
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
sig { params(overlap_seconds: T.nilable(::Integer)).void }
|
|
20
|
+
def initialize(overlap_seconds: nil)
|
|
21
|
+
@overlap_seconds = overlap_seconds
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
25
|
+
def ==(other)
|
|
26
|
+
return false unless other.is_a?(self.class)
|
|
27
|
+
return false unless @overlap_seconds == other.overlap_seconds
|
|
28
|
+
true
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::KeyRotationRequest
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::KeyRotationRequest
|
|
9
|
+
def overlap_seconds
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def overlap_seconds=(str_)
|
|
13
|
+
end
|
|
14
|
+
end
|