001// -------------------------------------------------------------------------------- 002// Copyright 2002-2026 Echo Three, LLC 003// 004// Licensed under the Apache License, Version 2.0 (the "License"); 005// you may not use this file except in compliance with the License. 006// You may obtain a copy of the License at 007// 008// http://www.apache.org/licenses/LICENSE-2.0 009// 010// Unless required by applicable law or agreed to in writing, software 011// distributed under the License is distributed on an "AS IS" BASIS, 012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013// See the License for the specific language governing permissions and 014// limitations under the License. 015// -------------------------------------------------------------------------------- 016 017package com.echothree.control.user.workflow.common; 018 019import com.echothree.control.user.workflow.common.form.*; 020import com.echothree.control.user.workflow.common.result.*; 021import com.echothree.model.data.user.common.pk.UserVisitPK; 022import com.echothree.util.common.command.CommandResult; 023import com.echothree.util.common.command.VoidResult; 024 025public interface WorkflowService 026 extends WorkflowForms { 027 028 // ------------------------------------------------------------------------- 029 // Testing 030 // ------------------------------------------------------------------------- 031 032 String ping(); 033 034 // -------------------------------------------------------------------------------- 035 // Workflow Step Types 036 // -------------------------------------------------------------------------------- 037 038 CommandResult<VoidResult> createWorkflowStepType(UserVisitPK userVisitPK, CreateWorkflowStepTypeForm form); 039 040 CommandResult<GetWorkflowStepTypeResult> getWorkflowStepType(UserVisitPK userVisitPK, GetWorkflowStepTypeForm form); 041 042 CommandResult<GetWorkflowStepTypesResult> getWorkflowStepTypes(UserVisitPK userVisitPK, GetWorkflowStepTypesForm form); 043 044 CommandResult<GetWorkflowStepTypeChoicesResult> getWorkflowStepTypeChoices(UserVisitPK userVisitPK, GetWorkflowStepTypeChoicesForm form); 045 046 // -------------------------------------------------------------------------------- 047 // Workflow Step Type Descriptions 048 // -------------------------------------------------------------------------------- 049 050 CommandResult<VoidResult> createWorkflowStepTypeDescription(UserVisitPK userVisitPK, CreateWorkflowStepTypeDescriptionForm form); 051 052 // -------------------------------------------------------------------------------- 053 // Workflows 054 // -------------------------------------------------------------------------------- 055 056 CommandResult<CreateWorkflowResult> createWorkflow(UserVisitPK userVisitPK, CreateWorkflowForm form); 057 058 CommandResult<GetWorkflowResult> getWorkflow(UserVisitPK userVisitPK, GetWorkflowForm form); 059 060 CommandResult<GetWorkflowsResult> getWorkflows(UserVisitPK userVisitPK, GetWorkflowsForm form); 061 062 CommandResult<GetWorkflowChoicesResult> getWorkflowChoices(UserVisitPK userVisitPK, GetWorkflowChoicesForm form); 063 064 CommandResult<EditWorkflowResult> editWorkflow(UserVisitPK userVisitPK, EditWorkflowForm form); 065 066 CommandResult<VoidResult> deleteWorkflow(UserVisitPK userVisitPK, DeleteWorkflowForm form); 067 068 // -------------------------------------------------------------------------------- 069 // Workflow Descriptions 070 // -------------------------------------------------------------------------------- 071 072 CommandResult<VoidResult> createWorkflowDescription(UserVisitPK userVisitPK, CreateWorkflowDescriptionForm form); 073 074 CommandResult<GetWorkflowDescriptionResult> getWorkflowDescription(UserVisitPK userVisitPK, GetWorkflowDescriptionForm form); 075 076 CommandResult<GetWorkflowDescriptionsResult> getWorkflowDescriptions(UserVisitPK userVisitPK, GetWorkflowDescriptionsForm form); 077 078 CommandResult<EditWorkflowDescriptionResult> editWorkflowDescription(UserVisitPK userVisitPK, EditWorkflowDescriptionForm form); 079 080 CommandResult<VoidResult> deleteWorkflowDescription(UserVisitPK userVisitPK, DeleteWorkflowDescriptionForm form); 081 082 // -------------------------------------------------------------------------------- 083 // Workflow Steps 084 // -------------------------------------------------------------------------------- 085 086 CommandResult<CreateWorkflowStepResult> createWorkflowStep(UserVisitPK userVisitPK, CreateWorkflowStepForm form); 087 088 CommandResult<GetWorkflowStepResult> getWorkflowStep(UserVisitPK userVisitPK, GetWorkflowStepForm form); 089 090 CommandResult<GetWorkflowStepsResult> getWorkflowSteps(UserVisitPK userVisitPK, GetWorkflowStepsForm form); 091 092 CommandResult<GetWorkflowStepChoicesResult> getWorkflowStepChoices(UserVisitPK userVisitPK, GetWorkflowStepChoicesForm form); 093 094 CommandResult<EditWorkflowStepResult> editWorkflowStep(UserVisitPK userVisitPK, EditWorkflowStepForm form); 095 096 CommandResult<VoidResult> setDefaultWorkflowStep(UserVisitPK userVisitPK, SetDefaultWorkflowStepForm form); 097 098 CommandResult<VoidResult> deleteWorkflowStep(UserVisitPK userVisitPK, DeleteWorkflowStepForm form); 099 100 // -------------------------------------------------------------------------------- 101 // Workflow Step Description 102 // -------------------------------------------------------------------------------- 103 104 CommandResult<VoidResult> createWorkflowStepDescription(UserVisitPK userVisitPK, CreateWorkflowStepDescriptionForm form); 105 106 CommandResult<GetWorkflowStepDescriptionResult> getWorkflowStepDescription(UserVisitPK userVisitPK, GetWorkflowStepDescriptionForm form); 107 108 CommandResult<GetWorkflowStepDescriptionsResult> getWorkflowStepDescriptions(UserVisitPK userVisitPK, GetWorkflowStepDescriptionsForm form); 109 110 CommandResult<EditWorkflowStepDescriptionResult> editWorkflowStepDescription(UserVisitPK userVisitPK, EditWorkflowStepDescriptionForm form); 111 112 CommandResult<VoidResult> deleteWorkflowStepDescription(UserVisitPK userVisitPK, DeleteWorkflowStepDescriptionForm form); 113 114 // -------------------------------------------------------------------------------- 115 // Workflow Destinations 116 // -------------------------------------------------------------------------------- 117 118 CommandResult<CreateWorkflowDestinationResult> createWorkflowDestination(UserVisitPK userVisitPK, CreateWorkflowDestinationForm form); 119 120 CommandResult<GetWorkflowDestinationResult> getWorkflowDestination(UserVisitPK userVisitPK, GetWorkflowDestinationForm form); 121 122 CommandResult<GetWorkflowDestinationsResult> getWorkflowDestinations(UserVisitPK userVisitPK, GetWorkflowDestinationsForm form); 123 124 CommandResult<EditWorkflowDestinationResult> editWorkflowDestination(UserVisitPK userVisitPK, EditWorkflowDestinationForm form); 125 126 CommandResult<VoidResult> setDefaultWorkflowDestination(UserVisitPK userVisitPK, SetDefaultWorkflowDestinationForm form); 127 128 CommandResult<VoidResult> deleteWorkflowDestination(UserVisitPK userVisitPK, DeleteWorkflowDestinationForm form); 129 130 // -------------------------------------------------------------------------------- 131 // Workflow Destination Descriptions 132 // -------------------------------------------------------------------------------- 133 134 CommandResult<VoidResult> createWorkflowDestinationDescription(UserVisitPK userVisitPK, CreateWorkflowDestinationDescriptionForm form); 135 136 CommandResult<GetWorkflowDestinationDescriptionResult> getWorkflowDestinationDescription(UserVisitPK userVisitPK, GetWorkflowDestinationDescriptionForm form); 137 138 CommandResult<GetWorkflowDestinationDescriptionsResult> getWorkflowDestinationDescriptions(UserVisitPK userVisitPK, GetWorkflowDestinationDescriptionsForm form); 139 140 CommandResult<EditWorkflowDestinationDescriptionResult> editWorkflowDestinationDescription(UserVisitPK userVisitPK, EditWorkflowDestinationDescriptionForm form); 141 142 CommandResult<VoidResult> deleteWorkflowDestinationDescription(UserVisitPK userVisitPK, DeleteWorkflowDestinationDescriptionForm form); 143 144 // -------------------------------------------------------------------------------- 145 // Workflow Destination Steps 146 // -------------------------------------------------------------------------------- 147 148 CommandResult<VoidResult> createWorkflowDestinationStep(UserVisitPK userVisitPK, CreateWorkflowDestinationStepForm form); 149 150 CommandResult<GetWorkflowDestinationStepResult> getWorkflowDestinationStep(UserVisitPK userVisitPK, GetWorkflowDestinationStepForm form); 151 152 CommandResult<GetWorkflowDestinationStepsResult> getWorkflowDestinationSteps(UserVisitPK userVisitPK, GetWorkflowDestinationStepsForm form); 153 154 CommandResult<VoidResult> deleteWorkflowDestinationStep(UserVisitPK userVisitPK, DeleteWorkflowDestinationStepForm form); 155 156 // -------------------------------------------------------------------------------- 157 // Workflow Destination Selectors 158 // -------------------------------------------------------------------------------- 159 160 CommandResult<VoidResult> createWorkflowDestinationSelector(UserVisitPK userVisitPK, CreateWorkflowDestinationSelectorForm form); 161 162 CommandResult<GetWorkflowDestinationSelectorResult> getWorkflowDestinationSelector(UserVisitPK userVisitPK, GetWorkflowDestinationSelectorForm form); 163 164 CommandResult<GetWorkflowDestinationSelectorsResult> getWorkflowDestinationSelectors(UserVisitPK userVisitPK, GetWorkflowDestinationSelectorsForm form); 165 166 CommandResult<VoidResult> deleteWorkflowDestinationSelector(UserVisitPK userVisitPK, DeleteWorkflowDestinationSelectorForm form); 167 168 // -------------------------------------------------------------------------------- 169 // Workflow Destination Party Types 170 // -------------------------------------------------------------------------------- 171 172 CommandResult<VoidResult> createWorkflowDestinationPartyType(UserVisitPK userVisitPK, CreateWorkflowDestinationPartyTypeForm form); 173 174 CommandResult<GetWorkflowDestinationPartyTypeResult> getWorkflowDestinationPartyType(UserVisitPK userVisitPK, GetWorkflowDestinationPartyTypeForm form); 175 176 CommandResult<GetWorkflowDestinationPartyTypesResult> getWorkflowDestinationPartyTypes(UserVisitPK userVisitPK, GetWorkflowDestinationPartyTypesForm form); 177 178 CommandResult<VoidResult> deleteWorkflowDestinationPartyType(UserVisitPK userVisitPK, DeleteWorkflowDestinationPartyTypeForm form); 179 180 // -------------------------------------------------------------------------------- 181 // Workflow Destination Security Roles 182 // -------------------------------------------------------------------------------- 183 184 CommandResult<VoidResult> createWorkflowDestinationSecurityRole(UserVisitPK userVisitPK, CreateWorkflowDestinationSecurityRoleForm form); 185 186 CommandResult<GetWorkflowDestinationSecurityRoleResult> getWorkflowDestinationSecurityRole(UserVisitPK userVisitPK, GetWorkflowDestinationSecurityRoleForm form); 187 188 CommandResult<GetWorkflowDestinationSecurityRolesResult> getWorkflowDestinationSecurityRoles(UserVisitPK userVisitPK, GetWorkflowDestinationSecurityRolesForm form); 189 190 CommandResult<VoidResult> deleteWorkflowDestinationSecurityRole(UserVisitPK userVisitPK, DeleteWorkflowDestinationSecurityRoleForm form); 191 192 // -------------------------------------------------------------------------------- 193 // Workflow Entity Types 194 // -------------------------------------------------------------------------------- 195 196 CommandResult<VoidResult> createWorkflowEntityType(UserVisitPK userVisitPK, CreateWorkflowEntityTypeForm form); 197 198 CommandResult<GetWorkflowEntityTypeResult> getWorkflowEntityType(UserVisitPK userVisitPK, GetWorkflowEntityTypeForm form); 199 200 CommandResult<GetWorkflowEntityTypesResult> getWorkflowEntityTypes(UserVisitPK userVisitPK, GetWorkflowEntityTypesForm form); 201 202 CommandResult<VoidResult> deleteWorkflowEntityType(UserVisitPK userVisitPK, DeleteWorkflowEntityTypeForm form); 203 204 // -------------------------------------------------------------------------------- 205 // Workflow Entrances 206 // -------------------------------------------------------------------------------- 207 208 CommandResult<CreateWorkflowEntranceResult> createWorkflowEntrance(UserVisitPK userVisitPK, CreateWorkflowEntranceForm form); 209 210 CommandResult<GetWorkflowEntranceResult> getWorkflowEntrance(UserVisitPK userVisitPK, GetWorkflowEntranceForm form); 211 212 CommandResult<GetWorkflowEntrancesResult> getWorkflowEntrances(UserVisitPK userVisitPK, GetWorkflowEntrancesForm form); 213 214 CommandResult<EditWorkflowEntranceResult> editWorkflowEntrance(UserVisitPK userVisitPK, EditWorkflowEntranceForm form); 215 216 CommandResult<VoidResult> setDefaultWorkflowEntrance(UserVisitPK userVisitPK, SetDefaultWorkflowEntranceForm form); 217 218 CommandResult<VoidResult> deleteWorkflowEntrance(UserVisitPK userVisitPK, DeleteWorkflowEntranceForm form); 219 220 // -------------------------------------------------------------------------------- 221 // Workflow Entrance Descriptions 222 // -------------------------------------------------------------------------------- 223 224 CommandResult<VoidResult> createWorkflowEntranceDescription(UserVisitPK userVisitPK, CreateWorkflowEntranceDescriptionForm form); 225 226 CommandResult<GetWorkflowEntranceDescriptionResult> getWorkflowEntranceDescription(UserVisitPK userVisitPK, GetWorkflowEntranceDescriptionForm form); 227 228 CommandResult<GetWorkflowEntranceDescriptionsResult> getWorkflowEntranceDescriptions(UserVisitPK userVisitPK, GetWorkflowEntranceDescriptionsForm form); 229 230 CommandResult<EditWorkflowEntranceDescriptionResult> editWorkflowEntranceDescription(UserVisitPK userVisitPK, EditWorkflowEntranceDescriptionForm form); 231 232 CommandResult<VoidResult> deleteWorkflowEntranceDescription(UserVisitPK userVisitPK, DeleteWorkflowEntranceDescriptionForm form); 233 234 // -------------------------------------------------------------------------------- 235 // Workflow Entrance Steps 236 // -------------------------------------------------------------------------------- 237 238 CommandResult<VoidResult> createWorkflowEntranceStep(UserVisitPK userVisitPK, CreateWorkflowEntranceStepForm form); 239 240 CommandResult<GetWorkflowEntranceStepResult> getWorkflowEntranceStep(UserVisitPK userVisitPK, GetWorkflowEntranceStepForm form); 241 242 CommandResult<GetWorkflowEntranceStepsResult> getWorkflowEntranceSteps(UserVisitPK userVisitPK, GetWorkflowEntranceStepsForm form); 243 244 CommandResult<VoidResult> deleteWorkflowEntranceStep(UserVisitPK userVisitPK, DeleteWorkflowEntranceStepForm form); 245 246 // -------------------------------------------------------------------------------- 247 // Workflow Entrance Selectors 248 // -------------------------------------------------------------------------------- 249 250 CommandResult<VoidResult> createWorkflowEntranceSelector(UserVisitPK userVisitPK, CreateWorkflowEntranceSelectorForm form); 251 252 CommandResult<GetWorkflowEntranceSelectorResult> getWorkflowEntranceSelector(UserVisitPK userVisitPK, GetWorkflowEntranceSelectorForm form); 253 254 CommandResult<GetWorkflowEntranceSelectorsResult> getWorkflowEntranceSelectors(UserVisitPK userVisitPK, GetWorkflowEntranceSelectorsForm form); 255 256 CommandResult<VoidResult> deleteWorkflowEntranceSelector(UserVisitPK userVisitPK, DeleteWorkflowEntranceSelectorForm form); 257 258 // -------------------------------------------------------------------------------- 259 // Workflow Entrance Party Types 260 // -------------------------------------------------------------------------------- 261 262 CommandResult<VoidResult> createWorkflowEntrancePartyType(UserVisitPK userVisitPK, CreateWorkflowEntrancePartyTypeForm form); 263 264 CommandResult<GetWorkflowEntrancePartyTypeResult> getWorkflowEntrancePartyType(UserVisitPK userVisitPK, GetWorkflowEntrancePartyTypeForm form); 265 266 CommandResult<GetWorkflowEntrancePartyTypesResult> getWorkflowEntrancePartyTypes(UserVisitPK userVisitPK, GetWorkflowEntrancePartyTypesForm form); 267 268 CommandResult<VoidResult> deleteWorkflowEntrancePartyType(UserVisitPK userVisitPK, DeleteWorkflowEntrancePartyTypeForm form); 269 270 // -------------------------------------------------------------------------------- 271 // Workflow Entrance Security Roles 272 // -------------------------------------------------------------------------------- 273 274 CommandResult<VoidResult> createWorkflowEntranceSecurityRole(UserVisitPK userVisitPK, CreateWorkflowEntranceSecurityRoleForm form); 275 276 CommandResult<GetWorkflowEntranceSecurityRoleResult> getWorkflowEntranceSecurityRole(UserVisitPK userVisitPK, GetWorkflowEntranceSecurityRoleForm form); 277 278 CommandResult<GetWorkflowEntranceSecurityRolesResult> getWorkflowEntranceSecurityRoles(UserVisitPK userVisitPK, GetWorkflowEntranceSecurityRolesForm form); 279 280 CommandResult<VoidResult> deleteWorkflowEntranceSecurityRole(UserVisitPK userVisitPK, DeleteWorkflowEntranceSecurityRoleForm form); 281 282 // -------------------------------------------------------------------------------- 283 // Workflow Selector Kinds 284 // -------------------------------------------------------------------------------- 285 286 CommandResult<VoidResult> createWorkflowSelectorKind(UserVisitPK userVisitPK, CreateWorkflowSelectorKindForm form); 287 288 CommandResult<GetWorkflowSelectorKindResult> getWorkflowSelectorKind(UserVisitPK userVisitPK, GetWorkflowSelectorKindForm form); 289 290 CommandResult<GetWorkflowSelectorKindsResult> getWorkflowSelectorKinds(UserVisitPK userVisitPK, GetWorkflowSelectorKindsForm form); 291 292 CommandResult<VoidResult> deleteWorkflowSelectorKind(UserVisitPK userVisitPK, DeleteWorkflowSelectorKindForm form); 293 294 // -------------------------------------------------------------------------------- 295 // Workflow Entity Statuses 296 // -------------------------------------------------------------------------------- 297 298 CommandResult<GetWorkflowEntityStatusesResult> getWorkflowEntityStatuses(UserVisitPK userVisitPK, GetWorkflowEntityStatusesForm form); 299 300 // -------------------------------------------------------------------------------- 301 // Workflow Triggers 302 // -------------------------------------------------------------------------------- 303 304 CommandResult<VoidResult> processWorkflowTriggers(UserVisitPK userVisitPK); 305 306}