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.associate.common; 018 019import com.echothree.control.user.associate.common.form.*; 020import com.echothree.model.data.user.common.pk.UserVisitPK; 021import com.echothree.util.common.command.CommandResult; 022 023public interface AssociateService 024 extends AssociateForms { 025 026 // ------------------------------------------------------------------------- 027 // Testing 028 // ------------------------------------------------------------------------- 029 030 String ping(); 031 032 // ------------------------------------------------------------------------- 033 // Associate Programs 034 // ------------------------------------------------------------------------- 035 036 CommandResult createAssociateProgram(UserVisitPK userVisitPK, CreateAssociateProgramForm form); 037 038 CommandResult getAssociateProgram(UserVisitPK userVisitPK, GetAssociateProgramForm form); 039 040 CommandResult getAssociatePrograms(UserVisitPK userVisitPK, GetAssociateProgramsForm form); 041 042 CommandResult getAssociateProgramChoices(UserVisitPK userVisitPK, GetAssociateProgramChoicesForm form); 043 044 CommandResult setDefaultAssociateProgram(UserVisitPK userVisitPK, SetDefaultAssociateProgramForm form); 045 046 CommandResult editAssociateProgram(UserVisitPK userVisitPK, EditAssociateProgramForm form); 047 048 CommandResult deleteAssociateProgram(UserVisitPK userVisitPK, DeleteAssociateProgramForm form); 049 050 // ------------------------------------------------------------------------- 051 // Associate Program Descriptions 052 // ------------------------------------------------------------------------- 053 054 CommandResult createAssociateProgramDescription(UserVisitPK userVisitPK, CreateAssociateProgramDescriptionForm form); 055 056 CommandResult getAssociateProgramDescriptions(UserVisitPK userVisitPK, GetAssociateProgramDescriptionsForm form); 057 058 CommandResult editAssociateProgramDescription(UserVisitPK userVisitPK, EditAssociateProgramDescriptionForm form); 059 060 CommandResult deleteAssociateProgramDescription(UserVisitPK userVisitPK, DeleteAssociateProgramDescriptionForm form); 061 062 // ------------------------------------------------------------------------- 063 // Associates 064 // ------------------------------------------------------------------------- 065 066 CommandResult createAssociate(UserVisitPK userVisitPK, CreateAssociateForm form); 067 068 CommandResult getAssociate(UserVisitPK userVisitPK, GetAssociateForm form); 069 070 CommandResult getAssociates(UserVisitPK userVisitPK, GetAssociatesForm form); 071 072 CommandResult getAssociateChoices(UserVisitPK userVisitPK, GetAssociateChoicesForm form); 073 074 CommandResult deleteAssociate(UserVisitPK userVisitPK, DeleteAssociateForm form); 075 076 // ------------------------------------------------------------------------- 077 // Associate Contact Mechanisms 078 // ------------------------------------------------------------------------- 079 080 CommandResult createAssociatePartyContactMechanism(UserVisitPK userVisitPK, CreateAssociatePartyContactMechanismForm form); 081 082 CommandResult getAssociatePartyContactMechanism(UserVisitPK userVisitPK, GetAssociatePartyContactMechanismForm form); 083 084 CommandResult getAssociatePartyContactMechanisms(UserVisitPK userVisitPK, GetAssociatePartyContactMechanismsForm form); 085 086 CommandResult getAssociatePartyContactMechanismChoices(UserVisitPK userVisitPK, GetAssociatePartyContactMechanismChoicesForm form); 087 088 CommandResult setDefaultAssociatePartyContactMechanism(UserVisitPK userVisitPK, SetDefaultAssociatePartyContactMechanismForm form); 089 090 CommandResult deleteAssociatePartyContactMechanism(UserVisitPK userVisitPK, DeleteAssociatePartyContactMechanismForm form); 091 092 // ------------------------------------------------------------------------- 093 // Associate Referrals 094 // ------------------------------------------------------------------------- 095 096 CommandResult getAssociateReferral(UserVisitPK userVisitPK, GetAssociateReferralForm form); 097 098 CommandResult getAssociateReferrals(UserVisitPK userVisitPK, GetAssociateReferralsForm form); 099 100 CommandResult deleteAssociateReferral(UserVisitPK userVisitPK, DeleteAssociateReferralForm form); 101 102}