001// --------------------------------------------------------------------------------
002// Copyright 2002-2024 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.model.data.user.common.pk.UserVisitPK;
021import com.echothree.util.common.command.CommandResult;
022
023public interface WorkflowService
024        extends WorkflowForms {
025    
026    // -------------------------------------------------------------------------
027    //   Testing
028    // -------------------------------------------------------------------------
029    
030    String ping();
031    
032    // --------------------------------------------------------------------------------
033    //   Workflow Step Types
034    // --------------------------------------------------------------------------------
035    
036    CommandResult createWorkflowStepType(UserVisitPK userVisitPK, CreateWorkflowStepTypeForm form);
037
038    CommandResult getWorkflowStepType(UserVisitPK userVisitPK, GetWorkflowStepTypeForm form);
039
040    CommandResult getWorkflowStepTypes(UserVisitPK userVisitPK, GetWorkflowStepTypesForm form);
041
042    CommandResult getWorkflowStepTypeChoices(UserVisitPK userVisitPK, GetWorkflowStepTypeChoicesForm form);
043    
044    // --------------------------------------------------------------------------------
045    //   Workflow Step Type Descriptions
046    // --------------------------------------------------------------------------------
047    
048    CommandResult createWorkflowStepTypeDescription(UserVisitPK userVisitPK, CreateWorkflowStepTypeDescriptionForm form);
049    
050    // --------------------------------------------------------------------------------
051    //   Workflows
052    // --------------------------------------------------------------------------------
053    
054    CommandResult createWorkflow(UserVisitPK userVisitPK, CreateWorkflowForm form);
055    
056    CommandResult getWorkflow(UserVisitPK userVisitPK, GetWorkflowForm form);
057    
058    CommandResult getWorkflows(UserVisitPK userVisitPK, GetWorkflowsForm form);
059
060    CommandResult getWorkflowChoices(UserVisitPK userVisitPK, GetWorkflowChoicesForm form);
061    
062    CommandResult editWorkflow(UserVisitPK userVisitPK, EditWorkflowForm form);
063    
064    CommandResult deleteWorkflow(UserVisitPK userVisitPK, DeleteWorkflowForm form);
065    
066    // --------------------------------------------------------------------------------
067    //   Workflow Descriptions
068    // --------------------------------------------------------------------------------
069    
070    CommandResult createWorkflowDescription(UserVisitPK userVisitPK, CreateWorkflowDescriptionForm form);
071    
072    CommandResult getWorkflowDescription(UserVisitPK userVisitPK, GetWorkflowDescriptionForm form);
073    
074    CommandResult getWorkflowDescriptions(UserVisitPK userVisitPK, GetWorkflowDescriptionsForm form);
075    
076    CommandResult editWorkflowDescription(UserVisitPK userVisitPK, EditWorkflowDescriptionForm form);
077    
078    CommandResult deleteWorkflowDescription(UserVisitPK userVisitPK, DeleteWorkflowDescriptionForm form);
079    
080    // --------------------------------------------------------------------------------
081    //   Workflow Steps
082    // --------------------------------------------------------------------------------
083    
084    CommandResult createWorkflowStep(UserVisitPK userVisitPK, CreateWorkflowStepForm form);
085    
086    CommandResult getWorkflowStep(UserVisitPK userVisitPK, GetWorkflowStepForm form);
087    
088    CommandResult getWorkflowSteps(UserVisitPK userVisitPK, GetWorkflowStepsForm form);
089    
090    CommandResult getWorkflowStepChoices(UserVisitPK userVisitPK, GetWorkflowStepChoicesForm form);
091    
092    CommandResult editWorkflowStep(UserVisitPK userVisitPK, EditWorkflowStepForm form);
093    
094    CommandResult setDefaultWorkflowStep(UserVisitPK userVisitPK, SetDefaultWorkflowStepForm form);
095    
096    CommandResult deleteWorkflowStep(UserVisitPK userVisitPK, DeleteWorkflowStepForm form);
097    
098    // --------------------------------------------------------------------------------
099    //   Workflow Step Description
100    // --------------------------------------------------------------------------------
101    
102    CommandResult createWorkflowStepDescription(UserVisitPK userVisitPK, CreateWorkflowStepDescriptionForm form);
103    
104    CommandResult getWorkflowStepDescription(UserVisitPK userVisitPK, GetWorkflowStepDescriptionForm form);
105    
106    CommandResult getWorkflowStepDescriptions(UserVisitPK userVisitPK, GetWorkflowStepDescriptionsForm form);
107    
108    CommandResult editWorkflowStepDescription(UserVisitPK userVisitPK, EditWorkflowStepDescriptionForm form);
109    
110    CommandResult deleteWorkflowStepDescription(UserVisitPK userVisitPK, DeleteWorkflowStepDescriptionForm form);
111    
112    // --------------------------------------------------------------------------------
113    //   Workflow Destinations
114    // --------------------------------------------------------------------------------
115    
116    CommandResult createWorkflowDestination(UserVisitPK userVisitPK, CreateWorkflowDestinationForm form);
117    
118    CommandResult getWorkflowDestination(UserVisitPK userVisitPK, GetWorkflowDestinationForm form);
119    
120    CommandResult getWorkflowDestinations(UserVisitPK userVisitPK, GetWorkflowDestinationsForm form);
121    
122    CommandResult editWorkflowDestination(UserVisitPK userVisitPK, EditWorkflowDestinationForm form);
123    
124    CommandResult setDefaultWorkflowDestination(UserVisitPK userVisitPK, SetDefaultWorkflowDestinationForm form);
125    
126    CommandResult deleteWorkflowDestination(UserVisitPK userVisitPK, DeleteWorkflowDestinationForm form);
127    
128    // --------------------------------------------------------------------------------
129    //   Workflow Destination Descriptions
130    // --------------------------------------------------------------------------------
131    
132    CommandResult createWorkflowDestinationDescription(UserVisitPK userVisitPK, CreateWorkflowDestinationDescriptionForm form);
133    
134    CommandResult getWorkflowDestinationDescription(UserVisitPK userVisitPK, GetWorkflowDestinationDescriptionForm form);
135    
136    CommandResult getWorkflowDestinationDescriptions(UserVisitPK userVisitPK, GetWorkflowDestinationDescriptionsForm form);
137    
138    CommandResult editWorkflowDestinationDescription(UserVisitPK userVisitPK, EditWorkflowDestinationDescriptionForm form);
139    
140    CommandResult deleteWorkflowDestinationDescription(UserVisitPK userVisitPK, DeleteWorkflowDestinationDescriptionForm form);
141    
142    // --------------------------------------------------------------------------------
143    //   Workflow Destination Steps
144    // --------------------------------------------------------------------------------
145    
146    CommandResult createWorkflowDestinationStep(UserVisitPK userVisitPK, CreateWorkflowDestinationStepForm form);
147    
148    CommandResult getWorkflowDestinationStep(UserVisitPK userVisitPK, GetWorkflowDestinationStepForm form);
149    
150    CommandResult getWorkflowDestinationSteps(UserVisitPK userVisitPK, GetWorkflowDestinationStepsForm form);
151    
152    CommandResult deleteWorkflowDestinationStep(UserVisitPK userVisitPK, DeleteWorkflowDestinationStepForm form);
153    
154    // --------------------------------------------------------------------------------
155    //   Workflow Destination Selectors
156    // --------------------------------------------------------------------------------
157    
158    CommandResult createWorkflowDestinationSelector(UserVisitPK userVisitPK, CreateWorkflowDestinationSelectorForm form);
159    
160    CommandResult getWorkflowDestinationSelector(UserVisitPK userVisitPK, GetWorkflowDestinationSelectorForm form);
161    
162    CommandResult getWorkflowDestinationSelectors(UserVisitPK userVisitPK, GetWorkflowDestinationSelectorsForm form);
163    
164    CommandResult deleteWorkflowDestinationSelector(UserVisitPK userVisitPK, DeleteWorkflowDestinationSelectorForm form);
165    
166    // --------------------------------------------------------------------------------
167    //   Workflow Destination Party Types
168    // --------------------------------------------------------------------------------
169    
170    CommandResult createWorkflowDestinationPartyType(UserVisitPK userVisitPK, CreateWorkflowDestinationPartyTypeForm form);
171    
172    CommandResult getWorkflowDestinationPartyType(UserVisitPK userVisitPK, GetWorkflowDestinationPartyTypeForm form);
173    
174    CommandResult getWorkflowDestinationPartyTypes(UserVisitPK userVisitPK, GetWorkflowDestinationPartyTypesForm form);
175    
176    CommandResult deleteWorkflowDestinationPartyType(UserVisitPK userVisitPK, DeleteWorkflowDestinationPartyTypeForm form);
177    
178    // --------------------------------------------------------------------------------
179    //   Workflow Destination Security Roles
180    // --------------------------------------------------------------------------------
181    
182    CommandResult createWorkflowDestinationSecurityRole(UserVisitPK userVisitPK, CreateWorkflowDestinationSecurityRoleForm form);
183    
184    CommandResult getWorkflowDestinationSecurityRole(UserVisitPK userVisitPK, GetWorkflowDestinationSecurityRoleForm form);
185    
186    CommandResult getWorkflowDestinationSecurityRoles(UserVisitPK userVisitPK, GetWorkflowDestinationSecurityRolesForm form);
187    
188    CommandResult deleteWorkflowDestinationSecurityRole(UserVisitPK userVisitPK, DeleteWorkflowDestinationSecurityRoleForm form);
189    
190    // --------------------------------------------------------------------------------
191    //   Workflow Entity Types
192    // --------------------------------------------------------------------------------
193    
194    CommandResult createWorkflowEntityType(UserVisitPK userVisitPK, CreateWorkflowEntityTypeForm form);
195
196    CommandResult getWorkflowEntityType(UserVisitPK userVisitPK, GetWorkflowEntityTypeForm form);
197
198    CommandResult getWorkflowEntityTypes(UserVisitPK userVisitPK, GetWorkflowEntityTypesForm form);
199    
200    CommandResult deleteWorkflowEntityType(UserVisitPK userVisitPK, DeleteWorkflowEntityTypeForm form);
201
202    // --------------------------------------------------------------------------------
203    //   Workflow Entrances
204    // --------------------------------------------------------------------------------
205    
206    CommandResult createWorkflowEntrance(UserVisitPK userVisitPK, CreateWorkflowEntranceForm form);
207    
208    CommandResult getWorkflowEntrance(UserVisitPK userVisitPK, GetWorkflowEntranceForm form);
209    
210    CommandResult getWorkflowEntrances(UserVisitPK userVisitPK, GetWorkflowEntrancesForm form);
211    
212    CommandResult editWorkflowEntrance(UserVisitPK userVisitPK, EditWorkflowEntranceForm form);
213    
214    CommandResult setDefaultWorkflowEntrance(UserVisitPK userVisitPK, SetDefaultWorkflowEntranceForm form);
215    
216    CommandResult deleteWorkflowEntrance(UserVisitPK userVisitPK, DeleteWorkflowEntranceForm form);
217    
218    // --------------------------------------------------------------------------------
219    //   Workflow Entrance Descriptions
220    // --------------------------------------------------------------------------------
221    
222    CommandResult createWorkflowEntranceDescription(UserVisitPK userVisitPK, CreateWorkflowEntranceDescriptionForm form);
223    
224    CommandResult getWorkflowEntranceDescription(UserVisitPK userVisitPK, GetWorkflowEntranceDescriptionForm form);
225    
226    CommandResult getWorkflowEntranceDescriptions(UserVisitPK userVisitPK, GetWorkflowEntranceDescriptionsForm form);
227    
228    CommandResult editWorkflowEntranceDescription(UserVisitPK userVisitPK, EditWorkflowEntranceDescriptionForm form);
229    
230    CommandResult deleteWorkflowEntranceDescription(UserVisitPK userVisitPK, DeleteWorkflowEntranceDescriptionForm form);
231    
232    // --------------------------------------------------------------------------------
233    //   Workflow Entrance Steps
234    // --------------------------------------------------------------------------------
235    
236    CommandResult createWorkflowEntranceStep(UserVisitPK userVisitPK, CreateWorkflowEntranceStepForm form);
237    
238    CommandResult getWorkflowEntranceStep(UserVisitPK userVisitPK, GetWorkflowEntranceStepForm form);
239    
240    CommandResult getWorkflowEntranceSteps(UserVisitPK userVisitPK, GetWorkflowEntranceStepsForm form);
241    
242    CommandResult deleteWorkflowEntranceStep(UserVisitPK userVisitPK, DeleteWorkflowEntranceStepForm form);
243    
244    // --------------------------------------------------------------------------------
245    //   Workflow Entrance Selectors
246    // --------------------------------------------------------------------------------
247    
248    CommandResult createWorkflowEntranceSelector(UserVisitPK userVisitPK, CreateWorkflowEntranceSelectorForm form);
249    
250    CommandResult getWorkflowEntranceSelector(UserVisitPK userVisitPK, GetWorkflowEntranceSelectorForm form);
251    
252    CommandResult getWorkflowEntranceSelectors(UserVisitPK userVisitPK, GetWorkflowEntranceSelectorsForm form);
253    
254    CommandResult deleteWorkflowEntranceSelector(UserVisitPK userVisitPK, DeleteWorkflowEntranceSelectorForm form);
255    
256    // --------------------------------------------------------------------------------
257    //   Workflow Entrance Party Types
258    // --------------------------------------------------------------------------------
259    
260    CommandResult createWorkflowEntrancePartyType(UserVisitPK userVisitPK, CreateWorkflowEntrancePartyTypeForm form);
261    
262    CommandResult getWorkflowEntrancePartyType(UserVisitPK userVisitPK, GetWorkflowEntrancePartyTypeForm form);
263    
264    CommandResult getWorkflowEntrancePartyTypes(UserVisitPK userVisitPK, GetWorkflowEntrancePartyTypesForm form);
265    
266    CommandResult deleteWorkflowEntrancePartyType(UserVisitPK userVisitPK, DeleteWorkflowEntrancePartyTypeForm form);
267    
268    // --------------------------------------------------------------------------------
269    //   Workflow Entrance Security Roles
270    // --------------------------------------------------------------------------------
271    
272    CommandResult createWorkflowEntranceSecurityRole(UserVisitPK userVisitPK, CreateWorkflowEntranceSecurityRoleForm form);
273    
274    CommandResult getWorkflowEntranceSecurityRole(UserVisitPK userVisitPK, GetWorkflowEntranceSecurityRoleForm form);
275    
276    CommandResult getWorkflowEntranceSecurityRoles(UserVisitPK userVisitPK, GetWorkflowEntranceSecurityRolesForm form);
277    
278    CommandResult deleteWorkflowEntranceSecurityRole(UserVisitPK userVisitPK, DeleteWorkflowEntranceSecurityRoleForm form);
279    
280    // --------------------------------------------------------------------------------
281    //   Workflow Selector Kinds
282    // --------------------------------------------------------------------------------
283    
284    CommandResult createWorkflowSelectorKind(UserVisitPK userVisitPK, CreateWorkflowSelectorKindForm form);
285    
286    CommandResult getWorkflowSelectorKind(UserVisitPK userVisitPK, GetWorkflowSelectorKindForm form);
287    
288    CommandResult getWorkflowSelectorKinds(UserVisitPK userVisitPK, GetWorkflowSelectorKindsForm form);
289    
290    CommandResult deleteWorkflowSelectorKind(UserVisitPK userVisitPK, DeleteWorkflowSelectorKindForm form);
291    
292    // --------------------------------------------------------------------------------
293    //   Workflow Entity Statuses
294    // --------------------------------------------------------------------------------
295    
296    CommandResult getWorkflowEntityStatuses(UserVisitPK userVisitPK, GetWorkflowEntityStatusesForm form);
297    
298    // --------------------------------------------------------------------------------
299    //   Workflow Triggers
300    // --------------------------------------------------------------------------------
301    
302    CommandResult processWorkflowTriggers(UserVisitPK userVisitPK);
303    
304}