@expo/apple-utils 2.0.3 → 2.0.4

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/apple-utils",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "main": "build",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -1201,30 +1201,123 @@ declare module "connect/models/AgeRatingDeclaration" {
1201
1201
  INFREQUENT_OR_MILD = "INFREQUENT_OR_MILD",
1202
1202
  FREQUENT_OR_INTENSE = "FREQUENT_OR_INTENSE"
1203
1203
  }
1204
- export enum KidsAge {
1204
+ /** @deprecated - use {@link KidsAgeBand} instead. */
1205
+ export type KidsAge = KidsAgeBand;
1206
+ /** @see https://developer.apple.com/documentation/appstoreconnectapi/kidsageband */
1207
+ export enum KidsAgeBand {
1205
1208
  FIVE_AND_UNDER = "FIVE_AND_UNDER",
1206
1209
  SIX_TO_EIGHT = "SIX_TO_EIGHT",
1207
1210
  NINE_TO_ELEVEN = "NINE_TO_ELEVEN"
1208
1211
  }
1212
+ export enum RatingOverride {
1213
+ NONE = "NONE",
1214
+ SEVENTEEN_PLUS = "SEVENTEEN_PLUS",
1215
+ UNRATED = "UNRATED"
1216
+ }
1217
+ export enum KoreaRatingOverride {
1218
+ NONE = "NONE",
1219
+ FIFTEEN_PLUS = "FIFTEEN_PLUS",
1220
+ NINETEEN_PLUS = "NINETEEN_PLUS"
1221
+ }
1222
+ /**
1223
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/ageratingdeclaration/attributes-data.dictionary
1224
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/ageratingdeclarationupdaterequest/data-data.dictionary/attributes-data.dictionary
1225
+ */
1209
1226
  export interface AgeRatingDeclarationProps {
1227
+ /**
1228
+ * Declaration for alcohol, tobacco, or drug use.
1229
+ * @since 1.2
1230
+ */
1210
1231
  alcoholTobaccoOrDrugUseOrReferences: Rating | null;
1211
- gamblingSimulated: Rating | null;
1212
- gambling: boolean | null;
1213
- contests: Rating | null;
1232
+ /**
1233
+ * Declaration for gambling or contests, as a Boolean value.
1234
+ * @since 1.2
1235
+ * @deprecated 1.4.1
1236
+ */
1237
+ gamblingAndContests: boolean | null;
1238
+ /**
1239
+ * Declaration for the Kids Age Band value.
1240
+ * @since 1.2
1241
+ */
1242
+ kidsAgeBand: KidsAgeBand | null;
1243
+ /**
1244
+ * Declaration for medical or treatment-focused content.
1245
+ * @since 1.2
1246
+ */
1214
1247
  medicalOrTreatmentInformation: Rating | null;
1248
+ /**
1249
+ * Declaration for profanity or crude humor.
1250
+ * @since 1.2
1251
+ */
1215
1252
  profanityOrCrudeHumor: Rating | null;
1216
- sexualContentGraphicAndNudity: Rating | null;
1253
+ /**
1254
+ * Declaration for sexual content or nudity.
1255
+ * @since 1.2
1256
+ */
1217
1257
  sexualContentOrNudity: Rating | null;
1258
+ /**
1259
+ * Declaration for unrestricted web access, such as with an embedded browser, provided as a Boolean value.
1260
+ * @since 1.2
1261
+ */
1262
+ unrestrictedWebAccess: boolean | null;
1263
+ /**
1264
+ * Declaration for simulated gambling.
1265
+ * @since 1.2
1266
+ */
1267
+ gamblingSimulated: Rating | null;
1268
+ /**
1269
+ * Declaration for horror or fear themed content.
1270
+ * @since 1.2
1271
+ */
1218
1272
  horrorOrFearThemes: Rating | null;
1273
+ /**
1274
+ * Declaration for mature or suggestive themes.
1275
+ * @since 1.2
1276
+ */
1219
1277
  matureOrSuggestiveThemes: Rating | null;
1278
+ /**
1279
+ * Declaration for graphic sexual content and nudity.
1280
+ * @since 1.2
1281
+ */
1282
+ sexualContentGraphicAndNudity: Rating | null;
1283
+ /**
1284
+ * Declaration for cartoon or fantasy violence.
1285
+ * @since 1.2
1286
+ */
1220
1287
  violenceCartoonOrFantasy: Rating | null;
1221
- violenceRealisticProlongedGraphicOrSadistic: Rating | null;
1288
+ /**
1289
+ * Declaration for realistic violence.
1290
+ * @since 1.2
1291
+ */
1222
1292
  violenceRealistic: Rating | null;
1223
- unrestrictedWebAccess: boolean | null;
1224
- seventeenPlus: boolean | null;
1225
- kidsAgeBand: KidsAge | null;
1226
- /** @deprecated 1.6 */
1227
- gamblingAndContests: boolean | null;
1293
+ /**
1294
+ * Declaration for prolonged realistic or sadistic violence.
1295
+ * @since 1.2
1296
+ */
1297
+ violenceRealisticProlongedGraphicOrSadistic: Rating | null;
1298
+ /**
1299
+ * Declaration for contests.
1300
+ * @since 1.4.1
1301
+ */
1302
+ contests: Rating | null;
1303
+ /**
1304
+ * Declaration for gambling, provided as a Boolean value.
1305
+ * @since 1.4.1
1306
+ */
1307
+ gambling: boolean | null;
1308
+ /** @since 3.3 */
1309
+ ageRatingOverride: RatingOverride | null;
1310
+ /** @since 3.6.0 */
1311
+ koreaAgeRatingOverride: KoreaRatingOverride | null;
1312
+ /** * @since 3.6.0 */
1313
+ lootBox: boolean | null;
1314
+ /**
1315
+ * Declaration for a 17+ rating, provided as a Boolean value.
1316
+ * @remark The API is limited and cannot have both `seventeenPlus` and `ageRatingOverride`. Because of that, we deprecated this properly in favor of `ageRatingOverride`.
1317
+ * @since 1.4.1
1318
+ * @deprecated 3.3
1319
+ */
1320
+ seventeenPlus: never;
1228
1321
  }
1229
1322
  /**
1230
1323
  * Used for updating basic metadata.
@@ -1435,39 +1528,46 @@ declare module "connect/models/AppDataUsageCategory" {
1435
1528
  deleted: boolean;
1436
1529
  grouping: AppDataUsageGrouping;
1437
1530
  }
1531
+ /**
1532
+ * @see https://appstoreconnect.apple.com/iris/v1/appDataUsageCategories
1533
+ * @example `apple-utils app-data-usage-category:get`
1534
+ */
1438
1535
  export enum AppDataUsageCategoryId {
1439
- PAYMENT_INFORMATION = "PAYMENT_INFORMATION",
1536
+ ADVERTISING_DATA = "ADVERTISING_DATA",
1537
+ AUDIO = "AUDIO",
1538
+ BROWSING_HISTORY = "BROWSING_HISTORY",
1539
+ COARSE_LOCATION = "COARSE_LOCATION",
1540
+ CONTACTS = "CONTACTS",
1541
+ CRASH_DATA = "CRASH_DATA",
1440
1542
  CREDIT_AND_FRAUD = "CREDIT_AND_FRAUD",
1441
- OTHER_FINANCIAL_INFO = "OTHER_FINANCIAL_INFO",
1442
- PRECISE_LOCATION = "PRECISE_LOCATION",
1443
- SENSITIVE_INFO = "SENSITIVE_INFO",
1444
- PHYSICAL_ADDRESS = "PHYSICAL_ADDRESS",
1543
+ CUSTOMER_SUPPORT = "CUSTOMER_SUPPORT",
1544
+ DEVICE_ID = "DEVICE_ID",
1445
1545
  EMAIL_ADDRESS = "EMAIL_ADDRESS",
1446
- NAME = "NAME",
1447
- PHONE_NUMBER = "PHONE_NUMBER",
1448
- OTHER_CONTACT_INFO = "OTHER_CONTACT_INFO",
1449
- CONTACTS = "CONTACTS",
1450
1546
  EMAILS_OR_TEXT_MESSAGES = "EMAILS_OR_TEXT_MESSAGES",
1451
- PHOTOS_OR_VIDEOS = "PHOTOS_OR_VIDEOS",
1452
- AUDIO = "AUDIO",
1547
+ ENVIRONMENTAL_SCANNING = "ENVIRONMENTAL_SCANNING",
1548
+ FITNESS = "FITNESS",
1453
1549
  GAMEPLAY_CONTENT = "GAMEPLAY_CONTENT",
1454
- CUSTOMER_SUPPORT = "CUSTOMER_SUPPORT",
1455
- OTHER_USER_CONTENT = "OTHER_USER_CONTENT",
1456
- BROWSING_HISTORY = "BROWSING_HISTORY",
1457
- SEARCH_HISTORY = "SEARCH_HISTORY",
1458
- USER_ID = "USER_ID",
1459
- DEVICE_ID = "DEVICE_ID",
1460
- PURCHASE_HISTORY = "PURCHASE_HISTORY",
1461
- PRODUCT_INTERACTION = "PRODUCT_INTERACTION",
1462
- ADVERTISING_DATA = "ADVERTISING_DATA",
1550
+ HANDS = "HANDS",
1551
+ HEAD_MOVEMENT = "HEAD_MOVEMENT",
1552
+ HEALTH = "HEALTH",
1553
+ NAME = "NAME",
1554
+ OTHER_CONTACT_INFO = "OTHER_CONTACT_INFO",
1555
+ OTHER_DATA = "OTHER_DATA",
1556
+ OTHER_DIAGNOSTIC_DATA = "OTHER_DIAGNOSTIC_DATA",
1557
+ OTHER_FINANCIAL_INFO = "OTHER_FINANCIAL_INFO",
1463
1558
  OTHER_USAGE_DATA = "OTHER_USAGE_DATA",
1464
- CRASH_DATA = "CRASH_DATA",
1559
+ OTHER_USER_CONTENT = "OTHER_USER_CONTENT",
1560
+ PAYMENT_INFORMATION = "PAYMENT_INFORMATION",
1465
1561
  PERFORMANCE_DATA = "PERFORMANCE_DATA",
1466
- OTHER_DIAGNOSTIC_DATA = "OTHER_DIAGNOSTIC_DATA",
1467
- OTHER_DATA = "OTHER_DATA",
1468
- HEALTH = "HEALTH",
1469
- FITNESS = "FITNESS",
1470
- COARSE_LOCATION = "COARSE_LOCATION"
1562
+ PHONE_NUMBER = "PHONE_NUMBER",
1563
+ PHOTOS_OR_VIDEOS = "PHOTOS_OR_VIDEOS",
1564
+ PHYSICAL_ADDRESS = "PHYSICAL_ADDRESS",
1565
+ PRECISE_LOCATION = "PRECISE_LOCATION",
1566
+ PRODUCT_INTERACTION = "PRODUCT_INTERACTION",
1567
+ PURCHASE_HISTORY = "PURCHASE_HISTORY",
1568
+ SEARCH_HISTORY = "SEARCH_HISTORY",
1569
+ SENSITIVE_INFO = "SENSITIVE_INFO",
1570
+ USER_ID = "USER_ID"
1471
1571
  }
1472
1572
  export class AppDataUsageCategory extends ConnectModel<AppDataUsageCategoryProps> {
1473
1573
  static type: string;
@@ -1485,6 +1585,10 @@ declare module "connect/models/AppDataUsageDataProtection" {
1485
1585
  export interface AppDataUsageDataProtectionProps {
1486
1586
  deleted: boolean;
1487
1587
  }
1588
+ /**
1589
+ * @see https://appstoreconnect.apple.com/iris/v1/appDataUsageDataProtections
1590
+ * @example `apple-utils app-data-usage-protection:get`
1591
+ */
1488
1592
  export enum AppDataUsageDataProtectionId {
1489
1593
  DATA_USED_TO_TRACK_YOU = "DATA_USED_TO_TRACK_YOU",
1490
1594
  DATA_LINKED_TO_YOU = "DATA_LINKED_TO_YOU",
@@ -1507,6 +1611,10 @@ declare module "connect/models/AppDataUsagePurpose" {
1507
1611
  export interface AppDataUsagePurposeProps {
1508
1612
  deleted: boolean;
1509
1613
  }
1614
+ /**
1615
+ * @see https://appstoreconnect.apple.com/iris/v1/appDataUsagePurposes
1616
+ * @example `apple-utils app-data-usage-purpose:get`
1617
+ */
1510
1618
  export enum AppDataUsagePurposeId {
1511
1619
  THIRD_PARTY_ADVERTISING = "THIRD_PARTY_ADVERTISING",
1512
1620
  DEVELOPERS_ADVERTISING = "DEVELOPERS_ADVERTISING",
@@ -2853,17 +2961,21 @@ declare module "connect/models/AppScreenshotSet" {
2853
2961
  APP_IPHONE_47 = "APP_IPHONE_47",
2854
2962
  APP_IPHONE_55 = "APP_IPHONE_55",
2855
2963
  APP_IPHONE_58 = "APP_IPHONE_58",
2964
+ APP_IPHONE_61 = "APP_IPHONE_61",
2856
2965
  APP_IPHONE_65 = "APP_IPHONE_65",
2966
+ APP_IPHONE_67 = "APP_IPHONE_67",
2857
2967
  APP_IPAD_97 = "APP_IPAD_97",
2858
2968
  APP_IPAD_105 = "APP_IPAD_105",
2859
- APP_IPAD_PRO_3GEN_11 = "APP_IPAD_PRO_3GEN_11",
2860
2969
  APP_IPAD_PRO_129 = "APP_IPAD_PRO_129",
2970
+ APP_IPAD_PRO_3GEN_11 = "APP_IPAD_PRO_3GEN_11",
2861
2971
  APP_IPAD_PRO_3GEN_129 = "APP_IPAD_PRO_3GEN_129",
2862
2972
  IMESSAGE_APP_IPHONE_40 = "IMESSAGE_APP_IPHONE_40",
2863
2973
  IMESSAGE_APP_IPHONE_47 = "IMESSAGE_APP_IPHONE_47",
2864
2974
  IMESSAGE_APP_IPHONE_55 = "IMESSAGE_APP_IPHONE_55",
2865
2975
  IMESSAGE_APP_IPHONE_58 = "IMESSAGE_APP_IPHONE_58",
2976
+ IMESSAGE_APP_IPHONE_61 = "IMESSAGE_APP_IPHONE_61",
2866
2977
  IMESSAGE_APP_IPHONE_65 = "IMESSAGE_APP_IPHONE_65",
2978
+ IMESSAGE_APP_IPHONE_67 = "IMESSAGE_APP_IPHONE_67",
2867
2979
  IMESSAGE_APP_IPAD_97 = "IMESSAGE_APP_IPAD_97",
2868
2980
  IMESSAGE_APP_IPAD_105 = "IMESSAGE_APP_IPAD_105",
2869
2981
  IMESSAGE_APP_IPAD_PRO_129 = "IMESSAGE_APP_IPAD_PRO_129",
@@ -2871,7 +2983,11 @@ declare module "connect/models/AppScreenshotSet" {
2871
2983
  IMESSAGE_APP_IPAD_PRO_3GEN_129 = "IMESSAGE_APP_IPAD_PRO_3GEN_129",
2872
2984
  APP_WATCH_SERIES_3 = "APP_WATCH_SERIES_3",
2873
2985
  APP_WATCH_SERIES_4 = "APP_WATCH_SERIES_4",
2986
+ APP_WATCH_SERIES_7 = "APP_WATCH_SERIES_7",
2987
+ APP_WATCH_SERIES_10 = "APP_WATCH_SERIES_10",
2988
+ APP_WATCH_ULTRA = "APP_WATCH_ULTRA",
2874
2989
  APP_APPLE_TV = "APP_APPLE_TV",
2990
+ APP_APPLE_VISION_PRO = "APP_APPLE_VISION_PRO",
2875
2991
  APP_DESKTOP = "APP_DESKTOP"
2876
2992
  }
2877
2993
  export const ALL: ScreenshotDisplayType[];
@@ -3032,8 +3148,11 @@ declare module "connect/models/BetaAppReviewSubmission" {
3032
3148
  REJECTED = "REJECTED",
3033
3149
  APPROVED = "APPROVED"
3034
3150
  }
3151
+ /** @see https://developer.apple.com/documentation/appstoreconnectapi/betaappreviewsubmission/attributes-data.dictionary */
3035
3152
  interface BetaAppReviewSubmissionProps {
3036
3153
  betaReviewState: BetaReviewState;
3154
+ /** @since 1.5 */
3155
+ submittedDate: string | null;
3037
3156
  }
3038
3157
  export type BetaAppReviewSubmissionQueryFilter = ConnectQueryFilter<BetaAppReviewSubmissionProps, 'betaReviewState'>;
3039
3158
  export class BetaAppReviewSubmission extends ConnectModel<BetaAppReviewSubmissionProps> {
@@ -3107,22 +3226,56 @@ declare module "connect/models/BetaBuildMetric" {
3107
3226
  declare module "connect/models/BetaGroup" {
3108
3227
  import { RequestContext } from "network/Request";
3109
3228
  import { ConnectModel } from "connect/models/ConnectModel";
3229
+ /** @see https://developer.apple.com/documentation/appstoreconnectapi/betagroup/attributes-data.dictionary */
3110
3230
  interface BetaGroupProps {
3111
3231
  /**
3232
+ * A Boolean value that indicates whether the group is internal. Only existing users of App Store Connect may be added for internal beta testing.
3233
+ * @since 1.2
3234
+ */
3235
+ isInternalGroup: boolean;
3236
+ /**
3237
+ * The name for the beta group.
3238
+ * @since 1.2
3112
3239
  * @example 'App Store Connect Users'
3113
3240
  */
3114
3241
  name: string;
3115
3242
  /**
3116
- * @example '2017-08-07T18:06:37.632Z'
3243
+ * The URL of the public link provided to your app’s beta testers.
3244
+ * @since 1.2
3245
+ */
3246
+ publicLink: string | null;
3247
+ /**
3248
+ * A Boolean value that indicates whether a public link is enabled. Enabling a link allows you to invite anyone outside of your team to beta test your app. When you share this link, testers will be able to install the beta version of your app on their devices in TestFlight and share the link with others.
3249
+ * @since 1.2
3117
3250
  */
3118
- createdDate: string;
3119
- isInternalGroup: boolean;
3120
3251
  publicLinkEnabled: boolean;
3252
+ /**
3253
+ * The ID as part of the URL of the public link.
3254
+ * @since 1.2
3255
+ */
3121
3256
  publicLinkId: string;
3122
- publicLinkLimitEnabled: boolean;
3257
+ /**
3258
+ * The maximum number of testers that can join this beta group using the public link. Values must be between 1 and 10,000.
3259
+ * @since 1.2
3260
+ */
3123
3261
  publicLinkLimit: number;
3124
- publicLink: string | null;
3262
+ /**
3263
+ * A Boolean value that limits the number of testers who can join the beta group using the public link.
3264
+ * @since 1.2
3265
+ */
3266
+ publicLinkLimitEnabled: boolean;
3267
+ /**
3268
+ * The creation date of the beta group.
3269
+ * @since 1.2
3270
+ * @example '2017-08-07T18:06:37.632Z'
3271
+ */
3272
+ createdDate: string;
3273
+ /** @since 1.2 */
3125
3274
  feedbackEnabled: boolean;
3275
+ /** @since 1.5 */
3276
+ hasAccessToAllBuilds: boolean;
3277
+ /** @since 1.6 */
3278
+ iosBuildsAvailableForAppleSiliconMac: boolean;
3126
3279
  }
3127
3280
  export class BetaGroup extends ConnectModel<BetaGroupProps> {
3128
3281
  static type: string;
@@ -3130,12 +3283,15 @@ declare module "connect/models/BetaGroup" {
3130
3283
  query?: import("connect/ConnectAPI").ConnectQueryParams<Record<string, any>> | undefined;
3131
3284
  } | undefined) => Promise<BetaGroup[]>;
3132
3285
  /**
3133
- *
3286
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/betagroupcreaterequest/data-data.dictionary
3134
3287
  * @param id `App` id
3135
3288
  */
3136
- static createAsync(context: RequestContext, { id, name, publicLinkEnabled, publicLinkLimit, publicLinkLimitEnabled, }: {
3289
+ static createAsync(context: RequestContext, { id, name, publicLinkEnabled, publicLinkLimit, publicLinkLimitEnabled, feedbackEnabled, hasAccessToAllBuilds, isInternalGroup, }: {
3290
+ /** The `App` identifier to create the beta group for */
3137
3291
  id: string;
3138
- } & Pick<BetaGroupProps, 'name' | 'publicLinkEnabled' | 'publicLinkLimit' | 'publicLinkLimitEnabled'>): Promise<BetaGroup>;
3292
+ } & Pick<BetaGroupProps, 'name'> & Partial<Pick<BetaGroupProps, 'publicLinkEnabled' | 'publicLinkLimit' | 'publicLinkLimitEnabled' | 'feedbackEnabled' | 'hasAccessToAllBuilds' | 'isInternalGroup'>>): Promise<BetaGroup>;
3293
+ /** @see https://developer.apple.com/documentation/appstoreconnectapi/betagroupupdaterequest/data-data.dictionary */
3294
+ updateAsync(options: Partial<Pick<BetaGroupProps, 'name' | 'publicLinkEnabled' | 'publicLinkLimit' | 'publicLinkLimitEnabled' | 'feedbackEnabled' | 'iosBuildsAvailableForAppleSiliconMac'>>): Promise<BetaGroup>;
3139
3295
  createBulkBetaTesterAssignmentsAsync(betaTesters: {
3140
3296
  email: string;
3141
3297
  firstName: string;
@@ -3422,55 +3578,99 @@ declare module "connect/models/AppStoreVersion" {
3422
3578
  MANUAL = "MANUAL",
3423
3579
  SCHEDULED = "SCHEDULED"
3424
3580
  }
3581
+ /**
3582
+ * `NOTARIZATION` is alternative app marketplace distribution.
3583
+ * All eligible app versions default to both `APP_STORE` and `NOTARIZATION`.
3584
+ * An app can be distributed on either or both.
3585
+ */
3586
+ export enum ReviewType {
3587
+ APP_STORE = "APP_STORE",
3588
+ NOTARIZATION = "NOTARIZATION"
3589
+ }
3590
+ export enum AppVersionState {
3591
+ ACCEPTED = "ACCEPTED",
3592
+ DEVELOPER_REJECTED = "DEVELOPER_REJECTED",
3593
+ IN_REVIEW = "IN_REVIEW",
3594
+ INVALID_BINARY = "INVALID_BINARY",
3595
+ METADATA_REJECTED = "METADATA_REJECTED",
3596
+ PENDING_APPLE_RELEASE = "PENDING_APPLE_RELEASE",
3597
+ PENDING_DEVELOPER_RELEASE = "PENDING_DEVELOPER_RELEASE",
3598
+ PREPARE_FOR_SUBMISSION = "PREPARE_FOR_SUBMISSION",
3599
+ PROCESSING_FOR_DISTRIBUTION = "PROCESSING_FOR_DISTRIBUTION",
3600
+ READY_FOR_DISTRIBUTION = "READY_FOR_DISTRIBUTION",
3601
+ READY_FOR_REVIEW = "READY_FOR_REVIEW",
3602
+ REJECTED = "REJECTED",
3603
+ REPLACED_WITH_NEW_VERSION = "REPLACED_WITH_NEW_VERSION",
3604
+ WAITING_FOR_EXPORT_COMPLIANCE = "WAITING_FOR_EXPORT_COMPLIANCE",
3605
+ WAITING_FOR_REVIEW = "WAITING_FOR_REVIEW"
3606
+ }
3607
+ /**
3608
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/appstoreversion/attributes-data.dictionary
3609
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/appstoreversioncreaterequest/data-data.dictionary/attributes-data.dictionary
3610
+ */
3425
3611
  export interface AppStoreVersionProps {
3426
3612
  /**
3613
+ * @since 1.2
3427
3614
  * @example 'IOS'
3428
3615
  */
3429
3616
  platform: Platform;
3430
3617
  /**
3431
- * @example '1.0'
3432
- */
3433
- versionString: string;
3434
- /**
3618
+ * @since 1.2
3619
+ * @deprecated 3.3 - use {@link appVersionState} instead
3435
3620
  * @example 'PREPARE_FOR_SUBMISSION'
3436
3621
  */
3437
3622
  appStoreState: AppStoreState;
3438
- storeIcon: ImageAsset | null;
3439
- watchStoreIcon: ImageAsset | null;
3440
3623
  /**
3624
+ * @since 1.2
3441
3625
  * @example '2020 Expo'
3442
3626
  */
3443
3627
  copyright: string | null;
3444
3628
  /**
3445
- * @example 'AFTER_APPROVAL'
3629
+ * @since 1.2
3630
+ * @example '2020-10-29T09:03:06-07:00'
3446
3631
  */
3447
- releaseType: ReleaseType | null;
3448
3632
  earliestReleaseDate: string | null;
3449
- /** @deprecated 1.6 */
3450
- usesIdfa: boolean | null;
3451
- isWatchOnly: boolean;
3452
- downloadable: boolean;
3633
+ /** @since 1.2 */
3634
+ releaseType: ReleaseType | null;
3635
+ /** @since 1.2 */
3636
+ versionString: string;
3453
3637
  /**
3638
+ * @since 1.2
3454
3639
  * @example '2020-10-29T09:03:06-07:00'
3455
3640
  */
3456
3641
  createdDate: string;
3642
+ /** @since 1.2 */
3643
+ downloadable: boolean;
3644
+ /** @since 3.3 */
3645
+ appVersionState: AppVersionState | null;
3646
+ /** @since 3.3 */
3647
+ reviewType: ReviewType | null;
3648
+ storeIcon: ImageAsset | null;
3649
+ watchStoreIcon: ImageAsset | null;
3457
3650
  appStoreVersionSubmission?: AppStoreVersionSubmission;
3651
+ /**
3652
+ * This property has been removed.
3653
+ * @since 1.2
3654
+ * @deprecated 1.6
3655
+ */
3656
+ usesIdfa?: never;
3458
3657
  }
3459
3658
  export class AppStoreVersion extends ConnectModel<AppStoreVersionProps> {
3460
3659
  static type: string;
3461
3660
  static DEFAULT_INCLUDES: string[];
3462
- static createAsync(context: RequestContext, { id, versionString, platform, }: {
3661
+ /** @see https://developer.apple.com/documentation/appstoreconnectapi/appstoreversioncreaterequest/data-data.dictionary */
3662
+ static createAsync(context: RequestContext, { id, platform, versionString, copyright, earliestReleaseDate, releaseType, reviewType, }: {
3663
+ /** The `App` identifier to create the version for */
3463
3664
  id: string;
3464
- versionString: string;
3465
- platform: Platform;
3466
- }): Promise<AppStoreVersion>;
3665
+ } & Pick<AppStoreVersionProps, 'platform' | 'versionString'> & Partial<Pick<AppStoreVersionProps, 'copyright' | 'earliestReleaseDate' | 'releaseType' | 'reviewType'>>): Promise<AppStoreVersion>;
3467
3666
  getBuildAsync({ query, }?: {
3468
3667
  query?: ConnectQueryParams;
3469
3668
  }): Promise<Build | null>;
3470
3669
  updateBuildAsync({ buildId }?: {
3471
3670
  buildId?: string;
3472
3671
  }): Promise<AppStoreVersion>;
3473
- updateAsync(options: Partial<Omit<AppStoreVersionProps, 'watchStoreIcon' | 'platform' | 'isWatchOnly' | 'storeIcon' | 'createdDate' | 'build' | 'appStoreVersionSubmission' | 'appStoreState'>>): Promise<AppStoreVersion>;
3672
+ /** @see https://developer.apple.com/documentation/appstoreconnectapi/appstoreversionupdaterequest/data-data.dictionary */
3673
+ updateAsync(options: Partial<Pick<AppStoreVersionProps, 'copyright' | 'earliestReleaseDate' | 'releaseType' | 'versionString' | 'downloadable' | 'reviewType'>>): Promise<AppStoreVersion>;
3474
3674
  getAgeRatingDeclarationAsync({ query, }?: {
3475
3675
  query?: ConnectQueryParams;
3476
3676
  }): Promise<AgeRatingDeclaration | null>;
@@ -3540,10 +3740,24 @@ declare module "connect/models/AppInfoLocalization" {
3540
3740
  declare module "connect/models/AppInfo" {
3541
3741
  import { RequestContext } from "network/Request";
3542
3742
  import { ConnectQueryParams } from "connect/ConnectAPI";
3743
+ import { KidsAgeBand } from "connect/models/AgeRatingDeclaration";
3543
3744
  import { AppCategory, AppCategoryId, AppSubcategoryId } from "connect/models/AppCategory";
3544
3745
  import { AppInfoLocalization, AppInfoLocalizationProps } from "connect/models/AppInfoLocalization";
3545
3746
  import { BundleIdPlatform } from "connect/models/BundleId";
3546
3747
  import { ConnectModel } from "connect/models/ConnectModel";
3748
+ export enum AppState {
3749
+ ACCEPTED = "ACCEPTED",
3750
+ DEVELOPER_REJECTED = "DEVELOPER_REJECTED",
3751
+ IN_REVIEW = "IN_REVIEW",
3752
+ PENDING_RELEASE = "PENDING_RELEASE",
3753
+ PREPARE_FOR_SUBMISSION = "PREPARE_FOR_SUBMISSION",
3754
+ READY_FOR_DISTRIBUTION = "READY_FOR_DISTRIBUTION",
3755
+ READY_FOR_REVIEW = "READY_FOR_REVIEW",
3756
+ REJECTED = "REJECTED",
3757
+ REPLACED_WITH_NEW_INFO = "REPLACED_WITH_NEW_INFO",
3758
+ WAITING_FOR_REVIEW = "WAITING_FOR_REVIEW"
3759
+ }
3760
+ /** @deprecated 3.3 - use {@link AppState} instead. */
3547
3761
  export enum AppStoreState {
3548
3762
  READY_FOR_SALE = "READY_FOR_SALE",
3549
3763
  PROCESSING_FOR_APP_STORE = "PROCESSING_FOR_APP_STORE",
@@ -3557,6 +3771,11 @@ declare module "connect/models/AppInfo" {
3557
3771
  METADATA_REJECTED = "METADATA_REJECTED",
3558
3772
  INVALID_BINARY = "INVALID_BINARY"
3559
3773
  }
3774
+ export enum AustraliaAgeRating {
3775
+ FIFTEEN = "FIFTEEN",
3776
+ EIGHTEEN = "EIGHTEEN"
3777
+ }
3778
+ /** @deprecated 2.2 - use {@link BrazilAgeRatingV2} instead. */
3560
3779
  export enum BrazilAgeRating {
3561
3780
  L = "L",
3562
3781
  TEN = "TEN",
@@ -3565,19 +3784,77 @@ declare module "connect/models/AppInfo" {
3565
3784
  SIXTEEN = "SIXTEEN",
3566
3785
  EIGHTEEN = "EIGHTEEN"
3567
3786
  }
3787
+ export enum BrazilAgeRatingV2 {
3788
+ SELF_RATED_L = "SELF_RATED_L",
3789
+ SELF_RATED_TEN = "SELF_RATED_TEN",
3790
+ SELF_RATED_TWELVE = "SELF_RATED_TWELVE",
3791
+ SELF_RATED_FOURTEE = "SELF_RATED_FOURTEE",
3792
+ SELF_RATED_SIXTEEN = "SELF_RATED_SIXTEEN",
3793
+ SELF_RATED_EIGHTEE = "SELF_RATED_EIGHTEE",
3794
+ OFFICIAL_L = "OFFICIAL_L",
3795
+ OFFICIAL_TEN = "OFFICIAL_TEN",
3796
+ OFFICIAL_TWELVE = "OFFICIAL_TWELVE",
3797
+ OFFICIAL_FOURTEEN = "OFFICIAL_FOURTEEN",
3798
+ OFFICIAL_SIXTEEN = "OFFICIAL_SIXTEEN",
3799
+ OFFICIAL_EIGHTEEN = "OFFICIAL_EIGHTEEN"
3800
+ }
3801
+ export enum KoreaAgeRating {
3802
+ ALL = "ALL",
3803
+ TWELVE = "TWELVE",
3804
+ FIFTEEN = "FIFTEEN",
3805
+ NINETEEN = "NINETEEN",
3806
+ NOT_APPLICABLE = "NOT_APPLICABLE"
3807
+ }
3568
3808
  export enum AppStoreAgeRating {
3569
3809
  FOUR_PLUS = "FOUR_PLUS"
3570
3810
  }
3571
- export enum KidsAgeBand {
3572
- FIVE_AND_UNDER = "FIVE_AND_UNDER",
3573
- SIX_TO_EIGHT = "SIX_TO_EIGHT",
3574
- NINE_TO_ELEVEN = "NINE_TO_ELEVEN"
3575
- }
3811
+ /**
3812
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/appinfo/attributes-data.dictionary
3813
+ * @see https://developer.apple.com/documentation/appstoreconnectapi/appinfoupdaterequest/data-data.dictionary
3814
+ */
3576
3815
  export interface AppInfoProps {
3816
+ /**
3817
+ * The app’s age rating as it appears on the App Store for all platforms.
3818
+ * @since 1.2
3819
+ */
3820
+ appStoreAgeRating: AppStoreAgeRating | null;
3821
+ /**
3822
+ * The state of an app version in the App Store.
3823
+ * @since 1.2
3824
+ * @deprecated 3.3 - use {@link state} instead.
3825
+ */
3577
3826
  appStoreState: AppStoreState;
3578
- appStoreAgeRating: null | AppStoreAgeRating;
3579
- brazilAgeRating: null | BrazilAgeRating;
3580
- kidsAgeBand: null | KidsAgeBand;
3827
+ /**
3828
+ * The app’s age rating as it appears on the App Store in Australia for all platforms.
3829
+ * @since 3.6.0
3830
+ */
3831
+ australiaAgeRating: AustraliaAgeRating | null;
3832
+ /**
3833
+ * The app’s age rating as it appears on the App Store in Brazil for all platforms.
3834
+ * @since 1.2
3835
+ * @deprecated 2.2 - use {@link brazilAgeRatingV2} instead.
3836
+ */
3837
+ brazilAgeRating: BrazilAgeRating | null;
3838
+ /**
3839
+ * The app’s age rating as it appears on the App Store in Brazil for all platforms.
3840
+ * @since 2.2
3841
+ */
3842
+ brazilAgeRatingV2: BrazilAgeRatingV2 | null;
3843
+ /**
3844
+ * A Made for Kids app’s age band.
3845
+ * @since 1.2
3846
+ */
3847
+ kidsAgeBand: KidsAgeBand | null;
3848
+ /**
3849
+ * The app’s age rating as it appears on the App Store in South Korea for all platforms.
3850
+ * @since 3.6.0
3851
+ */
3852
+ koreaAgeRating: KoreaAgeRating | null;
3853
+ /**
3854
+ * The state of an app version in the App Store.
3855
+ * @since 3.3
3856
+ */
3857
+ state: AppState | null;
3581
3858
  primaryCategory?: AppCategory;
3582
3859
  primarySubcategoryOne?: AppCategory;
3583
3860
  primarySubcategoryTwo?: AppCategory;