"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.displayIosCredentials = displayIosCredentials;
exports.displayIosAppCredentials = displayIosAppCredentials;
exports.displayIosUserCredentials = displayIosUserCredentials;
exports.displayAndroidCredentials = displayAndroidCredentials;
exports.displayAndroidAppCredentials = displayAndroidAppCredentials;
function _chalk() {
const data = _interopRequireDefault(require("chalk"));
_chalk = function () {
return data;
};
return data;
}
function _uniq() {
const data = _interopRequireDefault(require("lodash/uniq"));
_uniq = function () {
return data;
};
return data;
}
function _isEmpty() {
const data = _interopRequireDefault(require("lodash/isEmpty"));
_isEmpty = function () {
return data;
};
return data;
}
function _fsExtra() {
const data = _interopRequireDefault(require("fs-extra"));
_fsExtra = function () {
return data;
};
return data;
}
function _get() {
const data = _interopRequireDefault(require("lodash/get"));
_get = function () {
return data;
};
return data;
}
function _xdl() {
const data = require("@expo/xdl");
_xdl = function () {
return data;
};
return data;
}
function _log() {
const data = _interopRequireDefault(require("../../log"));
_log = function () {
return data;
};
return data;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
async function displayIosCredentials(credentials) {
(0, _log().default)(_chalk().default.bold('Available credentials for iOS apps\n'));
(0, _log().default)(_chalk().default.bold('Application credentials\n'));
for (const cred of credentials.appCredentials) {
displayIosAppCredentials(cred);
(0, _log().default)();
}
(0, _log().default)();
(0, _log().default)(_chalk().default.bold('User credentials\n'));
for (const cred of credentials.userCredentials) {
displayIosUserCredentials(cred, credentials);
(0, _log().default)();
}
(0, _log().default)();
(0, _log().default)();
}
function displayIosAppCredentials(appCredentials) {
(0, _log().default)(` Experience: ${_chalk().default.bold(appCredentials.experienceName)}, bundle identifier: ${appCredentials.bundleIdentifier}`);
if (appCredentials.credentials.provisioningProfile && appCredentials.credentials.provisioningProfileId) {
(0, _log().default)(` Provisioning profile (ID: ${_chalk().default.green(appCredentials.credentials.provisioningProfileId)})`);
} else {
(0, _log().default)(' Provisioning profile is missing. It will be generated durring the next build');
}
if (appCredentials.credentials.teamId || appCredentials.credentials.teamName) {
(0, _log().default)(` Apple Team ID: ${_chalk().default.green(appCredentials.credentials.teamId || '---------')}, Apple Team Name: ${_chalk().default.green(appCredentials.credentials.teamName || '---------')}`);
}
if (appCredentials.credentials.pushP12 && appCredentials.credentials.pushPassword) {
(0, _log().default)(` (deprecated) Push Certificate (Push ID: ${_chalk().default.green(appCredentials.credentials.pushId || '-----')})`);
}
}
function displayIosUserCredentials(userCredentials, credentials) {
if (userCredentials.type === 'push-key') {
(0, _log().default)(` Push Notifications Key - Key ID: ${_chalk().default.green(userCredentials.apnsKeyId)}`);
} else if (userCredentials.type === 'dist-cert') {
(0, _log().default)(` Distribution Certificate - Certificate ID: ${_chalk().default.green(userCredentials.certId || '-----')}`);
} else {
_log().default.warn(` Unknown key type ${(0, _get().default)(userCredentials, 'type')}`);
}
(0, _log().default)(` Apple Team ID: ${_chalk().default.green(userCredentials.teamId || '---------')}, Apple Team Name: ${_chalk().default.green(userCredentials.teamName || '---------')}`);
if (credentials) {
const field = userCredentials.type === 'push-key' ? 'pushCredentialsId' : 'distCredentialsId';
const usedByApps = (0, _uniq().default)(credentials.appCredentials.filter(c => c[field] === userCredentials.id).map(c => `${c.experienceName} (${c.bundleIdentifier})`)).join(',\n ');
const usedByAppsText = usedByApps ? `used by\n ${usedByApps}` : 'not used by any apps';
(0, _log().default)(` ${_chalk().default.gray(usedByAppsText)}`);
}
}
async function displayAndroidCredentials(credentialsList) {
(0, _log().default)(_chalk().default.bold('Available Android credentials'));
(0, _log().default)();
for (const credentials of credentialsList) {
await displayAndroidAppCredentials(credentials);
}
}
async function displayAndroidAppCredentials(credentials) {
const tmpFilename = `expo_tmp_keystore_file.jks`;
try {
if (await _fsExtra().default.pathExists(tmpFilename)) {
await _fsExtra().default.unlink(tmpFilename);
}
(0, _log().default)(_chalk().default.green(credentials.experienceName));
(0, _log().default)(_chalk().default.bold(' Upload Keystore hashes'));
if (!(0, _isEmpty().default)(credentials.keystore)) {
const storeBuf = Buffer.from((0, _get().default)(credentials, 'keystore.keystore'), 'base64');
await _fsExtra().default.writeFile(tmpFilename, storeBuf);
await _xdl().AndroidCredentials.logKeystoreHashes({
keystorePath: tmpFilename,
...credentials.keystore
}, ' ');
} else {
(0, _log().default)(' -----------------------');
}
(0, _log().default)(_chalk().default.bold(' Push Notifications credentials'));
(0, _log().default)(' FCM Api Key: ', (0, _get().default)(credentials, 'pushCredentials.fcmApiKey', '---------------------'));
(0, _log().default)('\n');
} catch (error) {
_log().default.error(' Failed to parse the keystore', error);
(0, _log().default)('\n');
} finally {
if (await _fsExtra().default.pathExists(tmpFilename)) {
await _fsExtra().default.unlink(tmpFilename);
}
}
}
//# sourceMappingURL=../../__sourcemaps__/credentials/actions/list.js.map