104 lines
4.8 KiB
JavaScript
104 lines
4.8 KiB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
|
|
function isLegacyPasswordCredentials(opts) {
|
|
const creds = opts;
|
|
return creds.appleId !== undefined || creds.appleIdPassword !== undefined;
|
|
}
|
|
exports.isLegacyPasswordCredentials = isLegacyPasswordCredentials;
|
|
function isLegacyApiKeyCredentials(opts) {
|
|
const creds = opts;
|
|
return creds.appleApiKey !== undefined || creds.appleApiIssuer !== undefined;
|
|
}
|
|
exports.isLegacyApiKeyCredentials = isLegacyApiKeyCredentials;
|
|
function validateLegacyAuthorizationArgs(opts) {
|
|
const isPassword = isLegacyPasswordCredentials(opts);
|
|
const isApiKey = isLegacyApiKeyCredentials(opts);
|
|
if (isPassword && isApiKey) {
|
|
throw new Error('Cannot use both password credentials and API key credentials at once');
|
|
}
|
|
if (isPassword) {
|
|
const passwordCreds = opts;
|
|
if (!passwordCreds.appleId) {
|
|
throw new Error('The appleId property is required when using notarization with appleIdPassword');
|
|
}
|
|
else if (!passwordCreds.appleIdPassword) {
|
|
throw new Error('The appleIdPassword property is required when using notarization with appleId');
|
|
}
|
|
return passwordCreds;
|
|
}
|
|
if (isApiKey) {
|
|
const apiKeyCreds = opts;
|
|
if (!apiKeyCreds.appleApiKey) {
|
|
throw new Error('The appleApiKey property is required when using notarization with appleApiIssuer');
|
|
}
|
|
else if (!apiKeyCreds.appleApiIssuer) {
|
|
throw new Error('The appleApiIssuer property is required when using notarization with appleApiKey');
|
|
}
|
|
return apiKeyCreds;
|
|
}
|
|
throw new Error('No authentication properties provided (e.g. appleId, appleApiKey)');
|
|
}
|
|
exports.validateLegacyAuthorizationArgs = validateLegacyAuthorizationArgs;
|
|
function isNotaryToolPasswordCredentials(opts) {
|
|
const creds = opts;
|
|
return (creds.appleId !== undefined || creds.appleIdPassword !== undefined || creds.teamId !== undefined);
|
|
}
|
|
exports.isNotaryToolPasswordCredentials = isNotaryToolPasswordCredentials;
|
|
function isNotaryToolApiKeyCredentials(opts) {
|
|
const creds = opts;
|
|
return (creds.appleApiIssuer !== undefined ||
|
|
creds.appleApiKey !== undefined ||
|
|
creds.appleApiKeyId !== undefined);
|
|
}
|
|
exports.isNotaryToolApiKeyCredentials = isNotaryToolApiKeyCredentials;
|
|
function isNotaryToolKeychainCredentials(opts) {
|
|
const creds = opts;
|
|
return creds.keychain !== undefined || creds.keychainProfile !== undefined;
|
|
}
|
|
exports.isNotaryToolKeychainCredentials = isNotaryToolKeychainCredentials;
|
|
function validateNotaryToolAuthorizationArgs(opts) {
|
|
const isPassword = isNotaryToolPasswordCredentials(opts);
|
|
const isApiKey = isNotaryToolApiKeyCredentials(opts);
|
|
const isKeychain = isNotaryToolKeychainCredentials(opts);
|
|
if ((isPassword ? 1 : 0) + (isApiKey ? 1 : 0) + (isKeychain ? 1 : 0) > 1) {
|
|
throw new Error('Cannot use password credentials, API key credentials and keychain credentials at once');
|
|
}
|
|
if (isPassword) {
|
|
const passwordCreds = opts;
|
|
if (!passwordCreds.appleId) {
|
|
throw new Error('The appleId property is required when using notarization with password credentials');
|
|
}
|
|
else if (!passwordCreds.appleIdPassword) {
|
|
throw new Error('The appleIdPassword property is required when using notarization with password credentials');
|
|
}
|
|
else if (!passwordCreds.teamId) {
|
|
throw new Error('The teamId property is required when using notarization with password credentials');
|
|
}
|
|
return passwordCreds;
|
|
}
|
|
if (isApiKey) {
|
|
const apiKeyCreds = opts;
|
|
if (!apiKeyCreds.appleApiKey) {
|
|
throw new Error('The appleApiKey property is required when using notarization with ASC credentials');
|
|
}
|
|
else if (!apiKeyCreds.appleApiIssuer) {
|
|
throw new Error('The appleApiIssuer property is required when using notarization with ASC credentials');
|
|
}
|
|
else if (!apiKeyCreds.appleApiKeyId) {
|
|
throw new Error('The appleApiKeyId property is required when using notarization with ASC credentials');
|
|
}
|
|
return apiKeyCreds;
|
|
}
|
|
if (isKeychain) {
|
|
const keychainCreds = opts;
|
|
if (!keychainCreds.keychain) {
|
|
throw new Error('The keychain property is required when using notarization with keychain credentials');
|
|
}
|
|
else if (!keychainCreds.keychainProfile) {
|
|
throw new Error('The keychainProfile property is required when using notarization with keychain credentials');
|
|
}
|
|
return keychainCreds;
|
|
}
|
|
throw new Error('No authentication properties provided (e.g. appleId, appleApiKey, keychain)');
|
|
}
|
|
exports.validateNotaryToolAuthorizationArgs = validateNotaryToolAuthorizationArgs;
|
|
//# sourceMappingURL=validate-args.js.map
|