001// --------------------------------------------------------------------------------
002// Copyright 2002-2025 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 getContactMechanismPurpose(UserVisitPK userVisitPK, GetContactMechanismPurposeForm form);
071
072    CommandResult getContactMechanismPurposes(UserVisitPK userVisitPK, GetContactMechanismPurposesForm form);
073
074    CommandResult getContactMechanismPurposeChoices(UserVisitPK userVisitPK, GetContactMechanismPurposeChoicesForm form);
075    
076    // --------------------------------------------------------------------------------
077    //   Contact Mechanism Purpose Descriptions
078    // --------------------------------------------------------------------------------
079    
080    CommandResult createContactMechanismPurposeDescription(UserVisitPK userVisitPK, CreateContactMechanismPurposeDescriptionForm form);
081    
082    // --------------------------------------------------------------------------------
083    //   Contact Mechanisms
084    // --------------------------------------------------------------------------------
085    
086    CommandResult getContactMechanismChoices(UserVisitPK userVisitPK, GetContactMechanismChoicesForm form);
087    
088    CommandResult getEmailAddressStatusChoices(UserVisitPK userVisitPK, GetEmailAddressStatusChoicesForm form);
089    
090    CommandResult setEmailAddressStatus(UserVisitPK userVisitPK, SetEmailAddressStatusForm form);
091
092    CommandResult getEmailAddressVerificationChoices(UserVisitPK userVisitPK, GetEmailAddressVerificationChoicesForm form);
093    
094    CommandResult setEmailAddressVerification(UserVisitPK userVisitPK, SetEmailAddressVerificationForm form);
095
096    CommandResult getPostalAddressStatusChoices(UserVisitPK userVisitPK, GetPostalAddressStatusChoicesForm form);
097    
098    CommandResult setPostalAddressStatus(UserVisitPK userVisitPK, SetPostalAddressStatusForm form);
099
100    CommandResult getTelephoneStatusChoices(UserVisitPK userVisitPK, GetTelephoneStatusChoicesForm form);
101
102    CommandResult setTelephoneStatus(UserVisitPK userVisitPK, SetTelephoneStatusForm form);
103
104    CommandResult getWebAddressStatusChoices(UserVisitPK userVisitPK, GetWebAddressStatusChoicesForm form);
105
106    CommandResult setWebAddressStatus(UserVisitPK userVisitPK, SetWebAddressStatusForm form);
107
108    CommandResult getContactMechanism(UserVisitPK userVisitPK, GetContactMechanismForm form);
109
110    CommandResult deleteContactMechanism(UserVisitPK userVisitPK, DeleteContactMechanismForm form);
111    
112    // --------------------------------------------------------------------------------
113    //   Contact Mechanism Aliases
114    // --------------------------------------------------------------------------------
115    
116    CommandResult createContactMechanismAlias(UserVisitPK userVisitPK, CreateContactMechanismAliasForm form);
117    
118    CommandResult deleteContactMechanismAlias(UserVisitPK userVisitPK, DeleteContactMechanismAliasForm form);
119    
120    // --------------------------------------------------------------------------------
121    //   Party Contact Mechanism Aliases
122    // --------------------------------------------------------------------------------
123    
124    CommandResult createPartyContactMechanismAlias(UserVisitPK userVisitPK, CreatePartyContactMechanismAliasForm form);
125    
126    CommandResult deletePartyContactMechanismAlias(UserVisitPK userVisitPK, DeletePartyContactMechanismAliasForm form);
127    
128    // --------------------------------------------------------------------------------
129    //   Contact Email Addresses
130    // --------------------------------------------------------------------------------
131    
132    CommandResult createContactEmailAddress(UserVisitPK userVisitPK, CreateContactEmailAddressForm form);
133    
134    CommandResult editContactEmailAddress(UserVisitPK userVisitPK, EditContactEmailAddressForm form);
135    
136    // --------------------------------------------------------------------------------
137    //   Contact Postal Addresses
138    // --------------------------------------------------------------------------------
139    
140    CommandResult createContactPostalAddress(UserVisitPK userVisitPK, CreateContactPostalAddressForm form);
141    
142    CommandResult editContactPostalAddress(UserVisitPK userVisitPK, EditContactPostalAddressForm form);
143    
144    // --------------------------------------------------------------------------------
145    //   Contact Telephones
146    // --------------------------------------------------------------------------------
147    
148    CommandResult createContactTelephone(UserVisitPK userVisitPK, CreateContactTelephoneForm form);
149    
150    CommandResult editContactTelephone(UserVisitPK userVisitPK, EditContactTelephoneForm form);
151    
152    // --------------------------------------------------------------------------------
153    //   Contact Web Addresses
154    // --------------------------------------------------------------------------------
155    
156    CommandResult createContactWebAddress(UserVisitPK userVisitPK, CreateContactWebAddressForm form);
157    
158    CommandResult editContactWebAddress(UserVisitPK userVisitPK, EditContactWebAddressForm form);
159    
160    // --------------------------------------------------------------------------------
161    //   Party Contact Mechanism Purposes
162    // --------------------------------------------------------------------------------
163    
164    CommandResult createPartyContactMechanismPurpose(UserVisitPK userVisitPK, CreatePartyContactMechanismPurposeForm form);
165    
166    CommandResult setDefaultPartyContactMechanismPurpose(UserVisitPK userVisitPK, SetDefaultPartyContactMechanismPurposeForm form);
167    
168    CommandResult deletePartyContactMechanismPurpose(UserVisitPK userVisitPK, DeletePartyContactMechanismPurposeForm form);
169    
170    // --------------------------------------------------------------------------------
171    //   Party Contact Mechanism Relationships
172    // --------------------------------------------------------------------------------
173    
174    CommandResult createPartyContactMechanismRelationship(UserVisitPK userVisitPK, CreatePartyContactMechanismRelationshipForm form);
175    
176    CommandResult deletePartyContactMechanismRelationship(UserVisitPK userVisitPK, DeletePartyContactMechanismRelationshipForm form);
177    
178    // --------------------------------------------------------------------------------
179    //   Postal Address Element Types
180    // --------------------------------------------------------------------------------
181    
182    CommandResult createPostalAddressElementType(UserVisitPK userVisitPK, CreatePostalAddressElementTypeForm form);
183    
184    CommandResult getPostalAddressElementTypeChoices(UserVisitPK userVisitPK, GetPostalAddressElementTypeChoicesForm form);
185    
186    // --------------------------------------------------------------------------------
187    //   Postal Address Element Type Descriptions
188    // --------------------------------------------------------------------------------
189    
190    CommandResult createPostalAddressElementTypeDescription(UserVisitPK userVisitPK, CreatePostalAddressElementTypeDescriptionForm form);
191    
192    // -------------------------------------------------------------------------
193    //   Postal Address Formats
194    // -------------------------------------------------------------------------
195    
196    CommandResult createPostalAddressFormat(UserVisitPK userVisitPK, CreatePostalAddressFormatForm form);
197    
198    CommandResult getPostalAddressFormat(UserVisitPK userVisitPK, GetPostalAddressFormatForm form);
199    
200    CommandResult getPostalAddressFormats(UserVisitPK userVisitPK, GetPostalAddressFormatsForm form);
201    
202    CommandResult getPostalAddressFormatChoices(UserVisitPK userVisitPK, GetPostalAddressFormatChoicesForm form);
203    
204    CommandResult setDefaultPostalAddressFormat(UserVisitPK userVisitPK, SetDefaultPostalAddressFormatForm form);
205    
206    CommandResult editPostalAddressFormat(UserVisitPK userVisitPK, EditPostalAddressFormatForm form);
207    
208    CommandResult deletePostalAddressFormat(UserVisitPK userVisitPK, DeletePostalAddressFormatForm form);
209    
210    // -------------------------------------------------------------------------
211    //   Postal Address Format Descriptions
212    // -------------------------------------------------------------------------
213    
214    CommandResult createPostalAddressFormatDescription(UserVisitPK userVisitPK, CreatePostalAddressFormatDescriptionForm form);
215    
216    CommandResult getPostalAddressFormatDescriptions(UserVisitPK userVisitPK, GetPostalAddressFormatDescriptionsForm form);
217    
218    CommandResult editPostalAddressFormatDescription(UserVisitPK userVisitPK, EditPostalAddressFormatDescriptionForm form);
219    
220    CommandResult deletePostalAddressFormatDescription(UserVisitPK userVisitPK, DeletePostalAddressFormatDescriptionForm form);
221    
222    // --------------------------------------------------------------------------------
223    //   Postal Address Lines
224    // --------------------------------------------------------------------------------
225    
226    CommandResult createPostalAddressLine(UserVisitPK userVisitPK, CreatePostalAddressLineForm form);
227    
228    CommandResult getPostalAddressLines(UserVisitPK userVisitPK, GetPostalAddressLinesForm form);
229    
230    CommandResult editPostalAddressLine(UserVisitPK userVisitPK, EditPostalAddressLineForm form);
231    
232    CommandResult deletePostalAddressLine(UserVisitPK userVisitPK, DeletePostalAddressLineForm form);
233    
234    // --------------------------------------------------------------------------------
235    //   Postal Address Line Elements
236    // --------------------------------------------------------------------------------
237    
238    CommandResult createPostalAddressLineElement(UserVisitPK userVisitPK, CreatePostalAddressLineElementForm form);
239    
240    CommandResult getPostalAddressLineElements(UserVisitPK userVisitPK, GetPostalAddressLineElementsForm form);
241    
242    CommandResult editPostalAddressLineElement(UserVisitPK userVisitPK, EditPostalAddressLineElementForm form);
243    
244    CommandResult deletePostalAddressLineElement(UserVisitPK userVisitPK, DeletePostalAddressLineElementForm form);
245    
246}