Skip to main content
Glama

mcp-google-sheets

enterprise-flags.hooks.ts3.52 kB
import { AppSystemProp } from '@activepieces/server-shared' import { ApEdition, ApFlagId, isNil, PrincipalType, ThirdPartyAuthnProviderEnum } from '@activepieces/shared' import { FlagsServiceHooks } from '../../flags/flags.hooks' import { system } from '../../helper/system/system' import { platformService } from '../../platform/platform.service' import { platformUtils } from '../../platform/platform.utils' import { federatedAuthnService } from '../authentication/federated-authn/federated-authn-service' import { domainHelper } from '../custom-domains/domain-helper' import { appearanceHelper } from '../helper/appearance-helper' export const enterpriseFlagsHooks: FlagsServiceHooks = { async modify({ flags, request }) { const modifiedFlags: Record<string, string | boolean | number | Record<string, unknown>> = { ...flags } const platformIdFromPrincipal = request.principal.type === PrincipalType.UNKNOWN ? null : request.principal.platform.id const platformId = platformIdFromPrincipal ?? await platformUtils.getPlatformIdForRequest(request) const edition = system.getEdition() if (isNil(platformId)) { if (edition === ApEdition.CLOUD) { modifiedFlags[ApFlagId.THIRD_PARTY_AUTH_PROVIDERS_TO_SHOW_MAP] = { [ThirdPartyAuthnProviderEnum.GOOGLE]: true, } } return modifiedFlags } modifiedFlags[ApFlagId.CAN_CONFIGURE_AI_PROVIDER] = edition !== ApEdition.CLOUD || platformId === system.get(AppSystemProp.CLOUD_PLATFORM_ID) const platformWithPlan = await platformService.getOneWithPlanOrThrow(platformId) const platform = await platformService.getOneOrThrow(platformId) modifiedFlags[ApFlagId.THIRD_PARTY_AUTH_PROVIDERS_TO_SHOW_MAP] = { [ThirdPartyAuthnProviderEnum.GOOGLE]: !isNil( platform.federatedAuthProviders.google, ), [ThirdPartyAuthnProviderEnum.SAML]: !isNil( platform.federatedAuthProviders.saml, ), } modifiedFlags[ApFlagId.EMAIL_AUTH_ENABLED] = platform.emailAuthEnabled modifiedFlags[ApFlagId.SHOW_POWERED_BY_IN_FORM] = platformWithPlan.plan.showPoweredBy modifiedFlags[ApFlagId.THEME] = await appearanceHelper.getTheme({ platformId, }) modifiedFlags[ApFlagId.SHOW_COMMUNITY] = platformWithPlan.plan.showPoweredBy modifiedFlags[ApFlagId.SHOW_CHANGELOG] = !platformWithPlan.plan.embeddingEnabled modifiedFlags[ApFlagId.SHOW_BILLING] = !platformUtils.isCustomerOnDedicatedDomain(platformWithPlan) && system.getEdition() === ApEdition.CLOUD modifiedFlags[ApFlagId.CLOUD_AUTH_ENABLED] = platform.cloudAuthEnabled modifiedFlags[ApFlagId.PUBLIC_URL] = await domainHelper.getPublicUrl({ path: '', platformId, }) modifiedFlags[ApFlagId.SAML_AUTH_ACS_URL] = await domainHelper.getInternalApiUrl({ path: '/v1/authn/saml/acs', platformId, }) modifiedFlags[ ApFlagId.WEBHOOK_URL_PREFIX ] = await domainHelper.getPublicApiUrl({ path: '/v1/webhooks', platformId, }) modifiedFlags[ApFlagId.THIRD_PARTY_AUTH_PROVIDER_REDIRECT_URL] = await federatedAuthnService(request.log).getThirdPartyRedirectUrl(platformId) modifiedFlags[ApFlagId.SHOW_TUTORIALS] = !platformWithPlan.plan.embeddingEnabled return modifiedFlags }, }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/activepieces/activepieces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server