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.communication.common; 018 019import com.echothree.control.user.communication.common.form.*; 020import com.echothree.control.user.communication.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 CommunicationService 026 extends CommunicationForms { 027 028 // ------------------------------------------------------------------------- 029 // Communication Event Role Types 030 // ------------------------------------------------------------------------- 031 032 CommandResult<VoidResult> createCommunicationEventRoleType(UserVisitPK userVisitPK, CreateCommunicationEventRoleTypeForm form); 033 034 // ------------------------------------------------------------------------- 035 // Communication Event Role Type Descriptions 036 // ------------------------------------------------------------------------- 037 038 CommandResult<VoidResult> createCommunicationEventRoleTypeDescription(UserVisitPK userVisitPK, CreateCommunicationEventRoleTypeDescriptionForm form); 039 040 // ------------------------------------------------------------------------- 041 // Communication Event Types 042 // ------------------------------------------------------------------------- 043 044 CommandResult<VoidResult> createCommunicationEventType(UserVisitPK userVisitPK, CreateCommunicationEventTypeForm form); 045 046 // ------------------------------------------------------------------------- 047 // Communication Event Type Descriptions 048 // ------------------------------------------------------------------------- 049 050 CommandResult<VoidResult> createCommunicationEventTypeDescription(UserVisitPK userVisitPK, CreateCommunicationEventTypeDescriptionForm form); 051 052 // ------------------------------------------------------------------------- 053 // Communication Event Purposes 054 // ------------------------------------------------------------------------- 055 056 CommandResult<VoidResult> createCommunicationEventPurpose(UserVisitPK userVisitPK, CreateCommunicationEventPurposeForm form); 057 058 CommandResult<GetCommunicationEventPurposesResult> getCommunicationEventPurposes(UserVisitPK userVisitPK, GetCommunicationEventPurposesForm form); 059 060 CommandResult<GetCommunicationEventPurposeResult> getCommunicationEventPurpose(UserVisitPK userVisitPK, GetCommunicationEventPurposeForm form); 061 062 CommandResult<GetCommunicationEventPurposeChoicesResult> getCommunicationEventPurposeChoices(UserVisitPK userVisitPK, GetCommunicationEventPurposeChoicesForm form); 063 064 CommandResult<VoidResult> setDefaultCommunicationEventPurpose(UserVisitPK userVisitPK, SetDefaultCommunicationEventPurposeForm form); 065 066 CommandResult<EditCommunicationEventPurposeResult> editCommunicationEventPurpose(UserVisitPK userVisitPK, EditCommunicationEventPurposeForm form); 067 068 CommandResult<VoidResult> deleteCommunicationEventPurpose(UserVisitPK userVisitPK, DeleteCommunicationEventPurposeForm form); 069 070 // ------------------------------------------------------------------------- 071 // Communication Event Purpose Descriptions 072 // ------------------------------------------------------------------------- 073 074 CommandResult<VoidResult> createCommunicationEventPurposeDescription(UserVisitPK userVisitPK, CreateCommunicationEventPurposeDescriptionForm form); 075 076 CommandResult<GetCommunicationEventPurposeDescriptionsResult> getCommunicationEventPurposeDescriptions(UserVisitPK userVisitPK, GetCommunicationEventPurposeDescriptionsForm form); 077 078 CommandResult<EditCommunicationEventPurposeDescriptionResult> editCommunicationEventPurposeDescription(UserVisitPK userVisitPK, EditCommunicationEventPurposeDescriptionForm form); 079 080 CommandResult<VoidResult> deleteCommunicationEventPurposeDescription(UserVisitPK userVisitPK, DeleteCommunicationEventPurposeDescriptionForm form); 081 082 // ------------------------------------------------------------------------- 083 // Communication Source Types 084 // ------------------------------------------------------------------------- 085 086 CommandResult<VoidResult> createCommunicationSourceType(UserVisitPK userVisitPK, CreateCommunicationSourceTypeForm form); 087 088 // ------------------------------------------------------------------------- 089 // Communication Source Type Descriptions 090 // ------------------------------------------------------------------------- 091 092 CommandResult<VoidResult> createCommunicationSourceTypeDescription(UserVisitPK userVisitPK, CreateCommunicationSourceTypeDescriptionForm form); 093 094 // ------------------------------------------------------------------------- 095 // Communication Sources 096 // ------------------------------------------------------------------------- 097 098 CommandResult<VoidResult> createCommunicationSource(UserVisitPK userVisitPK, CreateCommunicationSourceForm form); 099 100 CommandResult<GetCommunicationSourcesResult> getCommunicationSources(UserVisitPK userVisitPK, GetCommunicationSourcesForm form); 101 102 CommandResult<GetCommunicationSourceResult> getCommunicationSource(UserVisitPK userVisitPK, GetCommunicationSourceForm form); 103 104 CommandResult<VoidResult> deleteCommunicationSource(UserVisitPK userVisitPK, DeleteCommunicationSourceForm form); 105 106 // ------------------------------------------------------------------------- 107 // Communication Source Descriptions 108 // ------------------------------------------------------------------------- 109 110 CommandResult<VoidResult> createCommunicationSourceDescription(UserVisitPK userVisitPK, CreateCommunicationSourceDescriptionForm form); 111 112 CommandResult<GetCommunicationSourceDescriptionsResult> getCommunicationSourceDescriptions(UserVisitPK userVisitPK, GetCommunicationSourceDescriptionsForm form); 113 114 CommandResult<EditCommunicationSourceDescriptionResult> editCommunicationSourceDescription(UserVisitPK userVisitPK, EditCommunicationSourceDescriptionForm form); 115 116 CommandResult<VoidResult> deleteCommunicationSourceDescription(UserVisitPK userVisitPK, DeleteCommunicationSourceDescriptionForm form); 117 118 // ------------------------------------------------------------------------- 119 // Communication Events 120 // ------------------------------------------------------------------------- 121 122 CommandResult<VoidResult> createCommunicationEvent(UserVisitPK userVisitPK, CreateCommunicationEventForm form); 123 124 CommandResult<GetCommunicationEventResult> getCommunicationEvent(UserVisitPK userVisitPK, GetCommunicationEventForm form); 125 126 // ------------------------------------------------------------------------- 127 // Testing 128 // ------------------------------------------------------------------------- 129 130 String ping(); 131 132}