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.chain.common;
018
019import com.echothree.control.user.chain.common.form.*;
020import com.echothree.model.data.user.common.pk.UserVisitPK;
021import com.echothree.util.common.command.CommandResult;
022
023public interface ChainService
024        extends ChainForms {
025    
026    // -------------------------------------------------------------------------
027    //   Testing
028    // -------------------------------------------------------------------------
029    
030    String ping();
031    
032    // -------------------------------------------------------------------------
033    //   Chain Action Types
034    // -------------------------------------------------------------------------
035
036    CommandResult createChainActionType(UserVisitPK userVisitPK, CreateChainActionTypeForm form);
037
038    CommandResult getChainActionTypes(UserVisitPK userVisitPK, GetChainActionTypesForm form);
039
040    CommandResult getChainActionType(UserVisitPK userVisitPK, GetChainActionTypeForm form);
041
042    CommandResult getChainActionTypeChoices(UserVisitPK userVisitPK, GetChainActionTypeChoicesForm form);
043
044    CommandResult setDefaultChainActionType(UserVisitPK userVisitPK, SetDefaultChainActionTypeForm form);
045
046    CommandResult editChainActionType(UserVisitPK userVisitPK, EditChainActionTypeForm form);
047
048    CommandResult deleteChainActionType(UserVisitPK userVisitPK, DeleteChainActionTypeForm form);
049
050    // -------------------------------------------------------------------------
051    //   Chain Action Type Descriptions
052    // -------------------------------------------------------------------------
053
054    CommandResult createChainActionTypeDescription(UserVisitPK userVisitPK, CreateChainActionTypeDescriptionForm form);
055
056    CommandResult getChainActionTypeDescriptions(UserVisitPK userVisitPK, GetChainActionTypeDescriptionsForm form);
057
058    CommandResult getChainActionTypeDescription(UserVisitPK userVisitPK, GetChainActionTypeDescriptionForm form);
059
060    CommandResult editChainActionTypeDescription(UserVisitPK userVisitPK, EditChainActionTypeDescriptionForm form);
061
062    CommandResult deleteChainActionTypeDescription(UserVisitPK userVisitPK, DeleteChainActionTypeDescriptionForm form);
063
064    // --------------------------------------------------------------------------------
065    //   Chain Action Type Uses
066    // --------------------------------------------------------------------------------
067    
068    CommandResult createChainActionTypeUse(UserVisitPK userVisitPK, CreateChainActionTypeUseForm form);
069    
070    // -------------------------------------------------------------------------
071    //   Chain Kinds
072    // -------------------------------------------------------------------------
073
074    CommandResult createChainKind(UserVisitPK userVisitPK, CreateChainKindForm form);
075
076    CommandResult getChainKinds(UserVisitPK userVisitPK, GetChainKindsForm form);
077
078    CommandResult getChainKind(UserVisitPK userVisitPK, GetChainKindForm form);
079
080    CommandResult getChainKindChoices(UserVisitPK userVisitPK, GetChainKindChoicesForm form);
081
082    CommandResult setDefaultChainKind(UserVisitPK userVisitPK, SetDefaultChainKindForm form);
083
084    CommandResult editChainKind(UserVisitPK userVisitPK, EditChainKindForm form);
085
086    CommandResult deleteChainKind(UserVisitPK userVisitPK, DeleteChainKindForm form);
087
088    // -------------------------------------------------------------------------
089    //   Chain Kind Descriptions
090    // -------------------------------------------------------------------------
091
092    CommandResult createChainKindDescription(UserVisitPK userVisitPK, CreateChainKindDescriptionForm form);
093
094    CommandResult getChainKindDescriptions(UserVisitPK userVisitPK, GetChainKindDescriptionsForm form);
095
096    CommandResult getChainKindDescription(UserVisitPK userVisitPK, GetChainKindDescriptionForm form);
097
098    CommandResult editChainKindDescription(UserVisitPK userVisitPK, EditChainKindDescriptionForm form);
099
100    CommandResult deleteChainKindDescription(UserVisitPK userVisitPK, DeleteChainKindDescriptionForm form);
101
102    // -------------------------------------------------------------------------
103    //   Chain Types
104    // -------------------------------------------------------------------------
105
106    CommandResult createChainType(UserVisitPK userVisitPK, CreateChainTypeForm form);
107
108    CommandResult getChainTypes(UserVisitPK userVisitPK, GetChainTypesForm form);
109
110    CommandResult getChainType(UserVisitPK userVisitPK, GetChainTypeForm form);
111
112    CommandResult getChainTypeChoices(UserVisitPK userVisitPK, GetChainTypeChoicesForm form);
113
114    CommandResult setDefaultChainType(UserVisitPK userVisitPK, SetDefaultChainTypeForm form);
115
116    CommandResult editChainType(UserVisitPK userVisitPK, EditChainTypeForm form);
117
118    CommandResult deleteChainType(UserVisitPK userVisitPK, DeleteChainTypeForm form);
119
120    // -------------------------------------------------------------------------
121    //   Chain Type Descriptions
122    // -------------------------------------------------------------------------
123
124    CommandResult createChainTypeDescription(UserVisitPK userVisitPK, CreateChainTypeDescriptionForm form);
125
126    CommandResult getChainTypeDescriptions(UserVisitPK userVisitPK, GetChainTypeDescriptionsForm form);
127
128    CommandResult getChainTypeDescription(UserVisitPK userVisitPK, GetChainTypeDescriptionForm form);
129
130    CommandResult editChainTypeDescription(UserVisitPK userVisitPK, EditChainTypeDescriptionForm form);
131
132    CommandResult deleteChainTypeDescription(UserVisitPK userVisitPK, DeleteChainTypeDescriptionForm form);
133
134    // -------------------------------------------------------------------------
135    //   Chain Entity Role Types
136    // -------------------------------------------------------------------------
137
138    CommandResult createChainEntityRoleType(UserVisitPK userVisitPK, CreateChainEntityRoleTypeForm form);
139
140    CommandResult getChainEntityRoleTypes(UserVisitPK userVisitPK, GetChainEntityRoleTypesForm form);
141
142    CommandResult getChainEntityRoleType(UserVisitPK userVisitPK, GetChainEntityRoleTypeForm form);
143
144    CommandResult editChainEntityRoleType(UserVisitPK userVisitPK, EditChainEntityRoleTypeForm form);
145
146    CommandResult deleteChainEntityRoleType(UserVisitPK userVisitPK, DeleteChainEntityRoleTypeForm form);
147
148    // -------------------------------------------------------------------------
149    //   Chain Entity Role Type Descriptions
150    // -------------------------------------------------------------------------
151
152    CommandResult createChainEntityRoleTypeDescription(UserVisitPK userVisitPK, CreateChainEntityRoleTypeDescriptionForm form);
153
154    CommandResult getChainEntityRoleTypeDescriptions(UserVisitPK userVisitPK, GetChainEntityRoleTypeDescriptionsForm form);
155
156    CommandResult getChainEntityRoleTypeDescription(UserVisitPK userVisitPK, GetChainEntityRoleTypeDescriptionForm form);
157
158    CommandResult editChainEntityRoleTypeDescription(UserVisitPK userVisitPK, EditChainEntityRoleTypeDescriptionForm form);
159
160    CommandResult deleteChainEntityRoleTypeDescription(UserVisitPK userVisitPK, DeleteChainEntityRoleTypeDescriptionForm form);
161
162    // -------------------------------------------------------------------------
163    //   Chains
164    // -------------------------------------------------------------------------
165
166    CommandResult createChain(UserVisitPK userVisitPK, CreateChainForm form);
167
168    CommandResult getChains(UserVisitPK userVisitPK, GetChainsForm form);
169
170    CommandResult getChain(UserVisitPK userVisitPK, GetChainForm form);
171
172    CommandResult getChainChoices(UserVisitPK userVisitPK, GetChainChoicesForm form);
173
174    CommandResult setDefaultChain(UserVisitPK userVisitPK, SetDefaultChainForm form);
175
176    CommandResult editChain(UserVisitPK userVisitPK, EditChainForm form);
177
178    CommandResult deleteChain(UserVisitPK userVisitPK, DeleteChainForm form);
179
180    // -------------------------------------------------------------------------
181    //   Chain Descriptions
182    // -------------------------------------------------------------------------
183
184    CommandResult createChainDescription(UserVisitPK userVisitPK, CreateChainDescriptionForm form);
185
186    CommandResult getChainDescriptions(UserVisitPK userVisitPK, GetChainDescriptionsForm form);
187
188    CommandResult getChainDescription(UserVisitPK userVisitPK, GetChainDescriptionForm form);
189
190    CommandResult editChainDescription(UserVisitPK userVisitPK, EditChainDescriptionForm form);
191
192    CommandResult deleteChainDescription(UserVisitPK userVisitPK, DeleteChainDescriptionForm form);
193
194    // -------------------------------------------------------------------------
195    //   Chain Action Sets
196    // -------------------------------------------------------------------------
197
198    CommandResult createChainActionSet(UserVisitPK userVisitPK, CreateChainActionSetForm form);
199
200    CommandResult getChainActionSets(UserVisitPK userVisitPK, GetChainActionSetsForm form);
201
202    CommandResult getChainActionSet(UserVisitPK userVisitPK, GetChainActionSetForm form);
203
204    CommandResult getChainActionSetChoices(UserVisitPK userVisitPK, GetChainActionSetChoicesForm form);
205
206    CommandResult setDefaultChainActionSet(UserVisitPK userVisitPK, SetDefaultChainActionSetForm form);
207
208    CommandResult editChainActionSet(UserVisitPK userVisitPK, EditChainActionSetForm form);
209
210    CommandResult deleteChainActionSet(UserVisitPK userVisitPK, DeleteChainActionSetForm form);
211
212    // -------------------------------------------------------------------------
213    //   Chain Action Set Descriptions
214    // -------------------------------------------------------------------------
215
216    CommandResult createChainActionSetDescription(UserVisitPK userVisitPK, CreateChainActionSetDescriptionForm form);
217
218    CommandResult getChainActionSetDescriptions(UserVisitPK userVisitPK, GetChainActionSetDescriptionsForm form);
219
220    CommandResult getChainActionSetDescription(UserVisitPK userVisitPK, GetChainActionSetDescriptionForm form);
221
222    CommandResult editChainActionSetDescription(UserVisitPK userVisitPK, EditChainActionSetDescriptionForm form);
223
224    CommandResult deleteChainActionSetDescription(UserVisitPK userVisitPK, DeleteChainActionSetDescriptionForm form);
225
226    // -------------------------------------------------------------------------
227    //   Chain Actions
228    // -------------------------------------------------------------------------
229    
230    CommandResult createChainAction(UserVisitPK userVisitPK, CreateChainActionForm form);
231    
232    CommandResult getChainActions(UserVisitPK userVisitPK, GetChainActionsForm form);
233    
234    CommandResult getChainAction(UserVisitPK userVisitPK, GetChainActionForm form);
235    
236    CommandResult editChainAction(UserVisitPK userVisitPK, EditChainActionForm form);
237    
238    CommandResult deleteChainAction(UserVisitPK userVisitPK, DeleteChainActionForm form);
239    
240    // -------------------------------------------------------------------------
241    //   Chain Action Descriptions
242    // -------------------------------------------------------------------------
243    
244    CommandResult createChainActionDescription(UserVisitPK userVisitPK, CreateChainActionDescriptionForm form);
245    
246    CommandResult getChainActionDescriptions(UserVisitPK userVisitPK, GetChainActionDescriptionsForm form);
247    
248    CommandResult getChainActionDescription(UserVisitPK userVisitPK, GetChainActionDescriptionForm form);
249    
250    CommandResult editChainActionDescription(UserVisitPK userVisitPK, EditChainActionDescriptionForm form);
251    
252    CommandResult deleteChainActionDescription(UserVisitPK userVisitPK, DeleteChainActionDescriptionForm form);
253    
254    // -------------------------------------------------------------------------
255    //   Chain Instances
256    // -------------------------------------------------------------------------
257    
258    CommandResult getChainInstance(UserVisitPK userVisitPK, GetChainInstanceForm form);
259    
260    CommandResult getChainInstances(UserVisitPK userVisitPK, GetChainInstancesForm form);
261    
262    // -------------------------------------------------------------------------
263    //   Chain Instance Statuses
264    // -------------------------------------------------------------------------
265    
266    CommandResult processChainInstanceStatuses(UserVisitPK userVisitPK);
267    
268}