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.term.common; 018 019import com.echothree.control.user.term.common.form.*; 020import com.echothree.control.user.term.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 TermService 026 extends TermForms { 027 028 // ------------------------------------------------------------------------- 029 // Testing 030 // ------------------------------------------------------------------------- 031 032 String ping(); 033 034 // ------------------------------------------------------------------------- 035 // Term Types 036 // ------------------------------------------------------------------------- 037 038 CommandResult<VoidResult> createTermType(UserVisitPK userVisitPK, CreateTermTypeForm form); 039 040 CommandResult<GetTermTypesResult> getTermTypes(UserVisitPK userVisitPK, GetTermTypesForm form); 041 042 CommandResult<GetTermTypeResult> getTermType(UserVisitPK userVisitPK, GetTermTypeForm form); 043 044 CommandResult<GetTermTypeChoicesResult> getTermTypeChoices(UserVisitPK userVisitPK, GetTermTypeChoicesForm form); 045 046 // ------------------------------------------------------------------------- 047 // Term Type Descriptions 048 // ------------------------------------------------------------------------- 049 050 CommandResult<VoidResult> createTermTypeDescription(UserVisitPK userVisitPK, CreateTermTypeDescriptionForm form); 051 052 // ------------------------------------------------------------------------- 053 // Terms 054 // ------------------------------------------------------------------------- 055 056 CommandResult<CreateTermResult> createTerm(UserVisitPK userVisitPK, CreateTermForm form); 057 058 CommandResult<GetTermsResult> getTerms(UserVisitPK userVisitPK, GetTermsForm form); 059 060 CommandResult<GetTermResult> getTerm(UserVisitPK userVisitPK, GetTermForm form); 061 062 CommandResult<GetTermChoicesResult> getTermChoices(UserVisitPK userVisitPK, GetTermChoicesForm form); 063 064 CommandResult<VoidResult> setDefaultTerm(UserVisitPK userVisitPK, SetDefaultTermForm form); 065 066 CommandResult<VoidResult> deleteTerm(UserVisitPK userVisitPK, DeleteTermForm form); 067 068 // ------------------------------------------------------------------------- 069 // Term Descriptions 070 // ------------------------------------------------------------------------- 071 072 CommandResult<VoidResult> createTermDescription(UserVisitPK userVisitPK, CreateTermDescriptionForm form); 073 074 CommandResult<GetTermDescriptionsResult> getTermDescriptions(UserVisitPK userVisitPK, GetTermDescriptionsForm form); 075 076 CommandResult<EditTermDescriptionResult> editTermDescription(UserVisitPK userVisitPK, EditTermDescriptionForm form); 077 078 CommandResult<VoidResult> deleteTermDescription(UserVisitPK userVisitPK, DeleteTermDescriptionForm form); 079 080 // ------------------------------------------------------------------------- 081 // Customer Type Credit Limits 082 // ------------------------------------------------------------------------- 083 084 CommandResult<VoidResult> createCustomerTypeCreditLimit(UserVisitPK userVisitPK, CreateCustomerTypeCreditLimitForm form); 085 086 CommandResult<EditCustomerTypeCreditLimitResult> editCustomerTypeCreditLimit(UserVisitPK userVisitPK, EditCustomerTypeCreditLimitForm form); 087 088 CommandResult<GetCustomerTypeCreditLimitsResult> getCustomerTypeCreditLimits(UserVisitPK userVisitPK, GetCustomerTypeCreditLimitsForm form); 089 090 CommandResult<VoidResult> deleteCustomerTypeCreditLimit(UserVisitPK userVisitPK, DeleteCustomerTypeCreditLimitForm form); 091 092 // ------------------------------------------------------------------------- 093 // Party Credit Limits 094 // ------------------------------------------------------------------------- 095 096 CommandResult<VoidResult> createPartyCreditLimit(UserVisitPK userVisitPK, CreatePartyCreditLimitForm form); 097 098 CommandResult<EditPartyCreditLimitResult> editPartyCreditLimit(UserVisitPK userVisitPK, EditPartyCreditLimitForm form); 099 100 CommandResult<GetPartyCreditLimitsResult> getPartyCreditLimits(UserVisitPK userVisitPK, GetPartyCreditLimitsForm form); 101 102 CommandResult<VoidResult> deletePartyCreditLimit(UserVisitPK userVisitPK, DeletePartyCreditLimitForm form); 103 104 // ------------------------------------------------------------------------- 105 // Party Terms 106 // ------------------------------------------------------------------------- 107 108 CommandResult<EditPartyTermResult> editPartyTerm(UserVisitPK userVisitPK, EditPartyTermForm form); 109 110}