Compare commits
9 Commits
582c20170d
...
colonelpan
| Author | SHA1 | Date | |
|---|---|---|---|
| 6d13dc3eb1 | |||
| e3524cab97 | |||
| 20a70fad2a | |||
|
|
35c7c23ba9 | ||
|
|
40c4b82a59 | ||
| 9ebe2e61df | |||
|
|
6f356f9535 | ||
|
|
5c0ff8c31b | ||
| dc02fd8387 |
@@ -260,6 +260,15 @@ export type ClusterAssignmentInput = {
|
||||
userId?: InputMaybe<Scalars["Int"]["input"]>;
|
||||
};
|
||||
|
||||
export type CohortStatsGql = {
|
||||
__typename?: "CohortStatsGQL";
|
||||
activated7d: Scalars["Int"]["output"];
|
||||
activatedNotPaid7d: Scalars["Int"]["output"];
|
||||
paid7d: Scalars["Int"]["output"];
|
||||
signups: Scalars["Int"]["output"];
|
||||
weekStart: Scalars["Date"]["output"];
|
||||
};
|
||||
|
||||
export type CommentGql = {
|
||||
__typename?: "CommentGQL";
|
||||
id: Scalars["Int"]["output"];
|
||||
@@ -2299,6 +2308,20 @@ export type FloatRangeFilter = {
|
||||
lessThanInclusive?: Scalars["Boolean"]["input"];
|
||||
};
|
||||
|
||||
export type FunnelStatsGql = {
|
||||
__typename?: "FunnelStatsGQL";
|
||||
activationActivated: Scalars["Int"]["output"];
|
||||
activationCohort: Scalars["Int"]["output"];
|
||||
eraPaying: Scalars["Int"]["output"];
|
||||
eraSignups: Scalars["Int"]["output"];
|
||||
freemiumEpoch: Scalars["Date"]["output"];
|
||||
newPaid7d: Scalars["Int"]["output"];
|
||||
newPaid30d: Scalars["Int"]["output"];
|
||||
payingUsers: Scalars["Int"]["output"];
|
||||
retentionPrevActive: Scalars["Int"]["output"];
|
||||
retentionReturned: Scalars["Int"]["output"];
|
||||
};
|
||||
|
||||
export type GameTypeTagMetric = {
|
||||
__typename?: "GameTypeTagMetric";
|
||||
madeShots: Scalars["Int"]["output"];
|
||||
@@ -2386,7 +2409,7 @@ export type HomographyInfoGql = {
|
||||
crop: BoundingBoxGql;
|
||||
destPoints: PocketPointsGql;
|
||||
frameIndex: Scalars["Int"]["output"];
|
||||
id: Scalars["Int"]["output"];
|
||||
id?: Maybe<Scalars["Int"]["output"]>;
|
||||
pockets: Array<BoundingBoxGql>;
|
||||
sourcePoints: PocketPointsGql;
|
||||
};
|
||||
@@ -3066,6 +3089,7 @@ export type Query = {
|
||||
getResolvedTier: ResolvedTierGql;
|
||||
getRuns: GetRunsResult;
|
||||
getShotAnnotationTypes: Array<ShotAnnotationTypeGql>;
|
||||
getShotTableState: ShotTableStateGql;
|
||||
getShots: Array<ShotGql>;
|
||||
getShotsByIds: Array<ShotGql>;
|
||||
getShotsWithMetadata: GetShotsResult;
|
||||
@@ -3211,6 +3235,10 @@ export type QueryGetShotAnnotationTypesArgs = {
|
||||
errorTypes?: InputMaybe<Scalars["Boolean"]["input"]>;
|
||||
};
|
||||
|
||||
export type QueryGetShotTableStateArgs = {
|
||||
shotId: Scalars["Int"]["input"];
|
||||
};
|
||||
|
||||
export type QueryGetShotsArgs = {
|
||||
countRespectsLimit?: Scalars["Boolean"]["input"];
|
||||
filterInput: FilterInput;
|
||||
@@ -3590,6 +3618,14 @@ export type ShotProjectionGql = {
|
||||
trajectories: Array<BallTrajectoryGql>;
|
||||
};
|
||||
|
||||
export type ShotTableStateGql = {
|
||||
__typename?: "ShotTableStateGQL";
|
||||
frameIndex: Scalars["Int"]["output"];
|
||||
shotId: Scalars["Int"]["output"];
|
||||
tableState: TableStateGql;
|
||||
videoId: Scalars["Int"]["output"];
|
||||
};
|
||||
|
||||
export type ShotsOrderingComponent =
|
||||
| {
|
||||
difficulty: FloatOrdering;
|
||||
@@ -3966,7 +4002,9 @@ export type UsageStatsDailyGql = {
|
||||
|
||||
export type UsageStatsGql = {
|
||||
__typename?: "UsageStatsGQL";
|
||||
cohorts: Array<CohortStatsGql>;
|
||||
daily: Array<UsageStatsDailyGql>;
|
||||
funnel: FunnelStatsGql;
|
||||
processingLast24h: Array<ProcessingStatusCountGql>;
|
||||
totalRuns: Scalars["Int"]["output"];
|
||||
totalShots: Scalars["Int"]["output"];
|
||||
@@ -6811,7 +6849,7 @@ export type GetLiveTableStateQuery = {
|
||||
} | null>;
|
||||
homography?: {
|
||||
__typename?: "HomographyInfoGQL";
|
||||
id: number;
|
||||
id?: number | null;
|
||||
frameIndex: number;
|
||||
crop: {
|
||||
__typename?: "BoundingBoxGQL";
|
||||
@@ -7447,6 +7485,27 @@ export type GetUsageStatsQuery = {
|
||||
totalVideos: number;
|
||||
totalShots: number;
|
||||
totalRuns: number;
|
||||
funnel: {
|
||||
__typename?: "FunnelStatsGQL";
|
||||
freemiumEpoch: any;
|
||||
eraSignups: number;
|
||||
eraPaying: number;
|
||||
activationCohort: number;
|
||||
activationActivated: number;
|
||||
payingUsers: number;
|
||||
newPaid7d: number;
|
||||
newPaid30d: number;
|
||||
retentionPrevActive: number;
|
||||
retentionReturned: number;
|
||||
};
|
||||
cohorts: Array<{
|
||||
__typename?: "CohortStatsGQL";
|
||||
weekStart: any;
|
||||
signups: number;
|
||||
activated7d: number;
|
||||
paid7d: number;
|
||||
activatedNotPaid7d: number;
|
||||
}>;
|
||||
windows: Array<{
|
||||
__typename?: "UsageStatsWindowGQL";
|
||||
label: string;
|
||||
@@ -7827,7 +7886,7 @@ export type GetStreamMonitoringDetailsQuery = {
|
||||
elapsedTime?: number | null;
|
||||
currentHomography?: {
|
||||
__typename?: "HomographyInfoGQL";
|
||||
id: number;
|
||||
id?: number | null;
|
||||
frameIndex: number;
|
||||
crop: {
|
||||
__typename?: "BoundingBoxGQL";
|
||||
@@ -8241,7 +8300,7 @@ export type GetVideoQuery = {
|
||||
} | null;
|
||||
homographyHistory: Array<{
|
||||
__typename?: "HomographyInfoGQL";
|
||||
id: number;
|
||||
id?: number | null;
|
||||
frameIndex: number;
|
||||
crop: {
|
||||
__typename?: "BoundingBoxGQL";
|
||||
@@ -8489,7 +8548,7 @@ export type FindPrerecordTableLayoutMutation = {
|
||||
__typename?: "Mutation";
|
||||
findPrerecordTableLayout?: {
|
||||
__typename?: "HomographyInfoGQL";
|
||||
id: number;
|
||||
id?: number | null;
|
||||
frameIndex: number;
|
||||
crop: {
|
||||
__typename?: "BoundingBoxGQL";
|
||||
@@ -8519,7 +8578,7 @@ export type FindPrerecordTableLayoutMutation = {
|
||||
|
||||
export type HomographyInfoFragment = {
|
||||
__typename?: "HomographyInfoGQL";
|
||||
id: number;
|
||||
id?: number | null;
|
||||
frameIndex: number;
|
||||
crop: {
|
||||
__typename?: "BoundingBoxGQL";
|
||||
@@ -15748,6 +15807,25 @@ export type DeleteTagsMutationOptions = Apollo.BaseMutationOptions<
|
||||
export const GetUsageStatsDocument = gql`
|
||||
query getUsageStats($days: Int! = 30) {
|
||||
getUsageStats(days: $days) {
|
||||
funnel {
|
||||
freemiumEpoch
|
||||
eraSignups
|
||||
eraPaying
|
||||
activationCohort
|
||||
activationActivated
|
||||
payingUsers
|
||||
newPaid7d
|
||||
newPaid30d
|
||||
retentionPrevActive
|
||||
retentionReturned
|
||||
}
|
||||
cohorts {
|
||||
weekStart
|
||||
signups
|
||||
activated7d
|
||||
paid7d
|
||||
activatedNotPaid7d
|
||||
}
|
||||
totalUsers
|
||||
totalVideos
|
||||
totalShots
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
query getUsageStats($days: Int! = 30) {
|
||||
getUsageStats(days: $days) {
|
||||
funnel {
|
||||
freemiumEpoch
|
||||
eraSignups
|
||||
eraPaying
|
||||
activationCohort
|
||||
activationActivated
|
||||
payingUsers
|
||||
newPaid7d
|
||||
newPaid30d
|
||||
retentionPrevActive
|
||||
retentionReturned
|
||||
}
|
||||
cohorts {
|
||||
weekStart
|
||||
signups
|
||||
activated7d
|
||||
paid7d
|
||||
activatedNotPaid7d
|
||||
}
|
||||
totalUsers
|
||||
totalVideos
|
||||
totalShots
|
||||
|
||||
@@ -73,6 +73,7 @@ type Query {
|
||||
useHomography: HomographyInputGQL = null
|
||||
): TableStateGQL!
|
||||
getLiveTableState(videoId: Int!): LiveTableStateGQL!
|
||||
getShotTableState(shotId: Int!): ShotTableStateGQL!
|
||||
simulateShot(simulationInput: SimulateShotInputGQL!): ShotProjectionGQL!
|
||||
computePotAim(
|
||||
simulationInput: SimulateShotInputGQL!
|
||||
@@ -609,7 +610,7 @@ type VideoTagClass {
|
||||
}
|
||||
|
||||
type HomographyInfoGQL {
|
||||
id: Int!
|
||||
id: Int
|
||||
frameIndex: Int!
|
||||
crop: BoundingBoxGQL!
|
||||
pockets: [BoundingBoxGQL!]!
|
||||
@@ -1065,6 +1066,13 @@ type LiveTableStateGQL {
|
||||
tableState: TableStateGQL!
|
||||
}
|
||||
|
||||
type ShotTableStateGQL {
|
||||
shotId: Int!
|
||||
videoId: Int!
|
||||
frameIndex: Int!
|
||||
tableState: TableStateGQL!
|
||||
}
|
||||
|
||||
type ShotProjectionGQL {
|
||||
trajectories: [BallTrajectoryGQL!]!
|
||||
events: [SimulationEventGQL!]!
|
||||
@@ -1170,15 +1178,38 @@ input CreatedAfter @oneOf {
|
||||
}
|
||||
|
||||
type UsageStatsGQL {
|
||||
funnel: FunnelStatsGQL!
|
||||
totalUsers: Int!
|
||||
totalVideos: Int!
|
||||
totalShots: Int!
|
||||
totalRuns: Int!
|
||||
cohorts: [CohortStatsGQL!]!
|
||||
windows: [UsageStatsWindowGQL!]!
|
||||
daily: [UsageStatsDailyGQL!]!
|
||||
processingLast24h: [ProcessingStatusCountGQL!]!
|
||||
}
|
||||
|
||||
type FunnelStatsGQL {
|
||||
freemiumEpoch: Date!
|
||||
eraSignups: Int!
|
||||
eraPaying: Int!
|
||||
activationCohort: Int!
|
||||
activationActivated: Int!
|
||||
payingUsers: Int!
|
||||
newPaid7d: Int!
|
||||
newPaid30d: Int!
|
||||
retentionPrevActive: Int!
|
||||
retentionReturned: Int!
|
||||
}
|
||||
|
||||
type CohortStatsGQL {
|
||||
weekStart: Date!
|
||||
signups: Int!
|
||||
activated7d: Int!
|
||||
paid7d: Int!
|
||||
activatedNotPaid7d: Int!
|
||||
}
|
||||
|
||||
type UsageStatsWindowGQL {
|
||||
label: String!
|
||||
newUsers: Int!
|
||||
|
||||
Reference in New Issue
Block a user