eas-cli 3.16.0 → 3.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +55 -55
  2. package/build/build/build.js +1 -0
  3. package/build/build/errors.d.ts +2 -0
  4. package/build/build/errors.js +4 -1
  5. package/build/channel/branch-mapping.d.ts +27 -0
  6. package/build/channel/branch-mapping.js +49 -0
  7. package/build/channel/queries.d.ts +6 -1
  8. package/build/channel/queries.js +29 -3
  9. package/build/channel/utils.d.ts +3 -12
  10. package/build/channel/utils.js +24 -4
  11. package/build/commandUtils/context/contextUtils/createGraphqlClient.d.ts +2 -2
  12. package/build/commandUtils/context/contextUtils/createGraphqlClient.js +0 -1
  13. package/build/commands/channel/edit.d.ts +2 -2
  14. package/build/commands/channel/edit.js +4 -2
  15. package/build/commands/channel/rollout.js +6 -1
  16. package/build/credentials/android/api/graphql/mutations/AndroidAppBuildCredentialsMutation.js +2 -2
  17. package/build/graphql/generated.d.ts +180 -19
  18. package/build/graphql/generated.js +11 -2
  19. package/build/graphql/queries/ChannelQuery.d.ts +8 -4
  20. package/build/graphql/queries/ChannelQuery.js +43 -4
  21. package/build/graphql/types/Submission.js +1 -0
  22. package/build/graphql/types/UpdateChannelBasicInfo.d.ts +1 -0
  23. package/build/graphql/types/UpdateChannelBasicInfo.js +12 -0
  24. package/build/rollout/utils.d.ts +53 -0
  25. package/build/rollout/utils.js +105 -0
  26. package/build/submit/android/AndroidSubmitCommand.d.ts +1 -0
  27. package/build/submit/android/AndroidSubmitCommand.js +7 -1
  28. package/build/submit/android/AndroidSubmitter.d.ts +1 -1
  29. package/build/submit/android/AndroidSubmitter.js +5 -2
  30. package/build/utils/relay.d.ts +33 -0
  31. package/build/utils/relay.js +43 -0
  32. package/oclif.manifest.json +1 -1
  33. package/package.json +9 -8
