"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.EXPO_WILL_GENERATE = exports.REQUIRED_CREDENTIALS = exports.CREDENTIALS = exports.PROVISIONING_PROFILE = exports.PUSH_CERT = exports.PUSH_KEY = exports.DISTRIBUTION_CERT = void 0;
const DISTRIBUTION_CERT = 'distributionCert';
exports.DISTRIBUTION_CERT = DISTRIBUTION_CERT;
const PUSH_KEY = 'pushKey';
exports.PUSH_KEY = PUSH_KEY;
const PUSH_CERT = 'pushCert';
exports.PUSH_CERT = PUSH_CERT;
const PROVISIONING_PROFILE = 'provisioningProfile';
exports.PROVISIONING_PROFILE = PROVISIONING_PROFILE;
const CREDENTIALS = {
  [DISTRIBUTION_CERT]: {
    id: DISTRIBUTION_CERT,
    canReuse: true,
    name: 'Apple Distribution Certificate',
    required: ['certP12', 'certPassword'],
    questions: {
      certP12: {
        question: 'Path to P12 file:',
        type: 'file',
        base64Encode: true
      },
      certPassword: {
        type: 'password',
        question: 'P12 password:'
      }
    }
  },
  [PUSH_KEY]: {
    id: PUSH_KEY,
    canReuse: true,
    name: 'Apple Push Notifications service key',
    required: ['apnsKeyP8', 'apnsKeyId'],
    questions: {
      apnsKeyP8: {
        type: 'file',
        question: 'Path to P8 file:'
      },
      apnsKeyId: {
        type: 'string',
        question: 'Key ID:'
      }
    }
  },
  [PROVISIONING_PROFILE]: {
    id: PROVISIONING_PROFILE,
    name: 'Apple Provisioning Profile',
    required: ['provisioningProfile'],
    dependsOn: DISTRIBUTION_CERT,
    questions: {
      provisioningProfile: {
        type: 'file',
        question: 'Path to .mobile provisioning profile:',
        base64Encode: true
      }
    }
  },
  [PUSH_CERT]: {
    id: PUSH_CERT,
    name: 'Apple Push Notifications certificate',
    required: ['pushP12', 'pushPassword'],
    deprecated: true,
    migrationDocs: 'https://docs.expo.io/versions/latest/distribution/building-standalone-apps/#switch-to-push-notification-key-on-ios'
  }
}; // Order of elements in the following array matters.
// We have to generate Distribution Certificate prior to generating Provisioning Profile.

exports.CREDENTIALS = CREDENTIALS;
const REQUIRED_CREDENTIALS = [CREDENTIALS.distributionCert, {
  or: [CREDENTIALS.pushKey, CREDENTIALS.pushCert]
}, CREDENTIALS.provisioningProfile];
exports.REQUIRED_CREDENTIALS = REQUIRED_CREDENTIALS;
const EXPO_WILL_GENERATE = 'EXPO_PLEASE_GENERATE_THIS_FOR_ME';
exports.EXPO_WILL_GENERATE = EXPO_WILL_GENERATE;
//# sourceMappingURL=../../../../__sourcemaps__/commands/build/ios/credentials/constants.js.map