This commit is contained in:
boufni95 2025-01-29 16:03:07 +00:00
parent 3b2e376ffa
commit 21d6ed1966
5 changed files with 12 additions and 3 deletions

View file

@ -1343,6 +1343,7 @@ The nostr server will send back a message response, and inside the body there wi
- __app_id__: _string_ - __app_id__: _string_
- __metrics_name__: _string_ - __metrics_name__: _string_
- __page__: _number_ - __page__: _number_
- __request_id__: _number_ *this field is optional
### UpdateChannelPolicyRequest ### UpdateChannelPolicyRequest
- __policy__: _[ChannelPolicy](#ChannelPolicy)_ - __policy__: _[ChannelPolicy](#ChannelPolicy)_

View file

@ -559,6 +559,7 @@ type SingleUsageMetricReq struct {
App_id string `json:"app_id"` App_id string `json:"app_id"`
Metrics_name string `json:"metrics_name"` Metrics_name string `json:"metrics_name"`
Page int64 `json:"page"` Page int64 `json:"page"`
Request_id int64 `json:"request_id"`
} }
type UpdateChannelPolicyRequest struct { type UpdateChannelPolicyRequest struct {
Policy *ChannelPolicy `json:"policy"` Policy *ChannelPolicy `json:"policy"`

View file

@ -3191,13 +3191,16 @@ export type SingleUsageMetricReq = {
app_id: string app_id: string
metrics_name: string metrics_name: string
page: number page: number
request_id?: number
} }
export const SingleUsageMetricReqOptionalFields: [] = [] export type SingleUsageMetricReqOptionalField = 'request_id'
export const SingleUsageMetricReqOptionalFields: SingleUsageMetricReqOptionalField[] = ['request_id']
export type SingleUsageMetricReqOptions = OptionsBaseMessage & { export type SingleUsageMetricReqOptions = OptionsBaseMessage & {
checkOptionalsAreSet?: [] checkOptionalsAreSet?: SingleUsageMetricReqOptionalField[]
app_id_CustomCheck?: (v: string) => boolean app_id_CustomCheck?: (v: string) => boolean
metrics_name_CustomCheck?: (v: string) => boolean metrics_name_CustomCheck?: (v: string) => boolean
page_CustomCheck?: (v: number) => boolean page_CustomCheck?: (v: number) => boolean
request_id_CustomCheck?: (v?: number) => boolean
} }
export const SingleUsageMetricReqValidate = (o?: SingleUsageMetricReq, opts: SingleUsageMetricReqOptions = {}, path: string = 'SingleUsageMetricReq::root.'): Error | null => { export const SingleUsageMetricReqValidate = (o?: SingleUsageMetricReq, opts: SingleUsageMetricReqOptions = {}, path: string = 'SingleUsageMetricReq::root.'): Error | null => {
if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message')
@ -3212,6 +3215,9 @@ export const SingleUsageMetricReqValidate = (o?: SingleUsageMetricReq, opts: Sin
if (typeof o.page !== 'number') return new Error(`${path}.page: is not a number`) if (typeof o.page !== 'number') return new Error(`${path}.page: is not a number`)
if (opts.page_CustomCheck && !opts.page_CustomCheck(o.page)) return new Error(`${path}.page: custom check failed`) if (opts.page_CustomCheck && !opts.page_CustomCheck(o.page)) return new Error(`${path}.page: custom check failed`)
if ((o.request_id || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('request_id')) && typeof o.request_id !== 'number') return new Error(`${path}.request_id: is not a number`)
if (opts.request_id_CustomCheck && !opts.request_id_CustomCheck(o.request_id)) return new Error(`${path}.request_id: custom check failed`)
return null return null
} }

View file

@ -45,6 +45,7 @@ message SingleUsageMetricReq {
string app_id = 1; string app_id = 1;
string metrics_name = 2; string metrics_name = 2;
int64 page = 3; int64 page = 3;
optional int64 request_id = 4;
} }
message UsageMetric { message UsageMetric {

View file

@ -89,7 +89,7 @@ export default class webRTC {
return return
} }
const res = await this.storage.metricsEventStorage.LoadRawMetricsFile(j.app_id, j.metrics_name, j.page) const res = await this.storage.metricsEventStorage.LoadRawMetricsFile(j.app_id, j.metrics_name, j.page)
const id = Math.floor(Math.random() * 2_000_000_000) const id = j.request_id || Math.floor(Math.random() * 2_000_000_000)
let i = 0 let i = 0
const packets: Buffer[] = [] const packets: Buffer[] = []
while (i < res.length) { while (i < res.length) {