@@ -109,6 +109,8 @@ export type Account = {
109
109
  googleServiceAccountKeys: Array<GoogleServiceAccountKey>;
110
110
  id: Scalars['ID'];
111
111
  isCurrent: Scalars['Boolean'];
112
+ /** Whether this account has SSO enabled. Can be queried by all members. */
113
+ isSSOEnabled: Scalars['Boolean'];
112
114
  name: Scalars['String'];
113
115
  /** Offers set on this account */
114
116
  offers?: Maybe<Array<Offer>>;
@@ -398,20 +400,14 @@ export type AccountQueryByNameArgs = {
398
400
  /** Auth configuration data for an SSO account. */
399
401
  export type AccountSsoConfiguration = {
400
402
  __typename?: 'AccountSSOConfiguration';
401
- authEndpoint?: Maybe<Scalars['String']>;
402
403
  authProtocol: AuthProtocolType;
403
404
  authProviderIdentifier: Scalars['String'];
404
405
  clientIdentifier: Scalars['String'];
405
406
  clientSecret: Scalars['String'];
406
407
  createdAt: Scalars['DateTime'];
407
- endSessionEndpoint?: Maybe<Scalars['String']>;
408
408
  id: Scalars['ID'];
409
409
  issuer: Scalars['String'];
410
- jwksEndpoint?: Maybe<Scalars['String']>;
411
- revokeEndpoint?: Maybe<Scalars['String']>;
412
- tokenEndpoint?: Maybe<Scalars['String']>;
413
410
  updatedAt: Scalars['DateTime'];
414
- userInfoEndpoint?: Maybe<Scalars['String']>;
415
411
  };
416
412
  export type AccountSsoConfigurationData = {
417
413
  authEndpoint?: InputMaybe<Scalars['String']>;
@@ -449,17 +445,11 @@ export type AccountSsoConfigurationMutationUpdateAccountSsoConfigurationArgs = {
449
445
  /** Public auth configuration data for an SSO account. */
450
446
  export type AccountSsoConfigurationPublicData = {
451
447
  __typename?: 'AccountSSOConfigurationPublicData';
452
- authEndpoint?: Maybe<Scalars['String']>;
453
448
  authProtocol: AuthProtocolType;
454
449
  authProviderIdentifier: Scalars['String'];
455
- clientIdentifier: Scalars['String'];
456
- endSessionEndpoint?: Maybe<Scalars['String']>;
450
+ authorizationUrl: Scalars['String'];
457
451
  id: Scalars['ID'];
458
452
  issuer: Scalars['String'];
459
- jwksEndpoint?: Maybe<Scalars['String']>;
460
- revokeEndpoint?: Maybe<Scalars['String']>;
461
- tokenEndpoint?: Maybe<Scalars['String']>;
462
- userInfoEndpoint?: Maybe<Scalars['String']>;
463
453
  };
464
454
  export type AccountSsoConfigurationPublicDataQuery = {
465
455
  __typename?: 'AccountSSOConfigurationPublicDataQuery';
@@ -822,6 +812,7 @@ export type AndroidSubmissionConfig = {
822
812
  /** @deprecated archiveType is deprecated and will be null */
823
813
  archiveType?: Maybe<SubmissionAndroidArchiveType>;
824
814
  releaseStatus?: Maybe<SubmissionAndroidReleaseStatus>;
815
+ rollout?: Maybe<Scalars['Float']>;
825
816
  track: SubmissionAndroidTrack;
826
817
  };
827
818
  export type AndroidSubmissionConfigInput = {
@@ -831,6 +822,7 @@ export type AndroidSubmissionConfigInput = {
831
822
  googleServiceAccountKeyId?: InputMaybe<Scalars['String']>;
832
823
  googleServiceAccountKeyJson?: InputMaybe<Scalars['String']>;
833
824
  releaseStatus?: InputMaybe<SubmissionAndroidReleaseStatus>;
825
+ rollout?: InputMaybe<Scalars['Float']>;
834
826
  track: SubmissionAndroidTrack;
835
827
  };
836
828
  /** Represents an Exponent App (or Experience in legacy terms) */
@@ -1672,7 +1664,8 @@ export type BackgroundJobReceiptQueryByIdArgs = {
1672
1664
  id: Scalars['ID'];
1673
1665
  };
1674
1666
  export declare enum BackgroundJobResultType {
1675
- GithubBuild = "GITHUB_BUILD"
1667
+ GithubBuild = "GITHUB_BUILD",
1668
+ Void = "VOID"
1676
1669
  }
1677
1670
  export declare enum BackgroundJobState {
1678
1671
  Failure = "FAILURE",
@@ -1731,6 +1724,7 @@ export type Build = ActivityTimelineProjectActivity & BuildOrBuildJob & {
1731
1724
  initiatingUser?: Maybe<User>;
1732
1725
  iosEnterpriseProvisioning?: Maybe<BuildIosEnterpriseProvisioning>;
1733
1726
  isGitWorkingTreeDirty?: Maybe<Scalars['Boolean']>;
1727
+ isWaived: Scalars['Boolean'];
1734
1728
  logFiles: Array<Scalars['String']>;
1735
1729
  maxBuildTimeSeconds: Scalars['Int'];
1736
1730
  /** Retry time starts after completedAt */
@@ -1879,6 +1873,15 @@ export declare enum BuildJobStatus {
1879
1873
  SentToQueue = "SENT_TO_QUEUE",
1880
1874
  Started = "STARTED"
1881
1875
  }
1876
+ export type BuildLimitThresholdExceededMetadata = {
1877
+ __typename?: 'BuildLimitThresholdExceededMetadata';
1878
+ account: Account;
1879
+ thresholdsExceeded: Array<NotificationThresholdExceeded>;
1880
+ };
1881
+ export declare enum BuildLimitThresholdExceededMetadataType {
1882
+ Ios = "IOS",
1883
+ Total = "TOTAL"
1884
+ }
1882
1885
  export type BuildLogs = {
1883
1886
  __typename?: 'BuildLogs';
1884
1887
  format?: Maybe<BuildJobLogsFormat>;
@@ -1998,6 +2001,13 @@ export type BuildParamsInput = {
1998
2001
  resourceClass: BuildResourceClass;
1999
2002
  sdkVersion?: InputMaybe<Scalars['String']>;
2000
2003
  };
2004
+ export type BuildPlanCreditThresholdExceededMetadata = {
2005
+ __typename?: 'BuildPlanCreditThresholdExceededMetadata';
2006
+ account: Account;
2007
+ buildCreditUsage: Scalars['Int'];
2008
+ planLimit: Scalars['Int'];
2009
+ threshold: Scalars['Int'];
2010
+ };
2001
2011
  export declare enum BuildPriority {
2002
2012
  High = "HIGH",
2003
2013
  Normal = "NORMAL",
@@ -2263,6 +2273,10 @@ export type DeleteRobotResult = {
2263
2273
  __typename?: 'DeleteRobotResult';
2264
2274
  id: Scalars['ID'];
2265
2275
  };
2276
+ export type DeleteSsoUserResult = {
2277
+ __typename?: 'DeleteSSOUserResult';
2278
+ id: Scalars['ID'];
2279
+ };
2266
2280
  export type DeleteUpdateBranchResult = {
2267
2281
  __typename?: 'DeleteUpdateBranchResult';
2268
2282
  id: Scalars['ID'];
@@ -2589,7 +2603,7 @@ export type GitHubRepository = {
2589
2603
  githubRepositoryIdentifier: Scalars['Int'];
2590
2604
  githubRepositoryUrl?: Maybe<Scalars['String']>;
2591
2605
  id: Scalars['ID'];
2592
- metadata?: Maybe<GitHubRepositoryMetadata>;
2606
+ metadata: GitHubRepositoryMetadata;
2593
2607
  nodeIdentifier: Scalars['String'];
2594
2608
  };
2595
2609
  export type GitHubRepositoryMetadata = {
@@ -2601,7 +2615,6 @@ export type GitHubRepositoryMetadata = {
2601
2615
  githubRepoUrl: Scalars['String'];
2602
2616
  lastPushed: Scalars['DateTime'];
2603
2617
  lastUpdated: Scalars['DateTime'];
2604
- openGraphImageUrl?: Maybe<Scalars['String']>;
2605
2618
  private: Scalars['Boolean'];
2606
2619
  };
2607
2620
  export type GitHubRepositoryMutation = {
@@ -3030,6 +3043,8 @@ export type MeMutation = {
3030
3043
  createAccount: Account;
3031
3044
  /** Delete an Account created via createAccount */
3032
3045
  deleteAccount: DeleteAccountResult;
3046
+ /** Delete a SSO user. Actor must be an owner on the SSO user's SSO account. */
3047
+ deleteSSOUser: DeleteSsoUserResult;
3033
3048
  /** Delete a second factor device */
3034
3049
  deleteSecondFactorDevice: SecondFactorBooleanResult;
3035
3050
  /** Delete a Snack that the current user owns */
@@ -3072,6 +3087,9 @@ export type MeMutationCreateAccountArgs = {
3072
3087
  export type MeMutationDeleteAccountArgs = {
3073
3088
  accountId: Scalars['ID'];
3074
3089
  };
3090
+ export type MeMutationDeleteSsoUserArgs = {
3091
+ ssoUserId: Scalars['ID'];
3092
+ };
3075
3093
  export type MeMutationDeleteSecondFactorDeviceArgs = {
3076
3094
  otp: Scalars['String'];
3077
3095
  userSecondFactorDeviceId: Scalars['ID'];
@@ -3119,11 +3137,23 @@ export type MeteredBillingStatus = {
3119
3137
  EAS_BUILD: Scalars['Boolean'];
3120
3138
  EAS_UPDATE: Scalars['Boolean'];
3121
3139
  };
3140
+ export type Notification = {
3141
+ __typename?: 'Notification';
3142
+ createdAt: Scalars['DateTime'];
3143
+ event: NotificationEvent;
3144
+ id: Scalars['ID'];
3145
+ metadata?: Maybe<NotificationMetadata>;
3146
+ type: NotificationType;
3147
+ updatedAt: Scalars['DateTime'];
3148
+ };
3122
3149
  export declare enum NotificationEvent {
3123
3150
  BuildComplete = "BUILD_COMPLETE",
3151
+ BuildLimitThresholdExceeded = "BUILD_LIMIT_THRESHOLD_EXCEEDED",
3124
3152
  BuildPlanCreditThresholdExceeded = "BUILD_PLAN_CREDIT_THRESHOLD_EXCEEDED",
3125
- SubmissionComplete = "SUBMISSION_COMPLETE"
3153
+ SubmissionComplete = "SUBMISSION_COMPLETE",
3154
+ Test = "TEST"
3126
3155
  }
3156
+ export type NotificationMetadata = BuildLimitThresholdExceededMetadata | BuildPlanCreditThresholdExceededMetadata | TestNotificationMetadata;
3127
3157
  export type NotificationSubscription = {
3128
3158
  __typename?: 'NotificationSubscription';
3129
3159
  account?: Maybe<Account>;
@@ -3155,8 +3185,16 @@ export type NotificationSubscriptionMutationSubscribeToEventForAppArgs = {
3155
3185
  export type NotificationSubscriptionMutationUnsubscribeArgs = {
3156
3186
  id: Scalars['ID'];
3157
3187
  };
3188
+ export type NotificationThresholdExceeded = {
3189
+ __typename?: 'NotificationThresholdExceeded';
3190
+ count: Scalars['Int'];
3191
+ limit: Scalars['Int'];
3192
+ threshold: Scalars['Int'];
3193
+ type: BuildLimitThresholdExceededMetadataType;
3194
+ };
3158
3195
  export declare enum NotificationType {
3159
- Email = "EMAIL"
3196
+ Email = "EMAIL",
3197
+ Web = "WEB"
3160
3198
  }
3161
3199
  export type Offer = {
3162
3200
  __typename?: 'Offer';
@@ -3515,6 +3553,8 @@ export type RootQuery = {
3515
3553
  user: UserQuery;
3516
3554
  /** Top-level query object for querying UserActors. */
3517
3555
  userActor: UserActorQuery;
3556
+ /** Top-level query object for querying UserActorPublicData publicly. */
3557
+ userActorPublicData: UserActorPublicDataQuery;
3518
3558
  /** @deprecated Use 'byId' field under 'user'. */
3519
3559
  userByUserId?: Maybe<User>;
3520
3560
  /** @deprecated Use 'byUsername' field under 'user'. */
@@ -3599,6 +3639,8 @@ export type SsoUser = Actor & UserActor & {
3599
3639
  /** @deprecated No longer supported */
3600
3640
  twitterUsername?: Maybe<Scalars['String']>;
3601
3641
  username: Scalars['String'];
3642
+ /** Web notifications linked to a user */
3643
+ webNotifications: Array<Notification>;
3602
3644
  };
3603
3645
  /** Represents a human SSO (not robot) actor. */
3604
3646
  export type SsoUserActivityTimelineProjectActivitiesArgs = {
@@ -3963,6 +4005,10 @@ export type SubscriptionDetails = {
3963
4005
  export type SubscriptionDetailsPlanEnablementArgs = {
3964
4006
  serviceMetric: EasServiceMetric;
3965
4007
  };
4008
+ export type TestNotificationMetadata = {
4009
+ __typename?: 'TestNotificationMetadata';
4010
+ message: Scalars['String'];
4011
+ };
3966
4012
  export type TimelineActivityConnection = {
3967
4013
  __typename?: 'TimelineActivityConnection';
3968
4014
  edges: Array<TimelineActivityEdge>;
@@ -4195,7 +4241,7 @@ export type User = Actor & UserActor & {
4195
4241
  /** Discord account linked to a user */
4196
4242
  discordUser?: Maybe<DiscordUser>;
4197
4243
  displayName: Scalars['String'];
4198
- email?: Maybe<Scalars['String']>;
4244
+ email: Scalars['String'];
4199
4245
  emailVerified: Scalars['Boolean'];
4200
4246
  /**
4201
4247
  * Server feature gate values for this actor, optionally filtering by desired gates.
@@ -4233,6 +4279,7 @@ export type User = Actor & UserActor & {
4233
4279
  /** @deprecated No longer supported */
4234
4280
  twitterUsername?: Maybe<Scalars['String']>;
4235
4281
  username: Scalars['String'];
4282
+ webNotifications: Array<Notification>;
4236
4283
  };
4237
4284
  /** Represents a human (not robot) actor. */
4238
4285
  export type UserActivityTimelineProjectActivitiesArgs = {
@@ -4310,6 +4357,8 @@ export type UserActor = {
4310
4357
  /** @deprecated No longer supported */
4311
4358
  twitterUsername?: Maybe<Scalars['String']>;
4312
4359
  username: Scalars['String'];
4360
+ /** Web notifications linked to a user */
4361
+ webNotifications: Array<Notification>;
4313
4362
  };
4314
4363
  /** A human user (type User or SSOUser) that can login to the Expo website, use Expo services, and be a member of accounts. */
4315
4364
  export type UserActorActivityTimelineProjectActivitiesArgs = {
@@ -4336,6 +4385,38 @@ export type UserActorSnacksArgs = {
4336
4385
  limit: Scalars['Int'];
4337
4386
  offset: Scalars['Int'];
4338
4387
  };
4388
+ /** A human user (type User or SSOUser) that can login to the Expo website, use Expo services, and be a member of accounts. */
4389
+ export type UserActorPublicData = {
4390
+ __typename?: 'UserActorPublicData';
4391
+ /** Apps this user has published */
4392
+ apps: Array<App>;
4393
+ firstName?: Maybe<Scalars['String']>;
4394
+ id: Scalars['ID'];
4395
+ lastName?: Maybe<Scalars['String']>;
4396
+ profilePhoto: Scalars['String'];
4397
+ /** Snacks associated with this user's personal account */
4398
+ snacks: Array<Snack>;
4399
+ username: Scalars['String'];
4400
+ };
4401
+ /** A human user (type User or SSOUser) that can login to the Expo website, use Expo services, and be a member of accounts. */
4402
+ export type UserActorPublicDataAppsArgs = {
4403
+ includeUnpublished?: InputMaybe<Scalars['Boolean']>;
4404
+ limit: Scalars['Int'];
4405
+ offset: Scalars['Int'];
4406
+ };
4407
+ /** A human user (type User or SSOUser) that can login to the Expo website, use Expo services, and be a member of accounts. */
4408
+ export type UserActorPublicDataSnacksArgs = {
4409
+ limit: Scalars['Int'];
4410
+ offset: Scalars['Int'];
4411
+ };
4412
+ export type UserActorPublicDataQuery = {
4413
+ __typename?: 'UserActorPublicDataQuery';
4414
+ /** Get UserActorPublicData by username */
4415
+ byUsername: UserActorPublicData;
4416
+ };
4417
+ export type UserActorPublicDataQueryByUsernameArgs = {
4418
+ username: Scalars['String'];
4419
+ };
4339
4420
  export type UserActorQuery = {
4340
4421
  __typename?: 'UserActorQuery';
4341
4422
  /** Query a UserActor by ID */
@@ -4719,6 +4800,37 @@ export type CreateAndroidAppBuildCredentialsMutation = {
4719
4800
  };
4720
4801
  };
4721
4802
  };
4803
+ export type SetDefaultAndroidAppBuildCredentialsMutationVariables = Exact<{
4804
+ androidAppBuildCredentialsId: Scalars['ID'];
4805
+ isDefault: Scalars['Boolean'];
4806
+ }>;
4807
+ export type SetDefaultAndroidAppBuildCredentialsMutation = {
4808
+ __typename?: 'RootMutation';
4809
+ androidAppBuildCredentials: {
4810
+ __typename?: 'AndroidAppBuildCredentialsMutation';
4811
+ setDefault: {
4812
+ __typename?: 'AndroidAppBuildCredentials';
4813
+ id: string;
4814
+ isDefault: boolean;
4815
+ isLegacy: boolean;
4816
+ name: string;
4817
+ androidKeystore?: {
4818
+ __typename?: 'AndroidKeystore';
4819
+ id: string;
4820
+ type: AndroidKeystoreType;
4821
+ keystore: string;
4822
+ keystorePassword: string;
4823
+ keyAlias: string;
4824
+ keyPassword?: string | null;
4825
+ md5CertificateFingerprint?: string | null;
4826
+ sha1CertificateFingerprint?: string | null;
4827
+ sha256CertificateFingerprint?: string | null;
4828
+ createdAt: any;
4829
+ updatedAt: any;
4830
+ } | null;
4831
+ };
4832
+ };
4833
+ };
4722
4834
  export type SetKeystoreMutationVariables = Exact<{
4723
4835
  androidAppBuildCredentialsId: Scalars['ID'];
4724
4836
  keystoreId: Scalars['ID'];
@@ -8025,6 +8137,7 @@ export type CreateAndroidSubmissionMutation = {
8025
8137
  applicationIdentifier?: string | null;
8026
8138
  track: SubmissionAndroidTrack;
8027
8139
  releaseStatus?: SubmissionAndroidReleaseStatus | null;
8140
+ rollout?: number | null;
8028
8141
  } | null;
8029
8142
  iosConfig?: {
8030
8143
  __typename?: 'IosSubmissionConfig';
@@ -8074,6 +8187,7 @@ export type CreateIosSubmissionMutation = {
8074
8187
  applicationIdentifier?: string | null;
8075
8188
  track: SubmissionAndroidTrack;
8076
8189
  releaseStatus?: SubmissionAndroidReleaseStatus | null;
8190
+ rollout?: number | null;
8077
8191
  } | null;
8078
8192
  iosConfig?: {
8079
8193
  __typename?: 'IosSubmissionConfig';
@@ -8507,6 +8621,7 @@ export type BuildsWithSubmissionsByIdQuery = {
8507
8621
  applicationIdentifier?: string | null;
8508
8622
  track: SubmissionAndroidTrack;
8509
8623
  releaseStatus?: SubmissionAndroidReleaseStatus | null;
8624
+ rollout?: number | null;
8510
8625
  } | null;
8511
8626
  iosConfig?: {
8512
8627
  __typename?: 'IosSubmissionConfig';
@@ -8650,6 +8765,7 @@ export type ViewBuildsOnAppQuery = {
8650
8765
  export type ViewUpdateChannelOnAppQueryVariables = Exact<{
8651
8766
  appId: Scalars['String'];
8652
8767
  channelName: Scalars['String'];
8768
+ filter?: InputMaybe<UpdatesFilter>;
8653
8769
  }>;
8654
8770
  export type ViewUpdateChannelOnAppQuery = {
8655
8771
  __typename?: 'RootQuery';
@@ -8726,6 +8842,7 @@ export type ViewUpdateChannelsOnAppQuery = {
8726
8842
  __typename?: 'UpdateChannel';
8727
8843
  id: string;
8728
8844
  name: string;
8845
+ createdAt: any;
8729
8846
  branchMapping: string;
8730
8847
  updateBranches: Array<{
8731
8848
  __typename?: 'UpdateBranch';
@@ -8773,6 +8890,40 @@ export type ViewUpdateChannelsOnAppQuery = {
8773
8890
  };
8774
8891
  };
8775
8892
  };
8893
+ export type ViewUpdateChannelsPaginatedOnAppQueryVariables = Exact<{
8894
+ appId: Scalars['String'];
8895
+ first?: InputMaybe<Scalars['Int']>;
8896
+ after?: InputMaybe<Scalars['String']>;
8897
+ }>;
8898
+ export type ViewUpdateChannelsPaginatedOnAppQuery = {
8899
+ __typename?: 'RootQuery';
8900
+ app: {
8901
+ __typename?: 'AppQuery';
8902
+ byId: {
8903
+ __typename?: 'App';
8904
+ id: string;
8905
+ channelsPaginated: {
8906
+ __typename?: 'AppChannelsConnection';
8907
+ edges: Array<{
8908
+ __typename?: 'AppChannelEdge';
8909
+ node: {
8910
+ __typename?: 'UpdateChannel';
8911
+ id: string;
8912
+ name: string;
8913
+ branchMapping: string;
8914
+ };
8915
+ }>;
8916
+ pageInfo: {
8917
+ __typename?: 'PageInfo';
8918
+ hasNextPage: boolean;
8919
+ hasPreviousPage: boolean;
8920
+ startCursor?: string | null;
8921
+ endCursor?: string | null;
8922
+ };
8923
+ };
8924
+ };
8925
+ };
8926
+ };
8776
8927
  export type EnvironmentSecretsByAppIdQueryVariables = Exact<{
8777
8928
  appId: Scalars['String'];
8778
8929
  }>;
@@ -8884,6 +9035,7 @@ export type SubmissionsByIdQuery = {
8884
9035
  applicationIdentifier?: string | null;
8885
9036
  track: SubmissionAndroidTrack;
8886
9037
  releaseStatus?: SubmissionAndroidReleaseStatus | null;
9038
+ rollout?: number | null;
8887
9039
  } | null;
8888
9040
  iosConfig?: {
8889
9041
  __typename?: 'IosSubmissionConfig';
@@ -8934,6 +9086,7 @@ export type GetAllSubmissionsForAppQuery = {
8934
9086
  applicationIdentifier?: string | null;
8935
9087
  track: SubmissionAndroidTrack;
8936
9088
  releaseStatus?: SubmissionAndroidReleaseStatus | null;
9089
+ rollout?: number | null;
8937
9090
  } | null;
8938
9091
  iosConfig?: {
8939
9092
  __typename?: 'IosSubmissionConfig';
@@ -9422,6 +9575,7 @@ export type BuildWithSubmissionsFragment = {
9422
9575
  applicationIdentifier?: string | null;
9423
9576
  track: SubmissionAndroidTrack;
9424
9577
  releaseStatus?: SubmissionAndroidReleaseStatus | null;
9578
+ rollout?: number | null;
9425
9579
  } | null;
9426
9580
  iosConfig?: {
9427
9581
  __typename?: 'IosSubmissionConfig';
@@ -9519,6 +9673,7 @@ export type SubmissionFragment = {
9519
9673
  applicationIdentifier?: string | null;
9520
9674
  track: SubmissionAndroidTrack;
9521
9675
  releaseStatus?: SubmissionAndroidReleaseStatus | null;
9676
+ rollout?: number | null;
9522
9677
  } | null;
9523
9678
  iosConfig?: {
9524
9679
  __typename?: 'IosSubmissionConfig';
@@ -9610,6 +9765,12 @@ export type UpdateBranchFragment = {
9610
9765
  } | null;
9611
9766
  }>;
9612
9767
  };
9768
+ export type UpdateChannelBasicInfoFragment = {
9769
+ __typename?: 'UpdateChannel';
9770
+ id: string;
9771
+ name: string;
9772
+ branchMapping: string;
9773
+ };
9613
9774
  export type WebhookFragment = {
9614
9775
  __typename?: 'Webhook';
9615
9776
  id: string;
@@ -6,8 +6,8 @@
6
6
  * For more info and docs, visit https://graphql-code-generator.com/
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Role = exports.ProjectArchiveSourceType = exports.Permission = exports.Order = exports.OfferType = exports.NotificationType = exports.NotificationEvent = exports.MailchimpTag = exports.MailchimpAudience = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.GitHubAppInstallationStatus = exports.GitHubAppEnvironment = exports.Feature = exports.EnvironmentSecretType = exports.EasTotalPlanEnablementUnit = exports.EasServiceMetric = exports.EasService = exports.EasBuildDeprecationInfoType = exports.EasBuildBillingResourceClass = exports.DistributionType = exports.BuildWorkflow = exports.BuildTrigger = exports.BuildStatus = exports.BuildRetryDisabledReason = exports.BuildResourceClass = exports.BuildPriority = exports.BuildMode = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.BackgroundJobState = exports.BackgroundJobResultType = exports.AuthProtocolType = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = exports.AccountAppsSortByField = void 0;
10
- exports.WebhookType = exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.SubmissionStatus = exports.SubmissionArchiveSourceType = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StatuspageServiceStatus = exports.StatuspageServiceName = exports.StatuspageIncidentStatus = exports.StatuspageIncidentImpact = exports.StandardOffer = exports.SecondFactorMethod = void 0;
9
+ exports.ProjectArchiveSourceType = exports.Permission = exports.Order = exports.OfferType = exports.NotificationType = exports.NotificationEvent = exports.MailchimpTag = exports.MailchimpAudience = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.GitHubAppInstallationStatus = exports.GitHubAppEnvironment = exports.Feature = exports.EnvironmentSecretType = exports.EasTotalPlanEnablementUnit = exports.EasServiceMetric = exports.EasService = exports.EasBuildDeprecationInfoType = exports.EasBuildBillingResourceClass = exports.DistributionType = exports.BuildWorkflow = exports.BuildTrigger = exports.BuildStatus = exports.BuildRetryDisabledReason = exports.BuildResourceClass = exports.BuildPriority = exports.BuildMode = exports.BuildLimitThresholdExceededMetadataType = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.BackgroundJobState = exports.BackgroundJobResultType = exports.AuthProtocolType = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = exports.AccountAppsSortByField = void 0;
10
+ exports.WebhookType = exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.SubmissionStatus = exports.SubmissionArchiveSourceType = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StatuspageServiceStatus = exports.StatuspageServiceName = exports.StatuspageIncidentStatus = exports.StatuspageIncidentImpact = exports.StandardOffer = exports.SecondFactorMethod = exports.Role = void 0;
11
11
  var AccountAppsSortByField;
12
12
  (function (AccountAppsSortByField) {
13
13
  AccountAppsSortByField["LatestActivityTime"] = "LATEST_ACTIVITY_TIME";
@@ -103,6 +103,7 @@ var AuthProtocolType;
103
103
  var BackgroundJobResultType;
104
104
  (function (BackgroundJobResultType) {
105
105
  BackgroundJobResultType["GithubBuild"] = "GITHUB_BUILD";
106
+ BackgroundJobResultType["Void"] = "VOID";
106
107
  })(BackgroundJobResultType = exports.BackgroundJobResultType || (exports.BackgroundJobResultType = {}));
107
108
  var BackgroundJobState;
108
109
  (function (BackgroundJobState) {
@@ -135,6 +136,11 @@ var BuildJobStatus;
135
136
  BuildJobStatus["SentToQueue"] = "SENT_TO_QUEUE";
136
137
  BuildJobStatus["Started"] = "STARTED";
137
138
  })(BuildJobStatus = exports.BuildJobStatus || (exports.BuildJobStatus = {}));
139
+ var BuildLimitThresholdExceededMetadataType;
140
+ (function (BuildLimitThresholdExceededMetadataType) {
141
+ BuildLimitThresholdExceededMetadataType["Ios"] = "IOS";
142
+ BuildLimitThresholdExceededMetadataType["Total"] = "TOTAL";
143
+ })(BuildLimitThresholdExceededMetadataType = exports.BuildLimitThresholdExceededMetadataType || (exports.BuildLimitThresholdExceededMetadataType = {}));
138
144
  var BuildMode;
139
145
  (function (BuildMode) {
140
146
  BuildMode["Build"] = "BUILD";
@@ -302,12 +308,15 @@ var MailchimpTag;
302
308
  var NotificationEvent;
303
309
  (function (NotificationEvent) {
304
310
  NotificationEvent["BuildComplete"] = "BUILD_COMPLETE";
311
+ NotificationEvent["BuildLimitThresholdExceeded"] = "BUILD_LIMIT_THRESHOLD_EXCEEDED";
305
312
  NotificationEvent["BuildPlanCreditThresholdExceeded"] = "BUILD_PLAN_CREDIT_THRESHOLD_EXCEEDED";
306
313
  NotificationEvent["SubmissionComplete"] = "SUBMISSION_COMPLETE";
314
+ NotificationEvent["Test"] = "TEST";
307
315
  })(NotificationEvent = exports.NotificationEvent || (exports.NotificationEvent = {}));
308
316
  var NotificationType;
309
317
  (function (NotificationType) {
310
318
  NotificationType["Email"] = "EMAIL";
319
+ NotificationType["Web"] = "WEB";
311
320
  })(NotificationType = exports.NotificationType || (exports.NotificationType = {}));
312
321
  var OfferType;
313
322
  (function (OfferType) {
@@ -1,8 +1,12 @@
1
1
  import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
2
- import { ViewUpdateChannelOnAppQuery, ViewUpdateChannelOnAppQueryVariables, ViewUpdateChannelsOnAppQuery, ViewUpdateChannelsOnAppQueryVariables } from '../generated';
3
- export type UpdateChannelObject = NonNullable<ViewUpdateChannelsOnAppQuery['app']['byId']['updateChannels']>[number];
4
- export type UpdateChannelByNameObject = NonNullable<ViewUpdateChannelOnAppQuery['app']['byId']['updateChannelByName']>;
2
+ import { ViewUpdateChannelOnAppQuery, ViewUpdateChannelOnAppQueryVariables, ViewUpdateChannelsOnAppQuery, ViewUpdateChannelsOnAppQueryVariables, ViewUpdateChannelsPaginatedOnAppQuery, ViewUpdateChannelsPaginatedOnAppQueryVariables } from '../generated';
3
+ type ViewUpdateChannelsOnAppObject = NonNullable<ViewUpdateChannelsOnAppQuery['app']['byId']['updateChannels']>[number];
4
+ type UpdateChannelByNameObject = NonNullable<ViewUpdateChannelOnAppQuery['app']['byId']['updateChannelByName']>;
5
+ export type UpdateChannelObject = ViewUpdateChannelsOnAppObject & UpdateChannelByNameObject;
6
+ export type UpdateBranchObject = UpdateChannelObject['updateBranches'][number];
5
7
  export declare const ChannelQuery: {
6
- viewUpdateChannelAsync(graphqlClient: ExpoGraphqlClient, { appId, channelName }: ViewUpdateChannelOnAppQueryVariables): Promise<UpdateChannelByNameObject>;
8
+ viewUpdateChannelAsync(graphqlClient: ExpoGraphqlClient, { appId, channelName, filter }: ViewUpdateChannelOnAppQueryVariables): Promise<UpdateChannelByNameObject>;
7
9
  viewUpdateChannelsOnAppAsync(graphqlClient: ExpoGraphqlClient, { appId, limit, offset }: ViewUpdateChannelsOnAppQueryVariables): Promise<UpdateChannelObject[]>;
10
+ viewUpdateChannelsBasicInfoPaginatedOnAppAsync(graphqlClient: ExpoGraphqlClient, { appId, first, after }: ViewUpdateChannelsPaginatedOnAppQueryVariables): Promise<ViewUpdateChannelsPaginatedOnAppQuery['app']['byId']['channelsPaginated']>;
8
11
  };
12
+ export {};
@@ -7,11 +7,16 @@ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
7
7
  const errors_1 = require("../../channel/errors");
8
8
  const client_1 = require("../client");
9
9
  const Update_1 = require("../types/Update");
10
+ const UpdateChannelBasicInfo_1 = require("../types/UpdateChannelBasicInfo");
10
11
  exports.ChannelQuery = {
11
- async viewUpdateChannelAsync(graphqlClient, { appId, channelName }) {
12
+ async viewUpdateChannelAsync(graphqlClient, { appId, channelName, filter }) {
12
13
  const response = await (0, client_1.withErrorHandlingAsync)(graphqlClient
13
14
  .query((0, graphql_tag_1.default) `
14
- query ViewUpdateChannelOnApp($appId: String!, $channelName: String!) {
15
+ query ViewUpdateChannelOnApp(
16
+ $appId: String!
17
+ $channelName: String!
18
+ $filter: UpdatesFilter
19
+ ) {
15
20
  app {
16
21
  byId(appId: $appId) {
17
22
  id
@@ -23,7 +28,7 @@ exports.ChannelQuery = {
23
28
  updateBranches(offset: 0, limit: 5) {
24
29
  id
25
30
  name
26
- updateGroups(offset: 0, limit: 1) {
31
+ updateGroups(offset: 0, limit: 1, filter: $filter) {
27
32
  id
28
33
  ...UpdateFragment
29
34
  }
@@ -33,7 +38,7 @@ exports.ChannelQuery = {
33
38
  }
34
39
  }
35
40
  ${(0, graphql_1.print)(Update_1.UpdateFragmentNode)}
36
- `, { appId, channelName }, { additionalTypenames: ['UpdateChannel', 'UpdateBranch', 'Update'] })
41
+ `, { appId, channelName, filter }, { additionalTypenames: ['UpdateChannel', 'UpdateBranch', 'Update'] })
37
42
  .toPromise());
38
43
  const { updateChannelByName } = response.app.byId;
39
44
  if (!updateChannelByName) {
@@ -51,6 +56,7 @@ exports.ChannelQuery = {
51
56
  updateChannels(offset: $offset, limit: $limit) {
52
57
  id
53
58
  name
59
+ createdAt
54
60
  branchMapping
55
61
  updateBranches(offset: 0, limit: 5) {
56
62
  id
@@ -73,4 +79,37 @@ exports.ChannelQuery = {
73
79
  }
74
80
  return updateChannels;
75
81
  },
82
+ async viewUpdateChannelsBasicInfoPaginatedOnAppAsync(graphqlClient, { appId, first, after }) {
83
+ const response = await (0, client_1.withErrorHandlingAsync)(graphqlClient
84
+ .query((0, graphql_tag_1.default) `
85
+ query ViewUpdateChannelsPaginatedOnApp($appId: String!, $first: Int, $after: String) {
86
+ app {
87
+ byId(appId: $appId) {
88
+ id
89
+ channelsPaginated(first: $first, after: $after) {
90
+ edges {
91
+ node {
92
+ id
93
+ ...UpdateChannelBasicInfoFragment
94
+ }
95
+ }
96
+ pageInfo {
97
+ hasNextPage
98
+ hasPreviousPage
99
+ startCursor
100
+ endCursor
101
+ }
102
+ }
103
+ }
104
+ }
105
+ }
106
+ ${(0, graphql_1.print)(UpdateChannelBasicInfo_1.UpdateChannelBasicInfoFragmentNode)}
107
+ `, { appId, first, after }, { additionalTypenames: ['UpdateChannel', 'UpdateBranch', 'Update'] })
108
+ .toPromise());
109
+ const { channelsPaginated } = response.app.byId;
110
+ if (!channelsPaginated) {
111
+ throw new Error(`Could not find channels on project with id ${appId}`);
112
+ }
113
+ return channelsPaginated;
114
+ },
76
115
  };
@@ -21,6 +21,7 @@ exports.SubmissionFragmentNode = (0, graphql_tag_1.default) `
21
21
  applicationIdentifier
22
22
  track
23
23
  releaseStatus
24
+ rollout
24
25
  }
25
26
  iosConfig {
26
27
  ascAppIdentifier
@@ -0,0 +1 @@
1
+ export declare const UpdateChannelBasicInfoFragmentNode: import("graphql").DocumentNode;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateChannelBasicInfoFragmentNode = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
6
+ exports.UpdateChannelBasicInfoFragmentNode = (0, graphql_tag_1.default) `
7
+ fragment UpdateChannelBasicInfoFragment on UpdateChannel {
8
+ id
9
+ name
10
+ branchMapping
11
+ }
12
+ `;