e312110933
* feat(automate): query active user functions * fix(automate): show automations to non-stream-owners * feat(automate): associate function with workspace * fix(automate): split functions page between user and example functions * fix(automate): ugh * fix(functions): use correct query type in different places * fix(automate): workspace functions page * feat(automate): query specific categories of functions * fix(automate): checkpoint * fix(workspaces): successful queries w local env * fix(automate): createFunctionWithoutVersion * fix(automate): successful associate function with workspace * fix(automate): query and return workspaces on functions * fix(automate): show current function workspace * fix(automate): query functions in automation create dialog * fix(automate): audit non-owner automation access * refactor(automate): logs api can get the projectId from the path * fix(automate): multiregion gql resolvers * fix(automate): multiregion event listeners * fix(automate): drop automationCount * fix(automate): multiregion run status * fix(automate): correctness * fix(automate): successful usage of multiregion results * fix(automate): actually finish event listeners * chore(automate): fix tests fix tests * fix(automate): fix tests but make it multiregion flavor * fix(automate): logs endpoint * fix(automate): inject projectid correctly * fix(automate): drop user-source functions * fix(automate): owners edit, others can view * fix(automate): simplify queries, auto workspace association * chore(automate): appease * chore(automate): fix function types * fix(automate): get to workspace functions from empty state * chore(automate): death to all slugs * fix(automate): no create automation from function * fix(automate): hide workspace change, tweak role access --------- Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
33 lines
872 B
TypeScript
33 lines
872 B
TypeScript
import type {
|
|
MaybeNullOrUndefined,
|
|
Nullable,
|
|
SourceAppDefinition
|
|
} from '@speckle/shared'
|
|
import type {
|
|
AutomateFunctionCreateDialogTemplateStep_AutomateFunctionTemplateFragment,
|
|
Workspace
|
|
} from '~/lib/common/generated/gql/graphql'
|
|
|
|
export type CreatableFunctionTemplate =
|
|
AutomateFunctionCreateDialogTemplateStep_AutomateFunctionTemplateFragment
|
|
|
|
export type FunctionDetailsFormValues = {
|
|
image?: Nullable<string>
|
|
name: string
|
|
description: string
|
|
allowedSourceApps?: SourceAppDefinition[]
|
|
tags?: string[]
|
|
org?: string
|
|
workspace?: Pick<Workspace, 'id' | 'name'>
|
|
}
|
|
|
|
export const cleanFunctionLogo = (
|
|
logo: MaybeNullOrUndefined<string>
|
|
): Nullable<string> => {
|
|
if (!logo?.length) return null
|
|
if (logo.startsWith('data:')) return logo
|
|
if (logo.startsWith('http:')) return logo
|
|
if (logo.startsWith('https:')) return logo
|
|
return null
|
|
}
|