decord/alpha/source/modules/applications/utils/ApplicationInstallUtils.tsx

93 lines
3.4 KiB
TypeScript
Raw Permalink Normal View History

2026-10-10 08:08:14 +00:00
// Module ID: 10861
// Function ID: 10862
// Name: ApplicationInstallUtils
2026-10-12 06:59:38 +00:00
// Dependencies: [9248, 5403, 9235, 2]
2026-07-29 08:29:29 +00:00
// Exports: canInstallApplication, isAppUserInstallable, shouldInstallApplicationOnDemand
2026-07-20 16:05:17 +00:00
2026-10-10 08:08:14 +00:00
// Module 10861 (ApplicationInstallUtils)
import ApplicationCommandConstants from "ApplicationCommandConstants" /* 5403 */;
2026-10-12 06:59:38 +00:00
import ApplicationIntegrationType from "ApplicationIntegrationType" /* 9235 */;
import ApplicationCommandIndexStore from "ApplicationCommandIndexStore" /* 9248 */;
2026-10-03 08:58:59 +00:00
import size from "module_2" /* 2 */;
2026-07-23 10:11:24 +00:00
2026-10-13 12:43:34 +00:00
const f106644 = (oauth2_install_params) => {
2026-10-03 08:58:59 +00:00
let prop;
if (oauth2_install_params != null) {
prop = oauth2_install_params.oauth2_install_params;
}
let tmp2 = null != prop;
if (!tmp2) {
let oauth2InstallParams;
if (oauth2_install_params != null) {
oauth2InstallParams = oauth2_install_params.oauth2InstallParams;
}
tmp2 = null != oauth2InstallParams;
}
return tmp2;
};
const BuiltInSectionId = ApplicationCommandConstants.BuiltInSectionId;
let result = size.fileFinishedImporting("modules/applications/utils/ApplicationInstallUtils.tsx");
2026-07-29 08:29:29 +00:00
2026-10-03 08:58:59 +00:00
export const canInstallApplication = function canInstallApplication(installAppProps) {
const integrationTypesConfig = installAppProps.integrationTypesConfig;
let tmp = null != installAppProps.customInstallUrl || null != installAppProps.installParams;
2026-07-20 16:05:17 +00:00
if (!tmp) {
let someResult = null != integrationTypesConfig;
if (someResult) {
const _Object = Object;
const values = Object.values(integrationTypesConfig);
2026-10-13 12:43:34 +00:00
someResult = values.some(f106644);
2026-07-20 16:05:17 +00:00
}
tmp = someResult;
}
return tmp;
2026-07-29 08:29:29 +00:00
};
export const isAppUserInstallable = function isAppUserInstallable(integrationTypesConfig) {
integrationTypesConfig = integrationTypesConfig.integrationTypesConfig;
let tmp = null != integrationTypesConfig.customInstallUrl || null != integrationTypesConfig.installParams;
if (!tmp) {
let someResult = null != integrationTypesConfig;
if (someResult) {
const _Object = Object;
const values = Object.values(integrationTypesConfig);
2026-10-13 12:43:34 +00:00
someResult = values.some(f106644);
2026-07-29 08:29:29 +00:00
}
tmp = someResult;
}
2026-07-20 16:05:17 +00:00
if (tmp) {
tmp = null != integrationTypesConfig;
}
if (tmp) {
2026-08-24 06:08:38 +00:00
tmp = ApplicationIntegrationType.ApplicationIntegrationType.USER_INSTALL in integrationTypesConfig;
2026-07-20 16:05:17 +00:00
}
return tmp;
};
export const shouldInstallApplicationOnDemand = function shouldInstallApplicationOnDemand(arg0) {
2026-10-03 08:58:59 +00:00
let applicationId;
let channel;
let commandIntegrationTypes;
2026-07-20 16:05:17 +00:00
({ applicationId, channel, commandIntegrationTypes } = arg0);
2026-10-03 08:58:59 +00:00
let tmp4 = !(null != commandIntegrationTypes && !commandIntegrationTypes.includes(ApplicationIntegrationType.ApplicationIntegrationType.USER_INSTALL));
const tmp = null != commandIntegrationTypes && !commandIntegrationTypes.includes(ApplicationIntegrationType.ApplicationIntegrationType.USER_INSTALL);
if (tmp4) {
2026-07-29 08:29:29 +00:00
let tmp6 = applicationId !== BuiltInSectionId.BUILT_IN;
if (tmp6) {
const result = ApplicationCommandIndexStore.hasUserStateApplication(applicationId);
2026-07-29 08:29:29 +00:00
let tmp8 = !result;
2026-10-03 08:58:59 +00:00
const obj = ApplicationCommandIndexStore;
if (tmp8) {
2026-07-29 08:29:29 +00:00
let tmp9 = null == channel;
if (!tmp9) {
const obj3 = { applicationId, channelId: null, guildId: null };
({ id: obj2.channelId, guild_id: obj2.guildId } = channel);
tmp9 = !obj.hasContextStateApplication(obj3);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp8 = tmp9;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp6 = tmp8;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp4 = tmp6;
2026-07-20 16:05:17 +00:00
}
return tmp4;
};