diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 5258b2d..1104176 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -80,6 +80,8 @@ import { QueryFeedMembersResponse, QueryFeedsRequest, QueryFeedsResponse, + QueryFeedsUsageStatsRequest, + QueryFeedsUsageStatsResponse, QueryFollowsRequest, QueryFollowsResponse, QueryMembershipLevelsRequest, @@ -341,6 +343,7 @@ export class FeedsApi { reason: request?.reason, report: request?.report, show_less: request?.show_less, + show_more: request?.show_more, user_id: request?.user_id, user: request?.user, }; @@ -2028,6 +2031,30 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async queryFeedsUsageStats( + request?: QueryFeedsUsageStatsRequest, + ): Promise> { + const body = { + from: request?.from, + to: request?.to, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/feeds/stats/usage', + undefined, + undefined, + body, + 'application/json', + ); + + decoders.QueryFeedsUsageStatsResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async unfollowBatch( request: UnfollowBatchRequest, ): Promise> { diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index cc6b3c9..e18a80a 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -224,7 +224,7 @@ decoders.ActivityResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.ActivitySelectorConfig = (input?: Record) => { +decoders.ActivitySelectorConfigResponse = (input?: Record) => { const typeMappings: TypeMapping = { cutoff_time: { type: 'DatetimeType', isSingle: true }, }; @@ -1903,9 +1903,10 @@ decoders.FeedGroupResponse = (input?: Record) => { updated_at: { type: 'DatetimeType', isSingle: true }, - deleted_at: { type: 'DatetimeType', isSingle: true }, - - activity_selectors: { type: 'ActivitySelectorConfig', isSingle: false }, + activity_selectors: { + type: 'ActivitySelectorConfigResponse', + isSingle: false, + }, }; return decode(typeMappings, input); }; @@ -1998,7 +1999,10 @@ decoders.FeedViewResponse = (input?: Record) => { const typeMappings: TypeMapping = { last_used_at: { type: 'DatetimeType', isSingle: true }, - activity_selectors: { type: 'ActivitySelectorConfig', isSingle: false }, + activity_selectors: { + type: 'ActivitySelectorConfigResponse', + isSingle: false, + }, }; return decode(typeMappings, input); }; @@ -3277,6 +3281,28 @@ decoders.QueryCallParticipantsResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.QueryCallSessionParticipantStatsResponse = ( + input?: Record, +) => { + const typeMappings: TypeMapping = { + participants: { type: 'CallStatsParticipant', isSingle: false }, + + call_ended_at: { type: 'DatetimeType', isSingle: true }, + + call_started_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.QueryCallSessionParticipantStatsTimelineResponse = ( + input?: Record, +) => { + const typeMappings: TypeMapping = { + events: { type: 'CallParticipantTimeline', isSingle: false }, + }; + return decode(typeMappings, input); +}; + decoders.QueryCallStatsResponse = (input?: Record) => { const typeMappings: TypeMapping = { reports: { type: 'CallStatsReportSummaryResponse', isSingle: false }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index a0c3aa8..1244f20 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -311,6 +311,8 @@ export interface ActivityFeedbackRequest { show_less?: boolean; + show_more?: boolean; + user_id?: string; user?: UserRequest; @@ -608,6 +610,18 @@ export interface ActivitySelectorConfig { filter?: Record; } +export interface ActivitySelectorConfigResponse { + cutoff_time?: Date; + + min_popularity?: number; + + type?: string; + + sort?: SortParam[]; + + filter?: Record; +} + export interface ActivityUnpinnedEvent { created_at: Date; @@ -4394,6 +4408,18 @@ export interface DailyAggregateUserFeedbackReportResponse { report: UserFeedbackReport; } +export interface DailyMetricResponse { + date: string; + + value: number; +} + +export interface DailyMetricStatsResponse { + total: number; + + daily: DailyMetricResponse[]; +} + export interface Data { id: string; } @@ -5507,7 +5533,7 @@ export interface FeedViewResponse { activity_processors?: ActivityProcessorConfig[]; - activity_selectors?: ActivitySelectorConfig[]; + activity_selectors?: ActivitySelectorConfigResponse[]; aggregation?: AggregationConfig; @@ -9400,6 +9426,22 @@ export interface QueryFeedsResponse { prev?: string; } +export interface QueryFeedsUsageStatsRequest { + from?: string; + + to?: string; +} + +export interface QueryFeedsUsageStatsResponse { + duration: string; + + activities: DailyMetricStatsResponse; + + api_requests: DailyMetricStatsResponse; + + follows: DailyMetricStatsResponse; +} + export interface QueryFollowsRequest { limit?: number;