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