From 23ccfc34de8162d1a4291231e650aafa80f32f18 Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Sun, 17 Aug 2025 18:35:57 -0500 Subject: [PATCH] Adding additional types. --- src/types/Access.ts | 5 ++++- src/types/AdvancedLogic.ts | 8 ++++---- src/types/BaseComponent.ts | 3 +++ src/types/process/ProcessorContext.ts | 1 + 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/types/Access.ts b/src/types/Access.ts index 37c3df37..3f00ee8b 100644 --- a/src/types/Access.ts +++ b/src/types/Access.ts @@ -2,10 +2,13 @@ import { RoleId } from 'types/Role'; export type Access = { type: AccessType; - roles: RoleId[]; + roles?: RoleId[]; + resources?: string[]; }; +export type BasicAccessType = 'read' | 'write' | 'create' | 'admin'; export type AccessType = + | 'self' | 'create_own' | 'create_all' | 'read_own' diff --git a/src/types/AdvancedLogic.ts b/src/types/AdvancedLogic.ts index b13f8194..33469931 100644 --- a/src/types/AdvancedLogic.ts +++ b/src/types/AdvancedLogic.ts @@ -3,22 +3,22 @@ import { SimpleConditional } from './BaseComponent'; export type LogicTriggerSimple = { type: 'simple'; - simple: SimpleConditional; + simple?: SimpleConditional; }; export type LogicTriggerJavascript = { type: 'javascript'; - javascript: string; + javascript?: string; }; export type LogicTriggerJson = { type: 'json'; - json: RulesLogic; + json?: RulesLogic; }; export type LogicTriggerEvent = { type: 'event'; - event: string; + event?: string; }; export type LogicTrigger = diff --git a/src/types/BaseComponent.ts b/src/types/BaseComponent.ts index d5928795..854e4d49 100644 --- a/src/types/BaseComponent.ts +++ b/src/types/BaseComponent.ts @@ -1,6 +1,7 @@ import { RulesLogic } from 'json-logic-js'; import { AdvancedLogic } from './AdvancedLogic'; import { getModelType } from 'utils/formUtil'; +import { Access, BasicAccessType } from './Access'; export type JSONConditional = { json: RulesLogic }; export type LegacyConditional = { show: boolean | string | null; @@ -85,6 +86,8 @@ export type BaseComponent = { height: string; }; allowCalculateOverride?: boolean; + submissionAccess?: Access[]; + defaultPermission?: BasicAccessType; encrypted?: boolean; showCharCount?: boolean; showWordCount?: boolean; diff --git a/src/types/process/ProcessorContext.ts b/src/types/process/ProcessorContext.ts index ce9bc2fd..1e341495 100644 --- a/src/types/process/ProcessorContext.ts +++ b/src/types/process/ProcessorContext.ts @@ -19,6 +19,7 @@ export type ProcessorContext = { form?: Form; paths?: ComponentPaths; submission?: Submission; + current?: Submission; // The current submission from database. components?: Component[]; instance?: PassedComponentInstance; process?: ProcessType;