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.contact.common;
018
019import com.echothree.control.user.contact.common.form.*;
020import com.echothree.model.data.user.common.pk.UserVisitPK;
021import com.echothree.util.common.command.CommandResult;
022
023public interface ContactService
024        extends ContactForms {
025    
026    // -------------------------------------------------------------------------
027    //   Testing
028    // -------------------------------------------------------------------------
029    
030    String ping();
031    
032    // --------------------------------------------------------------------------------
033    //   Contact Mechanism Types
034    // --------------------------------------------------------------------------------
035    
036    CommandResult createContactMechanismType(UserVisitPK userVisitPK, CreateContactMechanismTypeForm form);
037    
038    CommandResult getContactMechanismTypes(UserVisitPK userVisitPK, GetContactMechanismTypesForm form);
039    
040    CommandResult getContactMechanismTypeChoices(UserVisitPK userVisitPK, GetContactMechanismTypeChoicesForm form);
041    
042    // --------------------------------------------------------------------------------
043    //   Contact Mechanism Type Descriptions
044    // --------------------------------------------------------------------------------
045    
046    CommandResult createContactMechanismTypeDescription(UserVisitPK userVisitPK, CreateContactMechanismTypeDescriptionForm form);
047    
048    // --------------------------------------------------------------------------------
049    //   Contact Mechanism Alias Types
050    // --------------------------------------------------------------------------------
051    
052    CommandResult createContactMechanismAliasType(UserVisitPK userVisitPK, CreateContactMechanismAliasTypeForm form);
053    
054    CommandResult getContactMechanismAliasTypes(UserVisitPK userVisitPK, GetContactMechanismAliasTypesForm form);
055    
056    CommandResult getContactMechanismAliasTypeChoices(UserVisitPK userVisitPK, GetContactMechanismAliasTypeChoicesForm form);
057    
058    // --------------------------------------------------------------------------------
059    //   Contact Mechanism Alias Type Descriptions
060    // --------------------------------------------------------------------------------
061    
062    CommandResult createContactMechanismAliasTypeDescription(UserVisitPK userVisitPK, CreateContactMechanismAliasTypeDescriptionForm form);
063    
064    // --------------------------------------------------------------------------------
065    //   Contact Mechanism Purposes
066    // --------------------------------------------------------------------------------
067    
068    CommandResult createContactMechanismPurpose(UserVisitPK userVisitPK, CreateContactMechanismPurposeForm form);
069    
070    CommandResult getContactMechanismPurposes(UserVisitPK userVisitPK, GetContactMechanismPurposesForm form);
071    
072    CommandResult getContactMechanismPurposeChoices(UserVisitPK userVisitPK, GetContactMechanismPurposeChoicesForm form);
073    
074    // --------------------------------------------------------------------------------
075    //   Contact Mechanism Purpose Descriptions
076    // --------------------------------------------------------------------------------
077    
078    CommandResult createContactMechanismPurposeDescription(UserVisitPK userVisitPK, CreateContactMechanismPurposeDescriptionForm form);
079    
080    // --------------------------------------------------------------------------------
081    //   Contact Mechanisms
082    // --------------------------------------------------------------------------------
083    
084    CommandResult getContactMechanismChoices(UserVisitPK userVisitPK, GetContactMechanismChoicesForm form);
085    
086    CommandResult getEmailAddressStatusChoices(UserVisitPK userVisitPK, GetEmailAddressStatusChoicesForm form);
087    
088    CommandResult setEmailAddressStatus(UserVisitPK userVisitPK, SetEmailAddressStatusForm form);
089
090    CommandResult getEmailAddressVerificationChoices(UserVisitPK userVisitPK, GetEmailAddressVerificationChoicesForm form);
091    
092    CommandResult setEmailAddressVerification(UserVisitPK userVisitPK, SetEmailAddressVerificationForm form);
093
094    CommandResult getPostalAddressStatusChoices(UserVisitPK userVisitPK, GetPostalAddressStatusChoicesForm form);
095    
096    CommandResult setPostalAddressStatus(UserVisitPK userVisitPK, SetPostalAddressStatusForm form);
097
098    CommandResult getTelephoneStatusChoices(UserVisitPK userVisitPK, GetTelephoneStatusChoicesForm form);
099
100    CommandResult setTelephoneStatus(UserVisitPK userVisitPK, SetTelephoneStatusForm form);
101
102    CommandResult getWebAddressStatusChoices(UserVisitPK userVisitPK, GetWebAddressStatusChoicesForm form);
103
104    CommandResult setWebAddressStatus(UserVisitPK userVisitPK, SetWebAddressStatusForm form);
105
106    CommandResult getContactMechanism(UserVisitPK userVisitPK, GetContactMechanismForm form);
107
108    CommandResult deleteContactMechanism(UserVisitPK userVisitPK, DeleteContactMechanismForm form);
109    
110    // --------------------------------------------------------------------------------
111    //   Contact Mechanism Aliases
112    // --------------------------------------------------------------------------------
113    
114    CommandResult createContactMechanismAlias(UserVisitPK userVisitPK, CreateContactMechanismAliasForm form);
115    
116    CommandResult deleteContactMechanismAlias(UserVisitPK userVisitPK, DeleteContactMechanismAliasForm form);
117    
118    // --------------------------------------------------------------------------------
119    //   Party Contact Mechanism Aliases
120    // --------------------------------------------------------------------------------
121    
122    CommandResult createPartyContactMechanismAlias(UserVisitPK userVisitPK, CreatePartyContactMechanismAliasForm form);
123    
124    CommandResult deletePartyContactMechanismAlias(UserVisitPK userVisitPK, DeletePartyContactMechanismAliasForm form);
125    
126    // --------------------------------------------------------------------------------
127    //   Contact Email Addresses
128    // --------------------------------------------------------------------------------
129    
130    CommandResult createContactEmailAddress(UserVisitPK userVisitPK, CreateContactEmailAddressForm form);
131    
132    CommandResult editContactEmailAddress(UserVisitPK userVisitPK, EditContactEmailAddressForm form);
133    
134    // --------------------------------------------------------------------------------
135    //   Contact Postal Addresses
136    // --------------------------------------------------------------------------------
137    
138    CommandResult createContactPostalAddress(UserVisitPK userVisitPK, CreateContactPostalAddressForm form);
139    
140    CommandResult editContactPostalAddress(UserVisitPK userVisitPK, EditContactPostalAddressForm form);
141    
142    // --------------------------------------------------------------------------------
143    //   Contact Telephones
144    // --------------------------------------------------------------------------------
145    
146    CommandResult createContactTelephone(UserVisitPK userVisitPK, CreateContactTelephoneForm form);
147    
148    CommandResult editContactTelephone(UserVisitPK userVisitPK, EditContactTelephoneForm form);
149    
150    // --------------------------------------------------------------------------------
151    //   Contact Web Addresses
152    // --------------------------------------------------------------------------------
153    
154    CommandResult createContactWebAddress(UserVisitPK userVisitPK, CreateContactWebAddressForm form);
155    
156    CommandResult editContactWebAddress(UserVisitPK userVisitPK, EditContactWebAddressForm form);
157    
158    // --------------------------------------------------------------------------------
159    //   Party Contact Mechanism Purposes
160    // --------------------------------------------------------------------------------
161    
162    CommandResult createPartyContactMechanismPurpose(UserVisitPK userVisitPK, CreatePartyContactMechanismPurposeForm form);
163    
164    CommandResult setDefaultPartyContactMechanismPurpose(UserVisitPK userVisitPK, SetDefaultPartyContactMechanismPurposeForm form);
165    
166    CommandResult deletePartyContactMechanismPurpose(UserVisitPK userVisitPK, DeletePartyContactMechanismPurposeForm form);
167    
168    // --------------------------------------------------------------------------------
169    //   Party Contact Mechanism Relationships
170    // --------------------------------------------------------------------------------
171    
172    CommandResult createPartyContactMechanismRelationship(UserVisitPK userVisitPK, CreatePartyContactMechanismRelationshipForm form);
173    
174    CommandResult deletePartyContactMechanismRelationship(UserVisitPK userVisitPK, DeletePartyContactMechanismRelationshipForm form);
175    
176    // --------------------------------------------------------------------------------
177    //   Postal Address Element Types
178    // --------------------------------------------------------------------------------
179    
180    CommandResult createPostalAddressElementType(UserVisitPK userVisitPK, CreatePostalAddressElementTypeForm form);
181    
182    CommandResult getPostalAddressElementTypeChoices(UserVisitPK userVisitPK, GetPostalAddressElementTypeChoicesForm form);
183    
184    // --------------------------------------------------------------------------------
185    //   Postal Address Element Type Descriptions
186    // --------------------------------------------------------------------------------
187    
188    CommandResult createPostalAddressElementTypeDescription(UserVisitPK userVisitPK, CreatePostalAddressElementTypeDescriptionForm form);
189    
190    // -------------------------------------------------------------------------
191    //   Postal Address Formats
192    // -------------------------------------------------------------------------
193    
194    CommandResult createPostalAddressFormat(UserVisitPK userVisitPK, CreatePostalAddressFormatForm form);
195    
196    CommandResult getPostalAddressFormat(UserVisitPK userVisitPK, GetPostalAddressFormatForm form);
197    
198    CommandResult getPostalAddressFormats(UserVisitPK userVisitPK, GetPostalAddressFormatsForm form);
199    
200    CommandResult getPostalAddressFormatChoices(UserVisitPK userVisitPK, GetPostalAddressFormatChoicesForm form);
201    
202    CommandResult setDefaultPostalAddressFormat(UserVisitPK userVisitPK, SetDefaultPostalAddressFormatForm form);
203    
204    CommandResult editPostalAddressFormat(UserVisitPK userVisitPK, EditPostalAddressFormatForm form);
205    
206    CommandResult deletePostalAddressFormat(UserVisitPK userVisitPK, DeletePostalAddressFormatForm form);
207    
208    // -------------------------------------------------------------------------
209    //   Postal Address Format Descriptions
210    // -------------------------------------------------------------------------
211    
212    CommandResult createPostalAddressFormatDescription(UserVisitPK userVisitPK, CreatePostalAddressFormatDescriptionForm form);
213    
214    CommandResult getPostalAddressFormatDescriptions(UserVisitPK userVisitPK, GetPostalAddressFormatDescriptionsForm form);
215    
216    CommandResult editPostalAddressFormatDescription(UserVisitPK userVisitPK, EditPostalAddressFormatDescriptionForm form);
217    
218    CommandResult deletePostalAddressFormatDescription(UserVisitPK userVisitPK, DeletePostalAddressFormatDescriptionForm form);
219    
220    // --------------------------------------------------------------------------------
221    //   Postal Address Lines
222    // --------------------------------------------------------------------------------
223    
224    CommandResult createPostalAddressLine(UserVisitPK userVisitPK, CreatePostalAddressLineForm form);
225    
226    CommandResult getPostalAddressLines(UserVisitPK userVisitPK, GetPostalAddressLinesForm form);
227    
228    CommandResult editPostalAddressLine(UserVisitPK userVisitPK, EditPostalAddressLineForm form);
229    
230    CommandResult deletePostalAddressLine(UserVisitPK userVisitPK, DeletePostalAddressLineForm form);
231    
232    // --------------------------------------------------------------------------------
233    //   Postal Address Line Elements
234    // --------------------------------------------------------------------------------
235    
236    CommandResult createPostalAddressLineElement(UserVisitPK userVisitPK, CreatePostalAddressLineElementForm form);
237    
238    CommandResult getPostalAddressLineElements(UserVisitPK userVisitPK, GetPostalAddressLineElementsForm form);
239    
240    CommandResult editPostalAddressLineElement(UserVisitPK userVisitPK, EditPostalAddressLineElementForm form);
241    
242    CommandResult deletePostalAddressLineElement(UserVisitPK userVisitPK, DeletePostalAddressLineElementForm form);
243    
244}