Process roles (#8654)

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
Denis Bykhov
2025-04-22 16:39:21 +07:00
committed by GitHub
parent c07db83d1b
commit 470c629f9f
39 changed files with 772 additions and 84 deletions
+5 -2
View File
@@ -91,6 +91,7 @@ export interface Method<T extends Doc> extends Doc {
}
export interface ProcessFunction extends Doc {
type: 'transform' | 'reduce' | 'context'
of: Ref<Class<Doc>>
editor?: AnyComponent
category: AttributeCategory | undefined
@@ -134,7 +135,8 @@ export default plugin(processId, {
ObjectNotFound: '' as IntlString,
AttributeNotExists: '' as IntlString,
UserRequestedValueNotProvided: '' as IntlString,
ResultNotProvided: '' as IntlString
ResultNotProvided: '' as IntlString,
EmptyFunctionResult: '' as IntlString
},
icon: {
Process: '' as Asset,
@@ -153,6 +155,7 @@ export default plugin(processId, {
Add: '' as Ref<ProcessFunction>,
Subtract: '' as Ref<ProcessFunction>,
Offset: '' as Ref<ProcessFunction>,
FirstWorkingDayAfter: '' as Ref<ProcessFunction>
FirstWorkingDayAfter: '' as Ref<ProcessFunction>,
RoleContext: '' as Ref<ProcessFunction>
}
})
+14 -2
View File
@@ -2,6 +2,7 @@ import { Class, Doc, type AnyAttribute, type Association, type Ref } from '@hcen
import { ProcessFunction } from '.'
export interface Context {
functions: Ref<ProcessFunction>[]
attributes: AnyAttribute[]
nested: Record<string, NestedContext>
relations: Record<string, RelatedContext>
@@ -25,7 +26,7 @@ export interface Func {
}
interface BaseSelectedContext {
type: 'attribute' | 'relation' | 'nested' | 'userRequest'
type: 'attribute' | 'relation' | 'nested' | 'userRequest' | 'function'
// attribute key
key: string
@@ -60,4 +61,15 @@ export interface SelectedUserRequest extends BaseSelectedContext {
id: string
}
export type SelectedContext = SelectedAttribute | SelectedRelation | SelectedNested | SelectedUserRequest
export interface SelectedContextFunc extends BaseSelectedContext {
type: 'function'
func: Ref<ProcessFunction>
props: Record<string, any>
}
export type SelectedContext =
| SelectedAttribute
| SelectedRelation
| SelectedNested
| SelectedUserRequest
| SelectedContextFunc