import { Doc, Mixin, Ref } from '@hcengineering/core' import type { Plugin, Resource } from '@hcengineering/platform' import { plugin } from '@hcengineering/platform' import { Method, ProcessFunction } from '@hcengineering/process' import { TriggerFunc } from '@hcengineering/server-core' import { ExecuteFunc, TransformFunc } from './types' export * from './types' /** * @public */ export const serverProcessId = 'server-process' as Plugin export interface MethodImpl extends Method { func: Resource } export interface FuncImpl extends ProcessFunction { func: Resource } /** * @public */ export default plugin(serverProcessId, { mixin: { MethodImpl: '' as Ref>>, FuncImpl: '' as Ref> }, func: { RunSubProcess: '' as Resource, CreateToDo: '' as Resource, UpdateCard: '' as Resource }, transform: { FirstValue: '' as Resource, LastValue: '' as Resource, Random: '' as Resource, UpperCase: '' as Resource, LowerCase: '' as Resource, Trim: '' as Resource, Add: '' as Resource, Subtract: '' as Resource, Offset: '' as Resource, FirstWorkingDayAfter: '' as Resource }, trigger: { OnExecutionCreate: '' as Resource, OnStateRemove: '' as Resource, OnProcessRemove: '' as Resource, OnProcessToDoClose: '' as Resource, OnProcessToDoRemove: '' as Resource } })