validate access rules
This commit is contained in:
parent
9a1aff58d0
commit
a2d502baa9
9 changed files with 161 additions and 42 deletions
|
|
@ -800,6 +800,7 @@ The nostr server will send back a message response, and inside the body there wi
|
|||
- __admin_token__: _string_
|
||||
|
||||
### FrequencyRule
|
||||
- __amount__: _number_
|
||||
- __interval__: _[IntervalType](#IntervalType)_
|
||||
- __number_of_intervals__: _number_
|
||||
|
||||
|
|
@ -855,7 +856,6 @@ The nostr server will send back a message response, and inside the body there wi
|
|||
- __token__: _string_
|
||||
|
||||
### LiveDebitRequest
|
||||
- __amount__: _number_
|
||||
- __debit__: _[LiveDebitRequest_debit](#LiveDebitRequest_debit)_
|
||||
- __npub__: _string_
|
||||
|
||||
|
|
|
|||
|
|
@ -202,6 +202,7 @@ type EnrollAdminTokenRequest struct {
|
|||
Admin_token string `json:"admin_token"`
|
||||
}
|
||||
type FrequencyRule struct {
|
||||
Amount int64 `json:"amount"`
|
||||
Interval IntervalType `json:"interval"`
|
||||
Number_of_intervals int64 `json:"number_of_intervals"`
|
||||
}
|
||||
|
|
@ -257,9 +258,8 @@ type LinkNPubThroughTokenRequest struct {
|
|||
Token string `json:"token"`
|
||||
}
|
||||
type LiveDebitRequest struct {
|
||||
Amount int64 `json:"amount"`
|
||||
Debit *LiveDebitRequest_debit `json:"debit"`
|
||||
Npub string `json:"npub"`
|
||||
Debit *LiveDebitRequest_debit `json:"debit"`
|
||||
Npub string `json:"npub"`
|
||||
}
|
||||
type LiveUserOperation struct {
|
||||
Operation *UserOperation `json:"operation"`
|
||||
|
|
|
|||
|
|
@ -1094,12 +1094,14 @@ export const EnrollAdminTokenRequestValidate = (o?: EnrollAdminTokenRequest, opt
|
|||
}
|
||||
|
||||
export type FrequencyRule = {
|
||||
amount: number
|
||||
interval: IntervalType
|
||||
number_of_intervals: number
|
||||
}
|
||||
export const FrequencyRuleOptionalFields: [] = []
|
||||
export type FrequencyRuleOptions = OptionsBaseMessage & {
|
||||
checkOptionalsAreSet?: []
|
||||
amount_CustomCheck?: (v: number) => boolean
|
||||
interval_CustomCheck?: (v: IntervalType) => boolean
|
||||
number_of_intervals_CustomCheck?: (v: number) => boolean
|
||||
}
|
||||
|
|
@ -1107,6 +1109,9 @@ export const FrequencyRuleValidate = (o?: FrequencyRule, opts: FrequencyRuleOpti
|
|||
if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message')
|
||||
if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null')
|
||||
|
||||
if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`)
|
||||
if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`)
|
||||
|
||||
if (!enumCheckIntervalType(o.interval)) return new Error(`${path}.interval: is not a valid IntervalType`)
|
||||
if (opts.interval_CustomCheck && !opts.interval_CustomCheck(o.interval)) return new Error(`${path}.interval: custom check failed`)
|
||||
|
||||
|
|
@ -1419,14 +1424,12 @@ export const LinkNPubThroughTokenRequestValidate = (o?: LinkNPubThroughTokenRequ
|
|||
}
|
||||
|
||||
export type LiveDebitRequest = {
|
||||
amount: number
|
||||
debit: LiveDebitRequest_debit
|
||||
npub: string
|
||||
}
|
||||
export const LiveDebitRequestOptionalFields: [] = []
|
||||
export type LiveDebitRequestOptions = OptionsBaseMessage & {
|
||||
checkOptionalsAreSet?: []
|
||||
amount_CustomCheck?: (v: number) => boolean
|
||||
debit_Options?: LiveDebitRequest_debitOptions
|
||||
npub_CustomCheck?: (v: string) => boolean
|
||||
}
|
||||
|
|
@ -1434,9 +1437,6 @@ export const LiveDebitRequestValidate = (o?: LiveDebitRequest, opts: LiveDebitRe
|
|||
if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message')
|
||||
if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null')
|
||||
|
||||
if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`)
|
||||
if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`)
|
||||
|
||||
const debitErr = LiveDebitRequest_debitValidate(o.debit, opts.debit_Options, `${path}.debit`)
|
||||
if (debitErr !== null) return debitErr
|
||||
|
||||
|
|
|
|||
|
|
@ -512,6 +512,7 @@ enum IntervalType {
|
|||
message FrequencyRule {
|
||||
int64 number_of_intervals = 1;
|
||||
IntervalType interval = 2;
|
||||
int64 amount = 3;
|
||||
}
|
||||
|
||||
message DebitRule {
|
||||
|
|
@ -523,7 +524,6 @@ message DebitRule {
|
|||
|
||||
message LiveDebitRequest {
|
||||
string npub = 1;
|
||||
int64 amount = 2;
|
||||
oneof debit {
|
||||
string invoice = 3;
|
||||
FrequencyRule frequency = 4;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue