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