Compare commits
1 Commits
dean/drill
...
dean/camer
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d4f4a539f5 |
239
src/index.tsx
239
src/index.tsx
@@ -140,6 +140,18 @@ export type BucketSetInputGql = {
|
||||
feature: Scalars["String"]["input"];
|
||||
};
|
||||
|
||||
export type CameraClaimGql = {
|
||||
__typename?: "CameraClaimGQL";
|
||||
cameraId: Scalars["Int"]["output"];
|
||||
createdAt: Scalars["DateTime"]["output"];
|
||||
endedAt?: Maybe<Scalars["DateTime"]["output"]>;
|
||||
expiresAt?: Maybe<Scalars["DateTime"]["output"]>;
|
||||
id: Scalars["Int"]["output"];
|
||||
status: ClaimStatusEnum;
|
||||
userId: Scalars["Int"]["output"];
|
||||
videoId?: Maybe<Scalars["Int"]["output"]>;
|
||||
};
|
||||
|
||||
export type CancellationFeedbackMetadataInput = {
|
||||
appVersion?: InputMaybe<Scalars["String"]["input"]>;
|
||||
gitRevision?: InputMaybe<Scalars["String"]["input"]>;
|
||||
@@ -200,6 +212,21 @@ export type ChallengeInvitation = {
|
||||
status: Scalars["String"]["output"];
|
||||
};
|
||||
|
||||
export enum ClaimStatusEnum {
|
||||
Active = "ACTIVE",
|
||||
CodeExpired = "CODE_EXPIRED",
|
||||
CodeIssued = "CODE_ISSUED",
|
||||
EndedByUser = "ENDED_BY_USER",
|
||||
Expired = "EXPIRED",
|
||||
Ingesting = "INGESTING",
|
||||
ReleasedInactive = "RELEASED_INACTIVE",
|
||||
Requested = "REQUESTED",
|
||||
Scanning = "SCANNING",
|
||||
ScanConfirmed = "SCAN_CONFIRMED",
|
||||
StreamLost = "STREAM_LOST",
|
||||
StreamUnreachable = "STREAM_UNREACHABLE",
|
||||
}
|
||||
|
||||
export enum ClientUploadStatusEnum {
|
||||
UploadDisabled = "UPLOAD_DISABLED",
|
||||
UploadEnabled = "UPLOAD_ENABLED",
|
||||
@@ -304,14 +331,6 @@ export type DoesNotOwnShotErrOtherErrorNeedsNote =
|
||||
| DoesNotOwnShotErr
|
||||
| OtherErrorNeedsNote;
|
||||
|
||||
export type DrillRunLeaderboardGql = {
|
||||
__typename?: "DrillRunLeaderboardGQL";
|
||||
entries: Array<RunGql>;
|
||||
totalPlayers: Scalars["Int"]["output"];
|
||||
youRank?: Maybe<Scalars["Int"]["output"]>;
|
||||
youRun?: Maybe<RunGql>;
|
||||
};
|
||||
|
||||
export type EditShotReturn = {
|
||||
__typename?: "EditShotReturn";
|
||||
error?: Maybe<DoesNotOwnShotErr>;
|
||||
@@ -339,7 +358,6 @@ export type EditableShotFieldInputGql = {
|
||||
export enum EntitlementSourceTypeEnum {
|
||||
Admin = "ADMIN",
|
||||
AlphaLegacy = "ALPHA_LEGACY",
|
||||
Apple = "APPLE",
|
||||
Manual = "MANUAL",
|
||||
Stripe = "STRIPE",
|
||||
}
|
||||
@@ -2397,6 +2415,7 @@ export type Mutation = {
|
||||
blockContent: Scalars["Boolean"]["output"];
|
||||
blockUser: Scalars["Boolean"]["output"];
|
||||
cancelSubscription: UserSubscriptionStatusGql;
|
||||
claimCamera: CameraClaimGql;
|
||||
commentOnVideo: Scalars["Boolean"]["output"];
|
||||
createBucketSet: BucketSetGql;
|
||||
createChallenge: Challenge;
|
||||
@@ -2415,7 +2434,9 @@ export type Mutation = {
|
||||
editShot: EditShotReturn;
|
||||
editUploadStream: Scalars["Boolean"]["output"];
|
||||
editUser: UserGql;
|
||||
endClaim: CameraClaimGql;
|
||||
ensureStripeCustomerExists: UserGql;
|
||||
extendClaim: CameraClaimGql;
|
||||
finalizePlayerAssignments: Array<PlayerClusterGql>;
|
||||
findPrerecordTableLayout?: Maybe<HomographyInfoGql>;
|
||||
followUser: UserGql;
|
||||
@@ -2438,7 +2459,6 @@ export type Mutation = {
|
||||
startChallenge: ChallengeEntry;
|
||||
submitCancellationFeedback: Scalars["Boolean"]["output"];
|
||||
submitChallengeEntry: ChallengeEntry;
|
||||
syncAppleSubscription: SyncAppleSubscriptionResultGql;
|
||||
undismissChallenge: Scalars["Boolean"]["output"];
|
||||
unfollowUser: UserGql;
|
||||
updateShotAnnotations: UpdateShotAnnotationReturn;
|
||||
@@ -2458,6 +2478,11 @@ export type MutationBlockUserArgs = {
|
||||
userId: Scalars["Int"]["input"];
|
||||
};
|
||||
|
||||
export type MutationClaimCameraArgs = {
|
||||
cameraId: Scalars["Int"]["input"];
|
||||
durationMinutes?: Scalars["Int"]["input"];
|
||||
};
|
||||
|
||||
export type MutationCommentOnVideoArgs = {
|
||||
message: Scalars["String"]["input"];
|
||||
parentCommentId?: InputMaybe<Scalars["Int"]["input"]>;
|
||||
@@ -2541,6 +2566,15 @@ export type MutationEditUserArgs = {
|
||||
input: EditUserInputGql;
|
||||
};
|
||||
|
||||
export type MutationEndClaimArgs = {
|
||||
claimId: Scalars["Int"]["input"];
|
||||
};
|
||||
|
||||
export type MutationExtendClaimArgs = {
|
||||
additionalMinutes?: Scalars["Int"]["input"];
|
||||
claimId: Scalars["Int"]["input"];
|
||||
};
|
||||
|
||||
export type MutationFinalizePlayerAssignmentsArgs = {
|
||||
input: FinalizePlayerAssignmentsInput;
|
||||
};
|
||||
@@ -2642,10 +2676,6 @@ export type MutationSubmitChallengeEntryArgs = {
|
||||
videoId: Scalars["ID"]["input"];
|
||||
};
|
||||
|
||||
export type MutationSyncAppleSubscriptionArgs = {
|
||||
input: SyncAppleSubscriptionInputGql;
|
||||
};
|
||||
|
||||
export type MutationUndismissChallengeArgs = {
|
||||
challengeId: Scalars["ID"]["input"];
|
||||
};
|
||||
@@ -2827,12 +2857,11 @@ export type Query = {
|
||||
challengeLeaderboard: Array<ChallengeEntry>;
|
||||
challenges: Array<Challenge>;
|
||||
doesUsernameExist: Scalars["Boolean"]["output"];
|
||||
getActiveClaim?: Maybe<CameraClaimGql>;
|
||||
getAggregatedShotMetrics: Array<AggregateResultGql>;
|
||||
getAppleAppAccountToken: Scalars["String"]["output"];
|
||||
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGql;
|
||||
getBucketSet?: Maybe<BucketSetGql>;
|
||||
getDeployedConfig: DeployedConfigGql;
|
||||
getDrillRunLeaderboard: DrillRunLeaderboardGql;
|
||||
getFeedVideos: VideoHistoryGql;
|
||||
getGameTypeTagMetrics: Array<GameTypeTagMetric>;
|
||||
getLoggedInUser?: Maybe<UserGql>;
|
||||
@@ -2855,6 +2884,7 @@ export type Query = {
|
||||
getUserVideos: VideoHistoryGql;
|
||||
getUsernames: Array<Scalars["String"]["output"]>;
|
||||
getUsersMatching: Array<UserGql>;
|
||||
getVenues: Array<VenueGql>;
|
||||
getVideo: VideoGql;
|
||||
getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>;
|
||||
getVideos: Array<VideoGql>;
|
||||
@@ -2894,12 +2924,6 @@ export type QueryGetBucketSetArgs = {
|
||||
keyName: Scalars["String"]["input"];
|
||||
};
|
||||
|
||||
export type QueryGetDrillRunLeaderboardArgs = {
|
||||
drillTag: Scalars["String"]["input"];
|
||||
interval?: InputMaybe<TimeInterval>;
|
||||
limit?: Scalars["Int"]["input"];
|
||||
};
|
||||
|
||||
export type QueryGetFeedVideosArgs = {
|
||||
after?: InputMaybe<Scalars["String"]["input"]>;
|
||||
feedInput?: InputMaybe<VideoFeedInputGql>;
|
||||
@@ -3399,27 +3423,6 @@ export type SuccessfulAddAddShotAnnotationErrors =
|
||||
| AddShotAnnotationErrors
|
||||
| SuccessfulAdd;
|
||||
|
||||
export type SyncAppleSubscriptionInputGql = {
|
||||
signedRenewalInfo?: InputMaybe<Scalars["String"]["input"]>;
|
||||
signedTransactionInfo: Scalars["String"]["input"];
|
||||
};
|
||||
|
||||
export type SyncAppleSubscriptionResultGql = {
|
||||
__typename?: "SyncAppleSubscriptionResultGQL";
|
||||
appleStatus?: Maybe<Scalars["Int"]["output"]>;
|
||||
entitlementEndsAt?: Maybe<Scalars["DateTime"]["output"]>;
|
||||
entitlementSource?: Maybe<EntitlementSourceTypeEnum>;
|
||||
entitlementStartsAt?: Maybe<Scalars["DateTime"]["output"]>;
|
||||
errorCode?: Maybe<Scalars["String"]["output"]>;
|
||||
errorMessage?: Maybe<Scalars["String"]["output"]>;
|
||||
expiresAt?: Maybe<Scalars["DateTime"]["output"]>;
|
||||
hasActiveSubscription: Scalars["Boolean"]["output"];
|
||||
latestTransactionId?: Maybe<Scalars["String"]["output"]>;
|
||||
ok: Scalars["Boolean"]["output"];
|
||||
originalTransactionId?: Maybe<Scalars["String"]["output"]>;
|
||||
productId?: Maybe<Scalars["String"]["output"]>;
|
||||
};
|
||||
|
||||
export type TableStateGql = {
|
||||
__typename?: "TableStateGQL";
|
||||
homography?: Maybe<HomographyInfoGql>;
|
||||
@@ -3585,6 +3588,24 @@ export type UserSubscriptionStatusGql = {
|
||||
validUntil?: Maybe<Scalars["DateTime"]["output"]>;
|
||||
};
|
||||
|
||||
export type VenueCameraGql = {
|
||||
__typename?: "VenueCameraGQL";
|
||||
enabled: Scalars["Boolean"]["output"];
|
||||
id: Scalars["Int"]["output"];
|
||||
isAvailable: Scalars["Boolean"]["output"];
|
||||
tableLabel: Scalars["String"]["output"];
|
||||
venueId: Scalars["Int"]["output"];
|
||||
};
|
||||
|
||||
export type VenueGql = {
|
||||
__typename?: "VenueGQL";
|
||||
cameras: Array<VenueCameraGql>;
|
||||
id: Scalars["Int"]["output"];
|
||||
latitude?: Maybe<Scalars["Float"]["output"]>;
|
||||
longitude?: Maybe<Scalars["Float"]["output"]>;
|
||||
name: Scalars["String"]["output"];
|
||||
};
|
||||
|
||||
export type VideoFeedInputGql =
|
||||
| {
|
||||
allUsers: Scalars["Boolean"]["input"];
|
||||
@@ -4616,39 +4637,6 @@ export type GetRunsLeaderboardQuery = {
|
||||
};
|
||||
};
|
||||
|
||||
export type GetDrillRunLeaderboardQueryVariables = Exact<{
|
||||
drillTag: Scalars["String"]["input"];
|
||||
interval?: InputMaybe<TimeInterval>;
|
||||
limit?: InputMaybe<Scalars["Int"]["input"]>;
|
||||
}>;
|
||||
|
||||
export type GetDrillRunLeaderboardQuery = {
|
||||
__typename?: "Query";
|
||||
getDrillRunLeaderboard: {
|
||||
__typename?: "DrillRunLeaderboardGQL";
|
||||
youRank?: number | null;
|
||||
totalPlayers: number;
|
||||
entries: Array<{
|
||||
__typename?: "RunGQL";
|
||||
id: number;
|
||||
runLength: number;
|
||||
videoId: number;
|
||||
user: {
|
||||
__typename?: "UserGQL";
|
||||
id: number;
|
||||
username: string;
|
||||
profileImageUri?: string | null;
|
||||
};
|
||||
}>;
|
||||
youRun?: {
|
||||
__typename?: "RunGQL";
|
||||
id: number;
|
||||
runLength: number;
|
||||
videoId: number;
|
||||
} | null;
|
||||
};
|
||||
};
|
||||
|
||||
export type GetVideoMakePercentageIntervalsQueryVariables = Exact<{
|
||||
videoId: Scalars["ID"]["input"];
|
||||
intervalDuration: Scalars["Int"]["input"];
|
||||
@@ -9623,105 +9611,6 @@ export type GetRunsLeaderboardQueryResult = Apollo.QueryResult<
|
||||
GetRunsLeaderboardQuery,
|
||||
GetRunsLeaderboardQueryVariables
|
||||
>;
|
||||
export const GetDrillRunLeaderboardDocument = gql`
|
||||
query GetDrillRunLeaderboard(
|
||||
$drillTag: String!
|
||||
$interval: TimeInterval
|
||||
$limit: Int = 50
|
||||
) {
|
||||
getDrillRunLeaderboard(
|
||||
drillTag: $drillTag
|
||||
interval: $interval
|
||||
limit: $limit
|
||||
) {
|
||||
entries {
|
||||
id
|
||||
runLength
|
||||
videoId
|
||||
user {
|
||||
id
|
||||
username
|
||||
profileImageUri
|
||||
}
|
||||
}
|
||||
youRun {
|
||||
id
|
||||
runLength
|
||||
videoId
|
||||
}
|
||||
youRank
|
||||
totalPlayers
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
/**
|
||||
* __useGetDrillRunLeaderboardQuery__
|
||||
*
|
||||
* To run a query within a React component, call `useGetDrillRunLeaderboardQuery` and pass it any options that fit your needs.
|
||||
* When your component renders, `useGetDrillRunLeaderboardQuery` returns an object from Apollo Client that contains loading, error, and data properties
|
||||
* you can use to render your UI.
|
||||
*
|
||||
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
|
||||
*
|
||||
* @example
|
||||
* const { data, loading, error } = useGetDrillRunLeaderboardQuery({
|
||||
* variables: {
|
||||
* drillTag: // value for 'drillTag'
|
||||
* interval: // value for 'interval'
|
||||
* limit: // value for 'limit'
|
||||
* },
|
||||
* });
|
||||
*/
|
||||
export function useGetDrillRunLeaderboardQuery(
|
||||
baseOptions: Apollo.QueryHookOptions<
|
||||
GetDrillRunLeaderboardQuery,
|
||||
GetDrillRunLeaderboardQueryVariables
|
||||
>,
|
||||
) {
|
||||
const options = { ...defaultOptions, ...baseOptions };
|
||||
return Apollo.useQuery<
|
||||
GetDrillRunLeaderboardQuery,
|
||||
GetDrillRunLeaderboardQueryVariables
|
||||
>(GetDrillRunLeaderboardDocument, options);
|
||||
}
|
||||
export function useGetDrillRunLeaderboardLazyQuery(
|
||||
baseOptions?: Apollo.LazyQueryHookOptions<
|
||||
GetDrillRunLeaderboardQuery,
|
||||
GetDrillRunLeaderboardQueryVariables
|
||||
>,
|
||||
) {
|
||||
const options = { ...defaultOptions, ...baseOptions };
|
||||
return Apollo.useLazyQuery<
|
||||
GetDrillRunLeaderboardQuery,
|
||||
GetDrillRunLeaderboardQueryVariables
|
||||
>(GetDrillRunLeaderboardDocument, options);
|
||||
}
|
||||
export function useGetDrillRunLeaderboardSuspenseQuery(
|
||||
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
||||
GetDrillRunLeaderboardQuery,
|
||||
GetDrillRunLeaderboardQueryVariables
|
||||
>,
|
||||
) {
|
||||
const options = { ...defaultOptions, ...baseOptions };
|
||||
return Apollo.useSuspenseQuery<
|
||||
GetDrillRunLeaderboardQuery,
|
||||
GetDrillRunLeaderboardQueryVariables
|
||||
>(GetDrillRunLeaderboardDocument, options);
|
||||
}
|
||||
export type GetDrillRunLeaderboardQueryHookResult = ReturnType<
|
||||
typeof useGetDrillRunLeaderboardQuery
|
||||
>;
|
||||
export type GetDrillRunLeaderboardLazyQueryHookResult = ReturnType<
|
||||
typeof useGetDrillRunLeaderboardLazyQuery
|
||||
>;
|
||||
export type GetDrillRunLeaderboardSuspenseQueryHookResult = ReturnType<
|
||||
typeof useGetDrillRunLeaderboardSuspenseQuery
|
||||
>;
|
||||
export type GetDrillRunLeaderboardQueryResult = Apollo.QueryResult<
|
||||
GetDrillRunLeaderboardQuery,
|
||||
GetDrillRunLeaderboardQueryVariables
|
||||
>;
|
||||
export const GetVideoMakePercentageIntervalsDocument = gql`
|
||||
query GetVideoMakePercentageIntervals(
|
||||
$videoId: ID!
|
||||
|
||||
@@ -30,33 +30,3 @@ query GetRunsLeaderboard($interval: TimeInterval, $when: DateTime) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
query GetDrillRunLeaderboard(
|
||||
$drillTag: String!
|
||||
$interval: TimeInterval
|
||||
$limit: Int = 50
|
||||
) {
|
||||
getDrillRunLeaderboard(
|
||||
drillTag: $drillTag
|
||||
interval: $interval
|
||||
limit: $limit
|
||||
) {
|
||||
entries {
|
||||
id
|
||||
runLength
|
||||
videoId
|
||||
user {
|
||||
id
|
||||
username
|
||||
profileImageUri
|
||||
}
|
||||
}
|
||||
youRun {
|
||||
id
|
||||
runLength
|
||||
videoId
|
||||
}
|
||||
youRank
|
||||
totalPlayers
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ type Query {
|
||||
myChallengeInvitations: [ChallengeInvitation!]!
|
||||
ruleSets: [RuleSet!]!
|
||||
myChallengeEntries: [ChallengeEntry!]!
|
||||
getVenues: [VenueGQL!]!
|
||||
getActiveClaim: CameraClaimGQL
|
||||
getDeployedConfig: DeployedConfigGQL!
|
||||
waitFor(duration: Float!): Float!
|
||||
getFeedVideos(
|
||||
@@ -31,11 +33,6 @@ type Query {
|
||||
limit: Int! = 50
|
||||
requiredTags: [String!] = null
|
||||
): RunLeaderboardGQL!
|
||||
getDrillRunLeaderboard(
|
||||
drillTag: String!
|
||||
interval: TimeInterval = null
|
||||
limit: Int! = 50
|
||||
): DrillRunLeaderboardGQL!
|
||||
getMakesLeaderboard(
|
||||
interval: TimeInterval = null
|
||||
when: DateTime = null
|
||||
@@ -103,7 +100,6 @@ type Query {
|
||||
): UserRelationshipsResult!
|
||||
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL!
|
||||
getUserSubscriptionStatus: UserSubscriptionStatusGQL!
|
||||
getAppleAppAccountToken: String!
|
||||
getQuotaStatus: QuotaStatusGQL!
|
||||
getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL!
|
||||
getUserVideos(
|
||||
@@ -687,6 +683,48 @@ type PlayerSummaryGQL {
|
||||
averageTimeBetweenShots: Float
|
||||
}
|
||||
|
||||
type VenueGQL {
|
||||
id: Int!
|
||||
name: String!
|
||||
latitude: Float
|
||||
longitude: Float
|
||||
cameras: [VenueCameraGQL!]!
|
||||
}
|
||||
|
||||
type VenueCameraGQL {
|
||||
id: Int!
|
||||
venueId: Int!
|
||||
tableLabel: String!
|
||||
enabled: Boolean!
|
||||
isAvailable: Boolean!
|
||||
}
|
||||
|
||||
type CameraClaimGQL {
|
||||
id: Int!
|
||||
cameraId: Int!
|
||||
userId: Int!
|
||||
videoId: Int
|
||||
status: ClaimStatusEnum!
|
||||
expiresAt: DateTime
|
||||
endedAt: DateTime
|
||||
createdAt: DateTime!
|
||||
}
|
||||
|
||||
enum ClaimStatusEnum {
|
||||
REQUESTED
|
||||
CODE_ISSUED
|
||||
SCANNING
|
||||
SCAN_CONFIRMED
|
||||
INGESTING
|
||||
ACTIVE
|
||||
ENDED_BY_USER
|
||||
EXPIRED
|
||||
STREAM_LOST
|
||||
STREAM_UNREACHABLE
|
||||
CODE_EXPIRED
|
||||
RELEASED_INACTIVE
|
||||
}
|
||||
|
||||
type DeployedConfigGQL {
|
||||
allowNewUsers: Boolean!
|
||||
firebase: Boolean!
|
||||
@@ -755,13 +793,6 @@ type RunLeaderboardGQL {
|
||||
entries: [RunGQL!]!
|
||||
}
|
||||
|
||||
type DrillRunLeaderboardGQL {
|
||||
entries: [RunGQL!]!
|
||||
youRun: RunGQL
|
||||
youRank: Int
|
||||
totalPlayers: Int!
|
||||
}
|
||||
|
||||
type CountLeaderboardGQL {
|
||||
entries: [UserShotCountEntry!]!
|
||||
}
|
||||
@@ -1033,7 +1064,6 @@ enum EntitlementSourceTypeEnum {
|
||||
ADMIN
|
||||
MANUAL
|
||||
STRIPE
|
||||
APPLE
|
||||
ALPHA_LEGACY
|
||||
}
|
||||
|
||||
@@ -1143,6 +1173,9 @@ type Mutation {
|
||||
submitChallengeEntry(entryId: ID!, videoId: ID!): ChallengeEntry!
|
||||
dismissChallenge(challengeId: ID!): Boolean!
|
||||
undismissChallenge(challengeId: ID!): Boolean!
|
||||
claimCamera(cameraId: Int!, durationMinutes: Int! = 60): CameraClaimGQL!
|
||||
endClaim(claimId: Int!): CameraClaimGQL!
|
||||
extendClaim(claimId: Int!, additionalMinutes: Int! = 60): CameraClaimGQL!
|
||||
setLoggerLevel(path: String!, level: String!): Boolean!
|
||||
reactToVideo(videoId: Int!, reaction: ReactionEnum): Boolean!
|
||||
commentOnVideo(
|
||||
@@ -1189,9 +1222,6 @@ type Mutation {
|
||||
retireTags(tagIds: [Int!]!): Boolean!
|
||||
ensureStripeCustomerExists: UserGQL!
|
||||
deleteUser: Boolean!
|
||||
syncAppleSubscription(
|
||||
input: SyncAppleSubscriptionInputGQL!
|
||||
): SyncAppleSubscriptionResultGQL!
|
||||
createSubscription(priceId: String!): CreateSubscriptionResultGQL!
|
||||
createCustomerPortalSession: CreateCustomerPortalSessionResultGQL!
|
||||
cancelSubscription: UserSubscriptionStatusGQL!
|
||||
@@ -1345,26 +1375,6 @@ input EditUserInputGQL {
|
||||
agreesToMarketing: Boolean = null
|
||||
}
|
||||
|
||||
type SyncAppleSubscriptionResultGQL {
|
||||
ok: Boolean!
|
||||
errorCode: String
|
||||
errorMessage: String
|
||||
hasActiveSubscription: Boolean!
|
||||
entitlementSource: EntitlementSourceTypeEnum
|
||||
entitlementStartsAt: DateTime
|
||||
entitlementEndsAt: DateTime
|
||||
appleStatus: Int
|
||||
originalTransactionId: String
|
||||
latestTransactionId: String
|
||||
productId: String
|
||||
expiresAt: DateTime
|
||||
}
|
||||
|
||||
input SyncAppleSubscriptionInputGQL {
|
||||
signedTransactionInfo: String!
|
||||
signedRenewalInfo: String = null
|
||||
}
|
||||
|
||||
type CreateSubscriptionResultGQL {
|
||||
checkoutUrl: String!
|
||||
sessionId: String!
|
||||
|
||||
Reference in New Issue
Block a user