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.contactlist.common;
018
019import com.echothree.control.user.contactlist.common.form.*;
020import com.echothree.model.data.user.common.pk.UserVisitPK;
021import com.echothree.util.common.command.CommandResult;
022
023public interface ContactListService
024        extends ContactListForms {
025    
026    // -------------------------------------------------------------------------
027    //   Testing
028    // -------------------------------------------------------------------------
029    
030    String ping();
031    
032    // -------------------------------------------------------------------------
033    //   Contact List Types
034    // -------------------------------------------------------------------------
035
036    CommandResult createContactListType(UserVisitPK userVisitPK, CreateContactListTypeForm form);
037
038    CommandResult getContactListTypes(UserVisitPK userVisitPK, GetContactListTypesForm form);
039
040    CommandResult getContactListType(UserVisitPK userVisitPK, GetContactListTypeForm form);
041
042    CommandResult getContactListTypeChoices(UserVisitPK userVisitPK, GetContactListTypeChoicesForm form);
043
044    CommandResult setDefaultContactListType(UserVisitPK userVisitPK, SetDefaultContactListTypeForm form);
045
046    CommandResult editContactListType(UserVisitPK userVisitPK, EditContactListTypeForm form);
047
048    CommandResult deleteContactListType(UserVisitPK userVisitPK, DeleteContactListTypeForm form);
049
050    // -------------------------------------------------------------------------
051    //   Contact List Type Descriptions
052    // -------------------------------------------------------------------------
053
054    CommandResult createContactListTypeDescription(UserVisitPK userVisitPK, CreateContactListTypeDescriptionForm form);
055
056    CommandResult getContactListTypeDescriptions(UserVisitPK userVisitPK, GetContactListTypeDescriptionsForm form);
057
058    CommandResult getContactListTypeDescription(UserVisitPK userVisitPK, GetContactListTypeDescriptionForm form);
059
060    CommandResult editContactListTypeDescription(UserVisitPK userVisitPK, EditContactListTypeDescriptionForm form);
061
062    CommandResult deleteContactListTypeDescription(UserVisitPK userVisitPK, DeleteContactListTypeDescriptionForm form);
063
064    // --------------------------------------------------------------------------------
065    //   Contact List Groups
066    // --------------------------------------------------------------------------------
067
068    CommandResult createContactListGroup(UserVisitPK userVisitPK, CreateContactListGroupForm form);
069
070    CommandResult getContactListGroups(UserVisitPK userVisitPK, GetContactListGroupsForm form);
071
072    CommandResult getContactListGroup(UserVisitPK userVisitPK, GetContactListGroupForm form);
073
074    CommandResult getContactListGroupChoices(UserVisitPK userVisitPK, GetContactListGroupChoicesForm form);
075
076    CommandResult setDefaultContactListGroup(UserVisitPK userVisitPK, SetDefaultContactListGroupForm form);
077
078    CommandResult editContactListGroup(UserVisitPK userVisitPK, EditContactListGroupForm form);
079
080    CommandResult deleteContactListGroup(UserVisitPK userVisitPK, DeleteContactListGroupForm form);
081
082    // --------------------------------------------------------------------------------
083    //   Contact List Group Descriptions
084    // --------------------------------------------------------------------------------
085
086    CommandResult createContactListGroupDescription(UserVisitPK userVisitPK, CreateContactListGroupDescriptionForm form);
087
088    CommandResult getContactListGroupDescriptions(UserVisitPK userVisitPK, GetContactListGroupDescriptionsForm form);
089
090    CommandResult getContactListGroupDescription(UserVisitPK userVisitPK, GetContactListGroupDescriptionForm form);
091
092    CommandResult editContactListGroupDescription(UserVisitPK userVisitPK, EditContactListGroupDescriptionForm form);
093
094    CommandResult deleteContactListGroupDescription(UserVisitPK userVisitPK, DeleteContactListGroupDescriptionForm form);
095
096    // --------------------------------------------------------------------------------
097    //   Contact List Frequencies
098    // --------------------------------------------------------------------------------
099
100    CommandResult createContactListFrequency(UserVisitPK userVisitPK, CreateContactListFrequencyForm form);
101
102    CommandResult getContactListFrequencies(UserVisitPK userVisitPK, GetContactListFrequenciesForm form);
103
104    CommandResult getContactListFrequency(UserVisitPK userVisitPK, GetContactListFrequencyForm form);
105
106    CommandResult getContactListFrequencyChoices(UserVisitPK userVisitPK, GetContactListFrequencyChoicesForm form);
107
108    CommandResult setDefaultContactListFrequency(UserVisitPK userVisitPK, SetDefaultContactListFrequencyForm form);
109
110    CommandResult editContactListFrequency(UserVisitPK userVisitPK, EditContactListFrequencyForm form);
111
112    CommandResult deleteContactListFrequency(UserVisitPK userVisitPK, DeleteContactListFrequencyForm form);
113
114    // --------------------------------------------------------------------------------
115    //   Contact List Frequency Descriptions
116    // --------------------------------------------------------------------------------
117
118    CommandResult createContactListFrequencyDescription(UserVisitPK userVisitPK, CreateContactListFrequencyDescriptionForm form);
119
120    CommandResult getContactListFrequencyDescriptions(UserVisitPK userVisitPK, GetContactListFrequencyDescriptionsForm form);
121
122    CommandResult getContactListFrequencyDescription(UserVisitPK userVisitPK, GetContactListFrequencyDescriptionForm form);
123
124    CommandResult editContactListFrequencyDescription(UserVisitPK userVisitPK, EditContactListFrequencyDescriptionForm form);
125
126    CommandResult deleteContactListFrequencyDescription(UserVisitPK userVisitPK, DeleteContactListFrequencyDescriptionForm form);
127
128    // --------------------------------------------------------------------------------
129    //   Contact Lists
130    // --------------------------------------------------------------------------------
131
132    CommandResult createContactList(UserVisitPK userVisitPK, CreateContactListForm form);
133
134    CommandResult getContactLists(UserVisitPK userVisitPK, GetContactListsForm form);
135
136    CommandResult getContactList(UserVisitPK userVisitPK, GetContactListForm form);
137
138    CommandResult getContactListChoices(UserVisitPK userVisitPK, GetContactListChoicesForm form);
139
140    CommandResult setDefaultContactList(UserVisitPK userVisitPK, SetDefaultContactListForm form);
141
142    CommandResult editContactList(UserVisitPK userVisitPK, EditContactListForm form);
143
144    CommandResult deleteContactList(UserVisitPK userVisitPK, DeleteContactListForm form);
145
146    // --------------------------------------------------------------------------------
147    //   Contact List Descriptions
148    // --------------------------------------------------------------------------------
149
150    CommandResult createContactListDescription(UserVisitPK userVisitPK, CreateContactListDescriptionForm form);
151
152    CommandResult getContactListDescriptions(UserVisitPK userVisitPK, GetContactListDescriptionsForm form);
153
154    CommandResult getContactListDescription(UserVisitPK userVisitPK, GetContactListDescriptionForm form);
155
156    CommandResult editContactListDescription(UserVisitPK userVisitPK, EditContactListDescriptionForm form);
157
158    CommandResult deleteContactListDescription(UserVisitPK userVisitPK, DeleteContactListDescriptionForm form);
159
160    // --------------------------------------------------------------------------------
161    //   Party Type Contact Lists
162    // --------------------------------------------------------------------------------
163    
164    CommandResult createPartyTypeContactList(UserVisitPK userVisitPK, CreatePartyTypeContactListForm form);
165    
166    CommandResult getPartyTypeContactLists(UserVisitPK userVisitPK, GetPartyTypeContactListsForm form);
167
168    CommandResult getPartyTypeContactList(UserVisitPK userVisitPK, GetPartyTypeContactListForm form);
169
170    CommandResult editPartyTypeContactList(UserVisitPK userVisitPK, EditPartyTypeContactListForm form);
171    
172    CommandResult deletePartyTypeContactList(UserVisitPK userVisitPK, DeletePartyTypeContactListForm form);
173    
174    // --------------------------------------------------------------------------------
175    //   Party Type Contact List Groups
176    // --------------------------------------------------------------------------------
177    
178    CommandResult createPartyTypeContactListGroup(UserVisitPK userVisitPK, CreatePartyTypeContactListGroupForm form);
179    
180    CommandResult getPartyTypeContactListGroups(UserVisitPK userVisitPK, GetPartyTypeContactListGroupsForm form);
181
182    CommandResult getPartyTypeContactListGroup(UserVisitPK userVisitPK, GetPartyTypeContactListGroupForm form);
183
184    CommandResult editPartyTypeContactListGroup(UserVisitPK userVisitPK, EditPartyTypeContactListGroupForm form);
185    
186    CommandResult deletePartyTypeContactListGroup(UserVisitPK userVisitPK, DeletePartyTypeContactListGroupForm form);
187    
188    // --------------------------------------------------------------------------------
189    //   Customer Type Contact Lists
190    // --------------------------------------------------------------------------------
191
192    CommandResult createCustomerTypeContactList(UserVisitPK userVisitPK, CreateCustomerTypeContactListForm form);
193
194    CommandResult getCustomerTypeContactLists(UserVisitPK userVisitPK, GetCustomerTypeContactListsForm form);
195
196    CommandResult getCustomerTypeContactList(UserVisitPK userVisitPK, GetCustomerTypeContactListForm form);
197
198    CommandResult editCustomerTypeContactList(UserVisitPK userVisitPK, EditCustomerTypeContactListForm form);
199
200    CommandResult deleteCustomerTypeContactList(UserVisitPK userVisitPK, DeleteCustomerTypeContactListForm form);
201
202    // --------------------------------------------------------------------------------
203    //   Customer Type Contact List Groups
204    // --------------------------------------------------------------------------------
205
206    CommandResult createCustomerTypeContactListGroup(UserVisitPK userVisitPK, CreateCustomerTypeContactListGroupForm form);
207
208    CommandResult getCustomerTypeContactListGroups(UserVisitPK userVisitPK, GetCustomerTypeContactListGroupsForm form);
209
210    CommandResult getCustomerTypeContactListGroup(UserVisitPK userVisitPK, GetCustomerTypeContactListGroupForm form);
211
212    CommandResult editCustomerTypeContactListGroup(UserVisitPK userVisitPK, EditCustomerTypeContactListGroupForm form);
213
214    CommandResult deleteCustomerTypeContactListGroup(UserVisitPK userVisitPK, DeleteCustomerTypeContactListGroupForm form);
215
216    // --------------------------------------------------------------------------------
217    //   Contact List Contact Mechanism Purposes
218    // --------------------------------------------------------------------------------
219    
220    CommandResult createContactListContactMechanismPurpose(UserVisitPK userVisitPK, CreateContactListContactMechanismPurposeForm form);
221    
222    CommandResult getContactListContactMechanismPurposeChoices(UserVisitPK userVisitPK, GetContactListContactMechanismPurposeChoicesForm form);
223    
224    CommandResult getContactListContactMechanismPurpose(UserVisitPK userVisitPK, GetContactListContactMechanismPurposeForm form);
225    
226    CommandResult getContactListContactMechanismPurposes(UserVisitPK userVisitPK, GetContactListContactMechanismPurposesForm form);
227    
228    CommandResult setDefaultContactListContactMechanismPurpose(UserVisitPK userVisitPK, SetDefaultContactListContactMechanismPurposeForm form);
229    
230    CommandResult editContactListContactMechanismPurpose(UserVisitPK userVisitPK, EditContactListContactMechanismPurposeForm form);
231    
232    CommandResult deleteContactListContactMechanismPurpose(UserVisitPK userVisitPK, DeleteContactListContactMechanismPurposeForm form);
233    
234    // --------------------------------------------------------------------------------
235    //   Party Contact Lists
236    // --------------------------------------------------------------------------------
237    
238    CommandResult createPartyContactList(UserVisitPK userVisitPK, CreatePartyContactListForm form);
239
240    CommandResult getPartyContactLists(UserVisitPK userVisitPK, GetPartyContactListsForm form);
241
242    CommandResult getPartyContactList(UserVisitPK userVisitPK, GetPartyContactListForm form);
243
244    CommandResult getPartyContactListStatusChoices(UserVisitPK userVisitPK, GetPartyContactListStatusChoicesForm form);
245
246    CommandResult setPartyContactListStatus(UserVisitPK userVisitPK, SetPartyContactListStatusForm form);
247
248    CommandResult editPartyContactList(UserVisitPK userVisitPK, EditPartyContactListForm form);
249    
250    CommandResult deletePartyContactList(UserVisitPK userVisitPK, DeletePartyContactListForm form);
251    
252}