| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import { subscriptionHasHipaaAddon } from '@/components/interfaces/Billing/Subscription/Subscription.utils'
- import { getProjectSettings } from '@/data/config/project-settings-v2-query'
- import { checkEntitlement } from '@/data/entitlements/entitlements-query'
- import { getOrganizations } from '@/data/organizations/organizations-query'
- import { getProjectDetail } from '@/data/projects/project-detail-query'
- import { getOrgSubscription } from '@/data/subscriptions/org-subscription-query'
- import { getAiOptInLevel } from '@/hooks/misc/useOrgOptedIntoAi'
- export const getOrgAIDetails = async ({
- orgSlug,
- authorization,
- }: {
- orgSlug: string
- authorization: string
- }) => {
- const headers = {
- 'Content-Type': 'application/json',
- ...(authorization && { Authorization: authorization }),
- }
- const [organizations, subscription, advanceModelAccess] = await Promise.all([
- getOrganizations({ headers }),
- getOrgSubscription({ orgSlug }, undefined, headers),
- checkEntitlement(orgSlug, 'assistant.advance_model', undefined, headers),
- ])
- const selectedOrg = organizations.find((org) => org.slug === orgSlug)
- return {
- aiOptInLevel: getAiOptInLevel(selectedOrg?.opt_in_tags),
- hasAccessToAdvanceModel: advanceModelAccess.hasAccess,
- hasHipaaAddon: subscriptionHasHipaaAddon(subscription),
- orgId: selectedOrg?.id,
- planId: selectedOrg?.plan.id,
- }
- }
- export const getProjectAIDetails = async ({
- projectRef,
- authorization,
- }: {
- projectRef: string
- authorization: string
- }) => {
- const headers = {
- 'Content-Type': 'application/json',
- ...(authorization && { Authorization: authorization }),
- }
- const [selectedProject, projectSettings] = await Promise.all([
- getProjectDetail({ ref: projectRef }, undefined, headers),
- getProjectSettings({ projectRef }, undefined, headers),
- ])
- return {
- region: selectedProject?.region,
- isSensitive: projectSettings?.is_sensitive,
- }
- }
|