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.subscription.common; 018 019import com.echothree.control.user.subscription.common.form.*; 020import com.echothree.model.data.user.common.pk.UserVisitPK; 021import com.echothree.util.common.command.CommandResult; 022 023public interface SubscriptionService 024 extends SubscriptionForms { 025 026 // ------------------------------------------------------------------------- 027 // Testing 028 // ------------------------------------------------------------------------- 029 030 String ping(); 031 032 // ------------------------------------------------------------------------- 033 // Subscription Kinds 034 // ------------------------------------------------------------------------- 035 036 CommandResult createSubscriptionKind(UserVisitPK userVisitPK, CreateSubscriptionKindForm form); 037 038 CommandResult getSubscriptionKinds(UserVisitPK userVisitPK, GetSubscriptionKindsForm form); 039 040 CommandResult getSubscriptionKind(UserVisitPK userVisitPK, GetSubscriptionKindForm form); 041 042 CommandResult getSubscriptionKindChoices(UserVisitPK userVisitPK, GetSubscriptionKindChoicesForm form); 043 044 CommandResult setDefaultSubscriptionKind(UserVisitPK userVisitPK, SetDefaultSubscriptionKindForm form); 045 046 CommandResult editSubscriptionKind(UserVisitPK userVisitPK, EditSubscriptionKindForm form); 047 048 CommandResult deleteSubscriptionKind(UserVisitPK userVisitPK, DeleteSubscriptionKindForm form); 049 050 // ------------------------------------------------------------------------- 051 // Subscription Kind Descriptions 052 // ------------------------------------------------------------------------- 053 054 CommandResult createSubscriptionKindDescription(UserVisitPK userVisitPK, CreateSubscriptionKindDescriptionForm form); 055 056 CommandResult getSubscriptionKindDescriptions(UserVisitPK userVisitPK, GetSubscriptionKindDescriptionsForm form); 057 058 CommandResult getSubscriptionKindDescription(UserVisitPK userVisitPK, GetSubscriptionKindDescriptionForm form); 059 060 CommandResult editSubscriptionKindDescription(UserVisitPK userVisitPK, EditSubscriptionKindDescriptionForm form); 061 062 CommandResult deleteSubscriptionKindDescription(UserVisitPK userVisitPK, DeleteSubscriptionKindDescriptionForm form); 063 064 // -------------------------------------------------------------------------------- 065 // Subscription Types 066 // -------------------------------------------------------------------------------- 067 068 CommandResult createSubscriptionType(UserVisitPK userVisitPK, CreateSubscriptionTypeForm form); 069 070 CommandResult getSubscriptionTypes(UserVisitPK userVisitPK, GetSubscriptionTypesForm form); 071 072 CommandResult getSubscriptionType(UserVisitPK userVisitPK, GetSubscriptionTypeForm form); 073 074 CommandResult getSubscriptionTypeChoices(UserVisitPK userVisitPK, GetSubscriptionTypeChoicesForm form); 075 076 CommandResult setDefaultSubscriptionType(UserVisitPK userVisitPK, SetDefaultSubscriptionTypeForm form); 077 078 CommandResult editSubscriptionType(UserVisitPK userVisitPK, EditSubscriptionTypeForm form); 079 080 CommandResult deleteSubscriptionType(UserVisitPK userVisitPK, DeleteSubscriptionTypeForm form); 081 082 // -------------------------------------------------------------------------------- 083 // Subscription Type Descriptions 084 // -------------------------------------------------------------------------------- 085 086 CommandResult createSubscriptionTypeDescription(UserVisitPK userVisitPK, CreateSubscriptionTypeDescriptionForm form); 087 088 CommandResult getSubscriptionTypeDescriptions(UserVisitPK userVisitPK, GetSubscriptionTypeDescriptionsForm form); 089 090 CommandResult editSubscriptionTypeDescription(UserVisitPK userVisitPK, EditSubscriptionTypeDescriptionForm form); 091 092 CommandResult deleteSubscriptionTypeDescription(UserVisitPK userVisitPK, DeleteSubscriptionTypeDescriptionForm form); 093 094 // -------------------------------------------------------------------------------- 095 // Subscription Type Chains 096 // -------------------------------------------------------------------------------- 097 098 CommandResult createSubscriptionTypeChain(UserVisitPK userVisitPK, CreateSubscriptionTypeChainForm form); 099 100 CommandResult getSubscriptionTypeChains(UserVisitPK userVisitPK, GetSubscriptionTypeChainsForm form); 101 102 CommandResult deleteSubscriptionTypeChain(UserVisitPK userVisitPK, DeleteSubscriptionTypeChainForm form); 103 104 // -------------------------------------------------------------------------------- 105 // Subscriptions 106 // -------------------------------------------------------------------------------- 107 108 CommandResult createSubscription(UserVisitPK userVisitPK, CreateSubscriptionForm form); 109 110 CommandResult getSubscriptions(UserVisitPK userVisitPK, GetSubscriptionsForm form); 111 112 CommandResult getSubscription(UserVisitPK userVisitPK, GetSubscriptionForm form); 113 114 CommandResult deleteSubscription(UserVisitPK userVisitPK, DeleteSubscriptionForm form); 115 116}